Repository: jena Updated Branches: refs/heads/master 0366da2c3 -> 0ca10b775
JENA-1458: Promotion API integration for TDB Project: http://git-wip-us.apache.org/repos/asf/jena/repo Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/64f6357c Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/64f6357c Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/64f6357c Branch: refs/heads/master Commit: 64f6357c25494a961f77db670cbe5b2d4cc35eab Parents: ee7507d Author: Andy Seaborne <[email protected]> Authored: Sat Dec 30 22:57:46 2017 +0000 Committer: Andy Seaborne <[email protected]> Committed: Sun Dec 31 10:53:24 2017 +0000 ---------------------------------------------------------------------- .../jena/sparql/core/DatasetGraphZero.java | 1 - .../transaction/AbstractTestTransPromote.java | 16 ++- .../org/apache/jena/tdb/StoreConnection.java | 27 ++++- .../java/org/apache/jena/tdb/TDBBackup.java | 4 +- .../apache/jena/tdb/store/DatasetGraphTDB.java | 2 + .../transaction/DatasetGraphTransaction.java | 37 +++++-- .../jena/tdb/transaction/Transaction.java | 6 +- .../tdb/transaction/TransactionManager.java | 76 ++++++++----- .../AbstractTestObjectFileTrans.java | 3 +- .../AbstractTestObjectFileTransComplex.java | 3 +- .../tdb/transaction/AbstractTestTransSeq.java | 110 +++++++++---------- .../tdb/transaction/TestTransPromoteTDB.java | 11 +- .../jena/tdb/transaction/TestTransRestart.java | 8 +- 13 files changed, 182 insertions(+), 122 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jena/blob/64f6357c/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphZero.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphZero.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphZero.java index 6524cc9..a5a813b 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphZero.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphZero.java @@ -24,7 +24,6 @@ import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.graph.Graph; import org.apache.jena.graph.Node; import org.apache.jena.query.ReadWrite; -import org.apache.jena.query.TxnType; import org.apache.jena.sparql.graph.GraphZero; /** An always empty {@link DatasetGraph}. http://git-wip-us.apache.org/repos/asf/jena/blob/64f6357c/jena-arq/src/test/java/org/apache/jena/sparql/transaction/AbstractTestTransPromote.java ---------------------------------------------------------------------- diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/transaction/AbstractTestTransPromote.java b/jena-arq/src/test/java/org/apache/jena/sparql/transaction/AbstractTestTransPromote.java index e2d2237..fd87dce 100644 --- a/jena-arq/src/test/java/org/apache/jena/sparql/transaction/AbstractTestTransPromote.java +++ b/jena-arq/src/test/java/org/apache/jena/sparql/transaction/AbstractTestTransPromote.java @@ -84,18 +84,28 @@ public abstract class AbstractTestTransPromote { /** Enable transaction promotion (it does not need to be the defaukl bahvaiour of the system under test. * A call of setPromotion(true) is made before each test. - * The original setting is retored at the end of the test. + * The original setting is retored at the end of the test. + * @deprecated Redundant - remove. */ + @Deprecated protected abstract void setPromotion(boolean b) ; - /** Whether promotion is active */ + /** + * @deprecated Redundant - remove. + */ + @Deprecated protected abstract boolean getPromotion() ; /** * If {@link #supportsReadCommitted} is true (whether by default or not), * then set/reset the state aroudn tests that test its behaviour. + * @deprecated Redundant - remove. */ + @Deprecated protected abstract void setReadCommitted(boolean b) ; - /** Whether read committed promotion is active */ + /** + * @deprecated Redundant - remove. + */ + @Deprecated protected abstract boolean getReadCommitted() ; // The exact class used by exceptions of the system under test. http://git-wip-us.apache.org/repos/asf/jena/blob/64f6357c/jena-tdb/src/main/java/org/apache/jena/tdb/StoreConnection.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/StoreConnection.java b/jena-tdb/src/main/java/org/apache/jena/tdb/StoreConnection.java index d1a603e..f24065c 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/StoreConnection.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/StoreConnection.java @@ -24,6 +24,7 @@ import java.util.Map ; import java.util.Set ; import org.apache.jena.query.ReadWrite ; +import org.apache.jena.query.TxnType; import org.apache.jena.sparql.mgt.ARQMgt ; import org.apache.jena.tdb.base.file.ChannelManager ; import org.apache.jena.tdb.base.file.Location ; @@ -87,16 +88,32 @@ public class StoreConnection return transactionManager.state(); } + /* + * @deprecated Use {@link #begin(TxnType)} + */ + //@Deprecated + public DatasetGraphTxn begin(ReadWrite mode) { + return begin(TxnType.convert(mode)); + } + /** * Begin a transaction. Terminate a write transaction with - * {@link Transaction#commit()} or {@link Transaction#abort()}. Terminate a - * write transaction with {@link Transaction#close()}. + * {@link Transaction#commit()} or {@link Transaction#abort()}. + * Terminate a write transaction with {@link Transaction#close()}. */ - public DatasetGraphTxn begin(ReadWrite mode) { + public DatasetGraphTxn begin(TxnType mode) { checkValid(); checkTransactional(); haveUsedInTransaction = true; - return transactionManager.begin(mode); + return transactionManager.begin(mode, null); + } + + /** + * @deprecated Use {@link #begin(TxnType, String)} + */ + @Deprecated + public DatasetGraphTxn begin(ReadWrite mode, String label) { + return begin(TxnType.convert(mode), label); } /** @@ -104,7 +121,7 @@ public class StoreConnection * with {@link Transaction#commit()} or {@link Transaction#abort()}. * Terminate a write transaction with {@link Transaction#close()}. */ - public DatasetGraphTxn begin(ReadWrite mode, String label) { + public DatasetGraphTxn begin(TxnType mode, String label) { checkValid(); checkTransactional(); return transactionManager.begin(mode, label); http://git-wip-us.apache.org/repos/asf/jena/blob/64f6357c/jena-tdb/src/main/java/org/apache/jena/tdb/TDBBackup.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/TDBBackup.java b/jena-tdb/src/main/java/org/apache/jena/tdb/TDBBackup.java index c8bb30e..7df144d 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/TDBBackup.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/TDBBackup.java @@ -23,7 +23,7 @@ import java.io.* ; import org.apache.jena.atlas.io.IO ; import org.apache.jena.atlas.logging.Log ; import org.apache.jena.query.Dataset ; -import org.apache.jena.query.ReadWrite ; +import org.apache.jena.query.TxnType; import org.apache.jena.riot.Lang ; import org.apache.jena.riot.RDFDataMgr ; import org.apache.jena.tdb.base.file.Location ; @@ -54,7 +54,7 @@ public class TDBBackup { Dataset ds = TDBFactory.createDataset(location) ; StoreConnection sConn = StoreConnection.make(location) ; - DatasetGraphTxn dsg = sConn.begin(ReadWrite.READ, "backup") ; + DatasetGraphTxn dsg = sConn.begin(TxnType.READ, "backup") ; RDFDataMgr.write(backupfile, dsg, Lang.NQUADS) ; dsg.end(); } http://git-wip-us.apache.org/repos/asf/jena/blob/64f6357c/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java index a1af430..647f46e 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java @@ -30,6 +30,7 @@ import org.apache.jena.atlas.lib.tuple.Tuple ; import org.apache.jena.graph.Graph ; import org.apache.jena.graph.Node ; import org.apache.jena.query.ReadWrite ; +import org.apache.jena.query.TxnType; import org.apache.jena.sparql.core.DatasetGraphTriplesQuads ; import org.apache.jena.sparql.core.Quad ; import org.apache.jena.sparql.core.Transactional ; @@ -256,6 +257,7 @@ public class DatasetGraphTDB extends DatasetGraphTriplesQuads } private final Transactional txn = new TransactionalNotSupported() ; + @Override public void begin(TxnType type) { txn.begin(type) ; } @Override public void begin(ReadWrite mode) { txn.begin(mode) ; } @Override public void commit() { txn.commit() ; } @Override public void abort() { txn.abort() ; } http://git-wip-us.apache.org/repos/asf/jena/blob/64f6357c/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/DatasetGraphTransaction.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/DatasetGraphTransaction.java b/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/DatasetGraphTransaction.java index 7aabc23..e37b323 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/DatasetGraphTransaction.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/DatasetGraphTransaction.java @@ -23,13 +23,14 @@ import static java.lang.ThreadLocal.withInitial ; import org.apache.jena.atlas.lib.Sync ; import org.apache.jena.graph.Graph ; import org.apache.jena.graph.Node ; -import org.apache.jena.query.ReadWrite ; +import org.apache.jena.query.TxnType; import org.apache.jena.sparql.JenaTransactionException ; import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.core.DatasetGraphTrackActive ; import org.apache.jena.sparql.util.Context ; import org.apache.jena.tdb.StoreConnection ; import org.apache.jena.tdb.TDB ; +import org.apache.jena.tdb.TDBException; import org.apache.jena.tdb.base.file.Location ; import org.apache.jena.tdb.store.DatasetGraphTDB ; import org.apache.jena.tdb.store.GraphNonTxnTDB ; @@ -86,18 +87,24 @@ import org.apache.jena.tdb.store.GraphTxnTDB ; return sConn.getBaseDataset() ; } - /*private*/public/*for development*/ static boolean promotion = false ; - /*private*/public/*for development*/ static boolean readCommittedPromotion = true ; - @Override public DatasetGraph getW() { if ( isInTransaction() ) { - if ( promotion ) { - DatasetGraphTxn dsgTxn = txn.get() ; - if ( dsgTxn.getTransaction().isRead() ) { - TransactionManager txnMgr = dsgTxn.getTransaction().getTxnMgr() ; - DatasetGraphTxn dsgTxn2 = txnMgr.promote(dsgTxn, readCommittedPromotion) ; - txn.set(dsgTxn2); + DatasetGraphTxn dsgTxn = txn.get() ; + if ( dsgTxn.getTransaction().isRead() ) { + TxnType txnType = dsgTxn.getTransaction().getTxnType(); + switch(txnType) { + case READ : + throw new JenaTransactionException("Attempt to update in a read transaction"); + case WRITE : + // Impossible. We're in read-mode. + throw new TDBException("Internal inconsistency: read-mode write transaction"); + case READ_COMMITTED_PROMOTE : + case READ_PROMOTE : } + // Promotion. + TransactionManager txnMgr = dsgTxn.getTransaction().getTxnMgr() ; + DatasetGraphTxn dsgTxn2 = txnMgr.promote(dsgTxn, txnType) ; + txn.set(dsgTxn2); } } return super.getW() ; @@ -172,14 +179,20 @@ import org.apache.jena.tdb.store.GraphTxnTDB ; } @Override - protected void _begin(ReadWrite readWrite) { + protected void _begin(TxnType txnType) { checkNotClosed() ; - DatasetGraphTxn dsgTxn = sConn.begin(readWrite) ; + DatasetGraphTxn dsgTxn = sConn.begin(txnType) ; txn.set(dsgTxn) ; inTransaction.set(true) ; } @Override + protected boolean _promote() { + checkNotClosed() ; + return txn.get().promote(); + } + + @Override protected void _commit() { checkNotClosed() ; txn.get().commit() ; http://git-wip-us.apache.org/repos/asf/jena/blob/64f6357c/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/Transaction.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/Transaction.java b/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/Transaction.java index 68891c1..9323435 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/Transaction.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/Transaction.java @@ -24,6 +24,7 @@ import java.util.List ; import org.apache.jena.atlas.logging.Log ; import org.apache.jena.query.ReadWrite ; +import org.apache.jena.query.TxnType; import org.apache.jena.sparql.JenaTransactionException; import org.apache.jena.tdb.store.DatasetGraphTDB ; import org.apache.jena.tdb.sys.FileRef ; @@ -36,6 +37,7 @@ public class Transaction private final String label ; private final TransactionManager txnMgr ; private final Journal journal ; + private final TxnType txnType ; private final ReadWrite mode ; private final List<ObjectFileTrans> objectFileTrans = new ArrayList<>() ; @@ -54,7 +56,7 @@ public class Transaction private boolean changesPending ; - public Transaction(DatasetGraphTDB dsg, long version, ReadWrite mode, long id, String label, TransactionManager txnMgr) { + public Transaction(DatasetGraphTDB dsg, long version, TxnType txnType, ReadWrite mode, long id, String label, TransactionManager txnMgr) { this.id = id ; if (label == null ) label = "Txn" ; @@ -68,6 +70,7 @@ public class Transaction this.txnMgr = txnMgr ; this.basedsg = dsg ; this.version = version ; + this.txnType = txnType ; this.mode = mode ; this.journal = ( txnMgr == null ) ? null : txnMgr.getJournal() ; activedsg = null ; // Don't know yet. @@ -270,6 +273,7 @@ public class Transaction } } + public TxnType getTxnType() { return txnType ; } public ReadWrite getMode() { return mode ; } public boolean isRead() { return mode == ReadWrite.READ ; } public boolean isWrite() { return mode == ReadWrite.WRITE ; } http://git-wip-us.apache.org/repos/asf/jena/blob/64f6357c/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/TransactionManager.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/TransactionManager.java b/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/TransactionManager.java index bd3008a..fd09d3f 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/TransactionManager.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/transaction/TransactionManager.java @@ -24,10 +24,7 @@ import static org.apache.jena.tdb.transaction.TransactionManager.TxnPoint.BEGIN import static org.apache.jena.tdb.transaction.TransactionManager.TxnPoint.CLOSE ; import java.io.File ; -import java.util.ArrayList ; -import java.util.HashSet ; -import java.util.List ; -import java.util.Set ; +import java.util.*; import java.util.concurrent.BlockingQueue ; import java.util.concurrent.LinkedBlockingDeque ; import java.util.concurrent.Semaphore ; @@ -39,6 +36,7 @@ import java.util.concurrent.locks.ReentrantReadWriteLock ; import org.apache.jena.atlas.lib.Pair ; import org.apache.jena.atlas.logging.Log ; import org.apache.jena.query.ReadWrite ; +import org.apache.jena.query.TxnType; import org.apache.jena.shared.Lock ; import org.apache.jena.tdb.store.DatasetGraphTDB ; import org.apache.jena.tdb.sys.SystemTDB ; @@ -300,13 +298,27 @@ public class TransactionManager journal.close() ; } - public DatasetGraphTxn begin(ReadWrite mode) { - return begin(mode, null) ; - } - - public /*for testing only*/ static final boolean DEBUG = false ; - - public DatasetGraphTxn begin(ReadWrite mode, String label) { + public /*for testing only*/ static final boolean DEBUG = false ; + + // TIM +// @Override +// public void begin(TxnMode txnMode) { +// if (isInTransaction()) +// throw new JenaTransactionException("Transactions cannot be nested!"); +// transactionMode.set(txnMode); +// ReadWrite initial = txnMode.equals(TxnMode.WRITE) ? WRITE : READ; +// _begin(initial); +// } +// +// @Override +// public void begin(final ReadWrite readWrite) { +// if (isInTransaction()) +// throw new JenaTransactionException("Transactions cannot be nested!"); +// transactionMode.set(TxnMode.convert(readWrite)); +// _begin(readWrite) ; +// } + + public DatasetGraphTxn begin(TxnType mode, String label) { // The exclusivitylock surrounds the entire transaction cycle. // Paired with notifyCommit, notifyAbort. startNonExclusive(); @@ -314,7 +326,7 @@ public class TransactionManager // Not synchronized (else blocking on semaphore will never wake up // because Semaphore.release is inside synchronized). // Allow only one active writer. - if ( mode == ReadWrite.WRITE ) { + if ( mode == TxnType.WRITE ) { // Writers take a WRITE permit from the semaphore to ensure there // is at most one active writer, else the attempt to start the // transaction blocks. @@ -339,7 +351,7 @@ public class TransactionManager * "read committed" will always succeed but the app needs to be aware that data access before the promotion * is no longer valid. It may need to check it. */ - /*package*/ DatasetGraphTxn promote(DatasetGraphTxn dsgtxn, boolean readCommited) throws TDBTransactionException { + /*package*/ DatasetGraphTxn promote(DatasetGraphTxn dsgtxn, TxnType txnType) throws TDBTransactionException { Transaction txn = dsgtxn.getTransaction() ; if ( txn.getState() != TxnState.ACTIVE ) throw new TDBTransactionException("promote: transaction is not active") ; @@ -349,8 +361,8 @@ public class TransactionManager // Read commit - pick up whatever is current at the point setup. // Can also promote - may need to wait for active writers. // Go through begin for the writers lock. - if ( readCommited ) { - DatasetGraphTxn dsgtxn2 = begin(ReadWrite.WRITE, txn.getLabel()) ; + if ( txnType == TxnType.READ_COMMITTED_PROMOTE ) { + DatasetGraphTxn dsgtxn2 = begin(TxnType.WRITE, txn.getLabel()) ; // Junk the old one. return dsgtxn2 ; } @@ -376,11 +388,11 @@ public class TransactionManager acquireWriterLock(true) ; // Do the synchronized stuff. - return promote2$(dsgtxn, readCommited) ; + return promote2$(dsgtxn) ; } synchronized - private DatasetGraphTxn promote2$(DatasetGraphTxn dsgtxn, boolean readCommited) { + private DatasetGraphTxn promote2$(DatasetGraphTxn dsgtxn) { Transaction txn = dsgtxn.getTransaction() ; // Writers may have happened between the first check of the active writers may have committed. if ( txn.getVersion() != version.get() ) { @@ -388,36 +400,39 @@ public class TransactionManager throw new TDBTransactionException("Active writer changed the dataset - can't promote") ; } // Use begin$ - we have the writers lock. - DatasetGraphTxn dsgtxn2 = begin$(ReadWrite.WRITE, txn.getLabel()) ; + DatasetGraphTxn dsgtxn2 = begin$(TxnType.WRITE, txn.getLabel()) ; return dsgtxn2 ; } // If DatasetGraphTransaction has a sync lock on sConn, this // does not need to be sync'ed. But it's possible to use some - // of the low level object directly so we'll play safe. + // of the low level objects directly so we'll play safe. synchronized - private DatasetGraphTxn begin$(ReadWrite mode, String label) { - if ( mode == ReadWrite.WRITE && activeWriters.get() > 0 ) // Guard + private DatasetGraphTxn begin$(TxnType txnType, String label) { + Objects.requireNonNull(txnType); + if ( txnType == TxnType.WRITE && activeWriters.get() > 0 ) // Guard throw new TDBTransactionException("Existing active write transaction") ; if ( DEBUG ) - switch ( mode ) + switch ( txnType ) { case READ : System.out.print("r") ; break ; case WRITE : System.out.print("w") ; break ; + case READ_COMMITTED_PROMOTE : System.out.print("r(cp)") ; break ; + case READ_PROMOTE : System.out.print("rp") ; break ; } DatasetGraphTDB dsg = determineBaseDataset() ; - Transaction txn = createTransaction(dsg, mode, label) ; + Transaction txn = createTransaction(dsg, txnType, label) ; log("begin$", txn) ; - DatasetGraphTxn dsgTxn = createDSGTxn(dsg, txn, mode) ; - + ReadWrite mode = initialMode(txnType); + DatasetGraphTxn dsgTxn = createDSGTxn(dsg, txn, mode); txn.setActiveDataset(dsgTxn) ; - // Empty for READ ; only WRITE transactions have components that need notifiying. + // Empty for READ ; only WRITE transactions have components that need notifying. List<TransactionLifecycle> components = dsgTxn.getTransaction().lifecycleComponents() ; if ( mode == ReadWrite.READ ) { @@ -446,11 +461,16 @@ public class TransactionManager dsg = commitedAwaitingFlush.get(commitedAwaitingFlush.size() - 1).getActiveDataset().getView() ; return dsg ; } - private Transaction createTransaction(DatasetGraphTDB dsg, ReadWrite mode, String label) { - Transaction txn = new Transaction(dsg, version.get(), mode, transactionId.getAndIncrement(), label, this) ; + private Transaction createTransaction(DatasetGraphTDB dsg, TxnType txnType, String label) { + Transaction txn = new Transaction(dsg, version.get(), txnType, initialMode(txnType), transactionId.getAndIncrement(), label, this) ; return txn ; } + // State. + private static ReadWrite initialMode(TxnType txnType) { + return (txnType == TxnType.WRITE) ? ReadWrite.WRITE : ReadWrite.READ; + } + private DatasetGraphTxn createDSGTxn(DatasetGraphTDB dsg, Transaction txn, ReadWrite mode) { // A read transaction (if it has no lifecycle components) can be shared over all // read transactions at the same commit level. http://git-wip-us.apache.org/repos/asf/jena/blob/64f6357c/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/AbstractTestObjectFileTrans.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/AbstractTestObjectFileTrans.java b/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/AbstractTestObjectFileTrans.java index dbbcf7d..0b36d13 100644 --- a/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/AbstractTestObjectFileTrans.java +++ b/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/AbstractTestObjectFileTrans.java @@ -25,6 +25,7 @@ import org.apache.jena.atlas.junit.BaseTest ; import org.apache.jena.atlas.lib.Pair ; import org.apache.jena.atlas.lib.StrUtils ; import org.apache.jena.query.ReadWrite ; +import org.apache.jena.query.TxnType; import org.apache.jena.tdb.base.objectfile.ObjectFile ; import org.apache.jena.tdb.transaction.ObjectFileTrans ; import org.apache.jena.tdb.transaction.Transaction ; @@ -48,7 +49,7 @@ public abstract class AbstractTestObjectFileTrans extends BaseTest @Before public void setup() { - txn = new Transaction(null, 5, ReadWrite.WRITE, ++count, null, tm) ; + txn = new Transaction(null, 5, TxnType.WRITE, ReadWrite.WRITE, ++count, null, tm) ; file1 = createFile("base") ; //file2 = createFile("log") ; } http://git-wip-us.apache.org/repos/asf/jena/blob/64f6357c/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/AbstractTestObjectFileTransComplex.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/AbstractTestObjectFileTransComplex.java b/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/AbstractTestObjectFileTransComplex.java index 0e73ca2..3e46643 100644 --- a/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/AbstractTestObjectFileTransComplex.java +++ b/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/AbstractTestObjectFileTransComplex.java @@ -25,6 +25,7 @@ import org.apache.jena.atlas.junit.BaseTest ; import org.apache.jena.atlas.lib.Pair ; import org.apache.jena.atlas.lib.StrUtils ; import org.apache.jena.query.ReadWrite ; +import org.apache.jena.query.TxnType; import org.apache.jena.tdb.base.objectfile.ObjectFile ; import org.junit.After ; import org.junit.Before ; @@ -47,7 +48,7 @@ public abstract class AbstractTestObjectFileTransComplex extends BaseTest @Before public void setup() { - txn = new Transaction(null, 5, ReadWrite.WRITE, ++count, null, tm) ; + txn = new Transaction(null, 5, TxnType.WRITE, ReadWrite.WRITE, ++count, null, tm) ; file1 = createFile("base") ; file2 = createFile("log") ; } http://git-wip-us.apache.org/repos/asf/jena/blob/64f6357c/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/AbstractTestTransSeq.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/AbstractTestTransSeq.java b/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/AbstractTestTransSeq.java index 97f0f62..f341996 100644 --- a/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/AbstractTestTransSeq.java +++ b/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/AbstractTestTransSeq.java @@ -21,7 +21,7 @@ package org.apache.jena.tdb.transaction; import org.apache.jena.atlas.junit.BaseTest ; import org.apache.jena.atlas.logging.LogCtl ; -import org.apache.jena.query.ReadWrite ; +import org.apache.jena.query.TxnType; import org.apache.jena.sparql.JenaTransactionException; import org.apache.jena.sparql.core.DatasetGraph ; import org.apache.jena.sparql.core.Quad ; @@ -56,12 +56,10 @@ public abstract class AbstractTestTransSeq extends BaseTest // Basics. - - @Test public void trans_01() { StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsg = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsg = sConn.begin(TxnType.READ) ; dsg.end() ; } @@ -69,7 +67,7 @@ public abstract class AbstractTestTransSeq extends BaseTest @Test public void trans_02() { StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsg = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsg = sConn.begin(TxnType.WRITE) ; try { dsg.add(q) ; assertTrue(dsg.contains(q)) ; @@ -81,14 +79,14 @@ public abstract class AbstractTestTransSeq extends BaseTest { // WRITE-commit-READ-check StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgW = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW = sConn.begin(TxnType.WRITE) ; dsgW.add(q) ; assertTrue(dsgW.contains(q)) ; dsgW.commit() ; dsgW.end() ; - DatasetGraphTxn dsg2 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsg2 = sConn.begin(TxnType.READ) ; assertTrue(dsg2.contains(q)) ; dsg2.end() ; @@ -102,14 +100,14 @@ public abstract class AbstractTestTransSeq extends BaseTest { // WRITE-abort-READ-check StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgW = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW = sConn.begin(TxnType.WRITE) ; dsgW.add(q) ; assertTrue(dsgW.contains(q)) ; dsgW.abort() ; dsgW.end() ; - DatasetGraphTxn dsg2 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsg2 = sConn.begin(TxnType.READ) ; assertFalse(dsg2.contains(q)) ; dsg2.end() ; @@ -122,17 +120,17 @@ public abstract class AbstractTestTransSeq extends BaseTest { // WRITE(commit)-WRITE(commit)-READ-check StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgW1 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW1 = sConn.begin(TxnType.WRITE) ; dsgW1.add(q1) ; dsgW1.commit() ; dsgW1.end() ; - DatasetGraphTxn dsgW2 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW2 = sConn.begin(TxnType.WRITE) ; dsgW2.add(q2) ; dsgW2.commit() ; dsgW2.end() ; - DatasetGraphTxn dsgR2 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR2 = sConn.begin(TxnType.READ) ; assertTrue(dsgR2.contains(q1)) ; assertTrue(dsgR2.contains(q2)) ; dsgR2.end() ; @@ -148,12 +146,12 @@ public abstract class AbstractTestTransSeq extends BaseTest // READ(start)-READ(finish)-WRITE(start)-WRITE(commit)-check StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgR2 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR2 = sConn.begin(TxnType.READ) ; assertFalse(dsgR2.contains(q1)) ; assertFalse(dsgR2.contains(q2)) ; dsgR2.end() ; - DatasetGraphTxn dsgW1 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW1 = sConn.begin(TxnType.WRITE) ; dsgW1.add(q1) ; dsgW1.add(q2) ; dsgW1.commit() ; @@ -171,9 +169,9 @@ public abstract class AbstractTestTransSeq extends BaseTest { // READ(start)-WRITE(commit)-READ(finish)-check StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgR1 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR1 = sConn.begin(TxnType.READ) ; - DatasetGraphTxn dsgW = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW = sConn.begin(TxnType.WRITE) ; dsgW.add(q) ; dsgW.commit() ; @@ -186,7 +184,7 @@ public abstract class AbstractTestTransSeq extends BaseTest // Order of tweaking counters? // also writer and counters? - DatasetGraphTxn dsgR2 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR2 = sConn.begin(TxnType.READ) ; assertTrue(dsgR2.contains(q)) ; dsgR2.end() ; @@ -200,9 +198,9 @@ public abstract class AbstractTestTransSeq extends BaseTest { // READ(start)-WRITE(abort)-READ(finish)-check StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgR1 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR1 = sConn.begin(TxnType.READ) ; - DatasetGraphTxn dsgW = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW = sConn.begin(TxnType.WRITE) ; dsgW.add(q) ; dsgW.abort() ; @@ -211,7 +209,7 @@ public abstract class AbstractTestTransSeq extends BaseTest assertFalse(dsgR1.contains(q)) ; dsgR1.end() ; - DatasetGraphTxn dsgR2 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR2 = sConn.begin(TxnType.READ) ; assertFalse(dsgR2.contains(q)) ; dsgR2.end() ; @@ -223,16 +221,16 @@ public abstract class AbstractTestTransSeq extends BaseTest { // READ(start)-WRITE(commit)-WRITE(commit)-READ(finish)-check StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgR1 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR1 = sConn.begin(TxnType.READ) ; - DatasetGraphTxn dsgW1 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW1 = sConn.begin(TxnType.WRITE) ; dsgW1.add(q1) ; dsgW1.commit() ; dsgW1.end() ; assertFalse(dsgR1.contains(q1)) ; - DatasetGraphTxn dsgW2 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW2 = sConn.begin(TxnType.WRITE) ; dsgW2.add(q2) ; dsgW2.commit() ; dsgW2.end() ; @@ -242,7 +240,7 @@ public abstract class AbstractTestTransSeq extends BaseTest dsgR1.end() ; - DatasetGraphTxn dsgR2 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR2 = sConn.begin(TxnType.READ) ; assertTrue(dsgR2.contains(q1)) ; assertTrue(dsgR2.contains(q2)) ; dsgR2.end() ; @@ -258,15 +256,15 @@ public abstract class AbstractTestTransSeq extends BaseTest { // READ(block)-WRITE(abort)-WRITE(commit)-READ(close)-check StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgR1 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR1 = sConn.begin(TxnType.READ) ; - DatasetGraphTxn dsgW2 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW2 = sConn.begin(TxnType.WRITE) ; dsgW2.add(q2) ; dsgW2.abort() ; // ABORT dsgW2.end() ; assertFalse(dsgR1.contains(q2)) ; - DatasetGraphTxn dsgW3 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW3 = sConn.begin(TxnType.WRITE) ; dsgW3.add(q3) ; // Can see W1 assertFalse(dsgW3.contains(q2)) ; @@ -288,21 +286,21 @@ public abstract class AbstractTestTransSeq extends BaseTest { // READ(block)-WRITE(commit)-WRITE(abort)-WRITE(commit)-READ(close)-check StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgR1 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR1 = sConn.begin(TxnType.READ) ; - DatasetGraphTxn dsgW1 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW1 = sConn.begin(TxnType.WRITE) ; dsgW1.add(q1) ; dsgW1.commit() ; dsgW1.end() ; assertFalse(dsgR1.contains(q1)) ; - DatasetGraphTxn dsgW2 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW2 = sConn.begin(TxnType.WRITE) ; dsgW2.add(q2) ; dsgW2.abort() ; // ABORT dsgW2.end() ; assertFalse(dsgR1.contains(q2)) ; - DatasetGraphTxn dsgW3 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW3 = sConn.begin(TxnType.WRITE) ; dsgW3.add(q3) ; // Can see W1 assertTrue(dsgW3.contains(q1)) ; @@ -326,8 +324,8 @@ public abstract class AbstractTestTransSeq extends BaseTest // READ before WRITE remains seeing old view - READ after WRITE starts StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgW = sConn.begin(ReadWrite.WRITE) ; - DatasetGraphTxn dsgR = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgW = sConn.begin(TxnType.WRITE) ; + DatasetGraphTxn dsgR = sConn.begin(TxnType.READ) ; dsgW.add(q) ; dsgW.commit() ; @@ -336,7 +334,7 @@ public abstract class AbstractTestTransSeq extends BaseTest assertFalse(dsgR.contains(q)) ; dsgR.end() ; - DatasetGraphTxn dsgR2 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR2 = sConn.begin(TxnType.READ) ; assertTrue(dsgR2.contains(q)) ; dsgR2.end() ; @@ -351,17 +349,17 @@ public abstract class AbstractTestTransSeq extends BaseTest // READ before WRITE remains seeing old view - READ after WRITE starts StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgW = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW = sConn.begin(TxnType.WRITE) ; dsgW.add(q) ; - DatasetGraphTxn dsgR = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR = sConn.begin(TxnType.READ) ; dsgW.commit() ; dsgW.end() ; assertFalse(dsgR.contains(q)) ; dsgR.end() ; - DatasetGraphTxn dsgR2 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR2 = sConn.begin(TxnType.READ) ; assertTrue(dsgR2.contains(q)) ; dsgR2.end() ; @@ -374,16 +372,16 @@ public abstract class AbstractTestTransSeq extends BaseTest { // WRITE(start)-add-READ(start)-WRITE(commit)-READ sees old DSG. StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgW = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW = sConn.begin(TxnType.WRITE) ; dsgW.add(q) ; - DatasetGraphTxn dsgR1 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR1 = sConn.begin(TxnType.READ) ; assertFalse(dsgR1.contains(q)) ; dsgW.commit() ; dsgW.end() ; - DatasetGraphTxn dsgR2 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR2 = sConn.begin(TxnType.READ) ; assertFalse(dsgR1.contains(q)) ; // Before view assertTrue(dsgR2.contains(q)) ; // After view @@ -399,18 +397,18 @@ public abstract class AbstractTestTransSeq extends BaseTest { // WRITE(commit)-READ(start)-WRITE(commit)-READ(finish)-check StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgW1 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW1 = sConn.begin(TxnType.WRITE) ; dsgW1.add(q1) ; dsgW1.commit() ; dsgW1.end() ; - DatasetGraphTxn dsgR1 = sConn.begin(ReadWrite.READ) ; - DatasetGraphTxn dsgW2 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgR1 = sConn.begin(TxnType.READ) ; + DatasetGraphTxn dsgW2 = sConn.begin(TxnType.WRITE) ; dsgW2.add(q2) ; dsgW2.commit() ; dsgW2.end() ; - DatasetGraphTxn dsgR2 = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsgR2 = sConn.begin(TxnType.READ) ; assertTrue(dsgR1.contains(q1)) ; assertFalse(dsgR1.contains(q2)) ; @@ -431,13 +429,13 @@ public abstract class AbstractTestTransSeq extends BaseTest // READ(start)-WRITE(start)-WRITE(finish)-WRITE(start)-READ(finish)-WRITE(finish)-check StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgR1 = sConn.begin(ReadWrite.READ) ; - DatasetGraphTxn dsgW1 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgR1 = sConn.begin(TxnType.READ) ; + DatasetGraphTxn dsgW1 = sConn.begin(TxnType.WRITE) ; dsgW1.add(q1) ; dsgW1.commit() ; dsgW1.end() ; - DatasetGraphTxn dsgW2 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW2 = sConn.begin(TxnType.WRITE) ; dsgW2.add(q2) ; dsgR1.end() ; @@ -456,18 +454,18 @@ public abstract class AbstractTestTransSeq extends BaseTest // READ(start)-WRITE-WRITE-WRITE-READ(finish)-check StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgR1 = sConn.begin(ReadWrite.READ) ; - DatasetGraphTxn dsgW1 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgR1 = sConn.begin(TxnType.READ) ; + DatasetGraphTxn dsgW1 = sConn.begin(TxnType.WRITE) ; dsgW1.add(q1) ; dsgW1.commit() ; dsgW1.end() ; - DatasetGraphTxn dsgW2 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW2 = sConn.begin(TxnType.WRITE) ; dsgW2.add(q2) ; dsgW2.commit() ; dsgW2.end() ; - DatasetGraphTxn dsgW3 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW3 = sConn.begin(TxnType.WRITE) ; dsgW3.add(q3) ; dsgW3.commit() ; dsgW3.end() ; @@ -488,8 +486,8 @@ public abstract class AbstractTestTransSeq extends BaseTest { // Two WRITE : This would block. StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsgW1 = sConn.begin(ReadWrite.WRITE) ; - DatasetGraphTxn dsgW2 = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsgW1 = sConn.begin(TxnType.WRITE) ; + DatasetGraphTxn dsgW2 = sConn.begin(TxnType.WRITE) ; } @Test (expected=TDBException.class) @@ -497,7 +495,7 @@ public abstract class AbstractTestTransSeq extends BaseTest { // READ-add StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsg = sConn.begin(ReadWrite.READ) ; + DatasetGraphTxn dsg = sConn.begin(TxnType.READ) ; dsg.add(q) ; } @@ -506,7 +504,7 @@ public abstract class AbstractTestTransSeq extends BaseTest { // WRITE-close causes implicit abort StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsg = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsg = sConn.begin(TxnType.WRITE) ; dsg.add(q) ; dsg.end() ; } @@ -516,7 +514,7 @@ public abstract class AbstractTestTransSeq extends BaseTest { // WRITE lots StoreConnection sConn = getStoreConnection() ; - DatasetGraphTxn dsg = sConn.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsg = sConn.begin(TxnType.WRITE) ; for ( int i = 0 ; i < 600 ; i++ ) { Quad q = SSE.parseQuad("(_ <s> <p> "+i+")") ; http://git-wip-us.apache.org/repos/asf/jena/blob/64f6357c/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/TestTransPromoteTDB.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/TestTransPromoteTDB.java b/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/TestTransPromoteTDB.java index 550d3ae..c844c4b 100644 --- a/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/TestTransPromoteTDB.java +++ b/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/TestTransPromoteTDB.java @@ -23,8 +23,6 @@ import org.apache.jena.sparql.transaction.AbstractTestTransPromote ; import org.apache.jena.tdb.TDB ; import org.apache.jena.tdb.TDBFactory ; import org.apache.jena.tdb.sys.SystemTDB ; -import org.apache.jena.tdb.transaction.DatasetGraphTransaction ; -import org.apache.jena.tdb.transaction.TDBTransactionException ; import org.apache.log4j.Logger ; /** Tests for transactions that start read and then promote to write -- TDB */ @@ -50,29 +48,28 @@ public class TestTransPromoteTDB extends AbstractTestTransPromote { return true ; } + // Redundant + @Override protected void setPromotion(boolean b) { - DatasetGraphTransaction.promotion = b ; } @Override protected boolean getPromotion() { - return DatasetGraphTransaction.promotion ; + return true; } @Override protected void setReadCommitted(boolean b) { - DatasetGraphTransaction.readCommittedPromotion = b ; } @Override protected boolean getReadCommitted() { - return DatasetGraphTransaction.readCommittedPromotion ; + return false; } @Override protected Class<TDBTransactionException> getTransactionExceptionClass() { return TDBTransactionException.class ; } - } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/jena/blob/64f6357c/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/TestTransRestart.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/TestTransRestart.java b/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/TestTransRestart.java index 50d64d3..e05cbd3 100644 --- a/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/TestTransRestart.java +++ b/jena-tdb/src/test/java/org/apache/jena/tdb/transaction/TestTransRestart.java @@ -24,7 +24,7 @@ import java.util.Iterator ; import org.apache.jena.atlas.junit.BaseTest ; import org.apache.jena.atlas.lib.FileOps ; import org.apache.jena.atlas.lib.Pair ; -import org.apache.jena.query.ReadWrite ; +import org.apache.jena.query.TxnType; import org.apache.jena.sparql.core.Quad ; import org.apache.jena.sparql.sse.SSE ; import org.apache.jena.tdb.ConfigTest ; @@ -37,7 +37,6 @@ import org.apache.jena.tdb.store.DatasetGraphTDB ; import org.apache.jena.tdb.sys.Names ; import org.apache.jena.tdb.sys.SystemTDB ; import org.apache.jena.tdb.sys.TDBMaker ; -import org.apache.jena.tdb.transaction.DatasetGraphTxn ; import org.junit.After ; import org.junit.Before ; import org.junit.Test ; @@ -86,7 +85,7 @@ public class TestTransRestart extends BaseTest { StoreConnection.release(location) ; FileOps.clearDirectory(path); StoreConnection sc = StoreConnection.make(location) ; - DatasetGraphTxn dsg = sc.begin(ReadWrite.WRITE); + DatasetGraphTxn dsg = sc.begin(TxnType.WRITE); dsg.add(quad1) ; dsg.commit() ; dsg.end() ; @@ -105,7 +104,7 @@ public class TestTransRestart extends BaseTest { public void testTxn() { assertEquals (3, countRDFNodes()) ; StoreConnection sc = StoreConnection.make(location) ; - DatasetGraphTxn dsg = sc.begin(ReadWrite.WRITE) ; + DatasetGraphTxn dsg = sc.begin(TxnType.WRITE) ; assertTrue(dsg.contains(quad1)) ; dsg.add(quad2) ; dsg.commit() ; @@ -138,5 +137,4 @@ public class TestTransRestart extends BaseTest { objects.close() ; return count ; } - }
