diff options
author | Eike Stepper | 2010-06-04 07:18:45 +0000 |
---|---|---|
committer | Eike Stepper | 2010-06-04 07:18:45 +0000 |
commit | fffdb099195d794188af7a499a6d29ad4d925257 (patch) | |
tree | dd4ef185bc089d64da470dc3e9bca9161c47a173 /plugins | |
parent | 78965466135f3a0f1653a9ae19bf9328cdfcef19 (diff) | |
download | cdo-fffdb099195d794188af7a499a6d29ad4d925257.tar.gz cdo-fffdb099195d794188af7a499a6d29ad4d925257.tar.xz cdo-fffdb099195d794188af7a499a6d29ad4d925257.zip |
[315221] [DB] Connection-Keep-Alive-DBStoreAccessor threads never end
https://bugs.eclipse.org/bugs/show_bug.cgi?id=315221
Diffstat (limited to 'plugins')
16 files changed, 62 insertions, 47 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/CDODBUtil.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/CDODBUtil.java index b5b4cd0958..d0352811cf 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/CDODBUtil.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/db/CDODBUtil.java @@ -192,7 +192,7 @@ public final class CDODBUtil if (result == Statement.EXECUTE_FAILED) { - throw new IllegalStateException(stmt.toString() + " returned EXECUTE_FAILED."); //$NON-NLS-1$ + throw new IllegalStateException(stmt.toString() + " returned EXECUTE_FAILED"); //$NON-NLS-1$ } return result; diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/AbstractPreparedStatementCache.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/AbstractPreparedStatementCache.java index fe80912f1c..b3497db3d9 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/AbstractPreparedStatementCache.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/AbstractPreparedStatementCache.java @@ -42,6 +42,6 @@ public abstract class AbstractPreparedStatementCache extends Lifecycle implement @Override protected void doBeforeActivate() { - checkState(connection, "Must have valid connection to start."); //$NON-NLS-1$ + checkState(connection, "Must have valid connection to start"); //$NON-NLS-1$ } } diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStore.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStore.java index 1ccd7f46a3..d3bca47ffb 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStore.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStore.java @@ -59,6 +59,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import java.util.Timer; /** * @author Eike Stepper @@ -123,6 +124,9 @@ public class DBStore extends LongIDStore implements IDBStore, CDOAllRevisionsPro @ExcludeFromDump private transient StoreAccessorPool writerPool = new StoreAccessorPool(this, null); + @ExcludeFromDump + private transient Timer connectionKeepAliveTimer; + public DBStore() { super(TYPE, set(ChangeFormat.REVISION, ChangeFormat.DELTA), // @@ -193,6 +197,11 @@ public class DBStore extends LongIDStore implements IDBStore, CDOAllRevisionsPro return externalReferenceManager; } + public Timer getConnectionKeepAliveTimer() + { + return connectionKeepAliveTimer; + } + @Override public Set<ChangeFormat> getSupportedChangeFormats() { @@ -423,6 +432,7 @@ public class DBStore extends LongIDStore implements IDBStore, CDOAllRevisionsPro protected void doActivate() throws Exception { super.doActivate(); + connectionKeepAliveTimer = new Timer("Connection-Keep-Alive-" + this); //$NON-NLS-1$ dbSchema = createSchema(); metaDataManager = new MetaDataManager(this); @@ -481,6 +491,10 @@ public class DBStore extends LongIDStore implements IDBStore, CDOAllRevisionsPro readerPool.dispose(); writerPool.dispose(); + + connectionKeepAliveTimer.cancel(); + connectionKeepAliveTimer = null; + super.doDeactivate(); } diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java index 456c3ceed7..5cb8e5672d 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/DBStoreAccessor.java @@ -85,7 +85,6 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.Timer; import java.util.TimerTask; /** @@ -99,8 +98,6 @@ public class DBStoreAccessor extends LongIDStoreAccessor implements IDBStoreAcce private IPreparedStatementCache statementCache; - private Timer connectionKeepAliveTimer; - private Set<CDOID> newObjects = new HashSet<CDOID>(); public DBStoreAccessor(DBStore store, ISession session) throws DBException @@ -260,7 +257,7 @@ public class DBStoreAccessor extends LongIDStoreAccessor implements IDBStoreAcce if (success && revision.getVersion() != branchVersion.getVersion()) { throw new IllegalStateException("Can only retrieve current version " + revision.getVersion() + " for " + id //$NON-NLS-1$ //$NON-NLS-2$ - + " - version requested was " + branchVersion + "."); //$NON-NLS-1$ //$NON-NLS-2$ + + " - version requested was " + branchVersion); //$NON-NLS-1$ } } @@ -332,7 +329,7 @@ public class DBStoreAccessor extends LongIDStoreAccessor implements IDBStoreAcce if (!mappingStrategy.hasDeltaSupport()) { - throw new UnsupportedOperationException("Mapping strategy does not support revision deltas."); //$NON-NLS-1$ + throw new UnsupportedOperationException("Mapping strategy does not support revision deltas"); //$NON-NLS-1$ } monitor.begin(revisionDeltas.length); @@ -491,15 +488,12 @@ public class DBStoreAccessor extends LongIDStoreAccessor implements IDBStoreAcce protected void doActivate() throws Exception { connection = getStore().getConnection(); - - connectionKeepAliveTimer = new Timer("Connection-Keep-Alive-" + toString()); //$NON-NLS-1$ - connectionKeepAliveTimer.schedule(new ConnectionKeepAliveTask(), ConnectionKeepAliveTask.EXECUTION_PERIOD, - ConnectionKeepAliveTask.EXECUTION_PERIOD); + getStore().getConnectionKeepAliveTimer().schedule(new ConnectionKeepAliveTask(), + ConnectionKeepAliveTask.EXECUTION_PERIOD, ConnectionKeepAliveTask.EXECUTION_PERIOD); // TODO - make this configurable? statementCache = CDODBUtil.createStatementCache(); statementCache.setConnection(connection); - LifecycleUtil.activate(statementCache); } @@ -507,10 +501,6 @@ public class DBStoreAccessor extends LongIDStoreAccessor implements IDBStoreAcce protected void doDeactivate() throws Exception { LifecycleUtil.deactivate(statementCache); - - connectionKeepAliveTimer.cancel(); - connectionKeepAliveTimer = null; - DBUtil.close(connection); connection = null; } @@ -667,7 +657,7 @@ public class DBStoreAccessor extends LongIDStoreAccessor implements IDBStoreAcce { if (!getStore().getMappingStrategy().hasBranchingSupport()) { - throw new UnsupportedOperationException("Mapping strategy does not support branching."); //$NON-NLS-1$ + throw new UnsupportedOperationException("Mapping strategy does not support branching"); //$NON-NLS-1$ } } @@ -905,7 +895,7 @@ public class DBStoreAccessor extends LongIDStoreAccessor implements IDBStoreAcce { if (TRACER.isEnabled()) { - TRACER.trace("DB connection keep-alive task activated."); //$NON-NLS-1$ + TRACER.trace("DB connection keep-alive task activated"); //$NON-NLS-1$ } stmt = connection.createStatement(); @@ -913,7 +903,7 @@ public class DBStoreAccessor extends LongIDStoreAccessor implements IDBStoreAcce } catch (SQLException ex) { - OM.LOG.error("DB connection keep-alive failed.", ex); //$NON-NLS-1$ + OM.LOG.error("DB connection keep-alive failed", ex); //$NON-NLS-1$ } finally { diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/SmartPreparedStatementCache.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/SmartPreparedStatementCache.java index e8dd2bf666..2ba81da056 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/SmartPreparedStatementCache.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/SmartPreparedStatementCache.java @@ -67,7 +67,7 @@ public class SmartPreparedStatementCache extends AbstractPreparedStatementCache { if (!checkedOut.isEmpty()) { - OM.LOG.warn("Statement leak detected."); //$NON-NLS-1$ + OM.LOG.warn("Statement leak detected"); //$NON-NLS-1$ } } @@ -120,7 +120,7 @@ public class SmartPreparedStatementCache extends AbstractPreparedStatementCache // put into lookup table if (lookup.put(cachedStatement.getSQL(), cachedStatement) != null) { - throw new ImplementationError(cachedStatement.getSQL() + " already in cache."); //$NON-NLS-1$ + throw new ImplementationError(cachedStatement.getSQL() + " already in cache"); //$NON-NLS-1$ } // handle capacity overflow diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/AbstractMappingStrategy.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/AbstractMappingStrategy.java index 66b0c771ff..ab9f043dd6 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/AbstractMappingStrategy.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/AbstractMappingStrategy.java @@ -472,14 +472,14 @@ public abstract class AbstractMappingStrategy extends Lifecycle implements IMapp public final IListMapping createListMapping(EClass containingClass, EStructuralFeature feature) { - checkArg(feature.isMany(), "Only many-valued features allowed."); //$NON-NLS-1$ + checkArg(feature.isMany(), "Only many-valued features allowed"); //$NON-NLS-1$ IListMapping mapping = doCreateListMapping(containingClass, feature); return mapping; } public final IListMapping createFeatureMapMapping(EClass containingClass, EStructuralFeature feature) { - checkArg(FeatureMapUtil.isFeatureMap(feature), "Only FeatureMaps allowed."); //$NON-NLS-1$ + checkArg(FeatureMapUtil.isFeatureMap(feature), "Only FeatureMaps allowed"); //$NON-NLS-1$ IListMapping mapping = doCreateFeatureMapMapping(containingClass, feature); return mapping; } diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractFeatureMapTableMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractFeatureMapTableMapping.java index d95f29f72d..c4fdd7df13 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractFeatureMapTableMapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractFeatureMapTableMapping.java @@ -35,8 +35,8 @@ import org.eclipse.net4j.db.DBException; import org.eclipse.net4j.db.DBType; import org.eclipse.net4j.db.DBUtil; import org.eclipse.net4j.db.ddl.IDBField; -import org.eclipse.net4j.db.ddl.IDBTable; import org.eclipse.net4j.db.ddl.IDBIndex.Type; +import org.eclipse.net4j.db.ddl.IDBTable; import org.eclipse.net4j.util.collection.MoveableList; import org.eclipse.net4j.util.om.trace.ContextTracer; @@ -486,7 +486,7 @@ public abstract class AbstractFeatureMapTableMapping extends BasicAbstractListTa { if (TRACER.isEnabled()) { - TRACER.format("Chunk finished."); + TRACER.format("Chunk finished"); } chunk = null; diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractHorizontalClassMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractHorizontalClassMapping.java index 064904042d..62f34af51d 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractHorizontalClassMapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractHorizontalClassMapping.java @@ -366,7 +366,7 @@ public abstract class AbstractHorizontalClassMapping implements IClassMapping } } - throw new IllegalArgumentException("List mapping for feature " + feature + " does not exist."); //$NON-NLS-1$ //$NON-NLS-2$ + throw new IllegalArgumentException("List mapping for feature " + feature + " does not exist"); //$NON-NLS-1$ //$NON-NLS-2$ } protected final IDBTable getTable() diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractHorizontalMappingStrategy.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractHorizontalMappingStrategy.java index a42ec086fe..9861ac2ba9 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractHorizontalMappingStrategy.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractHorizontalMappingStrategy.java @@ -90,7 +90,7 @@ public abstract class AbstractHorizontalMappingStrategy extends AbstractMappingS // only support timestamp in audit mode if (context.getTimeStamp() != CDORevision.UNSPECIFIED_DATE && !hasAuditSupport()) { - throw new UnsupportedOperationException("Mapping Strategy does not support audits."); //$NON-NLS-1$ + throw new UnsupportedOperationException("Mapping Strategy does not support audits"); //$NON-NLS-1$ } EresourcePackage resourcesPackage = EresourcePackage.eINSTANCE; diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractListTableMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractListTableMapping.java index 66d16265df..53b794b8c2 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractListTableMapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AbstractListTableMapping.java @@ -31,8 +31,8 @@ import org.eclipse.net4j.db.DBException; import org.eclipse.net4j.db.DBType; import org.eclipse.net4j.db.DBUtil; import org.eclipse.net4j.db.ddl.IDBField; -import org.eclipse.net4j.db.ddl.IDBTable; import org.eclipse.net4j.db.ddl.IDBIndex.Type; +import org.eclipse.net4j.db.ddl.IDBTable; import org.eclipse.net4j.util.collection.MoveableList; import org.eclipse.net4j.util.om.trace.ContextTracer; @@ -406,7 +406,7 @@ public abstract class AbstractListTableMapping extends BasicAbstractListTableMap { if (TRACER.isEnabled()) { - TRACER.format("Chunk finished."); //$NON-NLS-1$ + TRACER.format("Chunk finished"); //$NON-NLS-1$ } chunk = null; diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AuditFeatureMapTableMappingWithRanges.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AuditFeatureMapTableMappingWithRanges.java index b64ed41a16..0dcc83dcbc 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AuditFeatureMapTableMappingWithRanges.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AuditFeatureMapTableMappingWithRanges.java @@ -52,8 +52,8 @@ import org.eclipse.net4j.db.DBException; import org.eclipse.net4j.db.DBType; import org.eclipse.net4j.db.DBUtil; import org.eclipse.net4j.db.ddl.IDBField; -import org.eclipse.net4j.db.ddl.IDBTable; import org.eclipse.net4j.db.ddl.IDBIndex.Type; +import org.eclipse.net4j.db.ddl.IDBTable; import org.eclipse.net4j.util.ImplementationError; import org.eclipse.net4j.util.collection.MoveableList; import org.eclipse.net4j.util.om.trace.ContextTracer; @@ -606,7 +606,7 @@ public class AuditFeatureMapTableMappingWithRanges extends BasicAbstractListTabl { if (TRACER.isEnabled()) { - TRACER.format("Chunk finished."); //$NON-NLS-1$ + TRACER.format("Chunk finished"); //$NON-NLS-1$ } chunk = null; @@ -775,8 +775,8 @@ public class AuditFeatureMapTableMappingWithRanges extends BasicAbstractListTabl CDOBranch main = getMappingStrategy().getStore().getRepository().getBranchManager().getMainBranch(); // get revision from cache to find out version number - CDORevision revision = getMappingStrategy().getStore().getRepository().getRevisionManager().getRevision(id, - main.getHead(), /* chunksize = */0, CDORevision.DEPTH_NONE, true); + CDORevision revision = getMappingStrategy().getStore().getRepository().getRevisionManager() + .getRevision(id, main.getHead(), /* chunksize = */0, CDORevision.DEPTH_NONE, true); // set cdo_revision_removed for all list items (so we have no NULL values) clearList(accessor, id, revision.getVersion(), FINAL_VERSION); @@ -802,7 +802,7 @@ public class AuditFeatureMapTableMappingWithRanges extends BasicAbstractListTabl if (TRACER.isEnabled()) { - TRACER.format("processing deltas ..."); //$NON-NLS-1$ + TRACER.format("Processing deltas..."); //$NON-NLS-1$ } for (CDOFeatureDelta listDelta : delta.getListChanges()) @@ -1248,7 +1248,7 @@ public class AuditFeatureMapTableMappingWithRanges extends BasicAbstractListTabl ResultSet resultSet = pstmt.executeQuery(); if (!resultSet.next()) { - throw new DBException("getValue expects exactly one result."); + throw new DBException("getValue expects exactly one result"); } Long tag = resultSet.getLong(1); diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AuditListTableMappingWithRanges.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AuditListTableMappingWithRanges.java index b98fd424a3..c13229dddf 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AuditListTableMappingWithRanges.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/AuditListTableMappingWithRanges.java @@ -483,7 +483,7 @@ public class AuditListTableMappingWithRanges extends BasicAbstractListTableMappi { if (TRACER.isEnabled()) { - TRACER.format("Chunk finished."); //$NON-NLS-1$ + TRACER.format("Chunk finished"); //$NON-NLS-1$ } chunk = null; @@ -598,8 +598,8 @@ public class AuditListTableMappingWithRanges extends BasicAbstractListTableMappi CDOBranch main = getMappingStrategy().getStore().getRepository().getBranchManager().getMainBranch(); // get revision from cache to find out version number - CDORevision revision = getMappingStrategy().getStore().getRepository().getRevisionManager().getRevision(id, - main.getHead(), /* chunksize = */0, CDORevision.DEPTH_NONE, true); + CDORevision revision = getMappingStrategy().getStore().getRepository().getRevisionManager() + .getRevision(id, main.getHead(), /* chunksize = */0, CDORevision.DEPTH_NONE, true); // set cdo_revision_removed for all list items (so we have no NULL values) clearList(accessor, id, revision.getVersion(), FINAL_VERSION); @@ -625,7 +625,7 @@ public class AuditListTableMappingWithRanges extends BasicAbstractListTableMappi if (TRACER.isEnabled()) { - TRACER.format("processing deltas ..."); //$NON-NLS-1$ + TRACER.format("Processing deltas..."); //$NON-NLS-1$ } for (CDOFeatureDelta listDelta : delta.getListChanges()) diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalNonAuditClassMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalNonAuditClassMapping.java index a586e41dbd..46cbd8ceeb 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalNonAuditClassMapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/HorizontalNonAuditClassMapping.java @@ -362,7 +362,7 @@ public class HorizontalNonAuditClassMapping extends AbstractHorizontalClassMappi long timeStamp = revision.getTimeStamp(); if (timeStamp != DBStore.UNSPECIFIED_DATE) { - throw new UnsupportedOperationException("Mapping strategy does not support audits."); //$NON-NLS-1$ + throw new UnsupportedOperationException("Mapping strategy does not support audits"); //$NON-NLS-1$ } IPreparedStatementCache statementCache = accessor.getStatementCache(); diff --git a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/NonAuditListTableMapping.java b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/NonAuditListTableMapping.java index 395d2510a3..08f274c5fc 100644 --- a/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/NonAuditListTableMapping.java +++ b/plugins/org.eclipse.emf.cdo.server.db/src/org/eclipse/emf/cdo/server/internal/db/mapping/horizontal/NonAuditListTableMapping.java @@ -233,7 +233,7 @@ public class NonAuditListTableMapping extends AbstractListTableMapping implement if (TRACER.isEnabled()) { - TRACER.format("procssing deltas ..."); //$NON-NLS-1$ + TRACER.format("Procssing deltas..."); //$NON-NLS-1$ } for (CDOFeatureDelta listDelta : delta.getListChanges()) @@ -464,7 +464,7 @@ public class NonAuditListTableMapping extends AbstractListTableMapping implement { if (TRACER.isEnabled()) { - TRACER.format("Performing {0} delete operations.", deleteCounter); //$NON-NLS-1$ + TRACER.format("Performing {0} delete operations", deleteCounter); //$NON-NLS-1$ } int[] result = deleteStmt.executeBatch(); @@ -479,7 +479,7 @@ public class NonAuditListTableMapping extends AbstractListTableMapping implement { if (TRACER.isEnabled()) { - TRACER.format("Performing {0} move operations.", moveCounter); //$NON-NLS-1$ + TRACER.format("Performing {0} move operations", moveCounter); //$NON-NLS-1$ } int[] result = moveStmt.executeBatch(); @@ -494,7 +494,7 @@ public class NonAuditListTableMapping extends AbstractListTableMapping implement { if (TRACER.isEnabled()) { - TRACER.format("Performing {0} insert operations.", insertCounter); //$NON-NLS-1$ + TRACER.format("Performing {0} insert operations", insertCounter); //$NON-NLS-1$ } int[] result = insertStmt.executeBatch(); @@ -509,7 +509,7 @@ public class NonAuditListTableMapping extends AbstractListTableMapping implement { if (TRACER.isEnabled()) { - TRACER.format("Performing {0} set operations.", setValueCounter); //$NON-NLS-1$ + TRACER.format("Performing {0} set operations", setValueCounter); //$NON-NLS-1$ } int[] result = setValueStmt.executeBatch(); diff --git a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/syncing/OfflineClone.java b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/syncing/OfflineClone.java index 89cb643b50..d049ab7f8e 100644 --- a/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/syncing/OfflineClone.java +++ b/plugins/org.eclipse.emf.cdo.server/src/org/eclipse/emf/cdo/internal/server/syncing/OfflineClone.java @@ -212,6 +212,12 @@ public class OfflineClone extends SynchronizableRepository } @Override + public void preWrite() + { + // Do nothing + } + + @Override public void write(OMMonitor monitor) { // Do nothing diff --git a/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/DBStoreRepositoryConfig.java b/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/DBStoreRepositoryConfig.java index 6b355993be..25713974a4 100644 --- a/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/DBStoreRepositoryConfig.java +++ b/plugins/org.eclipse.emf.cdo.tests.db/src/org/eclipse/emf/cdo/tests/db/DBStoreRepositoryConfig.java @@ -11,8 +11,8 @@ package org.eclipse.emf.cdo.tests.db; import org.eclipse.emf.cdo.server.IStore; -import org.eclipse.emf.cdo.server.db.CDODBUtil; import org.eclipse.emf.cdo.server.db.CDODBBrowser; +import org.eclipse.emf.cdo.server.db.CDODBUtil; import org.eclipse.emf.cdo.server.db.mapping.IMappingStrategy; import org.eclipse.emf.cdo.tests.config.impl.RepositoryConfig; @@ -55,7 +55,12 @@ public abstract class DBStoreRepositoryConfig extends RepositoryConfig @Override public void tearDown() throws Exception { - dbBrowser.deactivate(); + if (dbBrowser != null) + { + dbBrowser.deactivate(); + dbBrowser = null; + } + super.tearDown(); } |