25 Nov

How to solve the audit data explosion in the Alfresco database

It’s a long time that I have contacts from the Alfresco community with a similar question like the one described below.

After some time the audit trail is enabled in my Alfresco instance, the database dimension explodes. Is the audit trail connected in some way with the data explosion? How can I solve it?

Most of the times this question is connected to the A.A.A.R. analytics that is able to collect (and analyze) audit data together with repository data and workflow data. The bad news is that this issue is completely true. Of course if you request to track every action/event, you cannot avoid to store a lot amount of data. The good news is that there are some ways to solve this problem, directly with the bundled services in Alfresco.

In this post I would like to share a way to solve the problem, deleting the “old” actions audited in a very simple manner. Read More

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