You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2018/11/01 14:12:06 UTC
lucene-solr:jira/solr-12730: Added custom merge scheduler which
prints MDC logging context in merge scheduler threads Adding more docs before
commit so that old commit points can be cleared
Repository: lucene-solr
Updated Branches:
refs/heads/jira/solr-12730 2bff40112 -> 2138b8392
Added custom merge scheduler which prints MDC logging context in merge scheduler threads
Adding more docs before commit so that old commit points can be cleared
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/2138b839
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/2138b839
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/2138b839
Branch: refs/heads/jira/solr-12730
Commit: 2138b8392d3e989a3ab513a631dac0993b385fad
Parents: 2bff401
Author: Shalin Shekhar Mangar <sh...@apache.org>
Authored: Thu Nov 1 19:41:51 2018 +0530
Committer: Shalin Shekhar Mangar <sh...@apache.org>
Committed: Thu Nov 1 19:41:51 2018 +0530
----------------------------------------------------------------------
.../org/apache/solr/update/SolrIndexConfig.java | 50 ++++++++++----------
.../cloud/autoscaling/IndexSizeTriggerTest.java | 13 ++++-
2 files changed, 36 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/2138b839/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java b/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
index 38f16c2..0df2b16 100644
--- a/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
+++ b/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
@@ -286,7 +286,30 @@ public class SolrIndexConfig implements MapSerializable {
private MergeScheduler buildMergeScheduler(IndexSchema schema) {
String msClassName = mergeSchedulerInfo == null ? SolrIndexConfig.DEFAULT_MERGE_SCHEDULER_CLASSNAME : mergeSchedulerInfo.className;
- MergeScheduler scheduler = new TestCMS(); // todo nocommit
+ // todo nocommit -- remove this scheduler instance with proper MDC logging support inside merge scheduler threads
+ MergeScheduler scheduler = new ConcurrentMergeScheduler() {
+ @Override
+ protected synchronized MergeThread getMergeThread(IndexWriter writer, MergePolicy.OneMerge merge) throws IOException {
+ MergeThread mergeThread = super.getMergeThread(writer, merge);
+ final Map<String, String> submitterContext = MDC.getCopyOfContextMap();
+ StringBuilder contextString = new StringBuilder();
+ if (submitterContext != null) {
+ Collection<String> values = submitterContext.values();
+
+ for (String value : values) {
+ contextString.append(value + " ");
+ }
+ if (contextString.length() > 1) {
+ contextString.setLength(contextString.length() - 1);
+ }
+ }
+
+ String ctxStr = contextString.toString().replace("/", "//");
+ final String submitterContextStr = ctxStr.length() <= 512 ? ctxStr : ctxStr.substring(0, 512);
+ mergeThread.setName(mergeThread.getName() + "-processing-" + submitterContextStr);
+ return mergeThread;
+ }
+ };
if (mergeSchedulerInfo != null) {
// LUCENE-5080: these two setters are removed, so we have to invoke setMaxMergesAndThreads
@@ -314,29 +337,4 @@ public class SolrIndexConfig implements MapSerializable {
return scheduler;
}
-
- static class TestCMS extends ConcurrentMergeScheduler {
- @Override
- protected synchronized MergeThread getMergeThread(IndexWriter writer, MergePolicy.OneMerge merge) throws IOException {
- MergeThread mergeThread = super.getMergeThread(writer, merge);
- final Map<String, String> submitterContext = MDC.getCopyOfContextMap();
- StringBuilder contextString = new StringBuilder();
- if (submitterContext != null) {
- Collection<String> values = submitterContext.values();
-
- for (String value : values) {
- contextString.append(value + " ");
- }
- if (contextString.length() > 1) {
- contextString.setLength(contextString.length() - 1);
- }
- }
-
- String ctxStr = contextString.toString().replace("/", "//");
- final String submitterContextStr = ctxStr.length() <= 512 ? ctxStr : ctxStr.substring(0, 512);
- mergeThread.setName(mergeThread.getName() + "-processing-" + submitterContextStr);
- return mergeThread;
- }
- }
-
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/2138b839/solr/core/src/test/org/apache/solr/cloud/autoscaling/IndexSizeTriggerTest.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/IndexSizeTriggerTest.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/IndexSizeTriggerTest.java
index 84833dc..76b1a55 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/IndexSizeTriggerTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/IndexSizeTriggerTest.java
@@ -67,7 +67,7 @@ import static org.apache.solr.common.cloud.ZkStateReader.SOLR_AUTOSCALING_CONF_P
/**
*
*/
-@LogLevel("org.apache.solr.cloud.autoscaling=DEBUG;org.apache.solr.handler.admin.MetricsHandler=DEBUG;org.apache.solr.core.SolrDeletionPolicy=DEBUG;org.apache.solr.core.IndexDeletionPolicyWrapper=DEBUG;org.apache.solr.client.solrj.cloud.autoscaling=DEBUG;org.apache.solr.cloud.api.collections=DEBUG;org.apache.solr.cloud.Overseer=DEBUG;org.apache.solr.cloud.overseer=DEBUGorg.apache.solr.client.solrj.cloud.autoscaling=DEBUG;org.apache.solr.cloud.api.collections=DEBUG;org.apache.solr.cloud.Overseer=DEBUG;org.apache.solr.cloud.overseer=DEBUG")
+//@LogLevel("org.apache.solr.cloud.autoscaling=DEBUG;org.apache.solr.handler.admin.MetricsHandler=DEBUG;org.apache.solr.core.SolrDeletionPolicy=DEBUG;org.apache.solr.core.IndexDeletionPolicyWrapper=DEBUG;org.apache.solr.client.solrj.cloud.autoscaling=DEBUG;org.apache.solr.cloud.api.collections=DEBUG;org.apache.solr.cloud.Overseer=DEBUG;org.apache.solr.cloud.overseer=DEBUGorg.apache.solr.client.solrj.cloud.autoscaling=DEBUG;org.apache.solr.cloud.api.collections=DEBUG;org.apache.solr.cloud.Overseer=DEBUG;org.apache.solr.cloud.overseer=DEBUG")
public class IndexSizeTriggerTest extends SolrCloudTestCase {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -652,6 +652,17 @@ public class IndexSizeTriggerTest extends SolrCloudTestCase {
// wait for the segments to merge to reduce the index size
cloudManager.getTimeSource().sleep(50000);
+ // add some docs so that every shard gets an update
+ // we can reduce the number of docs here but this also works
+ for (int j = 0; j < 1; j++) {
+ UpdateRequest ureq = new UpdateRequest();
+ ureq.setParam("collection", collectionName);
+ for (int i = 0; i < 98; i++) {
+ ureq.add("id", "id-" + (i * 100) + "-" + j);
+ }
+ solrClient.request(ureq);
+ }
+
log.info("-- requesting commit");
solrClient.commit(collectionName, true, true);