You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ab...@apache.org on 2018/07/20 15:52:42 UTC

[10/10] lucene-solr:jira/solr-12509: SOLR-12509: Fix issues from review.

SOLR-12509: Fix issues from review.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/5e182b6f
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/5e182b6f
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/5e182b6f

Branch: refs/heads/jira/solr-12509
Commit: 5e182b6fa8fdb78cdcb8a2b076bf0c0beafdf644
Parents: 56d7555
Author: Andrzej Bialecki <ab...@apache.org>
Authored: Fri Jul 20 17:52:11 2018 +0200
Committer: Andrzej Bialecki <ab...@apache.org>
Committed: Fri Jul 20 17:52:11 2018 +0200

----------------------------------------------------------------------
 .../apache/solr/cloud/overseer/ReplicaMutator.java    |  2 +-
 .../org/apache/solr/update/DefaultSolrCoreState.java  |  5 -----
 .../java/org/apache/solr/update/SolrCoreState.java    |  2 --
 .../org/apache/solr/update/SolrIndexSplitter.java     | 14 +++++++++-----
 4 files changed, 10 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5e182b6f/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java b/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java
index 5650204..b41f105 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java
@@ -441,7 +441,7 @@ public class ReplicaMutator {
                   log.error("The shard leader node: {} is not live anymore!", shardParentNode);
                   isLeaderSame = false;
                 } else if (!shardParentZkSession.equals(leaderZnode.getOwner())) {
-                  log.error("The zk session id for shard leader node: {} has changepostd from {} to {}",
+                  log.error("The zk session id for shard leader node: {} has changed from {} to {}",
                       shardParentNode, shardParentZkSession, leaderZnode.getOwner());
                   isLeaderSame = false;
                 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5e182b6f/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java b/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java
index baeedc6..bc63cb5 100644
--- a/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java
+++ b/solr/core/src/java/org/apache/solr/update/DefaultSolrCoreState.java
@@ -426,11 +426,6 @@ public final class DefaultSolrCoreState extends SolrCoreState implements Recover
   }
 
   @Override
-  public ReadWriteLock getIndexWriterLock() {
-    return iwLock;
-  }
-
-  @Override
   public boolean getCdcrBootstrapRunning() {
     return cdcrRunning.get();
   }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5e182b6f/solr/core/src/java/org/apache/solr/update/SolrCoreState.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/SolrCoreState.java b/solr/core/src/java/org/apache/solr/update/SolrCoreState.java
index 78a4803..b8a3ffd 100644
--- a/solr/core/src/java/org/apache/solr/update/SolrCoreState.java
+++ b/solr/core/src/java/org/apache/solr/update/SolrCoreState.java
@@ -181,8 +181,6 @@ public abstract class SolrCoreState {
 
   public abstract Lock getRecoveryLock();
 
-  public abstract ReadWriteLock getIndexWriterLock();
-
   // These are needed to properly synchronize the bootstrapping when the
   // in the target DC require a full sync.
   public abstract boolean getCdcrBootstrapRunning();

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5e182b6f/solr/core/src/java/org/apache/solr/update/SolrIndexSplitter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/SolrIndexSplitter.java b/solr/core/src/java/org/apache/solr/update/SolrIndexSplitter.java
index 6fde779..6b57d2d 100644
--- a/solr/core/src/java/org/apache/solr/update/SolrIndexSplitter.java
+++ b/solr/core/src/java/org/apache/solr/update/SolrIndexSplitter.java
@@ -18,7 +18,9 @@ package org.apache.solr.update;
 
 import java.io.IOException;
 import java.lang.invoke.MethodHandles;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -64,6 +66,7 @@ import org.apache.solr.common.util.NamedList;
 import org.apache.solr.core.DirectoryFactory;
 import org.apache.solr.core.SolrCore;
 import org.apache.solr.handler.IndexFetcher;
+import org.apache.solr.handler.SnapShooter;
 import org.apache.solr.schema.SchemaField;
 import org.apache.solr.search.BitsFilteredPostingsEnum;
 import org.apache.solr.search.SolrIndexSearcher;
@@ -203,6 +206,7 @@ public class SolrIndexSplitter {
     Directory parentDirectory = searcher.getRawReader().directory();
     List<FixedBitSet[]> segmentDocSets = new ArrayList<>(leaves.size());
     SolrIndexConfig parentConfig = searcher.getCore().getSolrConfig().indexConfig;
+    String timestamp = new SimpleDateFormat(SnapShooter.DATE_FMT, Locale.ROOT).format(new Date());
 
     log.info("SolrIndexSplitter: partitions=" + numPieces + " segments="+leaves.size());
     RTimerTree t;
@@ -239,7 +243,7 @@ public class SolrIndexSplitter {
       } else {
         if (splitMethod == SplitMethod.LINK) {
           SolrCore subCore = cores.get(partitionNumber);
-          String path = subCore.getDataDir() + "index.split";
+          String path = subCore.getDataDir() + "index." + timestamp;
           t = timings.sub("hardLinkCopy");
           t.resume();
           // copy by hard-linking
@@ -339,8 +343,8 @@ public class SolrIndexSplitter {
         String indexDirPath = subCore.getIndexDir();
 
         log.debug("Switching directories");
-        String hardLinkPath = subCore.getDataDir() + "index.split";
-        subCore.modifyIndexProps("index.split");
+        String hardLinkPath = subCore.getDataDir() + "index." + timestamp;
+        subCore.modifyIndexProps("index." + timestamp);
         try {
           subCore.getUpdateHandler().newIndexWriter(false);
           openNewSearcher(subCore);
@@ -367,7 +371,7 @@ public class SolrIndexSplitter {
             }
           }
           // switch back if necessary and remove the hardlinked dir
-          String hardLinkPath = subCore.getDataDir() + "index.split";
+          String hardLinkPath = subCore.getDataDir() + "index." + timestamp;
           try {
             dir = subCore.getDirectoryFactory().get(hardLinkPath, DirectoryFactory.DirContext.DEFAULT,
                 subCore.getSolrConfig().indexConfig.lockType);
@@ -479,7 +483,7 @@ public class SolrIndexSplitter {
         return perPartition[partition];
       }
       synchronized (docsToDelete) {
-        perPartition = docsToDelete.get(readerContext.ord);
+        perPartition = docsToDelete.get(readerContext.reader().getCoreCacheHelper().getKey());
         if (perPartition != null) {
           return perPartition[partition];
         }