[
http://jira.jboss.com/jira/browse/JBCACHE-1270?page=comments#action_12395949 ]
Manik Surtani commented on JBCACHE-1270:
----------------------------------------
From an email conversation between Bela and Brian describing a
potential problem with commits being queued up behind normal messages:
"
i) Node A sends prepare for GTX1; synchronous. Gets applied on Node B. Locks are held on
B.
ii) Node A sends commit for GTX1; *asynchronous*.
iii) Node A sends lots of other messages related to other sessions.
iv) Node A sends prepare for GTX2; synchronous.
v) Node B is busy, and by luck the GTX2 prepare gets to UNICAST before the GTX1 commit.
vi) GTX2 prepare blocks due to locks from GTX1.
vii) GTX1 commit is blocked in UNICAST because another thread from Node A is executing.
To test this, I set SyncCommitPhase=true and SyncRollbackPhase=true in the JBC config.
Makes step ii) above synchronous. Problem went away. But, but w/ both calls in the 2PC
sync, performance was worse than it was with 2.4.1. :(
"
If the commit message was out-of-band, then JGroups wouldn't block it in vii) above.
The commit would proceed and GTX2's prepare blocked in vi) will be able to proceed.
Commit messages to be broadcast as out-of-band messages so they are
not blocked on the receiver's end
-----------------------------------------------------------------------------------------------------
Key: JBCACHE-1270
URL:
http://jira.jboss.com/jira/browse/JBCACHE-1270
Project: JBoss Cache
Issue Type: Feature Request
Security Level: Public(Everyone can see)
Components: Replication
Affects Versions: 2.0.0.GA
Reporter: Manik Surtani
Assigned To: Manik Surtani
Fix For: 2.1.0.GA
Would require a new method in RPCManager to be able to callRemoteMethods() with an OOB
parameter.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira