Bug 1029034 - Unable to use remote JDG as a distributed cache store
Summary: Unable to use remote JDG as a distributed cache store
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: JBoss Fuse Service Works 6
Classification: JBoss
Component: DT Governance
Version: 6.0.0
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: ---
: ---
Assignee: Brett Meyer
QA Contact: Jiri Sedlacek
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-11-11 14:18 UTC by Stefan Bunciak
Modified: 2015-09-01 04:00 UTC (History)
8 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-07-29 20:08:17 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Server configured to use remote cache store provided by JDG (33.88 KB, text/xml)
2014-02-20 14:42 UTC, Stefan Bunciak
no flags Details
Server log (250.13 KB, text/x-log)
2014-02-20 14:44 UTC, Stefan Bunciak
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SRAMP-479 0 Major Closed Enable SRAMP (modeshape) to use remote data cache provided by JDG 2016-04-25 20:36:40 UTC

Description Stefan Bunciak 2013-11-11 14:18:36 UTC
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:

Comment 2 Stefan Bunciak 2014-02-20 14:42:05 UTC
Created attachment 865554 [details]
Server configured to use remote cache store provided by JDG

Comment 3 Stefan Bunciak 2014-02-20 14:44:16 UTC
Created attachment 865555 [details]
Server log

It seems that the log is not available anymore at pastebin, so attaching server log.

Comment 4 Brett Meyer 2014-06-30 14:48:03 UTC
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.

Comment 5 JBoss JIRA Server 2014-06-30 16:05:18 UTC
Brett Meyer <brmeyer> updated the status of jira SRAMP-479 to Closed

Comment 6 JBoss JIRA Server 2014-06-30 16:05:32 UTC
Brett Meyer <brmeyer> updated the status of jira SRAMP-479 to Reopened

Comment 7 JBoss JIRA Server 2014-06-30 16:05:45 UTC
Brett Meyer <brmeyer> updated the status of jira SRAMP-479 to Closed

Comment 8 JBoss JIRA Server 2014-06-30 16:05:53 UTC
Brett Meyer <brmeyer> updated the status of jira SRAMP-479 to Reopened

Comment 9 JBoss JIRA Server 2014-06-30 16:06:02 UTC
Brett Meyer <brmeyer> updated the status of jira SRAMP-479 to Closed

Comment 10 Stefan Bunciak 2014-07-01 08:16:55 UTC
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 :-/

Comment 11 Brett Meyer 2014-07-02 17:52:31 UTC
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.

Comment 12 Brett Meyer 2014-07-29 17:05:48 UTC
Suggest re-assigning to Infinispan or ModeShape

Comment 13 Randall Hauch 2014-07-29 17:28:39 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.