Description of problem: * Remote cache store[1] does not support transactions that are required by SRAMP. If there is another supported (working) configuration, we need to document it. [1]http://documentation-devel.engineering.redhat.com/docs/en-US/Red_Hat_JBoss_Data_Grid/6.1/html/Administration_and_Configuration_Guide/Remote_Cache_Store_Configuration_Remote_ClientServer_Mode.html Version-Release number of selected component (if applicable): * 6.0.0.ER6 (Beta) How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: * Once I used remote cache store: <remote-store cache="default" socket-timeout="60000" tcp-no-delay="true" > <remote-server outbound-socket-binding="remote-store-hotrod-server" /> </remote-store> instead of string-keyed-jdbc-store, SRAMP threw an exception:http://pastebin.test.redhat.com/175441 Expected results: Additional info:
Created attachment 865554 [details] Server configured to use remote cache store provided by JDG
Created attachment 865555 [details] Server log It seems that the log is not available anymore at pastebin, so attaching server log.
Stefan, a few things I've read mention an incompatability between batching="true" on the replicated-cache and a "NON_XA" transaction mode. Can you try removing batching="true"? You could also try <transaction mode="NONE"/>, but not sure what side effects that might cause.
Brett Meyer <brmeyer> updated the status of jira SRAMP-479 to Closed
Brett Meyer <brmeyer> updated the status of jira SRAMP-479 to Reopened
I tried to configure FSW according to your comment (removed batching="true", even tried adding batching="false", and changed transaction mode to "NONE"). However, the exception is still the same: 09:54:09,053 INFO [stdout] (http-localhost.localdomain/127.0.0.1:8080-2) 09:54:09,053 INFO [stdout] (http-localhost.localdomain/127.0.0.1:8080-2) ------------------------------------------------------------------- 09:54:09,053 INFO [stdout] (http-localhost.localdomain/127.0.0.1:8080-2) GMS: address=sbunciak-ntb/modeshape, cluster=modeshape, physical address=127.0.0.1:55200 09:54:09,053 INFO [stdout] (http-localhost.localdomain/127.0.0.1:8080-2) ------------------------------------------------------------------- 09:54:11,056 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (http-localhost.localdomain/127.0.0.1:8080-2) ISPN000094: Received new cluster view: [sbunciak-ntb/modeshape|0] [sbunciak-ntb/modeshape] 09:54:11,092 INFO [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (http-localhost.localdomain/127.0.0.1:8080-2) ISPN000079: Cache local address is sbunciak-ntb/modeshape, physical addresses are [127.0.0.1:55200] 09:54:11,109 INFO [org.infinispan.jmx.CacheJmxRegistration] (http-localhost.localdomain/127.0.0.1:8080-2) ISPN000031: MBeans were successfully registered to the platform MBean server. 09:54:11,109 INFO [org.jboss.as.clustering.infinispan] (http-localhost.localdomain/127.0.0.1:8080-2) JBAS010281: Started sramp cache from modeshape container 09:54:11,125 ERROR [org.overlord.sramp.server.atom.services.AbstractFeedResource] (http-localhost.localdomain/127.0.0.1:8080-2) !!Error trying to create an Artifact Feed.!!: org.overlord.sramp.repository.query.QueryExecutionException: javax.jcr.RepositoryException: Error while starting 'sramp' repository: The 'sramp' repository cannot be started because transactions are not enabled. Please check your configuration. at org.overlord.sramp.repository.jcr.query.JCRSrampQuery.executeQuery(JCRSrampQuery.java:117) [s-ramp-repository-jcr-0.3.1.Final-redhat-7.jar:0.3.1.Final-redhat-7] at org.overlord.sramp.repository.query.AbstractSrampQueryImpl.executeQuery(AbstractSrampQueryImpl.java:176) [s-ramp-repository-0.3.1.Final-redhat-7.jar:0.3.1.Final-redhat-7] at org.overlord.sramp.server.atom.services.AbstractFeedResource.createArtifactFeed(AbstractFeedResource.java:84) [classes:] at org.overlord.sramp.server.atom.services.QueryResource.query(QueryResource.java:158) [classes:] at org.overlord.sramp.server.atom.services.QueryResource.queryFromPost(QueryResource.java:124) [classes:] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_55] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_55] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_55] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_55] at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1] at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1] at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1] at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1] at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1] at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1] at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1] at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1] at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1] at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.6.Final-redhat-1.jar:2.3.6.Final-redhat-1] 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 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_55] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_55] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_55] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_55] at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:263) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:261) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_55] at javax.security.auth.Subject.doAsPrivileged(Subject.java:536) [rt.jar:1.7.0_55] at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:295) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:155) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:288) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:59) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:197) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_55] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.overlord.sramp.repository.jcr.modeshape.filters.ServletCredentialsFilter.doFilter(ServletCredentialsFilter.java:56) [s-ramp-repository-jcr-modeshape-0.3.1.Final-redhat-7.jar:0.3.1.Final-redhat-7] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_55] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_55] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_55] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_55] at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:263) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:261) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_55] at javax.security.auth.Subject.doAsPrivileged(Subject.java:536) [rt.jar:1.7.0_55] at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:295) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:236) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:59) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:197) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_55] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.overlord.sramp.server.filters.LocaleFilter.doFilter(LocaleFilter.java:59) [classes:] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_55] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_55] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_55] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_55] at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:263) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:261) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_55] at javax.security.auth.Subject.doAsPrivileged(Subject.java:536) [rt.jar:1.7.0_55] at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:295) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:236) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:59) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:197) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_55] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.event(JBossWebContext.java:91) at org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.invoke(JBossWebContext.java:72) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:499) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.overlord.commons.auth.jboss7.HttpRequestThreadLocalValve.invoke(HttpRequestThreadLocalValve.java:45) [overlord-commons-auth-1.1.0-redhat-7.jar:1.1.0-redhat-7] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_55] Caused by: javax.jcr.RepositoryException: Error while starting 'sramp' repository: The 'sramp' repository cannot be started because transactions are not enabled. Please check your configuration. at org.modeshape.jcr.JcrRepository.login(JcrRepository.java:612) [modeshape-jcr-3.3.6.GA-redhat-5.jar:3.3.6.GA-redhat-5] at org.modeshape.jcr.JcrRepository.login(JcrRepository.java:154) [modeshape-jcr-3.3.6.GA-redhat-5.jar:3.3.6.GA-redhat-5] at org.overlord.sramp.repository.jcr.JCRRepositoryFactory.getSession(JCRRepositoryFactory.java:78) [s-ramp-repository-jcr-0.3.1.Final-redhat-7.jar:0.3.1.Final-redhat-7] at org.overlord.sramp.repository.jcr.modeshape.ModeshapeRepository.configureNodeTypes(ModeshapeRepository.java:179) [s-ramp-repository-jcr-modeshape-0.3.1.Final-redhat-7.jar:0.3.1.Final-redhat-7] at org.overlord.sramp.repository.jcr.modeshape.ModeshapeRepository.doStartup(ModeshapeRepository.java:135) [s-ramp-repository-jcr-modeshape-0.3.1.Final-redhat-7.jar:0.3.1.Final-redhat-7] at org.overlord.sramp.repository.jcr.JCRRepository.startup(JCRRepository.java:38) [s-ramp-repository-jcr-0.3.1.Final-redhat-7.jar:0.3.1.Final-redhat-7] at org.overlord.sramp.repository.jcr.JCRRepositoryFactory.getInstance(JCRRepositoryFactory.java:49) [s-ramp-repository-jcr-0.3.1.Final-redhat-7.jar:0.3.1.Final-redhat-7] at org.overlord.sramp.repository.jcr.JCRRepositoryFactory.getSession(JCRRepositoryFactory.java:78) [s-ramp-repository-jcr-0.3.1.Final-redhat-7.jar:0.3.1.Final-redhat-7] at org.overlord.sramp.repository.jcr.query.JCRSrampQuery.executeQuery(JCRSrampQuery.java:85) [s-ramp-repository-jcr-0.3.1.Final-redhat-7.jar:0.3.1.Final-redhat-7] ... 81 more Caused by: org.modeshape.jcr.ConfigurationException: The 'sramp' repository cannot be started because transactions are not enabled. Please check your configuration. at org.modeshape.jcr.JcrRepository$RunningState.createTransactions(JcrRepository.java:1196) [modeshape-jcr-3.3.6.GA-redhat-5.jar:3.3.6.GA-redhat-5] at org.modeshape.jcr.JcrRepository$RunningState.<init>(JcrRepository.java:1031) [modeshape-jcr-3.3.6.GA-redhat-5.jar:3.3.6.GA-redhat-5] at org.modeshape.jcr.JcrRepository$RunningState.<init>(JcrRepository.java:932) [modeshape-jcr-3.3.6.GA-redhat-5.jar:3.3.6.GA-redhat-5] at org.modeshape.jcr.JcrRepository.doStart(JcrRepository.java:366) [modeshape-jcr-3.3.6.GA-redhat-5.jar:3.3.6.GA-redhat-5] at org.modeshape.jcr.JcrRepository.login(JcrRepository.java:610) [modeshape-jcr-3.3.6.GA-redhat-5.jar:3.3.6.GA-redhat-5] ... 89 more I suppose the that S-RAMP is relying on a transaction support from underlying modeshape+infinispan, but remote cache store does not support transactions, afaik. Maybe some of the infinispan guys could provide a working configuration. Although, this was a requirement for 6.0 there is no documentation for FSW how to set this up :-/
S-RAMP is not doing anything specific with transactions. ModeShape and Infinispan are simply behind the JCR "black box". We may need to pull in ModeShape or JDG into the discussion.
Suggest re-assigning to Infinispan or ModeShape
ModeShape cannot use a remote Infinispan cache (or a remote JDG cache) for storage, because the remote cache functionality does not support transactions or locking, both of which are needed by ModeShape. This is a known limitation of Infinispan.