Cluster-in-a-box for Apple M1 error

Hi SingleStore,
I just switched to the new Apple M1 MacbookPro and I can’t run SingleStore locally with the docker image, it throws:

19 20:30:27.494   FAIL: Thread 115118: InitializeRepl: Failed to initialize replication subsystem because 'io_setup' system call failed with error 38 (Function not implemented).
: Failed to connect to MemSQL: process exited: exit status 255
Traceback (most recent call last):
  File "/startup", line 136, in <module>
    start_cluster()
  File "/startup", line 100, in start_cluster
    ctl("start-node", "--all")
  File "/startup", line 18, in ctl
    subprocess.check_output(["memsqlctl", "-yj"] + list(args)))
  File "/usr/lib64/python2.7/subprocess.py", line 575, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['memsqlctl', '-yj', 'start-node', '--all']' returned non-zero exit status 1

Is the problem coming from the M1 compatibility or something else?
Thanks for your help!

PS: it is critical to me to run a dev instance locally.

1 Like

Hi Pierre. I’m happy to find someone to help. Can you please let me know if you are on the managed or self-hosted service and the version number?

Hi @MariaSilverhardt , I’m using the latest version in a self-hosted environment. However I’m looking for a local dev docker image here.

Thanks

Hello SingleStore, any update please? I can’t dev locally anymore… this is a critical problem !

Hi pierre,

as far as I know, deploying on Apple silicon is not supported at the moment: Introduction

Is this something SingleStore plans to support anytime soon? could we have a release timeframe please?

Using a single cloud VM that fits the cluster-in-a-box requirements costs at least $130/m, with very degraded performances due to network latency between local machine and remote DB.

Thanks to evaluate the feasibility of such improvement. :pray:

We are also trying to figure out how to run Singlestore locally, it makes local testing really difficult otherwise.

You can easily run cluster-in-a-box on any Intel based machine, and to the best of my knowledge, the incompatibility running on Apple M1 is based on Docker (or the embedded QEMU, to be precise), not the container image, so I suppose we’ll need to wait for the Docker/QEMU team to fix this.

From the Docker documentation page:

In summary, running Intel-based containers on Arm-based machines should be regarded as “best effort” only.

2 Likes

https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta

This will probably create support for what we want but we’ll still need to wait on Docker to implement it. At least there is a fix on the horizon.