vert-x3 / vertx-infinispan

Infinispan Cluster Manager for Vert.x
Apache License 2.0
14 stars 16 forks source link

org.infinispan.commons.jdkspecific.ClasspathURLStreamHandlerProvider not found #122

Closed EmadAlblueshi closed 1 year ago

EmadAlblueshi commented 1 year ago

Hi, Could not run the cluster from the fat jar and I got below exception (vert.x 4.4.1)

$ java -Dvertx.infinispan.config=./src/main/resources/infinispan.xml -jar target/some-1.0.0-fat.jar  -options ./src/main/resources/options-1.json -conf ./src/main/resources/config-1.json -cluster -cluster-host 0.0.0.0 -cluster-port 7800 -ha -quorum 3

Apr 25, 2023 6:22:19 PM io.vertx.core.impl.launcher.commands.RunCommand
INFO: Starting clustering...
Apr 25, 2023 6:22:19 PM io.netty.resolver.dns.DnsServerAddressStreamProviders <clinit>
SEVERE: Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library
Apr 25, 2023 6:22:20 PM org.infinispan.registry.impl.InternalCacheRegistryImpl registerInternalCache
WARN: ISPN000569: Unable to persist Infinispan internal caches as no global state enabled
Apr 25, 2023 6:22:20 PM org.infinispan.factories.GlobalComponentRegistry preStart
INFO: ISPN000128: Infinispan version: Infinispan 'Triskaidekaphobia' 13.0.15.Final
Apr 25, 2023 6:22:20 PM org.infinispan.marshall.core.impl.DelegatingUserMarshaller start
INFO: ISPN000556: Starting user marshaller 'org.infinispan.commons.marshall.ImmutableProtoStreamMarshaller'
Apr 25, 2023 6:22:20 PM org.infinispan.remoting.transport.jgroups.JGroupsTransport start
INFO: ISPN000078: Starting JGroups channel `ISPN` with stack `jgroups`
Apr 25, 2023 6:22:22 PM org.jgroups.protocols.pbcast.ClientGmsImpl joinInternal
INFO: streams-26518: no members discovered after 2006 ms: creating cluster as coordinator
Apr 25, 2023 6:22:22 PM org.infinispan.remoting.transport.jgroups.JGroupsTransport receiveClusterView
INFO: ISPN000094: Received new cluster view for channel ISPN: [streams-26518|0] (1) [streams-26518]
Apr 25, 2023 6:22:22 PM org.infinispan.remoting.transport.jgroups.JGroupsTransport startJGroupsChannelIfNeeded
INFO: ISPN000079: Channel `ISPN` local address is `streams-26518`, physical addresses are `[127.0.0.1:7800]`
Apr 25, 2023 6:22:22 PM io.vertx.core.impl.VertxImpl
SEVERE: Failed to initialize clustered Vert.x
java.util.ServiceConfigurationError: java.net.spi.URLStreamHandlerProvider: Provider org.infinispan.commons.jdkspecific.ClasspathURLStreamHandlerProvider not found
    at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:593)
    at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1219)
    at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1228)
    at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273)
    at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309)
    at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393)
    at java.base/java.net.URL$1.getNext(URL.java:1317)
    at java.base/java.net.URL$1.hasNext(URL.java:1332)
    at java.base/java.net.URL$2.run(URL.java:1359)
    at java.base/java.net.URL$2.run(URL.java:1356)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
    at java.base/java.net.URL.lookupViaProviders(URL.java:1355)
    at java.base/java.net.URL.getURLStreamHandler(URL.java:1441)
    at java.base/java.net.URL.<init>(URL.java:680)
    at java.base/java.net.URL.<init>(URL.java:569)
    at java.base/java.net.URL.<init>(URL.java:516)
    at java.base/javax.crypto.JceSecurity.<clinit>(JceSecurity.java:246)
    at java.base/javax.crypto.Cipher.getInstance(Cipher.java:546)
    at java.base/sun.security.pkcs12.PKCS12KeyStore.encryptPrivateKey(PKCS12KeyStore.java:934)
    at java.base/sun.security.pkcs12.PKCS12KeyStore.setKeyEntry(PKCS12KeyStore.java:631)
    at java.base/sun.security.pkcs12.PKCS12KeyStore.engineSetEntry(PKCS12KeyStore.java:1442)
    at java.base/sun.security.util.KeyStoreDelegator.engineSetEntry(KeyStoreDelegator.java:174)
    at java.base/java.security.KeyStore.setEntry(KeyStore.java:1585)
    at io.vertx.core.net.impl.KeyStoreHelper.loadKeyCert(KeyStoreHelper.java:267)
    at io.vertx.core.net.PemKeyCertOptions.getHelper(PemKeyCertOptions.java:405)
    at io.vertx.core.net.PemKeyCertOptions.getKeyManagerFactory(PemKeyCertOptions.java:423)
    at io.vertx.core.net.impl.SSLHelper.lambda$build$2(SSLHelper.java:196)
    at io.vertx.core.impl.ContextBase.lambda$null$0(ContextBase.java:137)
    at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:264)
    at io.vertx.core.impl.ContextBase.lambda$executeBlocking$1(ContextBase.java:135)
    at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:76)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:833)

