From 1055659b8faa14a84049570c25c064ed1568b8af Mon Sep 17 00:00:00 2001 From: Ragnar Mellbin Date: Tue, 12 Jun 2018 09:27:49 +0200 Subject: [PATCH] Cleanup based on comments --- .../kernel/impl/api/index/EntityUpdates.java | 47 +++++++------------ .../impl/api/index/IndexMapReference.java | 3 +- .../impl/api/index/IndexingService.java | 4 +- .../impl/api/index/IndexingServiceTest.java | 4 +- 4 files changed, 22 insertions(+), 36 deletions(-) diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/EntityUpdates.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/EntityUpdates.java index b1da5f05afa07..30fcaa6b68f3b 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/EntityUpdates.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/EntityUpdates.java @@ -410,44 +410,29 @@ public String toString() } @Override - public int hashCode() + public boolean equals( Object o ) { - final int prime = 31; - int result = 1; - result = prime * result + Arrays.hashCode( entityTokensBefore ); - result = prime * result + Arrays.hashCode( entityTokensAfter ); - result = prime * result + (int) (entityId ^ (entityId >>> 32)); - - final IntIterator propertyKeyIds = knownProperties.keySet().intIterator(); - while ( propertyKeyIds.hasNext() ) - { - int propertyKeyId = propertyKeyIds.next(); - result = result * 31 + propertyKeyId; - result = result * 31 + knownProperties.get( propertyKeyId ).hashCode(); - } - return result; - } - - @Override - public boolean equals( Object obj ) - { - if ( this == obj ) + if ( this == o ) { return true; } - if ( obj == null ) - { - return false; - } - if ( getClass() != obj.getClass() ) + if ( o == null || getClass() != o.getClass() ) { return false; } - EntityUpdates other = (EntityUpdates) obj; - return Arrays.equals( entityTokensBefore, other.entityTokensBefore ) && - Arrays.equals( entityTokensAfter, other.entityTokensAfter ) && - entityId == other.entityId && - Objects.equals( knownProperties, other.knownProperties ); + EntityUpdates that = (EntityUpdates) o; + return entityId == that.entityId && Arrays.equals( entityTokensBefore, that.entityTokensBefore ) && + Arrays.equals( entityTokensAfter, that.entityTokensAfter ); + } + + @Override + public int hashCode() + { + + int result = Objects.hash( entityId ); + result = 31 * result + Arrays.hashCode( entityTokensBefore ); + result = 31 * result + Arrays.hashCode( entityTokensAfter ); + return result; } enum PropertyValueType diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexMapReference.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexMapReference.java index 665b6d3041bec..c853fb21a3f91 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexMapReference.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexMapReference.java @@ -22,6 +22,7 @@ import org.eclipse.collections.api.set.primitive.IntSet; import java.util.Set; +import java.util.function.Function; import org.neo4j.function.ThrowingFunction; import org.neo4j.internal.kernel.api.schema.SchemaDescriptor; @@ -50,7 +51,7 @@ public IndexMap indexMapSnapshot() * @param modifier the function modifying the snapshot. * @throws E exception thrown by the function. */ - public synchronized void modify( ThrowingFunction modifier ) throws E + public synchronized void modify( Function modifier ) throws E { IndexMap snapshot = indexMapSnapshot(); indexMap = modifier.apply( snapshot ); diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexingService.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexingService.java index c610e19b53345..4bd22675e1890 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexingService.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/index/IndexingService.java @@ -37,9 +37,9 @@ import java.util.Map; import java.util.Optional; import java.util.concurrent.ExecutionException; +import java.util.function.Function; import org.neo4j.function.ThrowingConsumer; -import org.neo4j.function.ThrowingFunction; import org.neo4j.graphdb.ResourceIterator; import org.neo4j.helpers.collection.Iterators; import org.neo4j.internal.kernel.api.InternalIndexState; @@ -747,7 +747,7 @@ private void logIndexStateSummary( String method, Map + private final class IndexPopulationStarter implements Function { private final StoreIndexDescriptor[] descriptors; private IndexPopulationJob nodePopulationJob; diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexingServiceTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexingServiceTest.java index bbbaec6310f81..ef755c0f73691 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexingServiceTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/api/index/IndexingServiceTest.java @@ -1063,16 +1063,16 @@ public void flushAllIndexesWhileSomeOfThemDropped() throws IOException public void failForceAllWhenOneOfTheIndexesFailToForce() throws IOException { IndexMapReference indexMapReference = new IndexMapReference(); + IndexProxy strangeIndexProxy = createIndexProxyMock( 1 ); + doThrow( new UncheckedIOException( new IOException( "Can't force" ) ) ).when( strangeIndexProxy ).force( any( IOLimiter.class ) ); indexMapReference.modify( indexMap -> { IndexProxy validIndex = createIndexProxyMock( 0 ); indexMap.putIndexProxy( validIndex ); indexMap.putIndexProxy( validIndex ); - IndexProxy strangeIndexProxy = createIndexProxyMock( 1 ); indexMap.putIndexProxy( strangeIndexProxy ); indexMap.putIndexProxy( validIndex ); indexMap.putIndexProxy( validIndex ); - doThrow( new UncheckedIOException( new IOException( "Can't force" ) ) ).when( strangeIndexProxy ).force( any( IOLimiter.class ) ); return indexMap; } );