[ https://issues.apache.org/jira/browse/JCLOUDS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17202535#comment-17202535 ]
ASF subversion and git services commented on JCLOUDS-1498: ---------------------------------------------------------- Commit 31a3e5b5df1543d04098e3a694130b7ae8e6e079 in jclouds's branch refs/heads/master from Andrew Gaul [ https://gitbox.apache.org/repos/asf?p=jclouds.git;h=31a3e5b ] JCLOUDS-1498: Upgrade to Guice 4.2.3 Release notes: https://github.com/google/guice/wiki/Guice423 > Upgrade to recent Guice version > ------------------------------- > > Key: JCLOUDS-1498 > URL: https://issues.apache.org/jira/browse/JCLOUDS-1498 > Project: jclouds > Issue Type: Improvement > Components: jclouds-core > Affects Versions: 2.1.1, 2.1.2 > Reporter: Sharon Ben Asher > Priority: Critical > Labels: dependency > Time Spent: 0.5h > Remaining Estimate: 0h > > We are using jclouds version 2.1.1 (nova, gcp storage, rackspace) > Jclouds is using Guice version 3.0, released circa 2011. > This version has incompatibilities with Guice version 4.x, causing runtime > exceptions such as the one listed below. we cannot upgrade many of our > library dependencies because of that > java.lang.ExceptionInInitializerError > at com.valooto.storage.StorageSingleton.getInstance(StorageSingleton.java:31) > ... > Caused by: com.google.inject.CreationException: Unable to create injector, > see the following errors: > 1) Error in custom provider, java.lang.NoSuchMethodError: > com.google.common.util.concurrent.MoreExecutors.newDirectExecutorService()Lcom/google/common/util/concurrent/ListeningExecutorService; > at > org.jclouds.openstack.keystone.auth.config.AuthenticationModule.provideAuthenticationMethods(AuthenticationModule.java:98) > at > org.jclouds.openstack.keystone.auth.config.AuthenticationModule.provideAuthenticationMethods(AuthenticationModule.java:98) > while locating java.util.Map<java.lang.String, > com.google.common.base.Function<org.jclouds.domain.Credentials, > org.jclouds.openstack.keystone.auth.domain.AuthInfo>> > for the 2nd parameter of > org.jclouds.openstack.keystone.auth.config.AuthenticationModule.authenticationMethodForCredentialType(AuthenticationModule.java:114) > at > org.jclouds.openstack.keystone.auth.config.AuthenticationModule.authenticationMethodForCredentialType(AuthenticationModule.java:114) > while locating > com.google.common.base.Function<org.jclouds.domain.Credentials, > org.jclouds.openstack.keystone.auth.domain.AuthInfo> > for the 1st parameter of > org.jclouds.openstack.keystone.auth.config.AuthenticationModule.provideAuthInfoCache(AuthenticationModule.java:125) > at > org.jclouds.openstack.keystone.auth.config.AuthenticationModule.provideAuthInfoCache(AuthenticationModule.java:125) > while locating > com.google.common.cache.LoadingCache<org.jclouds.domain.Credentials, > org.jclouds.openstack.keystone.auth.domain.AuthInfo> > for the 1st parameter of > org.jclouds.openstack.keystone.auth.handlers.RetryOnRenew.<init>(RetryOnRenew.java:62) > at > org.jclouds.openstack.keystone.auth.handlers.RetryOnRenew.class(RetryOnRenew.java:48) > while locating org.jclouds.openstack.keystone.auth.handlers.RetryOnRenew > while locating org.jclouds.http.HttpRetryHandler annotated with interface > org.jclouds.http.annotation.ClientError > Caused by: java.lang.NoSuchMethodError: > com.google.common.util.concurrent.MoreExecutors.newDirectExecutorService()Lcom/google/common/util/concurrent/ListeningExecutorService; > at > org.jclouds.lifecycle.config.LifeCycleModule$4$1.afterInjection(LifeCycleModule.java:120) > at > com.google.inject.internal.MembersInjectorImpl.notifyListeners(MembersInjectorImpl.java:119) > at > com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:121) > at > com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90) > at > com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) > at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194) > at > com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) > at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1019) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) > at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1015) > at > com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1054) > at > org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationModule.authenticationMethods(CloudIdentityAuthenticationModule.java:57) > at > org.jclouds.openstack.keystone.auth.config.AuthenticationModule.provideAuthenticationMethods(AuthenticationModule.java:98) > at > org.jclouds.openstack.keystone.auth.config.AuthenticationModule$$FastClassByGuice$$223849f2.invoke(<generated>) > at > com.google.inject.internal.ProviderMethod$FastClassProviderMethod.doProvision(ProviderMethod.java:264) > at > com.google.inject.internal.ProviderMethod$Factory.provision(ProviderMethod.java:401) > at > com.google.inject.internal.ProviderMethod$Factory.get(ProviderMethod.java:376) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) > at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194) > at > com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) > at > com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) > at > com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) > at > com.google.inject.internal.ProviderMethod$Factory.provision(ProviderMethod.java:402) > at > com.google.inject.internal.ProviderMethod$Factory.get(ProviderMethod.java:376) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) > at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194) > at > com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) > at > com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) > at > com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) > at > com.google.inject.internal.ProviderMethod$Factory.provision(ProviderMethod.java:402) > at > com.google.inject.internal.ProviderMethod$Factory.get(ProviderMethod.java:376) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) > at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194) > at > com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) > at > com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) > at > com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) > at > com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110) > at > com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90) > at > com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) > at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:194) > at > com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) > at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56) > at > com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:205) > at > com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:199) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1085) > at > com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:199) > at > com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:180) > at > com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110) > at com.google.inject.Guice.createInjector(Guice.java:99) > at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:405) > at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:328) > at org.jclouds.ContextBuilder.buildApi(ContextBuilder.java:651) > at org.jclouds.ContextBuilder.buildApi(ContextBuilder.java:643) > at > com.valooto.storage.StorageManagerRackspaceImp.<init>(StorageManagerRackspaceImp.java:67) > at com.valooto.storage.StorageSingleton.<init>(StorageSingleton.java:20) > at com.valooto.storage.StorageSingleton.<init>(StorageSingleton.java:6) > at > com.valooto.storage.StorageSingleton$Loader.<clinit>(StorageSingleton.java:11) > at com.valooto.storage.StorageSingleton.getInstance(StorageSingleton.java:31) > at > controllers.UserManagementController.uploadProfileImage(UserManagementController.java:306) > at > router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$61$$anonfun$apply$61.apply(Routes.scala:5897) > at > router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$61$$anonfun$apply$61.apply(Routes.scala:5897) > at > play.core.routing.HandlerInvokerFactory$$anon$4.resultCall(HandlerInvoker.scala:157) > at > play.core.routing.HandlerInvokerFactory$$anon$4.resultCall(HandlerInvoker.scala:156) > at > play.core.routing.HandlerInvokerFactory$JavaActionInvokerFactory$$anon$14$$anon$3$$anon$1.invocation(HandlerInvoker.scala:136) > at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:73) > at play.http.HttpRequestHandler$1.call(HttpRequestHandler.java:54) > at play.mvc.Security$AuthenticatedAction.call(Security.java:53) > at > com.valooto.utils.security.CorsComposition$CorsAction.call(CorsComposition.java:87) > at play.core.j.JavaAction$$anonfun$7.apply(JavaAction.scala:108) > at play.core.j.JavaAction$$anonfun$7.apply(JavaAction.scala:108) > at > scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) > at > scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) > at > play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:56) > at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:70) > at play.core.j.HttpExecutionContext.execute(HttpExecutionContext.scala:48) > at scala.concurrent.impl.Future$.apply(Future.scala:31) > at scala.concurrent.Future$.apply(Future.scala:492) > at play.core.j.JavaAction.apply(JavaAction.scala:108) > at > play.api.mvc.Action$$anonfun$apply$2$$anonfun$apply$5$$anonfun$apply$6.apply(Action.scala:112) > at > play.api.mvc.Action$$anonfun$apply$2$$anonfun$apply$5$$anonfun$apply$6.apply(Action.scala:112) > at play.utils.Threads$.withContextClassLoader(Threads.scala:21) > at > play.api.mvc.Action$$anonfun$apply$2$$anonfun$apply$5.apply(Action.scala:111) > at > play.api.mvc.Action$$anonfun$apply$2$$anonfun$apply$5.apply(Action.scala:110) > at scala.Option.map(Option.scala:146) > at play.api.mvc.Action$$anonfun$apply$2.apply(Action.scala:110) > at play.api.mvc.Action$$anonfun$apply$2.apply(Action.scala:103) > at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:251) > at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:249) > at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32) > at > akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55) > at > akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:91) > at > akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91) > at > akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91) > at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72) > at > akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:90) > at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:39) > at > akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:415) > at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) > at > scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) > at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) > at > scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) -- This message was sent by Atlassian Jira (v8.3.4#803005)