Skip to content

Commit

Permalink
Only have on token implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
fickludd committed Jan 17, 2018
1 parent 5dcd584 commit 21ca44c
Show file tree
Hide file tree
Showing 14 changed files with 61 additions and 110 deletions.
Expand Up @@ -86,6 +86,7 @@
import org.neo4j.kernel.impl.locking.StatementLocksFactory; import org.neo4j.kernel.impl.locking.StatementLocksFactory;
import org.neo4j.kernel.impl.logging.LogService; import org.neo4j.kernel.impl.logging.LogService;
import org.neo4j.kernel.impl.newapi.Cursors; import org.neo4j.kernel.impl.newapi.Cursors;
import org.neo4j.kernel.impl.newapi.KernelToken;
import org.neo4j.kernel.impl.proc.Procedures; import org.neo4j.kernel.impl.proc.Procedures;
import org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageEngine; import org.neo4j.kernel.impl.storageengine.impl.recordstorage.RecordStorageEngine;
import org.neo4j.kernel.impl.storageengine.impl.recordstorage.id.IdController; import org.neo4j.kernel.impl.storageengine.impl.recordstorage.id.IdController;
Expand Down Expand Up @@ -668,16 +669,18 @@ private NeoStoreKernelModule buildKernel( LogFiles logFiles, TransactionAppender
constraintIndexCreator, databaseSchemaState, explicitIndexStore, cpuClockRef, heapAllocationRef ) ); constraintIndexCreator, databaseSchemaState, explicitIndexStore, cpuClockRef, heapAllocationRef ) );


TransactionHooks hooks = new TransactionHooks(); TransactionHooks hooks = new TransactionHooks();
KernelToken token = new KernelToken( storageEngine );

KernelTransactions kernelTransactions = life.add( new KernelTransactions( statementLocksFactory, KernelTransactions kernelTransactions = life.add( new KernelTransactions( statementLocksFactory,
constraintIndexCreator, statementOperationParts, schemaWriteGuard, transactionHeaderInformationFactory, constraintIndexCreator, statementOperationParts, schemaWriteGuard, transactionHeaderInformationFactory,
transactionCommitProcess, indexConfigStore, explicitIndexProviderLookup, hooks, transactionMonitor, transactionCommitProcess, indexConfigStore, explicitIndexProviderLookup, hooks, transactionMonitor,
availabilityGuard, tracers, storageEngine, procedures, transactionIdStore, clock, availabilityGuard, tracers, storageEngine, procedures, transactionIdStore, clock,
cpuClockRef, heapAllocationRef, accessCapability, new Cursors(), autoIndexing, explicitIndexStore ) ); cpuClockRef, heapAllocationRef, accessCapability, token, new Cursors(), autoIndexing, explicitIndexStore ) );


buildTransactionMonitor( kernelTransactions, clock, config ); buildTransactionMonitor( kernelTransactions, clock, config );


final Kernel kernel = new Kernel( kernelTransactions, hooks, databaseHealth, transactionMonitor, procedures, final Kernel kernel = new Kernel( kernelTransactions, hooks, databaseHealth, transactionMonitor, procedures,
config, storageEngine ); config, storageEngine, token );


kernel.registerTransactionHook( transactionEventHandlers ); kernel.registerTransactionHook( transactionEventHandlers );
life.add( kernel ); life.add( kernel );
Expand Down
Expand Up @@ -33,6 +33,7 @@
import org.neo4j.kernel.api.proc.CallableUserAggregationFunction; import org.neo4j.kernel.api.proc.CallableUserAggregationFunction;
import org.neo4j.kernel.api.proc.CallableUserFunction; import org.neo4j.kernel.api.proc.CallableUserFunction;
import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.configuration.Config;
import org.neo4j.kernel.impl.newapi.KernelToken;
import org.neo4j.kernel.impl.newapi.NewKernel; import org.neo4j.kernel.impl.newapi.NewKernel;
import org.neo4j.kernel.impl.proc.Procedures; import org.neo4j.kernel.impl.proc.Procedures;
import org.neo4j.kernel.impl.transaction.TransactionMonitor; import org.neo4j.kernel.impl.transaction.TransactionMonitor;
Expand Down Expand Up @@ -78,15 +79,16 @@ public class Kernel extends LifecycleAdapter implements InwardKernel
private final NewKernel newKernel; private final NewKernel newKernel;


public Kernel( KernelTransactions transactionFactory, TransactionHooks hooks, DatabaseHealth health, public Kernel( KernelTransactions transactionFactory, TransactionHooks hooks, DatabaseHealth health,
TransactionMonitor transactionMonitor, Procedures procedures, Config config, StorageEngine engine ) TransactionMonitor transactionMonitor, Procedures procedures, Config config, StorageEngine engine,
KernelToken token )
{ {
this.transactions = transactionFactory; this.transactions = transactionFactory;
this.hooks = hooks; this.hooks = hooks;
this.health = health; this.health = health;
this.transactionMonitor = transactionMonitor; this.transactionMonitor = transactionMonitor;
this.procedures = procedures; this.procedures = procedures;
this.config = config; this.config = config;
this.newKernel = new NewKernel( engine, this ); this.newKernel = new NewKernel( engine, token, this );
} }


@Override @Override
Expand Down
Expand Up @@ -76,6 +76,7 @@
import org.neo4j.kernel.impl.newapi.AllStoreHolder; import org.neo4j.kernel.impl.newapi.AllStoreHolder;
import org.neo4j.kernel.impl.newapi.Cursors; import org.neo4j.kernel.impl.newapi.Cursors;
import org.neo4j.kernel.impl.newapi.IndexTxStateUpdater; import org.neo4j.kernel.impl.newapi.IndexTxStateUpdater;
import org.neo4j.kernel.impl.newapi.KernelToken;
import org.neo4j.kernel.impl.newapi.Operations; import org.neo4j.kernel.impl.newapi.Operations;
import org.neo4j.kernel.impl.proc.Procedures; import org.neo4j.kernel.impl.proc.Procedures;
import org.neo4j.kernel.impl.transaction.TransactionHeaderInformationFactory; import org.neo4j.kernel.impl.transaction.TransactionHeaderInformationFactory;
Expand Down Expand Up @@ -179,7 +180,7 @@ public KernelTransactionImplementation( StatementOperationParts statementOperati
TransactionMonitor transactionMonitor, Supplier<ExplicitIndexTransactionState> explicitIndexTxStateSupplier, TransactionMonitor transactionMonitor, Supplier<ExplicitIndexTransactionState> explicitIndexTxStateSupplier,
Pool<KernelTransactionImplementation> pool, Clock clock, AtomicReference<CpuClock> cpuClockRef, AtomicReference<HeapAllocation> heapAllocationRef, Pool<KernelTransactionImplementation> pool, Clock clock, AtomicReference<CpuClock> cpuClockRef, AtomicReference<HeapAllocation> heapAllocationRef,
TransactionTracer transactionTracer, LockTracer lockTracer, PageCursorTracerSupplier cursorTracerSupplier, TransactionTracer transactionTracer, LockTracer lockTracer, PageCursorTracerSupplier cursorTracerSupplier,
StorageEngine storageEngine, AccessCapability accessCapability, Cursors cursors, AutoIndexing autoIndexing, StorageEngine storageEngine, AccessCapability accessCapability, KernelToken token, Cursors cursors, AutoIndexing autoIndexing,
ExplicitIndexStore explicitIndexStore ) ExplicitIndexStore explicitIndexStore )
{ {
this.statementOperations = statementOperations; this.statementOperations = statementOperations;
Expand Down Expand Up @@ -211,7 +212,7 @@ public KernelTransactionImplementation( StatementOperationParts statementOperati
allStoreHolder, allStoreHolder,
new IndexTxStateUpdater( storageEngine.storeReadLayer(), allStoreHolder, matcher ), new IndexTxStateUpdater( storageEngine.storeReadLayer(), allStoreHolder, matcher ),
storageStatement, storageStatement,
this, cursors, autoIndexing, matcher ); this, token, cursors, autoIndexing, matcher );
} }


