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]