Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2010-11-15 15:27:03 +0000
committerEike Stepper2010-11-15 15:27:03 +0000
commita773de965c80e594794b7ce7481401cde5c30357 (patch)
treea2a15c1f3182f9481f8e1606dacff6e57caa3088 /plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitTransactionRequest.java
parent09b4e0b84c9f3c500c55f4163e4abc9b9c475881 (diff)
downloadcdo-a773de965c80e594794b7ce7481401cde5c30357.tar.gz
cdo-a773de965c80e594794b7ce7481401cde5c30357.tar.xz
cdo-a773de965c80e594794b7ce7481401cde5c30357.zip
[328595] TimeoutException during raw replication
https://bugs.eclipse.org/bugs/show_bug.cgi?id=328595
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitTransactionRequest.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitTransactionRequest.java125
1 files changed, 10 insertions, 115 deletions
diff --git a/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitTransactionRequest.java b/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitTransactionRequest.java
index 45d2aacb23..5af184e81d 100644
--- a/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitTransactionRequest.java
+++ b/plugins/org.eclipse.emf.cdo.net4j/src/org/eclipse/emf/cdo/internal/net4j/protocol/CommitTransactionRequest.java
@@ -15,10 +15,8 @@
package org.eclipse.emf.cdo.internal.net4j.protocol;
import org.eclipse.emf.cdo.CDOObject;
-import org.eclipse.emf.cdo.common.branch.CDOBranchManager;
import org.eclipse.emf.cdo.common.branch.CDOBranchPoint;
import org.eclipse.emf.cdo.common.commit.CDOCommitData;
-import org.eclipse.emf.cdo.common.commit.CDOCommitInfoManager;
import org.eclipse.emf.cdo.common.id.CDOID;
import org.eclipse.emf.cdo.common.id.CDOIDAndVersion;
import org.eclipse.emf.cdo.common.id.CDOIDMetaRange;
@@ -26,40 +24,28 @@ import org.eclipse.emf.cdo.common.id.CDOIDProvider;
import org.eclipse.emf.cdo.common.id.CDOIDTemp;
import org.eclipse.emf.cdo.common.id.CDOIDUtil;
import org.eclipse.emf.cdo.common.model.CDOPackageInfo;
-import org.eclipse.emf.cdo.common.model.CDOPackageRegistry;
import org.eclipse.emf.cdo.common.model.CDOPackageUnit;
import org.eclipse.emf.cdo.common.model.lob.CDOBlob;
import org.eclipse.emf.cdo.common.model.lob.CDOClob;
import org.eclipse.emf.cdo.common.model.lob.CDOLob;
-import org.eclipse.emf.cdo.common.model.lob.CDOLobStore;
import org.eclipse.emf.cdo.common.protocol.CDODataInput;
import org.eclipse.emf.cdo.common.protocol.CDODataOutput;
import org.eclipse.emf.cdo.common.protocol.CDOProtocolConstants;
-import org.eclipse.emf.cdo.common.revision.CDOListFactory;
import org.eclipse.emf.cdo.common.revision.CDORevision;
-import org.eclipse.emf.cdo.common.revision.CDORevisionFactory;
import org.eclipse.emf.cdo.common.revision.CDORevisionKey;
import org.eclipse.emf.cdo.common.revision.delta.CDORevisionDelta;
-import org.eclipse.emf.cdo.internal.common.protocol.CDODataInputImpl;
-import org.eclipse.emf.cdo.internal.common.protocol.CDODataOutputImpl;
import org.eclipse.emf.cdo.internal.net4j.bundle.OM;
import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageInfo;
import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageRegistry.MetaInstanceMapper;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.internal.cdo.revision.CDOListWithElementProxiesImpl;
-
-import org.eclipse.net4j.signal.RequestWithMonitoring;
-import org.eclipse.net4j.util.io.ExtendedDataInputStream;
import org.eclipse.net4j.util.io.ExtendedDataOutputStream;
import org.eclipse.net4j.util.io.IOUtil;
-import org.eclipse.net4j.util.io.StringIO;
import org.eclipse.net4j.util.om.monitor.OMMonitor;
import org.eclipse.net4j.util.om.trace.ContextTracer;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.spi.cdo.CDOSessionProtocol.CommitTransactionResult;
-import org.eclipse.emf.spi.cdo.InternalCDOSession;
import java.io.IOException;
import java.io.OutputStreamWriter;
@@ -69,7 +55,7 @@ import java.util.List;
/**
* @author Eike Stepper
*/
-public class CommitTransactionRequest extends RequestWithMonitoring<CommitTransactionResult>
+public class CommitTransactionRequest extends CDOClientRequestWithMonitoring<CommitTransactionResult>
{
private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG_PROTOCOL, CommitTransactionRequest.class);
@@ -85,8 +71,6 @@ public class CommitTransactionRequest extends RequestWithMonitoring<CommitTransa
private Collection<CDOLob<?>> lobs;
- private ExtendedDataOutputStream stream;
-
public CommitTransactionRequest(CDOClientProtocol protocol, int transactionID, String comment, boolean releaseLocks,
CDOIDProvider idProvider, CDOCommitData commitData, Collection<CDOLob<?>> lobs)
{
@@ -107,47 +91,19 @@ public class CommitTransactionRequest extends RequestWithMonitoring<CommitTransa
}
@Override
- public CDOClientProtocol getProtocol()
- {
- return (CDOClientProtocol)super.getProtocol();
- }
-
- protected InternalCDOSession getSession()
+ protected int getMonitorTimeoutSeconds()
{
- return (InternalCDOSession)getProtocol().getSession();
+ org.eclipse.emf.cdo.net4j.CDOSession session = (org.eclipse.emf.cdo.net4j.CDOSession)getSession();
+ return session.options().getCommitTimeout();
}
+ @Override
protected CDOIDProvider getIDProvider()
{
return idProvider;
}
@Override
- protected final void requesting(ExtendedDataOutputStream out, OMMonitor monitor) throws Exception
- {
- stream = out;
- requesting(new CDODataOutputImpl(out)
- {
- @Override
- public CDOPackageRegistry getPackageRegistry()
- {
- return getSession().getPackageRegistry();
- }
-
- @Override
- public CDOIDProvider getIDProvider()
- {
- return CommitTransactionRequest.this.getIDProvider();
- }
-
- @Override
- protected StringIO getPackageURICompressor()
- {
- return getProtocol().getPackageURICompressor();
- }
- }, monitor);
- }
-
protected void requesting(CDODataOutput out, OMMonitor monitor) throws IOException
{
requestingTransactionInfo(out);
@@ -220,11 +176,12 @@ public class CommitTransactionRequest extends RequestWithMonitoring<CommitTransa
}
}
- requestingLobs(out);
+ requestingLobs();
}
- protected void requestingLobs(CDODataOutput out) throws IOException
+ protected void requestingLobs() throws IOException
{
+ ExtendedDataOutputStream out = getRequestStream();
out.writeInt(lobs.size());
for (CDOLob<?> lob : lobs)
{
@@ -234,13 +191,13 @@ public class CommitTransactionRequest extends RequestWithMonitoring<CommitTransa
{
CDOBlob blob = (CDOBlob)lob;
out.writeLong(size);
- IOUtil.copyBinary(blob.getContents(), stream, size);
+ IOUtil.copyBinary(blob.getContents(), out, size);
}
else
{
CDOClob clob = (CDOClob)lob;
out.writeLong(-size);
- IOUtil.copyCharacter(clob.getContents(), new OutputStreamWriter(stream), size);
+ IOUtil.copyCharacter(clob.getContents(), new OutputStreamWriter(out), size);
}
}
}
@@ -253,54 +210,6 @@ public class CommitTransactionRequest extends RequestWithMonitoring<CommitTransa
}
@Override
- protected final CommitTransactionResult confirming(ExtendedDataInputStream in, OMMonitor monitor) throws Exception
- {
- return confirming(new CDODataInputImpl(in)
- {
- @Override
- protected StringIO getPackageURICompressor()
- {
- return getProtocol().getPackageURICompressor();
- }
-
- @Override
- protected CDOPackageRegistry getPackageRegistry()
- {
- return getSession().getPackageRegistry();
- }
-
- @Override
- protected CDOBranchManager getBranchManager()
- {
- return getSession().getBranchManager();
- }
-
- @Override
- protected CDOCommitInfoManager getCommitInfoManager()
- {
- return getSession().getCommitInfoManager();
- }
-
- @Override
- protected CDORevisionFactory getRevisionFactory()
- {
- return getSession().getRevisionManager().getFactory();
- }
-
- @Override
- protected CDOLobStore getLobStore()
- {
- return getSession().getLobStore();
- }
-
- @Override
- protected CDOListFactory getListFactory()
- {
- return CDOListWithElementProxiesImpl.FACTORY;
- }
- }, monitor);
- }
-
protected CommitTransactionResult confirming(CDODataInput in, OMMonitor monitor) throws IOException
{
CommitTransactionResult result = confirmingCheckError(in);
@@ -383,18 +292,4 @@ public class CommitTransactionRequest extends RequestWithMonitoring<CommitTransa
}
}
}
-
- @Override
- protected int getMonitorProgressSeconds()
- {
- org.eclipse.emf.cdo.net4j.CDOSession session = (org.eclipse.emf.cdo.net4j.CDOSession)getSession();
- return session.options().getProgressInterval();
- }
-
- @Override
- protected int getMonitorTimeoutSeconds()
- {
- org.eclipse.emf.cdo.net4j.CDOSession session = (org.eclipse.emf.cdo.net4j.CDOSession)getSession();
- return session.options().getCommitTimeout();
- }
}

Back to the top