Uploaded image for project: 'jclouds'
  1. jclouds
  2. JCLOUDS-1498

Upgrade to recent Guice version

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 2.1.1, 2.1.2
    • 2.3.0
    • jclouds-core

    Description

      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)

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            gaul Andrew Gaul
            sharonbn Sharon Ben Asher
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 0.5h
                0.5h

                Slack

                  Issue deployment