/** /**
Expand Down
Expand Up @@ -46,6 +46,7 @@
import org.neo4j.kernel.impl.locking.StatementLocks; import org.neo4j.kernel.impl.locking.StatementLocks;
import org.neo4j.kernel.impl.locking.StatementLocksFactory; import org.neo4j.kernel.impl.locking.StatementLocksFactory;
import org.neo4j.kernel.impl.newapi.Cursors; import org.neo4j.kernel.impl.newapi.Cursors;
import org.neo4j.kernel.impl.newapi.KernelToken;
import org.neo4j.kernel.impl.proc.Procedures; import org.neo4j.kernel.impl.proc.Procedures;
import org.neo4j.kernel.impl.store.TransactionId; import org.neo4j.kernel.impl.store.TransactionId;
import org.neo4j.kernel.impl.transaction.TransactionHeaderInformationFactory; import org.neo4j.kernel.impl.transaction.TransactionHeaderInformationFactory;
Expand Down Expand Up @@ -93,6 +94,7 @@ public class KernelTransactions extends LifecycleAdapter implements Supplier<Ker
private final ReentrantReadWriteLock newTransactionsLock = new ReentrantReadWriteLock(); private final ReentrantReadWriteLock newTransactionsLock = new ReentrantReadWriteLock();
private final MonotonicCounter userTransactionIdCounter = MonotonicCounter.newAtomicMonotonicCounter(); private final MonotonicCounter userTransactionIdCounter = MonotonicCounter.newAtomicMonotonicCounter();
private final Cursors cursors; private final Cursors cursors;
private final KernelToken token;
private final AutoIndexing autoIndexing; private final AutoIndexing autoIndexing;
private final ExplicitIndexStore explicitIndexStore; private final ExplicitIndexStore explicitIndexStore;


Expand Down Expand Up @@ -132,7 +134,8 @@ public KernelTransactions( StatementLocksFactory statementLocksFactory,
TransactionMonitor transactionMonitor, AvailabilityGuard availabilityGuard, Tracers tracers, TransactionMonitor transactionMonitor, AvailabilityGuard availabilityGuard, Tracers tracers,
StorageEngine storageEngine, Procedures procedures, TransactionIdStore transactionIdStore, StorageEngine storageEngine, Procedures procedures, TransactionIdStore transactionIdStore,
SystemNanoClock clock, SystemNanoClock clock,
AtomicReference<CpuClock> cpuClockRef, AtomicReference<HeapAllocation> heapAllocationRef, AccessCapability accessCapability, Cursors cursors, AtomicReference<CpuClock> cpuClockRef, AtomicReference<HeapAllocation> heapAllocationRef, AccessCapability accessCapability,
KernelToken token, Cursors cursors,
AutoIndexing autoIndexing, AutoIndexing autoIndexing,
ExplicitIndexStore explicitIndexStore ) ExplicitIndexStore explicitIndexStore )
{ {
Expand Down Expand Up @@ -160,6 +163,7 @@ public KernelTransactions( StatementLocksFactory statementLocksFactory,
this.clock = clock; this.clock = clock;
blockNewTransactions(); blockNewTransactions();
this.cursors = cursors; this.cursors = cursors;
this.token = token;
} }


public Supplier<ExplicitIndexTransactionState> explicitIndexTxStateSupplier() public Supplier<ExplicitIndexTransactionState> explicitIndexTxStateSupplier()
Expand Down Expand Up @@ -346,7 +350,8 @@ public KernelTransactionImplementation newInstance()
constraintIndexCreator, procedures, transactionHeaderInformationFactory, constraintIndexCreator, procedures, transactionHeaderInformationFactory,
transactionCommitProcess, transactionMonitor, explicitIndexTxStateSupplier, localTxPool, transactionCommitProcess, transactionMonitor, explicitIndexTxStateSupplier, localTxPool,
clock, cpuClockRef, heapAllocationRef, tracers.transactionTracer, tracers.lockTracer, clock, cpuClockRef, heapAllocationRef, tracers.transactionTracer, tracers.lockTracer,
tracers.pageCursorTracerSupplier, storageEngine, accessCapability, cursors, autoIndexing, explicitIndexStore ); tracers.pageCursorTracerSupplier, storageEngine, accessCapability, token, cursors, autoIndexing,
explicitIndexStore );
this.transactions.add( tx ); this.transactions.add( tx );
return tx; return tx;
} }
Expand Down
Expand Up @@ -70,7 +70,7 @@


import static java.lang.String.format; import static java.lang.String.format;


public class AllStoreHolder extends Read implements Token public class AllStoreHolder extends Read
{ {
private final StorageStatement.Nodes nodes; private final StorageStatement.Nodes nodes;
private final StorageStatement.Groups groups; private final StorageStatement.Groups groups;
Expand Down Expand Up @@ -277,78 +277,6 @@ public Iterator<ConstraintDescriptor> constraintsGetAll()
}, constraints ); }, constraints );
} }


@Override
public int labelGetOrCreateForName( String labelName ) throws KernelException
{
return storeReadLayer.labelGetOrCreateForName( checkValidTokenName( labelName ) );
}

@Override
public int propertyKeyGetOrCreateForName( String propertyKeyName ) throws KernelException
{
return storeReadLayer.propertyKeyGetOrCreateForName( checkValidTokenName( propertyKeyName ) );
}

@Override
public int relationshipTypeGetOrCreateForName( String relationshipTypeName ) throws KernelException
{
throw new UnsupportedOperationException( "not implemented" );
}

@Override
public void labelCreateForName( String labelName, int id ) throws KernelException
{
throw new UnsupportedOperationException( "not implemented" );
}

@Override
public String labelGetName( int token ) throws LabelNotFoundKernelException
{
return storeReadLayer.labelGetName( token );
}

@Override
public int labelGetForName( String name )
{
return storeReadLayer.labelGetForName( name );
}

@Override
public void propertyKeyCreateForName( String propertyKeyName, int id ) throws KernelException
{
throw new UnsupportedOperationException( "not implemented" );
}

@Override
public void relationshipTypeCreateForName( String relationshipTypeName, int id ) throws KernelException
{
throw new UnsupportedOperationException( "not implemented" );
}

@Override
public int nodeLabel( String name )
{
return storeReadLayer.labelGetForName( name );
}

@Override
public int relationshipType( String name )
{
return storeReadLayer.relationshipTypeGetForName( name );
}

@Override
public int propertyKey( String name )
{
return storeReadLayer.propertyKeyGetForName( name );
}

@Override
public String propertyKeyGetName( int propertyKeyId ) throws PropertyKeyIdNotFoundKernelException
{
return storeReadLayer.propertyKeyGetName( propertyKeyId );
}

@Override @Override
PageCursor nodePage( long reference ) PageCursor nodePage( long reference )
{ {
Expand Down Expand Up @@ -460,15 +388,6 @@ void getOrCreateRelationshipIndexConfig( String indexName, Map<String,String> cu
explicitIndexStore.getOrCreateRelationshipIndexConfig( indexName, customConfig ); explicitIndexStore.getOrCreateRelationshipIndexConfig( indexName, customConfig );
} }


private String checkValidTokenName( String name ) throws IllegalTokenNameException
{
if ( name == null || name.isEmpty() )
{
throw new IllegalTokenNameException( name );
}
return name;
}

String indexGetFailure( IndexDescriptor descriptor ) throws IndexNotFoundKernelException String indexGetFailure( IndexDescriptor descriptor ) throws IndexNotFoundKernelException
{ {
return storeReadLayer.indexGetFailure( descriptor.schema() ); return storeReadLayer.indexGetFailure( descriptor.schema() );
Expand Down
Expand Up @@ -25,7 +25,6 @@
import org.neo4j.internal.kernel.api.security.SecurityContext; import org.neo4j.internal.kernel.api.security.SecurityContext;
import org.neo4j.kernel.api.InwardKernel; import org.neo4j.kernel.api.InwardKernel;
import org.neo4j.kernel.api.KernelTransaction; import org.neo4j.kernel.api.KernelTransaction;
import org.neo4j.storageengine.api.StorageEngine;


/** /**
* Implements a Kernel API Session. * Implements a Kernel API Session.
Expand All @@ -36,11 +35,11 @@ class KernelSession implements Session
private final SecurityContext securityContext; private final SecurityContext securityContext;
private final KernelToken token; private final KernelToken token;


KernelSession( StorageEngine engine, InwardKernel kernel, SecurityContext securityContext ) KernelSession( KernelToken token, InwardKernel kernel, SecurityContext securityContext )
{ {
this.kernel = kernel; this.kernel = kernel;
this.securityContext = securityContext; this.securityContext = securityContext;
this.token = new KernelToken( engine ); this.token = token;
} }


@Override @Override
Expand Down
Expand Up @@ -23,6 +23,8 @@
import org.neo4j.internal.kernel.api.exceptions.KernelException; import org.neo4j.internal.kernel.api.exceptions.KernelException;
import org.neo4j.internal.kernel.api.exceptions.LabelNotFoundKernelException; import org.neo4j.internal.kernel.api.exceptions.LabelNotFoundKernelException;
import org.neo4j.internal.kernel.api.exceptions.PropertyKeyIdNotFoundKernelException; import org.neo4j.internal.kernel.api.exceptions.PropertyKeyIdNotFoundKernelException;
import org.neo4j.kernel.api.exceptions.schema.IllegalTokenNameException;
import org.neo4j.kernel.api.exceptions.schema.TooManyLabelsException;
import org.neo4j.storageengine.api.StorageEngine; import org.neo4j.storageengine.api.StorageEngine;
import org.neo4j.storageengine.api.StoreReadLayer; import org.neo4j.storageengine.api.StoreReadLayer;


Expand All @@ -36,15 +38,15 @@ public KernelToken( StorageEngine engine )
} }


@Override @Override
public int labelGetOrCreateForName( String labelName ) throws KernelException public int labelGetOrCreateForName( String labelName ) throws IllegalTokenNameException, TooManyLabelsException
{ {
return store.labelGetOrCreateForName( labelName ); return store.labelGetOrCreateForName( checkValidTokenName( labelName ) );
} }


@Override @Override
public int propertyKeyGetOrCreateForName( String propertyKeyName ) throws KernelException public int propertyKeyGetOrCreateForName( String propertyKeyName ) throws IllegalTokenNameException
{ {
return store.propertyKeyGetOrCreateForName( propertyKeyName ); return store.propertyKeyGetOrCreateForName( checkValidTokenName( propertyKeyName ) );
} }


@Override @Override
Expand Down Expand Up @@ -106,4 +108,13 @@ public String propertyKeyGetName( int propertyKeyId ) throws PropertyKeyIdNotFou
{ {
return store.propertyKeyGetName( propertyKeyId ); return store.propertyKeyGetName( propertyKeyId );
} }

private String checkValidTokenName( String name ) throws IllegalTokenNameException
{
if ( name == null || name.isEmpty() )
{
throw new IllegalTokenNameException( name );
}
return name;
}
} }
Expand Up @@ -33,16 +33,18 @@
public class NewKernel implements Kernel public class NewKernel implements Kernel
{ {
private final StorageEngine engine; private final StorageEngine engine;
private final KernelToken token;
private final InwardKernel kernel; private final InwardKernel kernel;


private StorageStatement statement; private StorageStatement statement;
private Cursors cursors; private Cursors cursors;


private volatile boolean isRunning; private volatile boolean isRunning;


public NewKernel( StorageEngine engine, InwardKernel kernel ) public NewKernel( StorageEngine engine, KernelToken token, InwardKernel kernel )
{ {
this.engine = engine; this.engine = engine;
this.token = token;
this.kernel = kernel; this.kernel = kernel;
this.isRunning = false; this.isRunning = false;
} }
Expand All @@ -58,7 +60,7 @@ public CursorFactory cursors()
public KernelSession beginSession( SecurityContext securityContext ) public KernelSession beginSession( SecurityContext securityContext )
{ {
assert isRunning : "kernel is not running, so it is not possible to use it"; assert isRunning : "kernel is not running, so it is not possible to use it";
return new KernelSession( engine, kernel, securityContext ); return new KernelSession( token, kernel, securityContext );
} }


public void start() public void start()
Expand Down
Expand Up @@ -77,6 +77,7 @@ public class Operations implements Write, ExplicitIndexWrite
{ {
private final KernelTransactionImplementation ktx; private final KernelTransactionImplementation ktx;
private final AllStoreHolder allStoreHolder; private final AllStoreHolder allStoreHolder;
private final KernelToken token;
private final StorageStatement statement; private final StorageStatement statement;
private final AutoIndexing autoIndexing; private final AutoIndexing autoIndexing;
private org.neo4j.kernel.impl.newapi.NodeCursor nodeCursor; private org.neo4j.kernel.impl.newapi.NodeCursor nodeCursor;
Expand All @@ -90,8 +91,12 @@ public Operations(
IndexTxStateUpdater updater, IndexTxStateUpdater updater,
StorageStatement statement, StorageStatement statement,
KernelTransactionImplementation ktx, KernelTransactionImplementation ktx,
Cursors cursors, AutoIndexing autoIndexing, NodeSchemaMatcher schemaMatcher ) KernelToken token,
Cursors cursors,
AutoIndexing autoIndexing,
NodeSchemaMatcher schemaMatcher )
{ {
this.token = token;
this.autoIndexing = autoIndexing; this.autoIndexing = autoIndexing;
this.allStoreHolder = allStoreHolder; this.allStoreHolder = allStoreHolder;
this.ktx = ktx; this.ktx = ktx;
Expand Down Expand Up @@ -547,7 +552,7 @@ public void release()


public Token token() public Token token()
{ {
return allStoreHolder; return token;
} }


private void acquireExclusiveNodeLock( long node ) private void acquireExclusiveNodeLock( long node )
Expand Down
Expand Up @@ -40,6 +40,7 @@
import org.neo4j.kernel.impl.locking.SimpleStatementLocks; import org.neo4j.kernel.impl.locking.SimpleStatementLocks;
import org.neo4j.kernel.impl.locking.StatementLocks; import org.neo4j.kernel.impl.locking.StatementLocks;
import org.neo4j.kernel.impl.newapi.Cursors; import org.neo4j.kernel.impl.newapi.Cursors;
import org.neo4j.kernel.impl.newapi.KernelToken;
import org.neo4j.kernel.impl.proc.Procedures; import org.neo4j.kernel.impl.proc.Procedures;
import org.neo4j.kernel.impl.transaction.TransactionHeaderInformationFactory; import org.neo4j.kernel.impl.transaction.TransactionHeaderInformationFactory;
import org.neo4j.kernel.impl.transaction.TransactionMonitor; import org.neo4j.kernel.impl.transaction.TransactionMonitor;
Expand Down Expand Up @@ -100,7 +101,7 @@ static Instances kernelTransactionWithInternals( SecurityContext securityContext
Clocks.systemClock(), new AtomicReference<>( CpuClock.NOT_AVAILABLE ), new AtomicReference<>( HeapAllocation.NOT_AVAILABLE ), NULL, Clocks.systemClock(), new AtomicReference<>( CpuClock.NOT_AVAILABLE ), new AtomicReference<>( HeapAllocation.NOT_AVAILABLE ), NULL,
LockTracer.NONE, LockTracer.NONE,
PageCursorTracerSupplier.NULL, PageCursorTracerSupplier.NULL,
storageEngine, new CanWrite(), new Cursors(), AutoIndexing.UNSUPPORTED, mock( storageEngine, new CanWrite(), new KernelToken( storageEngine ), new Cursors(), AutoIndexing.UNSUPPORTED, mock(
ExplicitIndexStore.class) ); ExplicitIndexStore.class) );


StatementLocks statementLocks = new SimpleStatementLocks( new NoOpClient() ); StatementLocks statementLocks = new SimpleStatementLocks( new NoOpClient() );
Expand Down
Expand Up @@ -44,6 +44,7 @@
import org.neo4j.kernel.impl.locking.NoOpClient; import org.neo4j.kernel.impl.locking.NoOpClient;
import org.neo4j.kernel.impl.locking.SimpleStatementLocks; import org.neo4j.kernel.impl.locking.SimpleStatementLocks;
import org.neo4j.kernel.impl.newapi.Cursors; import org.neo4j.kernel.impl.newapi.Cursors;
import org.neo4j.kernel.impl.newapi.KernelToken;
import org.neo4j.kernel.impl.proc.Procedures; import org.neo4j.kernel.impl.proc.Procedures;
import org.neo4j.kernel.impl.transaction.TransactionHeaderInformationFactory; import org.neo4j.kernel.impl.transaction.TransactionHeaderInformationFactory;
import org.neo4j.kernel.impl.transaction.TransactionMonitor; import org.neo4j.kernel.impl.transaction.TransactionMonitor;
Expand Down Expand Up @@ -344,7 +345,7 @@ private static class TestKernelTransaction extends KernelTransactionImplementati
new AtomicReference<>( CpuClock.NOT_AVAILABLE ), new AtomicReference<>( HeapAllocation.NOT_AVAILABLE ), new AtomicReference<>( CpuClock.NOT_AVAILABLE ), new AtomicReference<>( HeapAllocation.NOT_AVAILABLE ),
TransactionTracer.NULL, TransactionTracer.NULL,
LockTracer.NONE, PageCursorTracerSupplier.NULL, LockTracer.NONE, PageCursorTracerSupplier.NULL,
mock( StorageEngine.class, RETURNS_MOCKS ), new CanWrite(), mock( Cursors.class ), mock( StorageEngine.class, RETURNS_MOCKS ), new CanWrite(), mock( KernelToken.class ), mock( Cursors.class ),
AutoIndexing.UNSUPPORTED, mock( ExplicitIndexStore.class ) ); AutoIndexing.UNSUPPORTED, mock( ExplicitIndexStore.class ) );


this.monitor = monitor; this.monitor = monitor;
Expand Down

0 comments on commit 21ca44c

Please sign in to comment.