Skip to content

Commit

Permalink
Feature toggles now static final, rename termination reason method
Browse files Browse the repository at this point in the history
  • Loading branch information
burqen committed Jun 30, 2016
1 parent e50e5ab commit 421b385
Show file tree
Hide file tree
Showing 11 changed files with 26 additions and 23 deletions.
Expand Up @@ -343,6 +343,11 @@ boolean applicable( DiagnosticsPhase phase )


public static final String DEFAULT_DATA_SOURCE_NAME = "nioneodb"; public static final String DEFAULT_DATA_SOURCE_NAME = "nioneodb";


private static final boolean takePropertyReadLocks = FeatureToggles.flag(
NeoStoreDataSource.class, "propertyReadLocks", false );
private static final boolean safeIdBuffering = FeatureToggles.flag(
NeoStoreDataSource.class, "safeIdBuffering", true );

private final Monitors monitors; private final Monitors monitors;
private final Tracers tracers; private final Tracers tracers;


Expand Down Expand Up @@ -534,7 +539,6 @@ public void transactionRecovered( long txId )
LegacyIndexApplierLookup legacyIndexApplierLookup = LegacyIndexApplierLookup legacyIndexApplierLookup =
dependencies.satisfyDependency( new LegacyIndexApplierLookup.Direct( legacyIndexProviderLookup ) ); dependencies.satisfyDependency( new LegacyIndexApplierLookup.Direct( legacyIndexProviderLookup ) );


