Github user nonsleepr commented on the issue:

    https://github.com/apache/spark/pull/9503
  
    Adding following for better visibility.
    
    The problem while using 
[`com.whisk:docker-testkit-impl-spotify`](https://github.com/whisklabs/docker-it-scala)
 along with Spark:
    ```log
    com.spotify.docker.client.exceptions.DockerException: 
java.util.concurrent.ExecutionException: javax.ws.rs.ProcessingException: 
java.lang.IncompatibleClassChangeError: Found interface 
org.objectweb.asm.ClassVisitor, but class was expected
      at 
com.spotify.docker.client.DefaultDockerClient.propagate(DefaultDockerClient.java:2657)
      at 
com.spotify.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:2588)
      at 
com.spotify.docker.client.DefaultDockerClient.info(DefaultDockerClient.java:522)
      ... 40 elided
    Caused by: java.util.concurrent.ExecutionException: 
javax.ws.rs.ProcessingException: java.lang.IncompatibleClassChangeError: Found 
interface org.objectweb.asm.ClassVisitor, but class was expected
      at 
jersey.repackaged.com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
      at 
jersey.repackaged.com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)
      at 
jersey.repackaged.com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)
      at 
com.spotify.docker.client.DefaultDockerClient.request(DefaultDockerClient.java:2586)
      ... 41 more
    Caused by: javax.ws.rs.ProcessingException: 
java.lang.IncompatibleClassChangeError: Found interface 
org.objectweb.asm.ClassVisitor, but class was expected
      at 
org.glassfish.jersey.client.ClientRuntime.processFailure(ClientRuntime.java:202)
      at 
org.glassfish.jersey.client.ClientRuntime.access$400(ClientRuntime.java:79)
      at org.glassfish.jersey.client.ClientRuntime$2.run(ClientRuntime.java:182)
      at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
      at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
      at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
      at 
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:340)
      at org.glassfish.jersey.client.ClientRuntime$3.run(ClientRuntime.java:210)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      ... 1 more
    Caused by: java.lang.IncompatibleClassChangeError: Found interface 
org.objectweb.asm.ClassVisitor, but class was expected
      at 
jnr.ffi.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:74)
      at 
jnr.ffi.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:59)
      at 
jnr.ffi.provider.jffi.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:43)
      at jnr.ffi.LibraryLoader.load(LibraryLoader.java:287)
      at jnr.unixsocket.Native.<clinit>(Native.java:76)
      at jnr.unixsocket.UnixSocketChannel.<init>(UnixSocketChannel.java:68)
      at jnr.unixsocket.UnixSocketChannel.open(UnixSocketChannel.java:49)
      at 
com.spotify.docker.client.ApacheUnixSocket.<init>(ApacheUnixSocket.java:59)
      at 
com.spotify.docker.client.UnixConnectionSocketFactory.createSocket(UnixConnectionSocketFactory.java:67)
      at 
org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:118)
      at 
org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
      at 
org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
      at 
org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
      at 
org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
      at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
      at 
org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
      at 
org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
      at 
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71)
      at 
org.glassfish.jersey.apache.connector.ApacheConnector.apply(ApacheConnector.java:435)
      at 
org.glassfish.jersey.apache.connector.ApacheConnector$1.run(ApacheConnector.java:491)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at 
jersey.repackaged.com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
      at 
java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
      at 
jersey.repackaged.com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:50)
      at 
jersey.repackaged.com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:37)
      at 
org.glassfish.jersey.apache.connector.ApacheConnector.apply(ApacheConnector.java:487)
      at org.glassfish.jersey.client.ClientRuntime$2.run(ClientRuntime.java:178)
      ... 12 more
    ```
    
    The solution is to use `shaded` package:
    ```scala
    libraryDependencies += "com.spotify" % "docker-client" % "8.11.3" 
classifier "shaded"
    ````


---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to