Error uploading files to JCR
sdotlittlenail Jan 18, 2016 4:45 AMHello together,
- I am struggling when storing new files within my JCR.
- At the beginning, it worked like a charm (about 9 months).
- But for a while, every persist operation to ModeShape starts to fail. Either the node and its path are not created or, in case a node is actually created, the binary content is corrupt (empty ZIP file, invalid ZIP file etc. when accessing them via WebDAV or REST)
Code:
@Stateless public class DocumentWriter { public void create(Session session, String path, byte[] fileContent) { JcrTools tools = new JcrTools(); tools.uploadFile(session, path, new ByteArrayInputStream(fileContent)); session.save(); session.logout(); } }
Stacktrace:
08:46:33,850 ERROR [org.modeshape.jcr.TextExtractors] (modeshape-text-extractor-4-thread-4) Error extracting text from binary value e6db9f772574807b99c05bba6be9e2f6349ad55b: Error storing mime type: Unable to find binary value with key "e6db9f772574807b99c05bba6be9e2f6349ad55b" within binary store using Infinispan cache "binary_metadata": org.modeshape.jcr.value.binary.BinaryStoreException: Error storing mime type: Unable to find binary value with key "e6db9f772574807b99c05bba6be9e2f6349ad55b" within binary store using Infinispan cache "binary_metadata" at org.modeshape.jcr.value.binary.infinispan.InfinispanBinaryStore.getExtractedText(InfinispanBinaryStore.java:524) [modeshape-jcr-3.8.1.Final.jar:3.8.1.Final] at org.modeshape.jcr.TextExtractors$Worker.run(TextExtractors.java:171) [modeshape-jcr-3.8.1.Final.jar:3.8.1.Final] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_75] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_75] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_75] 08:46:33,910 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (http-/127.0.0.1:8080-13) ISPN000136: Execution error: java.lang.IllegalStateException: Transaction TransactionImple < ac, BasicAction: 0:ffffac10b0ce:-7f8654fc:5697a820:668b status: ActionStatus.COMMITTED > is not in a valid state to be invoking cache operations on. at org.infinispan.interceptors.TxInterceptor.enlist(TxInterceptor.java:272) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.TxInterceptor.enlistIfNeeded(TxInterceptor.java:236) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.TxInterceptor.enlistReadAndInvokeNext(TxInterceptor.java:230) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.TxInterceptor.visitGetKeyValueCommand(TxInterceptor.java:226) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:58) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:134) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:104) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.IsMarshallableInterceptor.visitGetKeyValueCommand(IsMarshallableInterceptor.java:97) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:58) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:128) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:104) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:58) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.CacheImpl.get(CacheImpl.java:289) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.CacheImpl.get(CacheImpl.java:281) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.AbstractDelegatingCache.get(AbstractDelegatingCache.java:303) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.modeshape.jcr.value.binary.infinispan.InfinispanBinaryStore.markAsUsed(InfinispanBinaryStore.java:307) [modeshape-jcr-3.8.1.Final.jar:3.8.1.Final] at org.modeshape.jcr.cache.document.WritableSessionCache$5.transactionComplete(WritableSessionCache.java:1464) [modeshape-jcr-3.8.1.Final.jar:3.8.1.Final] at org.modeshape.jcr.txn.Transactions$BaseTransaction.executeFunctions(Transactions.java:263) [modeshape-jcr-3.8.1.Final.jar:3.8.1.Final] at org.modeshape.jcr.txn.SynchronizedTransactions$SynchronizedTransaction.afterCommit(SynchronizedTransactions.java:191) [modeshape-jcr-3.8.1.Final.jar:3.8.1.Final] at org.modeshape.jcr.txn.SynchronizedTransactions$SynchronizedTransaction$1.afterCompletion(SynchronizedTransactions.java:155) [modeshape-jcr-3.8.1.Final.jar:3.8.1.Final] at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.afterCompletion(SynchronizationImple.java:96) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.afterCompletion(TwoPhaseCoordinator.java:402) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:103) at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162) at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1189) at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126) at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75) at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:92) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:276) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:339) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:238) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:55) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:185) [jboss-as-ee-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:182) [jboss-as-ee-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73) [jboss-as-ee-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at com.sg.docmanager.rest.v1.Rest1Service$$$view6.createOld(Unknown Source) [classes:] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_75] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_75] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_75] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_75] at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:267) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1] at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1] at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1] at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:263) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1] at org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:115) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1] at org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1] at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1] at com.sg.docmanager.rest.v1.Rest1Service$Proxy$_$$_Weld$Proxy$.createOld(Rest1Service$Proxy$_$$_Weld$Proxy$.java) [classes:] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_75] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_75] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_75] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_75] at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_75] 08:46:33,920 WARN [com.arjuna.ats.jta] (http-/127.0.0.1:8080-13) ARJUNA016029: SynchronizationImple.afterCompletion - failed for org.modeshape.jcr.txn.SynchronizedTransactions$SynchronizedTransaction$1@a24b64c with exception: java.lang.IllegalStateException: Transaction TransactionImple < ac, BasicAction: 0:ffffac10b0ce:-7f8654fc:5697a820:668b status: ActionStatus.COMMITTED > is not in a valid state to be invoking cache operations on. at org.infinispan.interceptors.TxInterceptor.enlist(TxInterceptor.java:272) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.TxInterceptor.enlistIfNeeded(TxInterceptor.java:236) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.TxInterceptor.enlistReadAndInvokeNext(TxInterceptor.java:230) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.TxInterceptor.visitGetKeyValueCommand(TxInterceptor.java:226) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:58) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:134) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:104) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.IsMarshallableInterceptor.visitGetKeyValueCommand(IsMarshallableInterceptor.java:97) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:58) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:128) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:104) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:58) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.CacheImpl.get(CacheImpl.java:289) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.CacheImpl.get(CacheImpl.java:281) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.infinispan.AbstractDelegatingCache.get(AbstractDelegatingCache.java:303) [infinispan-core-5.2.10.Final-redhat-1.jar:5.2.10.Final-redhat-1] at org.modeshape.jcr.value.binary.infinispan.InfinispanBinaryStore.markAsUsed(InfinispanBinaryStore.java:307) [modeshape-jcr-3.8.1.Final.jar:3.8.1.Final] at org.modeshape.jcr.cache.document.WritableSessionCache$5.transactionComplete(WritableSessionCache.java:1464) [modeshape-jcr-3.8.1.Final.jar:3.8.1.Final] at org.modeshape.jcr.txn.Transactions$BaseTransaction.executeFunctions(Transactions.java:263) [modeshape-jcr-3.8.1.Final.jar:3.8.1.Final] at org.modeshape.jcr.txn.SynchronizedTransactions$SynchronizedTransaction.afterCommit(SynchronizedTransactions.java:191) [modeshape-jcr-3.8.1.Final.jar:3.8.1.Final] at org.modeshape.jcr.txn.SynchronizedTransactions$SynchronizedTransaction$1.afterCompletion(SynchronizedTransactions.java:155) [modeshape-jcr-3.8.1.Final.jar:3.8.1.Final] at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.afterCompletion(SynchronizationImple.java:96) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.afterCompletion(TwoPhaseCoordinator.java:402) at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:103) at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162) at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1189) at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126) at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75) at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:92) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:276) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:339) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:238) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:55) [jboss-as-ejb3-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:185) [jboss-as-ee-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:182) [jboss-as-ee-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.2.Final-redhat-1.jar:1.1.2.Final-redhat-1] at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73) [jboss-as-ee-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at com.sg.docmanager.rest.v1.Rest1Service$$$view6.createOld(Unknown Source) [classes:] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_75] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_75] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_75] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_75] at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:267) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1] at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1] at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1] at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:263) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1] at org.jboss.weld.bean.proxy.EnterpriseBeanProxyMethodHandler.invoke(EnterpriseBeanProxyMethodHandler.java:115) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1] at org.jboss.weld.bean.proxy.EnterpriseTargetBeanInstance.invoke(EnterpriseTargetBeanInstance.java:56) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1] at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105) [weld-core-1.1.23.Final-redhat-1.jar:1.1.23.Final-redhat-1] at com.sg.docmanager.rest.v1.Rest1Service$Proxy$_$$_Weld$Proxy$.createOld(Rest1Service$Proxy$_$$_Weld$Proxy$.java) [classes:] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_75] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_75] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_75] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_75] at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.8.Final-redhat-3.jar:] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_75] 08:46:33,927 WARN [com.arjuna.ats.arjuna] (http-/127.0.0.1:8080-13) ARJUNA012127: TwoPhaseCoordinator.afterCompletion - returned failure fo r SynchronizationImple< 0:ffffac10b0ce:-7f8654fc:5697a820:669d, org.modeshape.jcr.txn.SynchronizedTransactions$SynchronizedTransaction$1@a24b64c >
Obviously, a BinaryStoreException is thrown in InfinispanBinaryStore.java, because class' org.infinispan.Cache metadata object returns null for the binary value key. I am wondering why because it worked several months without any restrictions.
My Technical specification:
- JBoss EAP 6.3 / 6.4 (defined by customer)
- ModeShape 3.8.1 (AFAIK, this is the latest version which is compatible to JBoss EAP 6.3 / 6.4)
- MSSQL 2012
- My uploaded (ZIP-) files are not greater than 10MB. I also checked my byte[] content before uploading them to JCR. The ZIP content is complete and valid.
JBoss Infinispan configuration extract:
<subsystem xmlns="urn:jboss:domain:infinispan:1.5"> <cache-container name="modeshape" default-cache="artifacts" module="org.modeshape" statistics-enabled="true"> <local-cache name="sample" statistics-enabled="true"> <transaction mode="NON_XA"/> <file-store relative-to="jboss.server.data.dir" path="modeshape/store/sample" passivation="false" purge="false"/> </local-cache> <local-cache name="artifacts" statistics-enabled="true"> <transaction mode="FULL_XA"/> <eviction strategy="LRU" max-entries="1000"/> <string-keyed-jdbc-store datasource="java:jboss/datasources/mssql" preload="false" passivation="false" purge="false"> <property name="databaseType"> MSSQL </property> <property name="createTableOnStart"> true </property> <property name="dropOnExit"> false </property> <string-keyed-table prefix="modeshape"> <id-column name="ID_COLUMN" type="NVARCHAR(400)"/> <data-column name="DATA_COLUMN" type="IMAGE"/> <timestamp-column name="TIMESTAMP_COLUMN" type="BIGINT"/> </string-keyed-table> </string-keyed-jdbc-store> </local-cache> </cache-container> <cache-container name="binary_cache_container" default-cache="binary_data"> <local-cache name="binary_data"> <transaction mode="FULL_XA"/> <string-keyed-jdbc-store datasource="java:jboss/datasources/mssql" preload="false" passivation="false" purge="false"> <write-behind flush-lock-timeout="1" modification-queue-size="1024" shutdown-timeout="25000" thread-pool-size="1"/> <property name="databaseType"> MSSQL </property> <property name="createTableOnStart"> true </property> <property name="dropOnExit"> false </property> <string-keyed-table prefix="modeshape"> <id-column name="id_column" type="NVARCHAR(400)"/> <data-column name="data_column" type="IMAGE"/> <timestamp-column name="timestamp_column" type="BIGINT"/> </string-keyed-table> </string-keyed-jdbc-store> </local-cache> <local-cache name="binary_metadata"> <transaction mode="FULL_XA"/> <string-keyed-jdbc-store datasource="java:jboss/datasources/mssql" preload="false" passivation="false" purge="false"> <write-behind flush-lock-timeout="1" modification-queue-size="1024" shutdown-timeout="25000" thread-pool-size="1"/> <property name="databaseType"> MSSQL </property> <property name="createTableOnStart"> true </property> <property name="dropOnExit"> false </property> <string-keyed-table prefix="modeshape"> <id-column name="id_column" type="NVARCHAR(400)"/> <data-column name="data_column" type="IMAGE"/> <timestamp-column name="timestamp_column" type="BIGINT"/> </string-keyed-table> </string-keyed-jdbc-store> </local-cache> </cache-container> </subsystem>
JBoss ModeShape subsystem:
<subsystem xmlns="urn:jboss:domain:modeshape:1.0"> <repository name="sample" anonymous-roles="admin"/> <repository name="artifacts" anonymous-roles="admin"> <workspaces allow-workspace-creation="false"> <workspace name="default"> <initial-content> initial-content-default.xml </initial-content> </workspace> <workspace name="other"/> <workspace name="extra"/> </workspaces> <indexing rebuild-upon-startup="NEVER"/> <cache-binary-storage data-cache-name="binary_data" metadata-cache-name="binary_metadata" cache-container="binary_cache_container"/> <sequencers> <sequencer name="delimited-text-sequencer" classname="org.modeshape.sequencer.text.DelimitedTextSequencer" module="org.modeshape.sequencer.text" splitPattern="," path-expression="/files(//*.csv[*])/jcr:content[@jcr:data] => /derived/text/delimited/$1"/> <sequencer name="fixed-width-text-sequencer" classname="org.modeshape.sequencer.text.FixedWidthTextSequencer" module="org.modeshape.sequencer.text" commentMarker="#" path-expression="/files(//*.txt[*])/jcr:content[@jcr:data] => /derived/text/fixedWidth/$1"/> <sequencer name="ddl-sequencer" classname="org.modeshape.sequencer.ddl.DdlSequencer" module="org.modeshape.sequencer.ddl" path-expression="/files(//*.ddl[*])/jcr:content[@jcr:data] => /derived/ddl/$1"/> <sequencer name="java-source-sequencer" classname="org.modeshape.sequencer.javafile.JavaFileSequencer" module="org.modeshape.sequencer.java" path-expression="/files//(*.java[*])/jcr:content[@jcr:data] => /derived/java"/> <sequencer name="java-class-sequencer" classname="org.modeshape.sequencer.classfile.ClassFileSequencer" module="org.modeshape.sequencer.java" path-expression="/files//(*.class[*])/jcr:content[@jcr:data] => /derived/class"/> <sequencer name="cnd-sequencer" classname="cnd" module="org.modeshape" path-expression="default:/files(//*.cnd[*])/jcr:content[@jcr:data] => /derived/cnd/$1"/> <sequencer name="msoffice-sequencer" classname="msoffice" module="org.modeshape.sequencer.msoffice" path-expression="/files(//*.(xls|ppt|doc)[*])/jcr:content[@jcr:data] => /derived/msoffice/$1"/> <sequencer name="teiid-model-sequencer" classname="model" module="org.modeshape.sequencer.teiid" path-expression="/files(//*.xmi[*])/jcr:content[@jcr:data] => /derived/teiid/models/$1"/> <sequencer name="teiid-vdb-sequencer" classname="vdb" module="org.modeshape.sequencer.teiid" path-expression="/files(//*.vdb[*])/jcr:content[@jcr:data] => /derived/teiid/vdbs/$1"/> <sequencer name="xsd-sequencer" classname="xsd" module="org.modeshape.sequencer.xsd" path-expression="/files(//*).xsd[*]/jcr:content[@jcr:data] => /derived/xsd/$1"/> <sequencer name="wsdl-sequencer" classname="wsdl" module="org.modeshape.sequencer.wsdl" path-expression="/files(//)*.wsdl[*]/jcr:content[@jcr:data] => /derived/wsdl/$1"/> <sequencer name="xml-sequencer" classname="xml" module="org.modeshape.sequencer.xml" path-expression="/files(//)*.xml[*]/jcr:content[@jcr:data] => /derived/xml/$1"/> <sequencer name="zip-sequencer" classname="zip" module="org.modeshape.sequencer.zip" path-expression="/files(//*.zip[*])/jcr:content[@jcr:data] => /derived/zip/$1"/> <sequencer name="image-sequencer" classname="image" module="org.modeshape.sequencer.image" path-expression="/files(//*.(png|jpg|gif)[*])/jcr:content[@jcr:data] => /derived/image/$1"/> <sequencer name="mp3-sequencer" classname="mp3" module="org.modeshape.sequencer.mp3" path-expression="/files(//*.mp3[*])/jcr:content[@jcr:data] => /derived/mp3/$1"/> </sequencers> <text-extractors> <text-extractor name="tika-extractor" classname="tika" module="org.modeshape.extractor.tika"/> </text-extractors> </repository> <webapp name="modeshape-rest.war"/> <webapp name="modeshape-webdav.war"/> </subsystem>
JBoss ModeShape datasource configuration:
<datasource jndi-name="java:/datasources/ModeShapeDS" pool-name="ModeShapeDS" enabled="true" use-java-context="true"> <connection-url>jdbc:jcr:jndi:jcr?repositoryName=artifacts</connection-url> <connection-property name="workspace"> extra </connection-property> <driver>modeshape</driver> <security> <user-name>admin</user-name> <password>admin</password> </security> </datasource> <xa-datasource jndi-name="java:jboss/datasources/mssql" pool-name="mssql" enabled="true" use-java-context="false"> <xa-datasource-property name="ServerName"> localhost </xa-datasource-property> <xa-datasource-property name="DatabaseName"> modeshape </xa-datasource-property> <xa-datasource-property name="SelectMethod"> cursor </xa-datasource-property> <driver>sqlserver</driver> <xa-pool> <is-same-rm-override>false</is-same-rm-override> </xa-pool> <security> <user-name>sa</user-name> <password>basel12</password> </security> <validation> <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"/> </validation> </xa-datasource> <drivers> <driver name="modeshape" module="org.modeshape.jdbc"> <driver-class>org.modeshape.jdbc.LocalJcrDriver</driver-class> </driver> <driver name="sqlserver" module="com.microsoft.sqlserver"> <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class> </driver> </drivers>
Quick and dirty fix:
- Deleting and recreating my ModeShape database, but this is definitely not a recommendable workaround for a customer which is running ModeShape in production
Do you have any idea how to fix error-prone JCR upload operations?
When does a node get corrupt? Is there a kind of configuration which has to be keep in mind?
Greetings,
Stefan