[
https://issues.jboss.org/browse/ISPN-1748?page=com.atlassian.jira.plugin....
]
Mircea Markus edited comment on ISPN-1748 at 1/19/12 1:19 PM:
--------------------------------------------------------------
after implementing this I've run some benchmarks and figures don't look at all
encouraging.
The attached graph compares:
ispn50->async commit
ispn51->sync commit
ispn51c->this jira's implementation
Without performing an exhaustive analysis, the problem seem to be one of flow control:
without the fix in place we have the producer threads doing 2 sync RPCs (prepare and
commit) and one async RPC performed by OOB (release locks).
with the fix in place, we have the producer doing an 1 sync RPC(prepare) and then it
triggers an OOB async thread that does 2 other RPCs.
Now the problem seems to be caused by the fact that the consumers create more requests
than the OOB thread pool can handle, ending up in prepares waiting for locks to be
released -> but locks are not released on time because OOB threads are exhausted.
Increasing the OOB thread pool size might help.
The problem is more visible for REPL, because in that case the designated lock owner is
the coordinator. What happens in the case of REPL is a very high percentage of timeouts on
the coordinator and performance is very slow (I've interrupted the tests several times
after 3h, normally it only takes about 30 mins). Again, the high number of timeouts
indicates that locks are not being released on time, most likely because of the flow
control.
was (Author: mircea.markus):
results of comparing:
ispn50->async commit
ispn51->sync commit
ispn51c->this jira's implementation
Allow consistency for concurrent updates when syncCommitPhase=false
-------------------------------------------------------------------
Key: ISPN-1748
URL:
https://issues.jboss.org/browse/ISPN-1748
Project: Infinispan
Issue Type: Enhancement
Components: Transactions
Affects Versions: 5.1.0.CR4
Reporter: Mircea Markus
Assignee: Mircea Markus
Labels: performace
Fix For: 5.1.0.FINAL
Attachments: All_PUT.png
when syncCommitPhase=false then there is a window of inconsistency in the case multipel
tx access the same key at the same time.
This can be avoided by sending the lock release command after the commit command, in the
same thread which is async triggered by the TM.commit.
This should be a very important performance buster for default configurations.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira