diff --git a/community/kernel/src/main/java/org/neo4j/kernel/api/KernelTransactionHandle.java b/community/kernel/src/main/java/org/neo4j/kernel/api/KernelTransactionHandle.java index 9fa0e3282755..3400f2d2f0c8 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/api/KernelTransactionHandle.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/api/KernelTransactionHandle.java @@ -132,7 +132,7 @@ public interface KernelTransactionHandle /** * @return the lock requests granted for this transaction. */ - Stream activeLocks(); + Stream activeLocks(); /** * Provide underlying transaction execution statistics. For example: elapsed time, allocated bytes etc diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/KernelTransactionImplementation.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/KernelTransactionImplementation.java index fa38852feab8..ff5c50d6b9d8 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/KernelTransactionImplementation.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/KernelTransactionImplementation.java @@ -208,14 +208,12 @@ procedures, accessCapability, lockTracer, statementOperations, new ClockContext( this.userMetaData = new HashMap<>(); AllStoreHolder allStoreHolder = new AllStoreHolder( storageEngine, storageStatement, this, cursors, explicitIndexStore ); - org.neo4j.kernel.impl.newapi.NodeSchemaMatcher matcher = - new org.neo4j.kernel.impl.newapi.NodeSchemaMatcher( allStoreHolder ); this.operations = new Operations( allStoreHolder, - new IndexTxStateUpdater( storageEngine.storeReadLayer(), allStoreHolder, matcher ), + new IndexTxStateUpdater( storageEngine.storeReadLayer(), allStoreHolder ), storageStatement, - this, token, cursors, autoIndexing, matcher ); + this, token, cursors, autoIndexing ); } /** @@ -945,7 +943,7 @@ public void dispose() * * @return the locks held by this transaction. */ - public Stream activeLocks() + public Stream activeLocks() { StatementLocks locks = this.statementLocks; return locks == null ? Stream.empty() : locks.activeLocks(); diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/KernelTransactionImplementationHandle.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/KernelTransactionImplementationHandle.java index 15907fd73933..49cc8df4fda8 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/KernelTransactionImplementationHandle.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/KernelTransactionImplementationHandle.java @@ -149,7 +149,7 @@ public Stream executingQueries() } @Override - public Stream activeLocks() + public Stream activeLocks() { return tx.activeLocks(); } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/locking/Locks.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/locking/Locks.java index 38a1ef1557cf..1719374ff149 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/locking/Locks.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/locking/Locks.java @@ -130,7 +130,7 @@ interface Client extends ResourceLocker, AutoCloseable /** For slave transactions, this tracks an identifier for the lock session running on the master */ int getLockSessionId(); - Stream activeLocks(); + Stream activeLocks(); long activeLockCount(); } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/locking/SimpleStatementLocks.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/locking/SimpleStatementLocks.java index e1d32d506228..a6449a25604a 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/locking/SimpleStatementLocks.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/locking/SimpleStatementLocks.java @@ -66,7 +66,7 @@ public void close() } @Override - public Stream activeLocks() + public Stream activeLocks() { return client.activeLocks(); } diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/locking/StatementLocks.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/locking/StatementLocks.java index 6404e84a233a..41ff58addd64 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/locking/StatementLocks.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/locking/StatementLocks.java @@ -70,7 +70,7 @@ public interface StatementLocks extends AutoCloseable, org.neo4j.internal.kernel * * @return the locks held by this transaction. */ - Stream activeLocks(); + Stream activeLocks(); /** * Get the current number of active locks. diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/IndexTxStateUpdater.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/IndexTxStateUpdater.java index 775ea9040f50..71d309a1afa7 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/IndexTxStateUpdater.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/IndexTxStateUpdater.java @@ -43,15 +43,13 @@ public class IndexTxStateUpdater { private final StoreReadLayer storeReadLayer; private final Read read; - private final NodeSchemaMatcher nodeIndexMatcher; // We can use the StoreReadLayer directly instead of the SchemaReadOps, because we know that in transactions // where this class is needed we will never have index changes. - public IndexTxStateUpdater( StoreReadLayer storeReadLayer, Read read, NodeSchemaMatcher nodeIndexMatcher ) + public IndexTxStateUpdater( StoreReadLayer storeReadLayer, Read read ) { this.storeReadLayer = storeReadLayer; this.read = read; - this.nodeIndexMatcher = nodeIndexMatcher; } // LABEL CHANGES @@ -122,7 +120,7 @@ void onPropertyAdd( NodeCursor node, PropertyCursor propertyCursor, int property assert noSchemaChangedInTx(); Iterator indexes = storeReadLayer.indexesGetRelatedToProperty( propertyKeyId ); - nodeIndexMatcher.onMatchingSchema( indexes, node, propertyCursor, propertyKeyId, + NodeSchemaMatcher.onMatchingSchema( indexes, node, propertyCursor, propertyKeyId, ( index, propertyKeyIds ) -> { Validators.INDEX_VALUE_VALIDATOR.validate( value ); @@ -138,7 +136,7 @@ void onPropertyRemove( NodeCursor node, PropertyCursor propertyCursor, int prope assert noSchemaChangedInTx(); Iterator indexes = storeReadLayer.indexesGetRelatedToProperty( propertyKeyId ); - nodeIndexMatcher.onMatchingSchema( indexes, node, propertyCursor, propertyKeyId, + NodeSchemaMatcher.onMatchingSchema( indexes, node, propertyCursor, propertyKeyId, ( index, propertyKeyIds ) -> { ValueTuple values = @@ -153,7 +151,7 @@ void onPropertyChange( NodeCursor node, PropertyCursor propertyCursor, int prope { assert noSchemaChangedInTx(); Iterator indexes = storeReadLayer.indexesGetRelatedToProperty( propertyKeyId ); - nodeIndexMatcher.onMatchingSchema( indexes, node, propertyCursor, propertyKeyId, + NodeSchemaMatcher.onMatchingSchema( indexes, node, propertyCursor, propertyKeyId, ( index, propertyKeyIds ) -> { Validators.INDEX_VALUE_VALIDATOR.validate( afterValue ); diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/NodeSchemaMatcher.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/NodeSchemaMatcher.java index 9f2219712e15..8e1ef11cc9f6 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/NodeSchemaMatcher.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/NodeSchemaMatcher.java @@ -35,9 +35,9 @@ */ public class NodeSchemaMatcher { - - public NodeSchemaMatcher( Read read ) + private NodeSchemaMatcher() { + throw new AssertionError( "no instance" ); } /** @@ -58,7 +58,7 @@ public NodeSchemaMatcher( Read read ) * @param callback The action to take on match * @throws EXCEPTION This exception is propagated from the action */ - void onMatchingSchema( + static void onMatchingSchema( Iterator schemaSuppliers, NodeCursor node, PropertyCursor property, diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/Operations.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/Operations.java index e00461e63336..3a8dd151001b 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/Operations.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/newapi/Operations.java @@ -87,7 +87,6 @@ public class Operations implements Write, ExplicitIndexWrite private DefaultPropertyCursor propertyCursor; private DefaultRelationshipScanCursor relationshipCursor; private final DefaultCursors cursors; - private final NodeSchemaMatcher schemaMatcher; public Operations( AllStoreHolder allStoreHolder, @@ -96,8 +95,7 @@ public Operations( KernelTransactionImplementation ktx, KernelToken token, DefaultCursors cursors, - AutoIndexing autoIndexing, - NodeSchemaMatcher schemaMatcher ) + AutoIndexing autoIndexing ) { this.token = token; this.autoIndexing = autoIndexing; @@ -106,7 +104,6 @@ public Operations( this.statement = statement; this.updater = updater; this.cursors = cursors; - this.schemaMatcher = schemaMatcher; } public void initialize() @@ -367,7 +364,7 @@ public Value nodeSetProperty( long node, int propertyKey, Value value ) Iterator uniquenessConstraints = new CastingIterator<>( constraints, IndexBackedConstraintDescriptor.class ); - schemaMatcher.onMatchingSchema( uniquenessConstraints, nodeCursor, propertyCursor, propertyKey, + NodeSchemaMatcher.onMatchingSchema( uniquenessConstraints, nodeCursor, propertyCursor, propertyKey, ( constraint, propertyIds ) -> { if ( propertyIds.contains( propertyKey ) ) diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/util/NoneStrictMath.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/util/NoneStrictMath.java index 27ead2be41a7..10d901850bf6 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/util/NoneStrictMath.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/util/NoneStrictMath.java @@ -26,7 +26,8 @@ */ public class NoneStrictMath { - public static final double EPSILON = 1.0E-8; + // NOTE: This cannot be final since it's used to change the tolerance in the graph algorithms module + public static double EPSILON = 1.0E-8; private NoneStrictMath() { diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/IndexTxStateUpdaterTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/IndexTxStateUpdaterTest.java index 162ce415a387..fccac581ffd2 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/IndexTxStateUpdaterTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/IndexTxStateUpdaterTest.java @@ -29,7 +29,6 @@ import org.neo4j.internal.kernel.api.helpers.StubNodeCursor; import org.neo4j.internal.kernel.api.helpers.StubPropertyCursor; import org.neo4j.internal.kernel.api.schema.LabelSchemaDescriptor; -import org.neo4j.kernel.api.exceptions.EntityNotFoundException; import org.neo4j.kernel.api.schema.index.IndexDescriptor; import org.neo4j.kernel.api.schema.index.IndexDescriptorFactory; import org.neo4j.kernel.api.txstate.TransactionState; @@ -111,7 +110,7 @@ public void setup() Read readOps = mock( Read.class ); when( readOps.txState() ).thenReturn( txState ); - indexTxUpdater = new IndexTxStateUpdater( storeReadLayer, readOps, new NodeSchemaMatcher( readOps ) ); + indexTxUpdater = new IndexTxStateUpdater( storeReadLayer, readOps ); } diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/OperationsLockTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/OperationsLockTest.java index 874d886b34f2..640969be5637 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/OperationsLockTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/newapi/OperationsLockTest.java @@ -36,7 +36,6 @@ import org.neo4j.internal.kernel.api.exceptions.explicitindex.AutoIndexingKernelException; import org.neo4j.internal.kernel.api.schema.LabelSchemaDescriptor; import org.neo4j.internal.kernel.api.schema.constraints.ConstraintDescriptor; -import org.neo4j.kernel.api.exceptions.EntityNotFoundException; import org.neo4j.kernel.api.explicitindex.AutoIndexOperations; import org.neo4j.kernel.api.explicitindex.AutoIndexing; import org.neo4j.kernel.api.schema.SchemaDescriptorFactory; @@ -116,8 +115,7 @@ public void setUp() throws InvalidTransactionTypeKernelException allStoreHolder = new AllStoreHolder( engine, store, transaction, cursors, mock( ExplicitIndexStore.class ) ); operations = new Operations( allStoreHolder, mock( IndexTxStateUpdater.class ), - store, transaction, new KernelToken( storeReadLayer ), cursors, autoindexing, - mock( NodeSchemaMatcher.class ) ); + store, transaction, new KernelToken( storeReadLayer ), cursors, autoindexing ); operations.initialize(); this.order = inOrder( locks, txState, storeReadLayer ); diff --git a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/core/state/machines/locks/LeaderOnlyLockManager.java b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/core/state/machines/locks/LeaderOnlyLockManager.java index fd23f42245db..ce810cd733aa 100644 --- a/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/core/state/machines/locks/LeaderOnlyLockManager.java +++ b/enterprise/causal-clustering/src/main/java/org/neo4j/causalclustering/core/state/machines/locks/LeaderOnlyLockManager.java @@ -280,7 +280,7 @@ public int getLockSessionId() } @Override - public Stream activeLocks() + public Stream activeLocks() { return localClient.activeLocks(); } diff --git a/enterprise/deferred-locks/src/main/java/org/neo4j/kernel/impl/locking/DeferringLockClient.java b/enterprise/deferred-locks/src/main/java/org/neo4j/kernel/impl/locking/DeferringLockClient.java index 5f3dcdbce399..e084e3059584 100644 --- a/enterprise/deferred-locks/src/main/java/org/neo4j/kernel/impl/locking/DeferringLockClient.java +++ b/enterprise/deferred-locks/src/main/java/org/neo4j/kernel/impl/locking/DeferringLockClient.java @@ -184,9 +184,9 @@ public int getLockSessionId() } @Override - public Stream activeLocks() + public Stream activeLocks() { - return locks.keySet().stream().map( ActiveLock.class::cast ); + return locks.keySet().stream(); } @Override diff --git a/enterprise/ha/src/main/java/org/neo4j/kernel/ha/cluster/modeswitch/HighAvailabilityModeSwitcher.java b/enterprise/ha/src/main/java/org/neo4j/kernel/ha/cluster/modeswitch/HighAvailabilityModeSwitcher.java index 9d438ea72f01..c03f07965f6b 100644 --- a/enterprise/ha/src/main/java/org/neo4j/kernel/ha/cluster/modeswitch/HighAvailabilityModeSwitcher.java +++ b/enterprise/ha/src/main/java/org/neo4j/kernel/ha/cluster/modeswitch/HighAvailabilityModeSwitcher.java @@ -369,7 +369,7 @@ public void run() } catch ( HighAvailabilityStoreFailureException e ) { - userLog.error( "UNABLE HEADER_TO START UP AS SLAVE: %s", e.getMessage() ); + userLog.error( "UNABLE TO START UP AS SLAVE: %s", e.getMessage() ); msgLog.error( "Unable to start up as slave", e ); clusterMemberAvailability.memberIsUnavailable( SLAVE ); diff --git a/enterprise/ha/src/main/java/org/neo4j/kernel/ha/lock/SlaveLocksClient.java b/enterprise/ha/src/main/java/org/neo4j/kernel/ha/lock/SlaveLocksClient.java index f634ef1ccb3c..113fc90f1a3c 100644 --- a/enterprise/ha/src/main/java/org/neo4j/kernel/ha/lock/SlaveLocksClient.java +++ b/enterprise/ha/src/main/java/org/neo4j/kernel/ha/lock/SlaveLocksClient.java @@ -225,7 +225,7 @@ public int getLockSessionId() } @Override - public Stream activeLocks() + public Stream activeLocks() { return client.activeLocks(); } diff --git a/enterprise/ha/src/main/java/org/neo4j/kernel/ha/lock/SlaveStatementLocks.java b/enterprise/ha/src/main/java/org/neo4j/kernel/ha/lock/SlaveStatementLocks.java index 8bd9b87e6bb7..ffe3fbc53c12 100644 --- a/enterprise/ha/src/main/java/org/neo4j/kernel/ha/lock/SlaveStatementLocks.java +++ b/enterprise/ha/src/main/java/org/neo4j/kernel/ha/lock/SlaveStatementLocks.java @@ -80,7 +80,7 @@ public void close() } @Override - public Stream activeLocks() + public Stream activeLocks() { return delegate.activeLocks(); }