Skip to content

Commit

Permalink
Use java.time.Clock instead of org.neo4j.helpers.Clock in kernel tran…
Browse files Browse the repository at this point in the history
…saction stuff and releated tests
  • Loading branch information
MishaDemianenko committed Aug 17, 2016
1 parent 79ea243 commit 2bb9e3d
Show file tree
Hide file tree
Showing 21 changed files with 55 additions and 47 deletions.
6 changes: 6 additions & 0 deletions community/common/src/main/java/org/neo4j/time/FakeClock.java
Expand Up @@ -50,6 +50,12 @@ public Instant instant()
return Instant.ofEpochMilli( millis ); return Instant.ofEpochMilli( millis );
} }


@Override
public long millis()
{
return millis;
}

public FakeClock forward( long delta, TimeUnit unit ) public FakeClock forward( long delta, TimeUnit unit )
{ {
millis += unit.toMillis( delta ); millis += unit.toMillis( delta );
Expand Down
Expand Up @@ -20,6 +20,7 @@
package org.neo4j.cypher.internal.spi.v3_0 package org.neo4j.cypher.internal.spi.v3_0


import java.net.URL import java.net.URL
import java.time.Clock


import org.mockito.Mockito._ import org.mockito.Mockito._
import org.neo4j.cypher.internal.compiler.v3_0.helpers.DynamicIterable import org.neo4j.cypher.internal.compiler.v3_0.helpers.DynamicIterable
Expand All @@ -31,7 +32,6 @@ import org.neo4j.cypher.javacompat.internal.GraphDatabaseCypherService
import org.neo4j.graphdb._ import org.neo4j.graphdb._
import org.neo4j.graphdb.config.Setting import org.neo4j.graphdb.config.Setting
import org.neo4j.graphdb.factory.GraphDatabaseSettings import org.neo4j.graphdb.factory.GraphDatabaseSettings
import org.neo4j.helpers.Clock
import org.neo4j.kernel.api._ import org.neo4j.kernel.api._
import org.neo4j.kernel.api.security.AccessMode import org.neo4j.kernel.api.security.AccessMode
import org.neo4j.kernel.impl.api.{KernelStatement, KernelTransactionImplementation} import org.neo4j.kernel.impl.api.{KernelStatement, KernelTransactionImplementation}
Expand All @@ -57,7 +57,7 @@ class TransactionBoundQueryContextTest extends CypherFunSuite {
outerTx = mock[InternalTransaction] outerTx = mock[InternalTransaction]
val kernelTransaction = mock[KernelTransactionImplementation] val kernelTransaction = mock[KernelTransactionImplementation]
when(kernelTransaction.mode()).thenReturn(AccessMode.Static.FULL) when(kernelTransaction.mode()).thenReturn(AccessMode.Static.FULL)
statement = new KernelStatement(kernelTransaction, null, null, null, new Procedures(), Clock.SYSTEM_CLOCK, 1L) statement = new KernelStatement(kernelTransaction, null, null, null, new Procedures(), Clock.systemUTC, 1L)
} }


override def afterEach() { override def afterEach() {
Expand Down
Expand Up @@ -23,6 +23,7 @@
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.time.Clock;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
Expand All @@ -34,7 +35,6 @@
import org.neo4j.graphdb.ResourceIterator; import org.neo4j.graphdb.ResourceIterator;
import org.neo4j.graphdb.config.Setting; import org.neo4j.graphdb.config.Setting;
import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.graphdb.factory.GraphDatabaseSettings;
import org.neo4j.helpers.Clock;
import org.neo4j.helpers.Exceptions; import org.neo4j.helpers.Exceptions;
import org.neo4j.helpers.collection.Visitor; import org.neo4j.helpers.collection.Visitor;
import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.fs.FileSystemAbstraction;
Expand Down Expand Up @@ -662,7 +662,7 @@ public long getTimestampForVersion( long version ) throws IOException


long timeMillisThreshold = config.get( GraphDatabaseSettings.check_point_interval_time ); long timeMillisThreshold = config.get( GraphDatabaseSettings.check_point_interval_time );
TimeCheckPointThreshold timeCheckPointThreshold = TimeCheckPointThreshold timeCheckPointThreshold =
new TimeCheckPointThreshold( timeMillisThreshold, Clock.SYSTEM_CLOCK ); new TimeCheckPointThreshold( timeMillisThreshold, Clock.systemUTC() );


CheckPointThreshold threshold = CheckPointThreshold threshold =
CheckPointThresholds.or( countCommittedTransactionThreshold, timeCheckPointThreshold ); CheckPointThresholds.or( countCommittedTransactionThreshold, timeCheckPointThreshold );
Expand Down Expand Up @@ -797,7 +797,7 @@ private KernelModule buildKernel( TransactionAppender appender,
KernelTransactions kernelTransactions = life.add( new KernelTransactions( statementLocksFactory, KernelTransactions kernelTransactions = life.add( new KernelTransactions( statementLocksFactory,
constraintIndexCreator, statementOperations, schemaWriteGuard, transactionHeaderInformationFactory, constraintIndexCreator, statementOperations, schemaWriteGuard, transactionHeaderInformationFactory,
transactionCommitProcess, indexConfigStore, legacyIndexProviderLookup, hooks, transactionMonitor, transactionCommitProcess, indexConfigStore, legacyIndexProviderLookup, hooks, transactionMonitor,
life, tracers, storageEngine, procedures, transactionIdStore, config, Clock.SYSTEM_CLOCK ) ); life, tracers, storageEngine, procedures, transactionIdStore, config, Clock.systemUTC() ) );


final Kernel kernel = new Kernel( kernelTransactions, hooks, databaseHealth, transactionMonitor, procedures, final Kernel kernel = new Kernel( kernelTransactions, hooks, databaseHealth, transactionMonitor, procedures,
config ); config );
Expand Down
Expand Up @@ -24,9 +24,9 @@ public class GuardTimeoutException extends GuardException


private final long overtime; private final long overtime;


public GuardTimeoutException( final long overtime ) public GuardTimeoutException(String message, final long overtime )
{ {
super( String.format( "timeout occured (overtime=%d)", overtime ) ); super( message );
this.overtime = overtime; this.overtime = overtime;
} }


Expand Down
Expand Up @@ -19,9 +19,9 @@
*/ */
package org.neo4j.kernel.guard; package org.neo4j.kernel.guard;


import java.time.Clock;
import java.util.function.Supplier; import java.util.function.Supplier;


import org.neo4j.helpers.Clock;
import org.neo4j.kernel.impl.api.KernelStatement; import org.neo4j.kernel.impl.api.KernelStatement;
import org.neo4j.kernel.impl.api.KernelTransactionImplementation; import org.neo4j.kernel.impl.api.KernelTransactionImplementation;
import org.neo4j.logging.Log; import org.neo4j.logging.Log;
Expand Down Expand Up @@ -51,13 +51,14 @@ private void check (KernelTransactionImplementation transaction)


private void check( Supplier<Long> completionTimeSupplier, String timeoutDescription ) private void check( Supplier<Long> completionTimeSupplier, String timeoutDescription )
{ {
long now = clock.currentTimeMillis(); long now = clock.millis();
long transactionCompletionTime = completionTimeSupplier.get(); long completionTime = completionTimeSupplier.get();
if ( transactionCompletionTime < now ) if ( completionTime < now )
{ {
final long overtime = now - transactionCompletionTime; final long overtime = now - completionTime;
log.warn( timeoutDescription + " ( Overtime: " + overtime + " ms)." ); String message = timeoutDescription + " (Overtime: " + overtime + " ms).";
throw new GuardTimeoutException( overtime ); log.warn( message );
throw new GuardTimeoutException(message, overtime );
} }
} }


Expand Down
Expand Up @@ -19,10 +19,11 @@
*/ */
package org.neo4j.kernel.impl.api; package org.neo4j.kernel.impl.api;


import java.time.Clock;

import org.neo4j.graphdb.NotInTransactionException; import org.neo4j.graphdb.NotInTransactionException;
import org.neo4j.graphdb.TransactionTerminatedException; import org.neo4j.graphdb.TransactionTerminatedException;
import org.neo4j.graphdb.security.AuthorizationViolationException; import org.neo4j.graphdb.security.AuthorizationViolationException;
import org.neo4j.helpers.Clock;
import org.neo4j.kernel.api.DataWriteOperations; import org.neo4j.kernel.api.DataWriteOperations;
import org.neo4j.kernel.api.ReadOperations; import org.neo4j.kernel.api.ReadOperations;
import org.neo4j.kernel.api.SchemaWriteOperations; import org.neo4j.kernel.api.SchemaWriteOperations;
Expand Down Expand Up @@ -170,7 +171,6 @@ void assertOpen()
void initialize( StatementLocks statementLocks ) void initialize( StatementLocks statementLocks )
{ {
this.statementLocks = statementLocks; this.statementLocks = statementLocks;
this.timeoutMillis = clock.currentTimeMillis();
} }


public StatementLocks locks() public StatementLocks locks()
Expand All @@ -182,7 +182,7 @@ final void acquire()
{ {
if ( referenceCount++ == 0 ) if ( referenceCount++ == 0 )
{ {
startTimeMillis = clock.currentTimeMillis(); startTimeMillis = clock.millis();
storeStatement.acquire(); storeStatement.acquire();
} }
} }
Expand Down
Expand Up @@ -19,6 +19,7 @@
*/ */
package org.neo4j.kernel.impl.api; package org.neo4j.kernel.impl.api;


import java.time.Clock;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.Lock;
Expand All @@ -27,7 +28,6 @@


import org.neo4j.collection.pool.Pool; import org.neo4j.collection.pool.Pool;
import org.neo4j.graphdb.TransactionTerminatedException; import org.neo4j.graphdb.TransactionTerminatedException;
import org.neo4j.helpers.Clock;
import org.neo4j.kernel.api.KernelTransaction; import org.neo4j.kernel.api.KernelTransaction;
import org.neo4j.kernel.api.KeyReadTokenNameLookup; import org.neo4j.kernel.api.KeyReadTokenNameLookup;
import org.neo4j.kernel.api.exceptions.ConstraintViolationTransactionFailureException; import org.neo4j.kernel.api.exceptions.ConstraintViolationTransactionFailureException;
Expand Down Expand Up @@ -219,7 +219,7 @@ public KernelTransactionImplementation initialize(
this.terminationReason = null; this.terminationReason = null;
this.closing = closed = failure = success = beforeHookInvoked = false; this.closing = closed = failure = success = beforeHookInvoked = false;
this.writeState = TransactionWriteState.NONE; this.writeState = TransactionWriteState.NONE;
this.startTimeMillis = clock.currentTimeMillis(); this.startTimeMillis = clock.millis();
this.lastTransactionIdWhenStarted = lastCommittedTx; this.lastTransactionIdWhenStarted = lastCommittedTx;
this.lastTransactionTimestampWhenStarted = lastTimeStamp; this.lastTransactionTimestampWhenStarted = lastTimeStamp;
this.transactionEvent = tracer.beginTransaction(); this.transactionEvent = tracer.beginTransaction();
Expand Down Expand Up @@ -573,7 +573,7 @@ private void commit() throws TransactionFailureException
PhysicalTransactionRepresentation transactionRepresentation = PhysicalTransactionRepresentation transactionRepresentation =
new PhysicalTransactionRepresentation( extractedCommands ); new PhysicalTransactionRepresentation( extractedCommands );
TransactionHeaderInformation headerInformation = headerInformationFactory.create(); TransactionHeaderInformation headerInformation = headerInformationFactory.create();
long timeCommitted = clock.currentTimeMillis(); long timeCommitted = clock.millis();
transactionRepresentation.setHeader( headerInformation.getAdditionalHeader(), transactionRepresentation.setHeader( headerInformation.getAdditionalHeader(),
headerInformation.getMasterId(), headerInformation.getMasterId(),
headerInformation.getAuthorId(), headerInformation.getAuthorId(),
Expand Down
Expand Up @@ -19,6 +19,7 @@
*/ */
package org.neo4j.kernel.impl.api; package org.neo4j.kernel.impl.api;


import java.time.Clock;
import java.util.Set; import java.util.Set;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock;
Expand All @@ -30,7 +31,6 @@
import org.neo4j.graphdb.DatabaseShutdownException; import org.neo4j.graphdb.DatabaseShutdownException;
import org.neo4j.graphdb.config.Setting; import org.neo4j.graphdb.config.Setting;
import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.graphdb.factory.GraphDatabaseSettings;
import org.neo4j.helpers.Clock;
import org.neo4j.kernel.api.KernelTransaction; import org.neo4j.kernel.api.KernelTransaction;
import org.neo4j.kernel.api.KernelTransactionHandle; import org.neo4j.kernel.api.KernelTransactionHandle;
import org.neo4j.kernel.api.exceptions.Status; import org.neo4j.kernel.api.exceptions.Status;
Expand Down Expand Up @@ -269,7 +269,7 @@ private void assertDatabaseIsRunning()
@Override @Override
public KernelTransactionsSnapshot get() public KernelTransactionsSnapshot get()
{ {
return new KernelTransactionsSnapshot( activeTransactions(), clock.currentTimeMillis() ); return new KernelTransactionsSnapshot( activeTransactions(), clock.millis() );
} }


/** /**
Expand Down
Expand Up @@ -20,6 +20,7 @@
package org.neo4j.kernel.impl.factory; package org.neo4j.kernel.impl.factory;


import java.io.File; import java.io.File;
import java.time.Clock;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Supplier; import java.util.function.Supplier;


Expand All @@ -31,7 +32,6 @@
import org.neo4j.graphdb.Relationship; import org.neo4j.graphdb.Relationship;
import org.neo4j.graphdb.RelationshipType; import org.neo4j.graphdb.RelationshipType;
import org.neo4j.graphdb.factory.GraphDatabaseSettings; import org.neo4j.graphdb.factory.GraphDatabaseSettings;
import org.neo4j.helpers.Clock;
import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.fs.FileSystemAbstraction;
import org.neo4j.io.pagecache.PageCache; import org.neo4j.io.pagecache.PageCache;
import org.neo4j.kernel.AvailabilityGuard; import org.neo4j.kernel.AvailabilityGuard;
Expand Down Expand Up @@ -263,7 +263,7 @@ private Guard buildGuard( Dependencies deps, Config config, LogService logging )


private TimeoutGuard createTimeoutGuard( LogService logging ) private TimeoutGuard createTimeoutGuard( LogService logging )
{ {
return new TimeoutGuard( logging.getInternalLog( TimeoutGuard.class ), Clock.SYSTEM_CLOCK ); return new TimeoutGuard( logging.getInternalLog( TimeoutGuard.class ), Clock.systemUTC() );
} }


protected RelationshipProxy.RelationshipActions createRelationshipActions( protected RelationshipProxy.RelationshipActions createRelationshipActions(
Expand Down
Expand Up @@ -19,7 +19,7 @@
*/ */
package org.neo4j.kernel.impl.transaction.log.checkpoint; package org.neo4j.kernel.impl.transaction.log.checkpoint;


import org.neo4j.helpers.Clock; import java.time.Clock;


public class TimeCheckPointThreshold extends AbstractCheckPointThreshold public class TimeCheckPointThreshold extends AbstractCheckPointThreshold
{ {
Expand All @@ -33,7 +33,7 @@ public TimeCheckPointThreshold( long timeMillisThreshold, Clock clock )
{ {
this.timeMillisThreshold = timeMillisThreshold; this.timeMillisThreshold = timeMillisThreshold;
this.clock = clock; this.clock = clock;
this.nextCheckPointTime = clock.currentTimeMillis() + timeMillisThreshold; this.nextCheckPointTime = clock.millis() + timeMillisThreshold;


} }


Expand All @@ -47,7 +47,7 @@ public void initialize( long transactionId )
protected boolean thresholdReached( long lastCommittedTransactionId ) protected boolean thresholdReached( long lastCommittedTransactionId )
{ {
return lastCommittedTransactionId > lastCheckPointedTransactionId && return lastCommittedTransactionId > lastCheckPointedTransactionId &&
clock.currentTimeMillis() >= nextCheckPointTime; clock.millis() >= nextCheckPointTime;
} }


@Override @Override
Expand All @@ -59,7 +59,7 @@ protected String description()
@Override @Override
public void checkPointHappened( long transactionId ) public void checkPointHappened( long transactionId )
{ {
nextCheckPointTime = clock.currentTimeMillis() + timeMillisThreshold; nextCheckPointTime = clock.millis() + timeMillisThreshold;
lastCheckPointedTransactionId = transactionId; lastCheckPointedTransactionId = transactionId;
} }
} }
Expand Up @@ -19,10 +19,10 @@
*/ */
package org.neo4j.kernel.api; package org.neo4j.kernel.api;


import java.time.Clock;
import java.util.function.Supplier; import java.util.function.Supplier;


import org.neo4j.collection.pool.Pool; import org.neo4j.collection.pool.Pool;
import org.neo4j.helpers.Clock;
import org.neo4j.kernel.api.security.AccessMode; import org.neo4j.kernel.api.security.AccessMode;
import org.neo4j.kernel.impl.api.KernelTransactionImplementation; import org.neo4j.kernel.impl.api.KernelTransactionImplementation;
import org.neo4j.kernel.impl.api.SchemaWriteGuard; import org.neo4j.kernel.impl.api.SchemaWriteGuard;
Expand Down Expand Up @@ -84,7 +84,7 @@ static Instances kernelTransactionWithInternals( AccessMode accessMode )
mock( TransactionRepresentationCommitProcess.class ), mock( TransactionMonitor.class ), mock( TransactionRepresentationCommitProcess.class ), mock( TransactionMonitor.class ),
mock( Supplier.class ), mock( Supplier.class ),
mock( Pool.class ), mock( Pool.class ),
Clock.SYSTEM_CLOCK, Clock.systemUTC(),
TransactionTracer.NULL, TransactionTracer.NULL,
storageEngine, false, 1L ); storageEngine, false, 1L );


Expand Down
Expand Up @@ -21,8 +21,9 @@


import org.junit.Test; import org.junit.Test;


import java.time.Clock;

import org.neo4j.graphdb.TransactionTerminatedException; import org.neo4j.graphdb.TransactionTerminatedException;
import org.neo4j.helpers.Clock;
import org.neo4j.kernel.api.exceptions.Status; import org.neo4j.kernel.api.exceptions.Status;
import org.neo4j.kernel.api.security.AccessMode; import org.neo4j.kernel.api.security.AccessMode;
import org.neo4j.kernel.impl.proc.Procedures; import org.neo4j.kernel.impl.proc.Procedures;
Expand All @@ -42,7 +43,7 @@ public void shouldThrowTerminateExceptionWhenTransactionTerminated() throws Exce
when( transaction.mode() ).thenReturn( AccessMode.Static.FULL ); when( transaction.mode() ).thenReturn( AccessMode.Static.FULL );


KernelStatement statement = new KernelStatement( KernelStatement statement = new KernelStatement(
transaction, null, null, mock( StorageStatement.class ), null, Clock.SYSTEM_CLOCK, 1L ); transaction, null, null, mock( StorageStatement.class ), null, Clock.systemUTC(), 1L );
statement.acquire(); statement.acquire();


statement.readOperations().nodeExists( 0 ); statement.readOperations().nodeExists( 0 );
Expand All @@ -54,7 +55,7 @@ public void shouldReleaseStorageStatementWhenForceClosed() throws Exception
// given // given
StorageStatement storeStatement = mock( StorageStatement.class ); StorageStatement storeStatement = mock( StorageStatement.class );
KernelStatement statement = new KernelStatement( mock( KernelTransactionImplementation.class ), KernelStatement statement = new KernelStatement( mock( KernelTransactionImplementation.class ),
null, null, storeStatement, new Procedures(), Clock.SYSTEM_CLOCK, 1L ); null, null, storeStatement, new Procedures(), Clock.systemUTC(), 1L );
statement.acquire(); statement.acquire();


// when // when
Expand Down
Expand Up @@ -359,7 +359,7 @@ public void shouldAllowTerminatingFromADifferentThread() throws Exception
public void shouldUseStartTimeAndTxIdFromWhenStartingTxAsHeader() throws Exception public void shouldUseStartTimeAndTxIdFromWhenStartingTxAsHeader() throws Exception
{ {
// GIVEN a transaction starting at one point in time // GIVEN a transaction starting at one point in time
long startingTime = clock.currentTimeMillis(); long startingTime = clock.millis();
when( legacyIndexState.hasChanges() ).thenReturn( true ); when( legacyIndexState.hasChanges() ).thenReturn( true );
doAnswer( invocation -> doAnswer( invocation ->
{ {
Expand Down
Expand Up @@ -33,7 +33,6 @@


import org.neo4j.collection.pool.Pool; import org.neo4j.collection.pool.Pool;
import org.neo4j.graphdb.TransactionTerminatedException; import org.neo4j.graphdb.TransactionTerminatedException;
import org.neo4j.helpers.FakeClock;
import org.neo4j.kernel.api.KernelTransaction; import org.neo4j.kernel.api.KernelTransaction;
import org.neo4j.kernel.api.exceptions.Status; import org.neo4j.kernel.api.exceptions.Status;
import org.neo4j.kernel.api.exceptions.TransactionFailureException; import org.neo4j.kernel.api.exceptions.TransactionFailureException;
Expand All @@ -47,6 +46,7 @@
import org.neo4j.kernel.impl.transaction.TransactionMonitor; import org.neo4j.kernel.impl.transaction.TransactionMonitor;
import org.neo4j.kernel.impl.transaction.tracing.TransactionTracer; import org.neo4j.kernel.impl.transaction.tracing.TransactionTracer;
import org.neo4j.storageengine.api.StorageEngine; import org.neo4j.storageengine.api.StorageEngine;
import org.neo4j.time.FakeClock;


import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.instanceOf;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
Expand Down
Expand Up @@ -24,7 +24,6 @@
import java.util.function.Supplier; import java.util.function.Supplier;


import org.neo4j.collection.pool.Pool; import org.neo4j.collection.pool.Pool;
import org.neo4j.helpers.FakeClock;
import org.neo4j.kernel.api.KernelTransaction.Type; import org.neo4j.kernel.api.KernelTransaction.Type;
import org.neo4j.kernel.api.exceptions.TransactionFailureException; import org.neo4j.kernel.api.exceptions.TransactionFailureException;
import org.neo4j.kernel.api.security.AccessMode; import org.neo4j.kernel.api.security.AccessMode;
Expand All @@ -44,6 +43,7 @@
import org.neo4j.storageengine.api.StorageEngine; import org.neo4j.storageengine.api.StorageEngine;
import org.neo4j.storageengine.api.StoreReadLayer; import org.neo4j.storageengine.api.StoreReadLayer;
import org.neo4j.storageengine.api.TransactionApplicationMode; import org.neo4j.storageengine.api.TransactionApplicationMode;
import org.neo4j.time.FakeClock;


import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
Expand Down
Expand Up @@ -21,6 +21,7 @@


import org.junit.Test; import org.junit.Test;


import java.time.Clock;
import java.util.Collection; import java.util.Collection;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import java.util.concurrent.CountDownLatch; import java.util.concurrent.CountDownLatch;
Expand All @@ -33,7 +34,6 @@
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReferenceArray; import java.util.concurrent.atomic.AtomicReferenceArray;


import org.neo4j.helpers.Clock;
import org.neo4j.kernel.api.KernelTransaction; import org.neo4j.kernel.api.KernelTransaction;
import org.neo4j.kernel.api.KernelTransactionHandle; import org.neo4j.kernel.api.KernelTransactionHandle;
import org.neo4j.kernel.api.exceptions.Status; import org.neo4j.kernel.api.exceptions.Status;
Expand Down Expand Up @@ -450,12 +450,12 @@ private static KernelTransactions newKernelTransactions( Locks locks, StorageEng
TransactionHeaderInformationFactory.DEFAULT, TransactionHeaderInformationFactory.DEFAULT,
commitProcess, null, null, new TransactionHooks(), mock( TransactionMonitor.class ), life, commitProcess, null, null, new TransactionHooks(), mock( TransactionMonitor.class ), life,
tracers, storageEngine, new Procedures(), transactionIdStore, Config.empty(), tracers, storageEngine, new Procedures(), transactionIdStore, Config.empty(),
Clock.SYSTEM_CLOCK ); Clock.systemUTC() );
} }
return new KernelTransactions( statementLocksFactory, null, null, null, return new KernelTransactions( statementLocksFactory, null, null, null,
TransactionHeaderInformationFactory.DEFAULT, TransactionHeaderInformationFactory.DEFAULT,
commitProcess, null, null, new TransactionHooks(), mock( TransactionMonitor.class ), life, commitProcess, null, null, new TransactionHooks(), mock( TransactionMonitor.class ), life,
tracers, storageEngine, new Procedures(), transactionIdStore, Config.empty(), Clock.SYSTEM_CLOCK ); tracers, storageEngine, new Procedures(), transactionIdStore, Config.empty(), Clock.systemUTC() );
} }


private static TransactionCommitProcess newRememberingCommitProcess( final TransactionRepresentation[] slot ) private static TransactionCommitProcess newRememberingCommitProcess( final TransactionRepresentation[] slot )
Expand Down

0 comments on commit 2bb9e3d

Please sign in to comment.