Stéphane Thibaud created IGNITE-7744:
----------------------------------------

             Summary: OPTIONAL_LIBS environment variable is not picked up
                 Key: IGNITE-7744
                 URL: https://issues.apache.org/jira/browse/IGNITE-7744
             Project: Ignite
          Issue Type: Bug
    Affects Versions: 2.3
            Reporter: Stéphane Thibaud


When starting the Ignite docker container using `docker run -d --net=host -e 
OPTION_LIBS=ignite-gce -e CONFIG_URI=secret_url ignite`, the container stops 
immediately and the logs mention that the ignite-gce library was not loaded 
correctly:
```

class org.apache.ignite.IgniteException: Failed to instantiate Spring XML 
application context (make sure all classes used in Spring configuration are 
present at CLASSPATH) 
[springUrl=https://storage.googleapis.com/ignite-discovery/default-config.xml] 
at 
org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:966)
 at org.apache.ignite.Ignition.start(Ignition.java:350) at 
org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:302)
 Caused by: class org.apache.ignite.IgniteCheckedException: Failed to 
instantiate Spring XML application context (make sure all classes used in 
Spring configuration are present at CLASSPATH) 
[springUrl=https://storage.googleapis.com/ignite-discovery/default-config.xml] 
at 
org.apache.ignite.internal.util.spring.IgniteSpringHelperImpl.applicationContext(IgniteSpringHelperImpl.java:387)
 at 
org.apache.ignite.internal.util.spring.IgniteSpringHelperImpl.loadConfigurations(IgniteSpringHelperImpl.java:104)
 at 
org.apache.ignite.internal.util.spring.IgniteSpringHelperImpl.loadConfigurations(IgniteSpringHelperImpl.java:98)
 at 
org.apache.ignite.internal.IgnitionEx.loadConfigurations(IgnitionEx.java:673) 
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:874) at 
org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:783) at 
org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:653) at 
org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:622) at 
org.apache.ignite.Ignition.start(Ignition.java:347) ... 1 more Caused by: 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.apache.ignite.configuration.IgniteConfiguration#0' defined in 
URL [https://storage.googleapis.com/ignite-discovery/default-config.xml]: 
Cannot create inner bean 
'org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi#1f021e6c' of type 
[org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi] while setting bean 
property 'discoverySpi'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi#1f021e6c' 
defined in URL 
[https://storage.googleapis.com/ignite-discovery/default-config.xml]: Cannot 
create inner bean 
'org.apache.ignite.spi.discovery.tcp.ipfinder.gce.TcpDiscoveryGoogleStorageIpFinder#68ceda24'
 of type 
[org.apache.ignite.spi.discovery.tcp.ipfinder.gce.TcpDiscoveryGoogleStorageIpFinder]
 while setting bean property 'ipFinder'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 
'org.apache.ignite.spi.discovery.tcp.ipfinder.gce.TcpDiscoveryGoogleStorageIpFinder#68ceda24'
 defined in URL 
[https://storage.googleapis.com/ignite-discovery/default-config.xml]: 
Instantiation of bean failed; nested exception is 
org.springframework.beans.BeanInstantiationException: Failed to instantiate 
[org.apache.ignite.spi.discovery.tcp.ipfinder.gce.TcpDiscoveryGoogleStorageIpFinder]:
 No default constructor found; nested exception is 
java.lang.NoClassDefFoundError: 
com/google/api/client/http/AbstractInputStreamContent at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:313)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1531)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1276)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
 at 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
 at 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
 at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
 at 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)
 at 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
 at 
org.apache.ignite.internal.util.spring.IgniteSpringHelperImpl.applicationContext(IgniteSpringHelperImpl.java:381)
 ... 9 more Caused by: org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 
'org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi#1f021e6c' defined in URL 
[https://storage.googleapis.com/ignite-discovery/default-config.xml]: Cannot 
create inner bean 
'org.apache.ignite.spi.discovery.tcp.ipfinder.gce.TcpDiscoveryGoogleStorageIpFinder#68ceda24'
 of type 
[org.apache.ignite.spi.discovery.tcp.ipfinder.gce.TcpDiscoveryGoogleStorageIpFinder]
 while setting bean property 'ipFinder'; nested exception is 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 
'org.apache.ignite.spi.discovery.tcp.ipfinder.gce.TcpDiscoveryGoogleStorageIpFinder#68ceda24'
 defined in URL 
[https://storage.googleapis.com/ignite-discovery/default-config.xml]: 
Instantiation of bean failed; nested exception is 
org.springframework.beans.BeanInstantiationException: Failed to instantiate 
[org.apache.ignite.spi.discovery.tcp.ipfinder.gce.TcpDiscoveryGoogleStorageIpFinder]:
 No default constructor found; nested exception is 
java.lang.NoClassDefFoundError: 
com/google/api/client/http/AbstractInputStreamContent at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:313)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1531)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1276)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:299)
 ... 22 more Caused by: 
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 
'org.apache.ignite.spi.discovery.tcp.ipfinder.gce.TcpDiscoveryGoogleStorageIpFinder#68ceda24'
 defined in URL 
[https://storage.googleapis.com/ignite-discovery/default-config.xml]: 
Instantiation of bean failed; nested exception is 
org.springframework.beans.BeanInstantiationException: Failed to instantiate 
[org.apache.ignite.spi.discovery.tcp.ipfinder.gce.TcpDiscoveryGoogleStorageIpFinder]:
 No default constructor found; nested exception is 
java.lang.NoClassDefFoundError: 
com/google/api/client/http/AbstractInputStreamContent at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1155)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1099)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
 at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:299)
 ... 28 more Caused by: org.springframework.beans.BeanInstantiationException: 
Failed to instantiate 
[org.apache.ignite.spi.discovery.tcp.ipfinder.gce.TcpDiscoveryGoogleStorageIpFinder]:
 No default constructor found; nested exception is 
java.lang.NoClassDefFoundError: 
com/google/api/client/http/AbstractInputStreamContent at 
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:85)
 at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1147)
 ... 32 more Caused by: java.lang.NoClassDefFoundError: 
com/google/api/client/http/AbstractInputStreamContent at 
java.lang.Class.getDeclaredConstructors0(Native Method) at 
java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) at 
java.lang.Class.getConstructor0(Class.java:3075) at 
java.lang.Class.getDeclaredConstructor(Class.java:2178) at 
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:80)
 ... 33 more Caused by: java.lang.ClassNotFoundException: 
com.google.api.client.http.AbstractInputStreamContent at 
java.net.URLClassLoader.findClass(URLClassLoader.java:381) at 
java.lang.ClassLoader.loadClass(ClassLoader.java:424) at 
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) at 
java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 38 more Failed to 
start grid: Failed to instantiate Spring XML application context (make sure all 
classes used in Spring configuration are present at CLASSPATH) 
[springUrl=https://storage.googleapis.com/ignite-discovery/default-config.xml] 
Note! You may use 'USER_LIBS' environment variable to specify your classpath.
```



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to