Apr 25, 2023 6:22:22 PM org.infinispan.remoting.transport.jgroups.JGroupsTransport stop
INFO: ISPN000080: Disconnecting JGroups channel `ISPN`
Apr 25, 2023 6:22:22 PM io.vertx.core.impl.launcher.commands.RunCommand
SEVERE: Failed to form cluster
java.util.ServiceConfigurationError: java.net.spi.URLStreamHandlerProvider: Provider org.infinispan.commons.jdkspecific.ClasspathURLStreamHandlerProvider not found
    at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:593)
    at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1219)
    at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1228)
    at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273)
    at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309)
    at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393)
    at java.base/java.net.URL$1.getNext(URL.java:1317)
    at java.base/java.net.URL$1.hasNext(URL.java:1332)
    at java.base/java.net.URL$2.run(URL.java:1359)
    at java.base/java.net.URL$2.run(URL.java:1356)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
    at java.base/java.net.URL.lookupViaProviders(URL.java:1355)
    at java.base/java.net.URL.getURLStreamHandler(URL.java:1441)
    at java.base/java.net.URL.<init>(URL.java:680)
    at java.base/java.net.URL.<init>(URL.java:569)
    at java.base/java.net.URL.<init>(URL.java:516)
    at java.base/javax.crypto.JceSecurity.<clinit>(JceSecurity.java:246)
    at java.base/javax.crypto.Cipher.getInstance(Cipher.java:546)
    at java.base/sun.security.pkcs12.PKCS12KeyStore.encryptPrivateKey(PKCS12KeyStore.java:934)
    at java.base/sun.security.pkcs12.PKCS12KeyStore.setKeyEntry(PKCS12KeyStore.java:631)
    at java.base/sun.security.pkcs12.PKCS12KeyStore.engineSetEntry(PKCS12KeyStore.java:1442)
    at java.base/sun.security.util.KeyStoreDelegator.engineSetEntry(KeyStoreDelegator.java:174)
    at java.base/java.security.KeyStore.setEntry(KeyStore.java:1585)
    at io.vertx.core.net.impl.KeyStoreHelper.loadKeyCert(KeyStoreHelper.java:267)
    at io.vertx.core.net.PemKeyCertOptions.getHelper(PemKeyCertOptions.java:405)
    at io.vertx.core.net.PemKeyCertOptions.getKeyManagerFactory(PemKeyCertOptions.java:423)
    at io.vertx.core.net.impl.SSLHelper.lambda$build$2(SSLHelper.java:196)
    at io.vertx.core.impl.ContextBase.lambda$null$0(ContextBase.java:137)
    at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:264)
    at io.vertx.core.impl.ContextBase.lambda$executeBlocking$1(ContextBase.java:135)
    at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:76)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:833)

I found out how to solve it by enabling multi release

<manifestEntries>
  <Main-Class>${launcher.class}</Main-Class>
  <Main-Verticle>${main.verticle}</Main-Verticle>
  <!-- Below fixes running infinispan cluster -->
  <Multi-Release>true</Multi-Release>
</manifestEntries>
Software:
    System Software Overview:
      System Version: macOS 13.3.1 (22E261)
      Kernel Version: Darwin 22.4.0
      Boot Volume: Macintosh HD
Hardware:
    Hardware Overview:
      Model Name: Mac mini
      Model Identifier: Mac14,12
      Model Number: MNH73AB/A
      Chip: Apple M2 Pro
      Total Number of Cores: 10 (6 performance and 4 efficiency)
      Memory: 16 GB
      System Firmware Version: 8422.100.650
      OS Loader Version: 8422.100.650
      Serial Number (system): FRHY4NX344
      Hardware UUID: 1E32DFDC-B38B-57E6-BB97-95CA9611F564
      Provisioning UDID: 00006020-000830EC1140C01E
      Activation Lock Status: Enabled
openjdk 17.0.6 2023-01-17 LTS
OpenJDK Runtime Environment Corretto-17.0.6.10.1 (build 17.0.6+10-LTS)
OpenJDK 64-Bit Server VM Corretto-17.0.6.10.1 (build 17.0.6+10-LTS, mixed mode, sharing)
tsegismont commented 1 year ago

Thanks for reporting this @EmadAlblueshi

EmadAlblueshi commented 1 year ago

Thanks for reporting this @EmadAlblueshi

Most welcome 👍🏻

tsegismont commented 1 year ago

Backported to 4.x (https://github.com/vert-x3/vertx-infinispan/commit/a9c5ab9097e63c2502fc44bd6085d78ea44ca47f)