You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by is...@apache.org on 2021/04/05 21:24:09 UTC

[lucene-solr] branch prs-perf-test-2 created (now 495576b)

This is an automated email from the ASF dual-hosted git repository.

ishan pushed a change to branch prs-perf-test-2
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git.


      at 495576b  Writing pending updates before processing REFRESH_STATE

This branch includes the following new commits:

     new 807dc03  added logging support
     new ec49d94  added logging support
     new 71c1143  added logging support
     new 32046f0  NOCOMMIT: logging
     new 9861ed6  NOCOMMIT: logging 2
     new 3429579  NOCOMMIT: logging 3
     new c5c532a  NOCOMMIT: logging 4
     new faff0ee  more logging
     new 589c5e1  more logging
     new a74b079  more logging
     new b7c31b7  fast collection creation
     new db9b52b  fast collection creation
     new 4bddb1e  SOLR-15138: Refreshing Overseer's cluster state updater after PRS collections are created directly without going via queues
     new a294fea  Refreshing only once
     new c1184ac  Refresh the particular PRS collection instead of all of them
     new 4cf58bf  Eliminating one of the refreshes, retains only the final refresh
     new 495576b  Writing pending updates before processing REFRESH_STATE

The 17 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[lucene-solr] 01/01: Writing pending updates before processing REFRESH_STATE

Posted by is...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ishan pushed a commit to branch prs-perf-test-2
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git

commit 495576bf65d895078184ad3b6f3d69f228070aec
Author: Ishan Chattopadhyaya <is...@apache.org>
AuthorDate: Thu Feb 11 23:16:33 2021 +0530

    Writing pending updates before processing REFRESH_STATE
---
 solr/core/src/java/org/apache/solr/cloud/Overseer.java | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/cloud/Overseer.java b/solr/core/src/java/org/apache/solr/cloud/Overseer.java
index 9ec72a0..8dea658 100644
--- a/solr/core/src/java/org/apache/solr/cloud/Overseer.java
+++ b/solr/core/src/java/org/apache/solr/cloud/Overseer.java
@@ -187,17 +187,9 @@ public class Overseer implements SolrCloseable {
           }
 
           //TODO consider removing 'refreshClusterState' and simply check if clusterState is null
-          if (refreshClusterState || refreshCollections.size() != 0) {
+          if (refreshClusterState) {
             try {
-              if (refreshClusterState) {
-                reader.forciblyRefreshAllClusterStateSlow();
-              } else {
-                Set<String> collectionsToRefresh = new HashSet<>(refreshCollections);
-                for (String c: collectionsToRefresh) {
-                  reader.forceUpdateCollection(c);
-                  refreshCollections.remove(c);
-                }
-              }
+              reader.forciblyRefreshAllClusterStateSlow();
               clusterState = reader.getClusterState();
               zkStateWriter = new ZkStateWriter(reader, stats);
               refreshClusterState = false;
@@ -215,6 +207,9 @@ public class Overseer implements SolrCloseable {
                 // are removed from workQueue but fail to be written to ZK
                 WaitTime.start("processQueueItem");
                 try {
+                  if(OverseerAction.REFRESH_STATE.toString().equals(message.getStr(QUEUE_OPERATION))) {
+                    clusterState = zkStateWriter.writePendingUpdates();
+                  }
                   clusterState = processQueueItem(message, clusterState, zkStateWriter, false, null);
                   log.info("processQueueItem : {}", WaitTime.timeElapsed());
                 } catch (Exception e) {
@@ -278,6 +273,9 @@ public class Overseer implements SolrCloseable {
                 processedNodes.add(head.first());
                 fallbackQueueSize = processedNodes.size();
                 // The callback always be called on this thread
+                if(OverseerAction.REFRESH_STATE.toString().equals(message.getStr(QUEUE_OPERATION))) {
+                  clusterState = zkStateWriter.writePendingUpdates();
+                }
                 clusterState = processQueueItem(message, clusterState, zkStateWriter, true, () -> {
                   stateUpdateQueue.remove(processedNodes);
                   processedNodes.clear();