Community
Participate
Working Groups
Build Identifier: The SignalProtocol has a timeout of 10 seconds. This timeout is not configurable via the cdo-server.xml or otherwise. Reproducible: Always
(In reply to comment #0) > [...] This timeout is not configurable via the cdo-server.xml True. > or otherwise. Not true. All aspects are configurable programmatically, e.g.: IRepository repository = getRepository(); repository.getSessionManager().addListener(new ContainerEventAdapter<ISession>() { @Override protected void onAdded(IContainer<ISession> container, ISession session) { ISessionProtocol protocol = session.getProtocol(); if (protocol instanceof ISignalProtocol) { ISignalProtocol<?> signalProtocol = (ISignalProtocol<?>)protocol; signalProtocol.setTimeout(30L * 1000L); } } }); I wonder if the protocol read timeouts should always be the same on server side and client side... Apart from this, can you please describe your underlying problem again? Was it about timeouts during long running commits?
Committed revision 8591: - trunk/plugins/org.eclipse.emf.cdo.tests
Committed revision 8591
Committed revision 8594: - trunk/plugins/org.eclipse.emf.cdo.tests
Committed revision 8594
Hi Eike, We have this problem, when loading a lot of test data, which is committed in one go. (In reply to comment #5) > Committed revision 8594
I'll try to reproduce it in a test case...
A question: when the (read) timeout happens on the server, is the network under heavy load? or the committing client und heavy processing load? The timeout basically means that the server was trying for more than 10 seconds to read a byte from the committing client. I would like to get an impression whether the actual timeout is a good signal that latency/error/heavy load is properly detetcted or if a timer reset is missing...
There is no other activity on the server than, loading the data. No clients are connected except the test data loader. @Martin, do we have more details on this? (In reply to comment #8) > A question: when the (read) timeout happens on the server, is the network under > heavy load? or the committing client und heavy processing load? The timeout > basically means that the server was trying for more than 10 seconds to read a > byte from the committing client. I would like to get an impression whether the > actual timeout is a good signal that latency/error/heavy load is properly > detetcted or if a timer reset is missing...
Committed revision 8604 I've added a test case that simulates a large commit (large as in "takes long to trasmit to server"): org.eclipse.emf.cdo.tests.TransactionTest._testLongCommit2() But I could solve the timeouts with: session.options().setCommitTimeout(60);
Hi Eike, Thanks! This helped. But in our case we had to cast to a different Options object: ((org.eclipse.emf.cdo.net4j.CDOSession.Options)cdoSession.options()).setCommitTimeout(60); this because our session is org.eclipse.emf.cdo.session.CDOSession which returns a different options class from the options() method. gr. Martin
Committed revision 8607: - trunk/plugins/org.eclipse.emf.cdo.tests
(In reply to comment #11) > Hi Eike, > Thanks! This helped. > > But in our case we had to cast to a different Options object: > > ((org.eclipse.emf.cdo.net4j.CDOSession.Options)cdoSession.options()).setCommitTimeout(60); > > this because our session is org.eclipse.emf.cdo.session.CDOSession which > returns a different options class from the options() method. > > gr. Martin I'd prefer to cast the session already to org.eclipse.emf.cdo.net4j.CDOSession ;-)
Moving all open issues to 4.2. Open bugs can be ported to 4.1 maintenance after they've been fixed in master.
Moving all outstanding enhancements to 4.3
Moving all open enhancement requests to 4.4
Moving all open bugzillas to 4.5.
Moving all unaddressed bugzillas to 4.6.
Moving all open bugs to 4.7
Moving all unresolved issues to version 4.8-
Moving all unresolved issues to version 4.9
Moving to 4.13.