Skip to content

Commit

Permalink
Use localDatabase as a source of database dependent components in CC.
Browse files Browse the repository at this point in the history
  • Loading branch information
MishaDemianenko committed Jun 21, 2018
1 parent 7ec36c4 commit a284516
Show file tree
Hide file tree
Showing 17 changed files with 123 additions and 116 deletions.
Expand Up @@ -39,8 +39,6 @@
import org.neo4j.causalclustering.identity.StoreId; import org.neo4j.causalclustering.identity.StoreId;
import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.fs.FileSystemAbstraction;
import org.neo4j.kernel.NeoStoreDataSource; import org.neo4j.kernel.NeoStoreDataSource;
import org.neo4j.kernel.impl.transaction.log.LogicalTransactionStore;
import org.neo4j.kernel.impl.transaction.log.TransactionIdStore;
import org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointer; import org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointer;
import org.neo4j.kernel.monitoring.Monitors; import org.neo4j.kernel.monitoring.Monitors;
import org.neo4j.logging.LogProvider; import org.neo4j.logging.LogProvider;
Expand All @@ -51,24 +49,19 @@ public class RegularCatchupServerHandler implements CatchupServerHandler
private final Monitors monitors; private final Monitors monitors;
private final LogProvider logProvider; private final LogProvider logProvider;
private final Supplier<StoreId> storeIdSupplier; private final Supplier<StoreId> storeIdSupplier;
private final Supplier<TransactionIdStore> transactionIdStoreSupplier;
private final Supplier<LogicalTransactionStore> logicalTransactionStoreSupplier;
private final Supplier<NeoStoreDataSource> dataSourceSupplier; private final Supplier<NeoStoreDataSource> dataSourceSupplier;
private final BooleanSupplier dataSourceAvailabilitySupplier; private final BooleanSupplier dataSourceAvailabilitySupplier;
private final FileSystemAbstraction fs; private final FileSystemAbstraction fs;
private final CoreSnapshotService snapshotService; private final CoreSnapshotService snapshotService;
private final Supplier<CheckPointer> checkPointerSupplier; private final Supplier<CheckPointer> checkPointerSupplier;


