We're Moving!

The Vertica Forum is moving to a new OpenText Analytics Database (Vertica) Community.

Join us there to post discussion topics, learn about

product releases, share tips, access the blog, and much more.

Create My New Community Account Now


Support Apple Silicon M1 for docker vertica-ce — Vertica Forum

Support Apple Silicon M1 for docker vertica-ce

nicopadunicopadu Community Edition User
edited March 2023 in General Discussion

Hello!
Just switched from an Intel-based laptop to a new Apple M1 Pro, but unfortunately found that docker image for Vertica-CE is not supported in this arm architecture.
Tried a couple of emulators without any luck.

Do you have any plan to support other architecture than amd64 for vertica-ce image?

Usage scenario is only local development with very reduced requirements/functionalities, community edition is more than enough.

Thanks!

Answers

  • Bryan_HBryan_H Vertica Employee Administrator

    Try the following in the container - the VERTICA_MEMDEBUG setting worked for another Mac user:
    [dbadmin@vertica log]$ export VERTICA_MEMDEBUG=2
    [dbadmin@vertica log]$ rm -rf /home/dbadmin/docker/
    [dbadmin@vertica log]$ /opt/vertica/bin/admintools -t create_db --database=docker --password='' --hosts=localhost
    ...
    [dbadmin@vertica log]$ vsql
    Welcome to vsql, the Vertica Analytic Database interactive terminal.

  • nicopadunicopadu Community Edition User
    edited March 2022

    Thanks!

    I was originally using vertica-ce 10 version. Need to upgrade to 11
    Also including env VERTICA_MEMDEBUG=2 did the trick.

    This command now runs...
    docker run -p 5433:5433 -p 5444:5444 --name vertica_ce --platform linux/amd64 --env VERTICA_MEMDEBUG=2 vertica/vertica-ce:11.1.0-0

    It takes longer than expected to complete VMart example loading, but it's something we can tweak/skip if needed.

    Couln't find any perf degradation by using VERTICA_MEMDEBUG=2. And quite vague documentation about that. Do you have any idea what's behind this flag that's worth considering?

  • nicopadunicopadu Community Edition User

    Well, update on this thread :(
    Originally it looks like all is OK, Vertica single node shows as UP and clients are able to connect to it.
    But after a certain point there's an internal error and container just crashes.

    Below is an extract of ErrorReport.txt obtained from docker volume

    Backtrace Generated by Error
    Signal: [0x000000000000000b] PID: [0x00000000000001e3] PC: [0x00000040023cf220] FP: [0x00000042f8511cc0] SIGSEGV: SEGV_MAPERR SI_ADDR : [0x00000045b7833f6c]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x46fc75d) [0x611dbfd]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x4817850) [0x6238cf0]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x481b647) [0x623cae7]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x481b76e) [0x623cc0e]
    (_L_unlock_13+0x34) [0x4001c4b630]
    (__memcmp_sse4_1+0x40) [0x40023cf220]
    (_ZNSt6vectorISsSaISsEEaSERKS1_+0x2f8690) [0x188b8b0]
    (_ZNSt6vectorISsSaISsEEaSERKS1_+0x2ff735) [0x1892955]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x4c757b) [0x1ee8a1b]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x4cc784) [0x1eedc24]
    (_ZNSt6vectorISsSaISsEEaSERKS1_+0xaefb5) [0x16421d5]
    (_ZNSt6vectorISsSaISsEEaSERKS1_+0xafc6b) [0x1642e8b]
    (_ZNSt6vectorISsSaISsEEaSERKS1_+0xaffb7) [0x16431d7]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x45b2149) [0x5fd35e9]
    (_ZNSt6vectorIcSaIcEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPcS1_EEmRKc+0x45b2e73) [0x5fd4313]
    (start_thread+0xc5) [0x4001c43ea5]
    (clone+0x6d) [0x4002363b0d]
    END BACKTRACE
    THREAD CONTEXT
    Thread type: EE Internal Command Queue Thread
    Request: COPY myschema.TEST_TABLE FROM '/docker-entrypoint-initdb.d/TEST_TABLE.csv' PARSER fcsvparser();
               0: Root
               7: GroupByNothing
    FAULT =>   6: DataTarget
               1: NewEENode
               2) ExprEval         depth=(0) parent=0, peer#0; outTup nCol=18,nkey=0,inlSz=2044,fixSz=144
               3) LoadUnion        (1) 2, #0; out 17,0,2036,136
               4) ExprEval         (2) 3, #0; out 17,0,2036,136
               5) Load             (3) 4, #0; CRPstate=4; out 17,0,2036,136
    Transaction: [0x00a00000000004f8]
    END THREAD CONTEXT
    

    Has anyone been able to use any vertica-ce docker image using Docker Desktop for Mac (M1 arm64 version)?

  • SruthiASruthiA Administrator

    @nicopadu: Is /docker-entrypoint-initdb.d/TEST_TABLE.csv a NFS mount point? Since it is a crash, we may need to open a bug and collect log files. Could you please open a support case?

  • nicopadunicopadu Community Edition User

    This TEST_TABLE.csv is a local folder mount using docker-compose.
    Will try to find someone to open a support case from our side

This discussion has been closed.