boolean safeIdBuffering = FeatureToggles.flag( getClass(), "safeIdBuffering", true );
if ( safeIdBuffering ) if ( safeIdBuffering )
{ {
// This buffering id generator factory will have properly buffering id generators injected into // This buffering id generator factory will have properly buffering id generators injected into
Expand Down Expand Up @@ -851,8 +855,7 @@ public StoreReadLayer storeLayer()


private Factory<StoreStatement> storeStatementFactory( final NeoStores neoStores ) private Factory<StoreStatement> storeStatementFactory( final NeoStores neoStores )
{ {
final LockService lockService = FeatureToggles.flag( getClass(), "propertyReadLocks", false ) ? final LockService lockService = takePropertyReadLocks ? this.lockService : NO_LOCK_SERVICE;
this.lockService : NO_LOCK_SERVICE;
return new Factory<StoreStatement>() return new Factory<StoreStatement>()
{ {
@Override @Override
Expand Down
Expand Up @@ -115,7 +115,7 @@ interface CloseListener
/** /**
* @return {@link Status} if {@link #markForTermination(Status)} has been invoked, otherwise {@code null}. * @return {@link Status} if {@link #markForTermination(Status)} has been invoked, otherwise {@code null}.
*/ */
Status terminationReason(); Status getReasonIfTerminated();


/** /**
* Marks this transaction for termination, such that it cannot commit successfully and will try to be * Marks this transaction for termination, such that it cannot commit successfully and will try to be
Expand Down
Expand Up @@ -122,7 +122,7 @@ enum Transaction implements Status
" and so this transaction was rolled back although it may have looked like it was going to be " + " and so this transaction was rolled back although it may have looked like it was going to be " +
"committed" ), "committed" ),
Outdated( TransientError, "Transaction has seen state which has been invalidated by applied updates while " + Outdated( TransientError, "Transaction has seen state which has been invalidated by applied updates while " +
"transaction was active. Transaction should succeed if retried." ), "transaction was active. Transaction may succeed if retried." ),
LockClientStopped( TransientError, "Lock client is stopped, no more locks can be acquired." ), LockClientStopped( TransientError, "Lock client is stopped, no more locks can be acquired." ),
Terminated( TransientError, "Explicitly terminated by the user." ) Terminated( TransientError, "Explicitly terminated by the user." )
; ;
Expand Down
Expand Up @@ -128,7 +128,7 @@ void assertOpen()
throw new NotInTransactionException( "The statement has been closed." ); throw new NotInTransactionException( "The statement has been closed." );
} }


Status terminationReason = transaction.terminationReason(); Status terminationReason = transaction.getReasonIfTerminated();
if ( terminationReason != null ) if ( terminationReason != null )
{ {
throw new TransactionTerminatedException( terminationReason ); throw new TransactionTerminatedException( terminationReason );
Expand Down
Expand Up @@ -286,7 +286,7 @@ public void failure()
} }


@Override @Override
public Status terminationReason() public Status getReasonIfTerminated()
{ {
return terminationReason; return terminationReason;
} }
Expand Down
Expand Up @@ -71,7 +71,7 @@ private void assertInUnterminatedTransaction( TopLevelTransaction transaction )
{ {
throw new NotInTransactionException(); throw new NotInTransactionException();
} }
Status terminationReason = transaction.getTransaction().terminationReason(); Status terminationReason = transaction.getTransaction().getReasonIfTerminated();
if ( terminationReason != null ) if ( terminationReason != null )
{ {
throw new TransactionTerminatedException( terminationReason ); throw new TransactionTerminatedException( terminationReason );
Expand Down
Expand Up @@ -70,7 +70,7 @@ public void shouldCloseOpenedLabelScanReader() throws Exception
public void shouldThrowTerminateExceptionWhenTransactionTerminated() throws Exception public void shouldThrowTerminateExceptionWhenTransactionTerminated() throws Exception
{ {
KernelTransactionImplementation transaction = mock( KernelTransactionImplementation.class ); KernelTransactionImplementation transaction = mock( KernelTransactionImplementation.class );
when( transaction.terminationReason() ).thenReturn( Status.General.UnknownFailure ); when( transaction.getReasonIfTerminated() ).thenReturn( Status.General.UnknownFailure );


KernelStatement statement = new KernelStatement( KernelStatement statement = new KernelStatement(
transaction, mock( IndexReaderFactory.class ), transaction, mock( IndexReaderFactory.class ),
Expand Down
Expand Up @@ -177,7 +177,7 @@ public void shouldRollbackOnClosingSuccessfulButTerminatedTransaction() throws E
{ {
// WHEN // WHEN
transaction.markForTermination( Status.General.UnknownFailure ); transaction.markForTermination( Status.General.UnknownFailure );
assertEquals( Status.General.UnknownFailure, transaction.terminationReason() ); assertEquals( Status.General.UnknownFailure, transaction.getReasonIfTerminated() );
} }


// THEN // THEN
Expand All @@ -194,7 +194,7 @@ public void shouldRollbackOnClosingTerminatedButSuccessfulTransaction() throws E
transaction.markForTermination( Status.General.UnknownFailure ); transaction.markForTermination( Status.General.UnknownFailure );
transaction.success(); transaction.success();


assertEquals( Status.General.UnknownFailure, transaction.terminationReason() ); assertEquals( Status.General.UnknownFailure, transaction.getReasonIfTerminated() );


try try
{ {
Expand All @@ -220,7 +220,7 @@ public void shouldNotDowngradeFailureState() throws Exception
// WHEN // WHEN
transaction.markForTermination( Status.General.UnknownFailure ); transaction.markForTermination( Status.General.UnknownFailure );
transaction.failure(); transaction.failure();
assertEquals( Status.General.UnknownFailure, transaction.terminationReason() ); assertEquals( Status.General.UnknownFailure, transaction.getReasonIfTerminated() );
} }


// THEN // THEN
Expand Down Expand Up @@ -434,7 +434,7 @@ public void markForTerminationNotInitializedTransaction()


transaction.markForTermination( Status.General.UnknownFailure ); transaction.markForTermination( Status.General.UnknownFailure );


assertEquals( Status.General.UnknownFailure, transaction.terminationReason() ); assertEquals( Status.General.UnknownFailure, transaction.getReasonIfTerminated() );
} }


@Test @Test
Expand All @@ -448,7 +448,7 @@ public void markForTerminationInitializedTransaction()


transaction.markForTermination( Status.General.UnknownFailure ); transaction.markForTermination( Status.General.UnknownFailure );


assertEquals( Status.General.UnknownFailure, transaction.terminationReason() ); assertEquals( Status.General.UnknownFailure, transaction.getReasonIfTerminated() );
verify( client ).stop(); verify( client ).stop();
} }


Expand All @@ -465,7 +465,7 @@ public void markForTerminationTerminatedTransaction()
transaction.markForTermination( Status.General.UnknownFailure ); transaction.markForTermination( Status.General.UnknownFailure );
transaction.markForTermination( Status.General.UnknownFailure ); transaction.markForTermination( Status.General.UnknownFailure );


assertEquals( Status.General.UnknownFailure, transaction.terminationReason() ); assertEquals( Status.General.UnknownFailure, transaction.getReasonIfTerminated() );
verify( client ).stop(); verify( client ).stop();
verify( transactionMonitor ).transactionTerminated(); verify( transactionMonitor ).transactionTerminated();
} }
Expand Down Expand Up @@ -572,7 +572,7 @@ public void txMarkedForBothSuccessAndFailureThrowsOnClose()
public void initializedTransactionShouldHaveNoTerminationReason() throws Exception public void initializedTransactionShouldHaveNoTerminationReason() throws Exception
{ {
KernelTransactionImplementation tx = newInitializedTransaction(); KernelTransactionImplementation tx = newInitializedTransaction();
assertNull( tx.terminationReason() ); assertNull( tx.getReasonIfTerminated() );
} }


@Test @Test
Expand All @@ -581,7 +581,7 @@ public void shouldReportCorrectTerminationReason() throws Exception
Status status = Status.Transaction.Terminated; Status status = Status.Transaction.Terminated;
KernelTransactionImplementation tx = newInitializedTransaction(); KernelTransactionImplementation tx = newInitializedTransaction();
tx.markForTermination( status ); tx.markForTermination( status );
assertSame( status, tx.terminationReason() ); assertSame( status, tx.getReasonIfTerminated() );
} }


@Test @Test
Expand All @@ -590,7 +590,7 @@ public void closedTransactionShouldHaveNoTerminationReason() throws Exception
KernelTransactionImplementation tx = newInitializedTransaction(); KernelTransactionImplementation tx = newInitializedTransaction();
tx.markForTermination( Status.Transaction.Terminated ); tx.markForTermination( Status.Transaction.Terminated );
tx.close(); tx.close();
assertNull( tx.terminationReason() ); assertNull( tx.getReasonIfTerminated() );
} }


private final NeoStores neoStores = mock( NeoStores.class ); private final NeoStores neoStores = mock( NeoStores.class );
Expand Down
Expand Up @@ -84,7 +84,7 @@ public void accept( TestKernelTransaction tx )
public void accept( TestKernelTransaction tx ) public void accept( TestKernelTransaction tx )
{ {
close( tx ); close( tx );
assertNull( tx.terminationReason() ); assertNull( tx.getReasonIfTerminated() );
tx.initialize(); tx.initialize();
} }
} }
Expand Down Expand Up @@ -422,13 +422,13 @@ void assertRolledBack()


void assertTerminated() void assertTerminated()
{ {
assertEquals( Status.Transaction.MarkedAsFailed, terminationReason() ); assertEquals( Status.Transaction.MarkedAsFailed, getReasonIfTerminated() );
assertTrue( monitor.terminated ); assertTrue( monitor.terminated );
} }


void assertNotTerminated() void assertNotTerminated()
{ {
assertNull( terminationReason() ); assertNull( getReasonIfTerminated() );
assertFalse( monitor.terminated ); assertFalse( monitor.terminated );
} }
} }
Expand Down
Expand Up @@ -122,7 +122,7 @@ public void shouldDisposeTransactionsWhenAsked() throws Exception
assertThat( postDispose, not( equalTo( first ) ) ); assertThat( postDispose, not( equalTo( first ) ) );
assertThat( postDispose, not( equalTo( second ) ) ); assertThat( postDispose, not( equalTo( second ) ) );


assertTrue( leftOpen.terminationReason() != null ); assertTrue( leftOpen.getReasonIfTerminated() != null );
} }


@Test @Test
Expand Down
Expand Up @@ -198,7 +198,7 @@ public boolean isOpen()
} }


@Override @Override
public Status terminationReason() public Status getReasonIfTerminated()
{ {
return null; return null;
} }
Expand Down

0 comments on commit 421b385

Please sign in to comment.