From 5e57d5665e492c85ffd7e1060f3a16927e1f7c49 Mon Sep 17 00:00:00 2001 From: Ragnar Mellbin Date: Wed, 11 Oct 2017 12:12:58 +0200 Subject: [PATCH] Minor cleanup for the fulltext addon --- .../api/impl/fulltext/FulltextProvider.java | 2 +- .../FulltextTransactionEventUpdater.java | 36 ++++++++----------- .../bloom/BloomFulltextConfig.java | 5 --- 3 files changed, 16 insertions(+), 27 deletions(-) diff --git a/enterprise/fulltext-addon/src/main/java/org/neo4j/kernel/api/impl/fulltext/FulltextProvider.java b/enterprise/fulltext-addon/src/main/java/org/neo4j/kernel/api/impl/fulltext/FulltextProvider.java index b4ab2d26ecca9..d703f5d328e3e 100644 --- a/enterprise/fulltext-addon/src/main/java/org/neo4j/kernel/api/impl/fulltext/FulltextProvider.java +++ b/enterprise/fulltext-addon/src/main/java/org/neo4j/kernel/api/impl/fulltext/FulltextProvider.java @@ -88,7 +88,7 @@ public FulltextProvider( GraphDatabaseService db, Log log, AvailabilityGuard ava applier = new FulltextUpdateApplier( log, availabilityGuard, scheduler ); applier.start(); factory = new FulltextFactory( fileSystem, storeDir, analyzerClassName ); - fulltextTransactionEventUpdater = new FulltextTransactionEventUpdater( this, log, applier ); + fulltextTransactionEventUpdater = new FulltextTransactionEventUpdater( this, applier ); nodeProperties = ConcurrentHashMap.newKeySet(); relationshipProperties = ConcurrentHashMap.newKeySet(); writableNodeIndices = new ConcurrentHashMap<>(); diff --git a/enterprise/fulltext-addon/src/main/java/org/neo4j/kernel/api/impl/fulltext/FulltextTransactionEventUpdater.java b/enterprise/fulltext-addon/src/main/java/org/neo4j/kernel/api/impl/fulltext/FulltextTransactionEventUpdater.java index 39390ee4b6e44..f98a351d4fdad 100644 --- a/enterprise/fulltext-addon/src/main/java/org/neo4j/kernel/api/impl/fulltext/FulltextTransactionEventUpdater.java +++ b/enterprise/fulltext-addon/src/main/java/org/neo4j/kernel/api/impl/fulltext/FulltextTransactionEventUpdater.java @@ -30,29 +30,25 @@ import org.neo4j.graphdb.NotFoundException; import org.neo4j.graphdb.event.TransactionData; import org.neo4j.graphdb.event.TransactionEventHandler; -import org.neo4j.logging.Log; -class FulltextTransactionEventUpdater implements TransactionEventHandler +class FulltextTransactionEventUpdater implements TransactionEventHandler { private final FulltextProvider fulltextProvider; - private final Log log; private final FulltextUpdateApplier applier; - FulltextTransactionEventUpdater( FulltextProvider fulltextProvider, Log log, - FulltextUpdateApplier applier ) + FulltextTransactionEventUpdater( FulltextProvider fulltextProvider, FulltextUpdateApplier applier ) { this.fulltextProvider = fulltextProvider; - this.log = log; this.applier = applier; } @Override - public Object beforeCommit( TransactionData data ) throws Exception + public FulltextTransactionContext beforeCommit( TransactionData data ) throws Exception { - Map> nodeMap = new HashMap>(); - Map> relationshipMap = new HashMap>(); + Map> nodeMap = new HashMap<>(); + Map> relationshipMap = new HashMap<>(); Lock lock = fulltextProvider.readLockIndexConfiguration(); - FulltextTransactioncontext fulltextTransactioncontext = new FulltextTransactioncontext( nodeMap, relationshipMap, lock ); + FulltextTransactionContext fulltextTransactionContext = new FulltextTransactionContext( nodeMap, relationshipMap, lock ); String[] nodeProperties = fulltextProvider.getNodeProperties(); data.removedNodeProperties().forEach( propertyEntry -> @@ -86,21 +82,20 @@ public Object beforeCommit( TransactionData data ) throws Exception data.assignedRelationshipProperties().forEach( propertyEntry -> relationshipMap.put( propertyEntry.entity().getId(), propertyEntry.entity().getProperties( relationshipProperties ) ) ); - return fulltextTransactioncontext; + return fulltextTransactionContext; } @Override - public void afterCommit( TransactionData data, Object state ) + public void afterCommit( TransactionData data, FulltextTransactionContext state ) { RuntimeException applyException = null; List completions = new ArrayList<>(); - FulltextTransactioncontext context = (FulltextTransactioncontext) state; try { try { - Map> nodeMap = context.getNodeMap(); - Map> relationshipMap = context.getRelationshipMap(); + Map> nodeMap = state.getNodeMap(); + Map> relationshipMap = state.getRelationshipMap(); //update node indices for ( WritableFulltext nodeIndex : fulltextProvider.writableNodeIndices() ) @@ -143,24 +138,23 @@ public void afterCommit( TransactionData data, Object state ) } finally { - context.release(); + state.release(); } } @Override - public void afterRollback( TransactionData data, Object state ) + public void afterRollback( TransactionData data, FulltextTransactionContext state ) { - FulltextTransactioncontext context = (FulltextTransactioncontext) state; - context.release(); + state.release(); } - private static class FulltextTransactioncontext + public static class FulltextTransactionContext { private final Map> nodeMap; private final Map> relationshipMap; private final Lock lock; - private FulltextTransactioncontext( Map> nodeMap, Map> relationshipMap, Lock lock ) + private FulltextTransactionContext( Map> nodeMap, Map> relationshipMap, Lock lock ) { this.nodeMap = nodeMap; this.relationshipMap = relationshipMap; diff --git a/enterprise/fulltext-addon/src/main/java/org/neo4j/kernel/api/impl/fulltext/integrations/bloom/BloomFulltextConfig.java b/enterprise/fulltext-addon/src/main/java/org/neo4j/kernel/api/impl/fulltext/integrations/bloom/BloomFulltextConfig.java index 693e30a32d83f..1e6287744f6b7 100644 --- a/enterprise/fulltext-addon/src/main/java/org/neo4j/kernel/api/impl/fulltext/integrations/bloom/BloomFulltextConfig.java +++ b/enterprise/fulltext-addon/src/main/java/org/neo4j/kernel/api/impl/fulltext/integrations/bloom/BloomFulltextConfig.java @@ -41,11 +41,6 @@ */ public class BloomFulltextConfig implements LoadableConfig { - public static final String UNSUPPORTED_PROPERTY_KEY_REGEX = "^(?!" + LUCENE_FULLTEXT_ADDON_PREFIX + ").+$"; - public static final BiFunction,Function,List> ILLEGAL_VALUE_CONSTRAINT = - illegalValueMessage( "Must not contain '" + LUCENE_FULLTEXT_ADDON_PREFIX + "'", matchesAny( - UNSUPPORTED_PROPERTY_KEY_REGEX ) ); - @Description( "Enable the fulltext addon for bloom." ) @Internal static final Setting bloom_enabled = setting( "unsupported.dbms.bloom_enabled", BOOLEAN, FALSE );