| Summary: | Timeout in LoadMergeDataRequest | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Lothar Werzinger <lothar> | ||||
| Component: | cdo.core | Assignee: | Eike Stepper <stepper> | ||||
| Status: | CLOSED FIXED | QA Contact: | Eike Stepper <stepper> | ||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | ibrahim.sallam, jon | ||||
| Version: | 4.0 | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
Among other things I added progress monitoring to IStoreAccessor.readChangeSet(). *Ibe:* I had to change two of your classes. Please review my changes in: ObjyBranch.java ObjectivityStoreAccessor.java Created attachment 185478 [details]
Patch v1
Lothar, please test this patch and tell me if it works for you.
Committed to HEAD Available in R20110608-1407 |
Build Identifier: I am trying to do a merge on branches (with a fake merger that does actually not even do anything) and I get a TimeoutException: org.eclipse.emf.cdo.common.util.TransportException: java.util.concurrent.TimeoutException at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientProtocol.send(CDOClientProtocol.java:405) at org.eclipse.emf.cdo.internal.net4j.protocol.CDOClientProtocol.loadMergeData(CDOClientProtocol.java:359) at org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.merge(CDOTransactionImpl.java:422) Setting a hight timeout value helped (temporarily) ((org.eclipse.emf.cdo.net4j.CDOSession) transaction.getSession()) .options().getProtocol().setTimeout(1000 * 600); Here's my sample code snippet: class FakeMerger implements CDOMerger { public CDOChangeSet target; public CDOChangeSet source; @Override public CDOChangeSetData merge(CDOChangeSet target, CDOChangeSet source) { this.target = target; this.source = source; // return null, and therefore do NOT do an actual merge return null; } }; FakeMerger fakemerger = new FakeMerger(); CDOTransaction mergetransaction = transaction.getSession().openTransaction(testbranch); mergetransaction.merge(mainbranch.getHead(), fakemerger); Reproducible: Always Steps to Reproduce: 1. run the above code.