public RegularCatchupServerHandler( Monitors monitors, LogProvider logProvider, Supplier<StoreId> storeIdSupplier, public RegularCatchupServerHandler( Monitors monitors, LogProvider logProvider, Supplier<StoreId> storeIdSupplier,
Supplier<TransactionIdStore> transactionIdStoreSupplier, Supplier<LogicalTransactionStore> logicalTransactionStoreSupplier,
Supplier<NeoStoreDataSource> dataSourceSupplier, BooleanSupplier dataSourceAvailabilitySupplier, FileSystemAbstraction fs, Supplier<NeoStoreDataSource> dataSourceSupplier, BooleanSupplier dataSourceAvailabilitySupplier, FileSystemAbstraction fs,
CoreSnapshotService snapshotService, Supplier<CheckPointer> checkPointerSupplier ) CoreSnapshotService snapshotService, Supplier<CheckPointer> checkPointerSupplier )
{ {
this.monitors = monitors; this.monitors = monitors;
this.logProvider = logProvider; this.logProvider = logProvider;
this.storeIdSupplier = storeIdSupplier; this.storeIdSupplier = storeIdSupplier;
this.transactionIdStoreSupplier = transactionIdStoreSupplier;
this.logicalTransactionStoreSupplier = logicalTransactionStoreSupplier;
this.dataSourceSupplier = dataSourceSupplier; this.dataSourceSupplier = dataSourceSupplier;
this.dataSourceAvailabilitySupplier = dataSourceAvailabilitySupplier; this.dataSourceAvailabilitySupplier = dataSourceAvailabilitySupplier;
this.fs = fs; this.fs = fs;
Expand All @@ -79,8 +72,8 @@ public RegularCatchupServerHandler( Monitors monitors, LogProvider logProvider,
@Override @Override
public ChannelHandler txPullRequestHandler( CatchupServerProtocol catchupServerProtocol ) public ChannelHandler txPullRequestHandler( CatchupServerProtocol catchupServerProtocol )
{ {
return new TxPullRequestHandler( catchupServerProtocol, storeIdSupplier, dataSourceAvailabilitySupplier, transactionIdStoreSupplier, return new TxPullRequestHandler( catchupServerProtocol, storeIdSupplier, dataSourceAvailabilitySupplier, dataSourceSupplier,
logicalTransactionStoreSupplier, monitors, logProvider ); monitors, logProvider );
} }


@Override @Override
Expand All @@ -92,7 +85,7 @@ public ChannelHandler getStoreIdRequestHandler( CatchupServerProtocol catchupSer
@Override @Override
public ChannelHandler storeListingRequestHandler( CatchupServerProtocol catchupServerProtocol ) public ChannelHandler storeListingRequestHandler( CatchupServerProtocol catchupServerProtocol )
{ {
return new PrepareStoreCopyRequestHandler( catchupServerProtocol, checkPointerSupplier, dataSourceSupplier, new PrepareStoreCopyFilesProvider( fs ) ); return new PrepareStoreCopyRequestHandler( catchupServerProtocol, dataSourceSupplier, new PrepareStoreCopyFilesProvider( fs ) );
} }


@Override @Override
Expand Down
Expand Up @@ -42,16 +42,14 @@
public class PrepareStoreCopyRequestHandler extends SimpleChannelInboundHandler<PrepareStoreCopyRequest> public class PrepareStoreCopyRequestHandler extends SimpleChannelInboundHandler<PrepareStoreCopyRequest>
{ {
private final CatchupServerProtocol protocol; private final CatchupServerProtocol protocol;
private final Supplier<CheckPointer> checkPointerSupplier;
private final PrepareStoreCopyFilesProvider prepareStoreCopyFilesProvider; private final PrepareStoreCopyFilesProvider prepareStoreCopyFilesProvider;
private final Supplier<NeoStoreDataSource> dataSourceSupplier; private final Supplier<NeoStoreDataSource> dataSourceSupplier;
private final StoreFileStreamingProtocol streamingProtocol = new StoreFileStreamingProtocol(); private final StoreFileStreamingProtocol streamingProtocol = new StoreFileStreamingProtocol();


public PrepareStoreCopyRequestHandler( CatchupServerProtocol catchupServerProtocol, Supplier<CheckPointer> checkPointerSupplier, public PrepareStoreCopyRequestHandler( CatchupServerProtocol catchupServerProtocol, Supplier<NeoStoreDataSource> dataSourceSupplier,
Supplier<NeoStoreDataSource> dataSourceSupplier, PrepareStoreCopyFilesProvider prepareStoreCopyFilesProvider ) PrepareStoreCopyFilesProvider prepareStoreCopyFilesProvider )
{ {
this.protocol = catchupServerProtocol; this.protocol = catchupServerProtocol;
this.checkPointerSupplier = checkPointerSupplier;
this.prepareStoreCopyFilesProvider = prepareStoreCopyFilesProvider; this.prepareStoreCopyFilesProvider = prepareStoreCopyFilesProvider;
this.dataSourceSupplier = dataSourceSupplier; this.dataSourceSupplier = dataSourceSupplier;
} }
Expand All @@ -71,7 +69,7 @@ protected void channelRead0( ChannelHandlerContext channelHandlerContext, Prepar
} }
else else
{ {
CheckPointer checkPointer = checkPointerSupplier.get(); CheckPointer checkPointer = neoStoreDataSource.getDependencyResolver().resolveDependency( CheckPointer.class );
closeablesListener.add( tryCheckpointAndAcquireMutex( checkPointer ) ); closeablesListener.add( tryCheckpointAndAcquireMutex( checkPointer ) );
PrepareStoreCopyFiles prepareStoreCopyFiles = PrepareStoreCopyFiles prepareStoreCopyFiles =
closeablesListener.add( prepareStoreCopyFilesProvider.prepareStoreCopyFiles( neoStoreDataSource ) ); closeablesListener.add( prepareStoreCopyFilesProvider.prepareStoreCopyFiles( neoStoreDataSource ) );
Expand Down
Expand Up @@ -53,18 +53,16 @@ public abstract class StoreCopyRequestHandler<T extends StoreCopyRequest> extend
{ {
private final CatchupServerProtocol protocol; private final CatchupServerProtocol protocol;
private final Supplier<NeoStoreDataSource> dataSource; private final Supplier<NeoStoreDataSource> dataSource;
private final Supplier<CheckPointer> checkpointerSupplier;
private final StoreFileStreamingProtocol storeFileStreamingProtocol; private final StoreFileStreamingProtocol storeFileStreamingProtocol;


private final FileSystemAbstraction fs; private final FileSystemAbstraction fs;
private final Log log; private final Log log;


StoreCopyRequestHandler( CatchupServerProtocol protocol, Supplier<NeoStoreDataSource> dataSource, Supplier<CheckPointer> checkpointerSupplier, StoreCopyRequestHandler( CatchupServerProtocol protocol, Supplier<NeoStoreDataSource> dataSource, StoreFileStreamingProtocol storeFileStreamingProtocol,
StoreFileStreamingProtocol storeFileStreamingProtocol, FileSystemAbstraction fs, LogProvider logProvider ) FileSystemAbstraction fs, LogProvider logProvider )
{ {
this.protocol = protocol; this.protocol = protocol;
this.dataSource = dataSource; this.dataSource = dataSource;
this.checkpointerSupplier = checkpointerSupplier;
this.storeFileStreamingProtocol = storeFileStreamingProtocol; this.storeFileStreamingProtocol = storeFileStreamingProtocol;
this.fs = fs; this.fs = fs;
this.log = logProvider.getLog( StoreCopyRequestHandler.class ); this.log = logProvider.getLog( StoreCopyRequestHandler.class );
Expand All @@ -82,7 +80,8 @@ protected void channelRead0( ChannelHandlerContext ctx, T request ) throws Excep
{ {
responseStatus = StoreCopyFinishedResponse.Status.E_STORE_ID_MISMATCH; responseStatus = StoreCopyFinishedResponse.Status.E_STORE_ID_MISMATCH;
} }
else if ( !isTransactionWithinReach( request.requiredTransactionId(), checkpointerSupplier.get() ) ) else if ( !isTransactionWithinReach( request.requiredTransactionId(),
neoStoreDataSource.getDependencyResolver().resolveDependency( CheckPointer.class ) ) )
{ {
responseStatus = StoreCopyFinishedResponse.Status.E_TOO_FAR_BEHIND; responseStatus = StoreCopyFinishedResponse.Status.E_TOO_FAR_BEHIND;
} }
Expand Down Expand Up @@ -130,7 +129,7 @@ public static class GetStoreFileRequestHandler extends StoreCopyRequestHandler<G
public GetStoreFileRequestHandler( CatchupServerProtocol protocol, Supplier<NeoStoreDataSource> dataSource, Supplier<CheckPointer> checkpointerSupplier, public GetStoreFileRequestHandler( CatchupServerProtocol protocol, Supplier<NeoStoreDataSource> dataSource, Supplier<CheckPointer> checkpointerSupplier,
StoreFileStreamingProtocol storeFileStreamingProtocol, FileSystemAbstraction fs, LogProvider logProvider ) StoreFileStreamingProtocol storeFileStreamingProtocol, FileSystemAbstraction fs, LogProvider logProvider )
{ {
super( protocol, dataSource, checkpointerSupplier, storeFileStreamingProtocol, fs, logProvider ); super( protocol, dataSource, storeFileStreamingProtocol, fs, logProvider );
} }


@Override @Override
Expand All @@ -151,7 +150,7 @@ public GetIndexSnapshotRequestHandler( CatchupServerProtocol protocol, Supplier<
Supplier<CheckPointer> checkpointerSupplier, StoreFileStreamingProtocol storeFileStreamingProtocol, Supplier<CheckPointer> checkpointerSupplier, StoreFileStreamingProtocol storeFileStreamingProtocol,
FileSystemAbstraction fs, LogProvider logProvider ) FileSystemAbstraction fs, LogProvider logProvider )
{ {
super( protocol, dataSource, checkpointerSupplier, storeFileStreamingProtocol, fs, logProvider ); super( protocol, dataSource, storeFileStreamingProtocol, fs, logProvider );
} }


@Override @Override
Expand Down
Expand Up @@ -35,6 +35,8 @@
import org.neo4j.causalclustering.catchup.ResponseMessageType; import org.neo4j.causalclustering.catchup.ResponseMessageType;
import org.neo4j.causalclustering.identity.StoreId; import org.neo4j.causalclustering.identity.StoreId;
import org.neo4j.cursor.IOCursor; import org.neo4j.cursor.IOCursor;
import org.neo4j.graphdb.DependencyResolver;
import org.neo4j.kernel.NeoStoreDataSource;
import org.neo4j.kernel.impl.transaction.CommittedTransactionRepresentation; import org.neo4j.kernel.impl.transaction.CommittedTransactionRepresentation;
import org.neo4j.kernel.impl.transaction.log.LogicalTransactionStore; import org.neo4j.kernel.impl.transaction.log.LogicalTransactionStore;
import org.neo4j.kernel.impl.transaction.log.NoSuchTransactionException; import org.neo4j.kernel.impl.transaction.log.NoSuchTransactionException;
Expand All @@ -61,14 +63,14 @@ public class TxPullRequestHandler extends SimpleChannelInboundHandler<TxPullRequ
private final Log log; private final Log log;


public TxPullRequestHandler( CatchupServerProtocol protocol, Supplier<StoreId> storeIdSupplier, public TxPullRequestHandler( CatchupServerProtocol protocol, Supplier<StoreId> storeIdSupplier,
BooleanSupplier databaseAvailable, Supplier<TransactionIdStore> transactionIdStoreSupplier, BooleanSupplier databaseAvailable, Supplier<NeoStoreDataSource> dataSourceSupplier, Monitors monitors, LogProvider logProvider )
Supplier<LogicalTransactionStore> logicalTransactionStoreSupplier, Monitors monitors, LogProvider logProvider )
{ {
this.protocol = protocol; this.protocol = protocol;
this.storeIdSupplier = storeIdSupplier; this.storeIdSupplier = storeIdSupplier;
this.databaseAvailable = databaseAvailable; this.databaseAvailable = databaseAvailable;
this.transactionIdStore = transactionIdStoreSupplier.get(); DependencyResolver dependencies = dataSourceSupplier.get().getDependencyResolver();
this.logicalTransactionStore = logicalTransactionStoreSupplier.get(); this.transactionIdStore = dependencies.resolveDependency( TransactionIdStore.class );
this.logicalTransactionStore = dependencies.resolveDependency( LogicalTransactionStore.class );
this.monitor = monitors.newMonitor( TxPullRequestsMonitor.class ); this.monitor = monitors.newMonitor( TxPullRequestsMonitor.class );
this.log = logProvider.getLog( getClass() ); this.log = logProvider.getLog( getClass() );
} }
Expand Down
Expand Up @@ -77,8 +77,6 @@
import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.fs.FileSystemAbstraction;
import org.neo4j.kernel.configuration.Config; import org.neo4j.kernel.configuration.Config;
import org.neo4j.kernel.impl.logging.LogService; import org.neo4j.kernel.impl.logging.LogService;
import org.neo4j.kernel.impl.transaction.log.LogicalTransactionStore;
import org.neo4j.kernel.impl.transaction.log.TransactionIdStore;
import org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointer; import org.neo4j.kernel.impl.transaction.log.checkpoint.CheckPointer;
import org.neo4j.kernel.impl.util.Dependencies; import org.neo4j.kernel.impl.util.Dependencies;
import org.neo4j.kernel.internal.DatabaseHealth; import org.neo4j.kernel.internal.DatabaseHealth;
Expand Down Expand Up @@ -182,8 +180,7 @@ commandApplicationProcess, logProvider, new ExponentialBackoffStrategy( 1, 30, S
Collection<ModifierSupportedProtocols> supportedModifierProtocols = supportedProtocolCreator.createSupportedModifierProtocols(); Collection<ModifierSupportedProtocols> supportedModifierProtocols = supportedProtocolCreator.createSupportedModifierProtocols();


CatchupServerHandler catchupServerHandler = new RegularCatchupServerHandler( platformModule.monitors, CatchupServerHandler catchupServerHandler = new RegularCatchupServerHandler( platformModule.monitors,
logProvider, localDatabase::storeId, platformModule.dependencies.provideDependency( TransactionIdStore.class ), logProvider, localDatabase::storeId, localDatabase::dataSource, localDatabase::isAvailable,
platformModule.dependencies.provideDependency( LogicalTransactionStore.class ), localDatabase::dataSource, localDatabase::isAvailable,
fileSystem, snapshotService, platformModule.dependencies.provideDependency( CheckPointer.class ) ); fileSystem, snapshotService, platformModule.dependencies.provideDependency( CheckPointer.class ) );


catchupServer = new CatchupServerBuilder( catchupServerHandler ) catchupServer = new CatchupServerBuilder( catchupServerHandler )
Expand Down
Expand Up @@ -27,6 +27,7 @@
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.function.BooleanSupplier; import java.util.function.BooleanSupplier;
import java.util.function.Supplier;


import org.neo4j.causalclustering.catchup.storecopy.LocalDatabase; import org.neo4j.causalclustering.catchup.storecopy.LocalDatabase;
import org.neo4j.causalclustering.core.consensus.LeaderLocator; import org.neo4j.causalclustering.core.consensus.LeaderLocator;
Expand Down Expand Up @@ -72,6 +73,7 @@
import org.neo4j.kernel.impl.util.Dependencies; import org.neo4j.kernel.impl.util.Dependencies;
import org.neo4j.kernel.lifecycle.LifeSupport; import org.neo4j.kernel.lifecycle.LifeSupport;
import org.neo4j.logging.LogProvider; import org.neo4j.logging.LogProvider;
import org.neo4j.storageengine.api.StorageEngine;


import static org.neo4j.causalclustering.core.CausalClusteringSettings.array_block_id_allocation_size; import static org.neo4j.causalclustering.core.CausalClusteringSettings.array_block_id_allocation_size;
import static org.neo4j.causalclustering.core.CausalClusteringSettings.id_alloc_state_size; import static org.neo4j.causalclustering.core.CausalClusteringSettings.id_alloc_state_size;
Expand Down Expand Up @@ -145,18 +147,20 @@ public CoreStateMachinesModule( MemberId myself, PlatformModule platformModule,
dependencies.satisfyDependency( new IdBasedStoreEntityCounters( this.idGeneratorFactory ) ); dependencies.satisfyDependency( new IdBasedStoreEntityCounters( this.idGeneratorFactory ) );


TokenRegistry relationshipTypeTokenRegistry = new TokenRegistry( "RelationshipType" ); TokenRegistry relationshipTypeTokenRegistry = new TokenRegistry( "RelationshipType" );
Supplier<StorageEngine> storageEngineSupplier = () -> localDatabase.dataSource().getDependencyResolver().resolveDependency( StorageEngine.class );
ReplicatedRelationshipTypeTokenHolder relationshipTypeTokenHolder = ReplicatedRelationshipTypeTokenHolder relationshipTypeTokenHolder =
new ReplicatedRelationshipTypeTokenHolder( relationshipTypeTokenRegistry, replicator, new ReplicatedRelationshipTypeTokenHolder( relationshipTypeTokenRegistry, replicator,
this.idGeneratorFactory, dependencies ); this.idGeneratorFactory, storageEngineSupplier );


TokenRegistry propertyKeyTokenRegistry = new TokenRegistry( "PropertyKey" ); TokenRegistry propertyKeyTokenRegistry = new TokenRegistry( "PropertyKey" );
ReplicatedPropertyKeyTokenHolder propertyKeyTokenHolder = ReplicatedPropertyKeyTokenHolder propertyKeyTokenHolder =
new ReplicatedPropertyKeyTokenHolder( propertyKeyTokenRegistry, replicator, this.idGeneratorFactory, new ReplicatedPropertyKeyTokenHolder( propertyKeyTokenRegistry, replicator, this.idGeneratorFactory,
dependencies ); storageEngineSupplier );


TokenRegistry labelTokenRegistry = new TokenRegistry( "Label" ); TokenRegistry labelTokenRegistry = new TokenRegistry( "Label" );
ReplicatedLabelTokenHolder labelTokenHolder = ReplicatedLabelTokenHolder labelTokenHolder =
new ReplicatedLabelTokenHolder( labelTokenRegistry, replicator, this.idGeneratorFactory, dependencies ); new ReplicatedLabelTokenHolder( labelTokenRegistry, replicator, this.idGeneratorFactory,
storageEngineSupplier );


ReplicatedLockTokenStateMachine replicatedLockTokenStateMachine = ReplicatedLockTokenStateMachine replicatedLockTokenStateMachine =
new ReplicatedLockTokenStateMachine( lockTokenState ); new ReplicatedLockTokenStateMachine( lockTokenState );
Expand All @@ -182,7 +186,7 @@ public CoreStateMachinesModule( MemberId myself, PlatformModule platformModule,
lockManager = createLockManager( config, platformModule.clock, logging, replicator, myself, raftMachine, lockManager = createLockManager( config, platformModule.clock, logging, replicator, myself, raftMachine,
replicatedLockTokenStateMachine ); replicatedLockTokenStateMachine );


RecoverConsensusLogIndex consensusLogIndexRecovery = new RecoverConsensusLogIndex( dependencies, logProvider ); RecoverConsensusLogIndex consensusLogIndexRecovery = new RecoverConsensusLogIndex( localDatabase, logProvider );


coreStateMachines = new CoreStateMachines( replicatedTxStateMachine, labelTokenStateMachine, coreStateMachines = new CoreStateMachines( replicatedTxStateMachine, labelTokenStateMachine,
relationshipTypeTokenStateMachine, propertyKeyTokenStateMachine, replicatedLockTokenStateMachine, relationshipTypeTokenStateMachine, propertyKeyTokenStateMachine, replicatedLockTokenStateMachine,
Expand Down
Expand Up @@ -22,19 +22,21 @@
*/ */
package org.neo4j.causalclustering.core.state.machines.token; package org.neo4j.causalclustering.core.state.machines.token;


import java.util.function.Supplier;

import org.neo4j.causalclustering.core.replication.Replicator; import org.neo4j.causalclustering.core.replication.Replicator;
import org.neo4j.kernel.api.txstate.TransactionState; import org.neo4j.kernel.api.txstate.TransactionState;
import org.neo4j.kernel.impl.core.TokenHolder; import org.neo4j.kernel.impl.core.TokenHolder;
import org.neo4j.kernel.impl.store.id.IdGeneratorFactory; import org.neo4j.kernel.impl.store.id.IdGeneratorFactory;
import org.neo4j.kernel.impl.store.id.IdType; import org.neo4j.kernel.impl.store.id.IdType;
import org.neo4j.kernel.impl.util.Dependencies; import org.neo4j.storageengine.api.StorageEngine;


public class ReplicatedLabelTokenHolder extends ReplicatedTokenHolder implements TokenHolder public class ReplicatedLabelTokenHolder extends ReplicatedTokenHolder implements TokenHolder
{ {
public ReplicatedLabelTokenHolder( TokenRegistry registry, Replicator replicator, public ReplicatedLabelTokenHolder( TokenRegistry registry, Replicator replicator,
IdGeneratorFactory idGeneratorFactory, Dependencies dependencies ) IdGeneratorFactory idGeneratorFactory, Supplier<StorageEngine> storageEngineSupplier )
{ {
super( registry, replicator, idGeneratorFactory, IdType.LABEL_TOKEN, dependencies, TokenType.LABEL ); super( registry, replicator, idGeneratorFactory, IdType.LABEL_TOKEN, storageEngineSupplier, TokenType.LABEL );
} }


@Override @Override
Expand Down
Expand Up @@ -22,19 +22,21 @@
*/ */
package org.neo4j.causalclustering.core.state.machines.token; package org.neo4j.causalclustering.core.state.machines.token;


import java.util.function.Supplier;

import org.neo4j.causalclustering.core.replication.RaftReplicator; import org.neo4j.causalclustering.core.replication.RaftReplicator;
import org.neo4j.kernel.api.txstate.TransactionState; import org.neo4j.kernel.api.txstate.TransactionState;
import org.neo4j.kernel.impl.core.TokenHolder; import org.neo4j.kernel.impl.core.TokenHolder;
import org.neo4j.kernel.impl.store.id.IdGeneratorFactory; import org.neo4j.kernel.impl.store.id.IdGeneratorFactory;
import org.neo4j.kernel.impl.store.id.IdType; import org.neo4j.kernel.impl.store.id.IdType;
import org.neo4j.kernel.impl.util.Dependencies; import org.neo4j.storageengine.api.StorageEngine;


public class ReplicatedPropertyKeyTokenHolder extends ReplicatedTokenHolder implements TokenHolder public class ReplicatedPropertyKeyTokenHolder extends ReplicatedTokenHolder implements TokenHolder
{ {
public ReplicatedPropertyKeyTokenHolder( TokenRegistry registry, RaftReplicator replicator, public ReplicatedPropertyKeyTokenHolder( TokenRegistry registry, RaftReplicator replicator,
IdGeneratorFactory idGeneratorFactory, Dependencies dependencies ) IdGeneratorFactory idGeneratorFactory, Supplier<StorageEngine> storageEngineSupplier )
{ {
super( registry, replicator, idGeneratorFactory, IdType.PROPERTY_KEY_TOKEN, dependencies, TokenType.PROPERTY ); super( registry, replicator, idGeneratorFactory, IdType.PROPERTY_KEY_TOKEN, storageEngineSupplier, TokenType.PROPERTY );
} }


@Override @Override
Expand Down
Expand Up @@ -22,19 +22,22 @@
*/ */
package org.neo4j.causalclustering.core.state.machines.token; package org.neo4j.causalclustering.core.state.machines.token;


import java.util.function.Supplier;

import org.neo4j.causalclustering.core.replication.RaftReplicator; import org.neo4j.causalclustering.core.replication.RaftReplicator;
import org.neo4j.kernel.api.txstate.TransactionState; import org.neo4j.kernel.api.txstate.TransactionState;
import org.neo4j.kernel.impl.store.id.IdGeneratorFactory; import org.neo4j.kernel.impl.store.id.IdGeneratorFactory;
import org.neo4j.kernel.impl.store.id.IdType; import org.neo4j.storageengine.api.StorageEngine;
import org.neo4j.kernel.impl.util.Dependencies;
import static org.neo4j.causalclustering.core.state.machines.token.TokenType.RELATIONSHIP;
import static org.neo4j.kernel.impl.store.id.IdType.RELATIONSHIP_TYPE_TOKEN;


public class ReplicatedRelationshipTypeTokenHolder extends ReplicatedTokenHolder public class ReplicatedRelationshipTypeTokenHolder extends ReplicatedTokenHolder
{ {
public ReplicatedRelationshipTypeTokenHolder( TokenRegistry registry, public ReplicatedRelationshipTypeTokenHolder( TokenRegistry registry,
RaftReplicator replicator, IdGeneratorFactory idGeneratorFactory, Dependencies dependencies ) RaftReplicator replicator, IdGeneratorFactory idGeneratorFactory, Supplier<StorageEngine> storageEngineSupplier )
{ {
super( registry, replicator, idGeneratorFactory, IdType.RELATIONSHIP_TYPE_TOKEN, dependencies, super( registry, replicator, idGeneratorFactory, RELATIONSHIP_TYPE_TOKEN, storageEngineSupplier, RELATIONSHIP );
TokenType.RELATIONSHIP );
} }


@Override @Override
Expand Down

0 comments on commit a284516

Please sign in to comment.