28 Jul

slf4j conflict during AAAR_Extract execution

slf4jDuring my support activities on the A.A.A.R. solution, I receive few contacts reporting about the error described below. The context is the first execution of the AAAR_Extract script, immediately after the first installation.

2015/07/25 16:25:15 - Cmis Input documents before last update.0 - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : Unexpected error
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : java.lang.LinkageError: loader constraint violation: when resolving method "org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;" the class loader (instance of org/pentaho/di/core/plugins/KettleURLClassLoader) of the current class, org/slf4j/LoggerFactory, and the class loader (instance of java/net/URLClassLoader) for resolved class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type LoggerFactory; used in the signature
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:299)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:269)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:281)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at org.apache.chemistry.opencmis.client.bindings.cache.impl.CacheImpl.<clinit>(CacheImpl.java:38)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at org.apache.chemistry.opencmis.client.bindings.impl.RepositoryInfoCache.<init>(RepositoryInfoCache.java:56)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingImpl.clearAllCaches(CmisBindingImpl.java:253)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingImpl.<init>(CmisBindingImpl.java:150)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at org.apache.chemistry.opencmis.client.bindings.CmisBindingFactory.createCmisAtomPubBinding(CmisBindingFactory.java:146)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at org.apache.chemistry.opencmis.client.runtime.CmisBindingHelper.createAtomPubBinding(CmisBindingHelper.java:98)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at org.apache.chemistry.opencmis.client.runtime.CmisBindingHelper.createBinding(CmisBindingHelper.java:56)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:133)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at org.apache.chemistry.opencmis.client.runtime.SessionFactoryImpl.getRepositories(SessionFactoryImpl.java:112)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at it.francescocorti.kettle.cmisinput.CmisSessionFactory.getNewSession(Unknown Source)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at it.francescocorti.kettle.cmisinput.CmisSessionFactory.getSession(Unknown Source)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at it.francescocorti.kettle.cmisinput.CmisInputMeta.getSession(Unknown Source)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at it.francescocorti.kettle.cmisinput.CmisInputMeta.getFields(Unknown Source)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at it.francescocorti.kettle.cmisinput.CmisInput.processRow(Unknown Source)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
2015/07/25 16:25:15 - Cmis Input documents before last update.0 - at java.lang.Thread.run(Thread.java:722)

In this post I would like to face this issue, describing the reasons of this behaviour and focusing on the solution (because there is a solution). Read More