Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-10520

Tests that launch Mongo or Azure docker images fail on M1 Macs

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • None
    • None
    • mongomk, test
    • None
    • Issue seems to happen on M1 Apple CPUs

    Description

      Issue originally reported by nuno.santos 

      The tests use an old version of com.arakelian/docker-junit-rule to launch docker containers. This version internally uses the Spotify Docker client, which is no longer maintained and does not work on M1 Macs. The tests fail with the following exception:

      15:08:29.523 [main] INFO  c.a.g.s.commons.MongoDockerRule - Cannot connect to docker or pull image
      com.spotify.docker.client.exceptions.DockerException: java.util.concurrent.ExecutionException: com.spotify.docker.client.shaded.javax.ws.rs.ProcessingException: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider
          at com.spotify.docker.client.DefaultDockerClient.propagate(DefaultDockerClient.java:2843)
          at com.spotify.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:2707)
      ...
      Caused by: java.lang.UnsatisfiedLinkError: could not load FFI provider jnr.ffi.provider.jffi.Provider
          at jnr.ffi.provider.InvalidProvider$1.loadLibrary(InvalidProvider.java:48)
          at jnr.ffi.LibraryLoader.load(LibraryLoader.java:325)
          at jnr.unixsocket.Native.<clinit>(Native.java:80)
          at jnr.unixsocket.UnixSocketChannel.<init>(UnixSocketChannel.java:101)
          at jnr.unixsocket.UnixSocketChannel.open(UnixSocketChannel.java:60)
          at com.spotify.docker.client.UnixConnectionSocketFactory.createSocket(UnixConnectionSocketFactory.java:69)
          at com.spotify.docker.client.UnixConnectionSocketFactory.createSocket(UnixConnectionSocketFactory.java:44)  

      To solve the problem, either update this library to the latest version which uses the Docker Java Client or use test containers (if possible?). 

      Attachments

        Issue Links

          Activity

            People

              grzegorz_n Grzegorz Nester
              corderob José Andrés Cordero Benítez
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: