From 7877f5a511a60e44f2dabd45ac1d6f84626b1161 Mon Sep 17 00:00:00 2001 From: David Smiley Date: Thu, 30 Nov 2017 23:25:14 -0500 Subject: [PATCH] SOLR-11542: Rename TimePartitionedUpdateProcessor to TimeRoutedAliasUpdateProcessor --- solr/CHANGES.txt | 4 ++-- .../DistributedUpdateProcessorFactory.java | 2 +- ....java => TimeRoutedAliasUpdateProcessor.java} | 6 +++--- ...a => TimeRoutedAliasUpdateProcessorTest.java} | 16 ++++++++-------- 4 files changed, 14 insertions(+), 14 deletions(-) rename solr/core/src/java/org/apache/solr/update/processor/{TimePartitionedUpdateProcessor.java => TimeRoutedAliasUpdateProcessor.java} (98%) rename solr/core/src/test/org/apache/solr/update/processor/{TimePartitionedUpdateProcessorTest.java => TimeRoutedAliasUpdateProcessorTest.java} (95%) diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt index 737ef60a9a6..849a49bc6ce 100644 --- a/solr/CHANGES.txt +++ b/solr/CHANGES.txt @@ -91,11 +91,11 @@ New Features * SOLR-11487: Collection Aliases may now have metadata (currently an internal feature). (Gus Heck, David Smiley) -* SOLR-11542: New TimePartitionedUpdateProcessor URP that routes documents to another collection +* SOLR-11542: New TimeRoutedAliasUpdateProcessor URP that routes documents to another collection in the same Alias defined set based on a time field (currently an internal feature). (David Smiley) -* SOLR-9743: A new UTILIZENODE command (noble) +* SOLR-9743: A new UTILIZENODE command (noble) * SOLR-11202: Implement a set-property command for AutoScaling API. (ab, shalin) diff --git a/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessorFactory.java index c706e0c064a..1930c0893eb 100644 --- a/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessorFactory.java +++ b/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessorFactory.java @@ -50,7 +50,7 @@ public class DistributedUpdateProcessorFactory public UpdateRequestProcessor getInstance(SolrQueryRequest req, SolrQueryResponse rsp, UpdateRequestProcessor next) { // note: will sometimes return DURP (no overhead) instead of wrapping - return TimePartitionedUpdateProcessor.wrap(req, rsp, + return TimeRoutedAliasUpdateProcessor.wrap(req, rsp, new DistributedUpdateProcessor(req, rsp, next)); } diff --git a/solr/core/src/java/org/apache/solr/update/processor/TimePartitionedUpdateProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/TimeRoutedAliasUpdateProcessor.java similarity index 98% rename from solr/core/src/java/org/apache/solr/update/processor/TimePartitionedUpdateProcessor.java rename to solr/core/src/java/org/apache/solr/update/processor/TimeRoutedAliasUpdateProcessor.java index e485a3dc620..91489125670 100644 --- a/solr/core/src/java/org/apache/solr/update/processor/TimePartitionedUpdateProcessor.java +++ b/solr/core/src/java/org/apache/solr/update/processor/TimeRoutedAliasUpdateProcessor.java @@ -66,7 +66,7 @@ import static org.apache.solr.update.processor.DistributingUpdateProcessorFactor * * @since 7.2.0 */ -public class TimePartitionedUpdateProcessor extends UpdateRequestProcessor { +public class TimeRoutedAliasUpdateProcessor extends UpdateRequestProcessor { //TODO do we make this more generic to others who want to partition collections using something else? // TODO auto add new collection partitions when cross a timestamp boundary. That needs to be coordinated to avoid @@ -111,11 +111,11 @@ public class TimePartitionedUpdateProcessor extends UpdateRequestProcessor { // if shardDistribPhase is not NONE, then the phase is after the scope of this URP return next; } else { - return new TimePartitionedUpdateProcessor(req, rsp, next, timePartitionAliasName, aliasDistribPhase); + return new TimeRoutedAliasUpdateProcessor(req, rsp, next, timePartitionAliasName, aliasDistribPhase); } } - protected TimePartitionedUpdateProcessor(SolrQueryRequest req, SolrQueryResponse rsp, UpdateRequestProcessor next, + protected TimeRoutedAliasUpdateProcessor(SolrQueryRequest req, SolrQueryResponse rsp, UpdateRequestProcessor next, String aliasName, DistribPhase aliasDistribPhase) { super(next); diff --git a/solr/core/src/test/org/apache/solr/update/processor/TimePartitionedUpdateProcessorTest.java b/solr/core/src/test/org/apache/solr/update/processor/TimeRoutedAliasUpdateProcessorTest.java similarity index 95% rename from solr/core/src/test/org/apache/solr/update/processor/TimePartitionedUpdateProcessorTest.java rename to solr/core/src/test/org/apache/solr/update/processor/TimeRoutedAliasUpdateProcessorTest.java index eca6fbbb10f..f7f200f58ae 100644 --- a/solr/core/src/test/org/apache/solr/update/processor/TimePartitionedUpdateProcessorTest.java +++ b/solr/core/src/test/org/apache/solr/update/processor/TimeRoutedAliasUpdateProcessorTest.java @@ -48,7 +48,7 @@ import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; -public class TimePartitionedUpdateProcessorTest extends SolrCloudTestCase { +public class TimeRoutedAliasUpdateProcessorTest extends SolrCloudTestCase { static final String configName = "timeConfig"; static final String alias = "myalias"; @@ -103,7 +103,7 @@ public class TimePartitionedUpdateProcessorTest extends SolrCloudTestCase { // start with one collection and an alias for it final String col23rd = alias + "_2017-10-23"; CollectionAdminRequest.createCollection(col23rd, configName, 1, 1) - .withProperty(TimePartitionedUpdateProcessor.TIME_PARTITION_ALIAS_NAME_CORE_PROP, alias) + .withProperty(TimeRoutedAliasUpdateProcessor.TIME_PARTITION_ALIAS_NAME_CORE_PROP, alias) .process(solrClient); assertEquals("We only expect 2 configSets", @@ -112,7 +112,7 @@ public class TimePartitionedUpdateProcessorTest extends SolrCloudTestCase { CollectionAdminRequest.createAlias(alias, col23rd).process(solrClient); //TODO use SOLR-11617 client API to set alias metadata final ZkStateReader zkStateReader = cluster.getSolrClient().getZkStateReader(); - UnaryOperator op = a -> a.cloneWithCollectionAliasMetadata(alias, TimePartitionedUpdateProcessor.ROUTER_FIELD_METADATA, timeField); + UnaryOperator op = a -> a.cloneWithCollectionAliasMetadata(alias, TimeRoutedAliasUpdateProcessor.ROUTER_FIELD_METADATA, timeField); zkStateReader.aliasesHolder.applyModificationAndExportToZk(op); @@ -223,7 +223,7 @@ public class TimePartitionedUpdateProcessorTest extends SolrCloudTestCase { int totalNumFound = 0; Instant colEndInstant = null; // exclusive end for (String col : cols) { - final Instant colStartInstant = TimePartitionedUpdateProcessor.parseInstantFromCollectionName(alias, col); + final Instant colStartInstant = TimeRoutedAliasUpdateProcessor.parseInstantFromCollectionName(alias, col); //TODO do this in parallel threads final QueryResponse colStatsResp = solrClient.query(col, params( "q", "*:*", @@ -254,13 +254,13 @@ public class TimePartitionedUpdateProcessorTest extends SolrCloudTestCase { @Test public void testParse() { assertEquals(Instant.parse("2017-10-02T03:04:05Z"), - TimePartitionedUpdateProcessor.parseInstantFromCollectionName(alias, alias + "_2017-10-02_03_04_05")); + TimeRoutedAliasUpdateProcessor.parseInstantFromCollectionName(alias, alias + "_2017-10-02_03_04_05")); assertEquals(Instant.parse("2017-10-02T03:04:00Z"), - TimePartitionedUpdateProcessor.parseInstantFromCollectionName(alias, alias + "_2017-10-02_03_04")); + TimeRoutedAliasUpdateProcessor.parseInstantFromCollectionName(alias, alias + "_2017-10-02_03_04")); assertEquals(Instant.parse("2017-10-02T03:00:00Z"), - TimePartitionedUpdateProcessor.parseInstantFromCollectionName(alias, alias + "_2017-10-02_03")); + TimeRoutedAliasUpdateProcessor.parseInstantFromCollectionName(alias, alias + "_2017-10-02_03")); assertEquals(Instant.parse("2017-10-02T00:00:00Z"), - TimePartitionedUpdateProcessor.parseInstantFromCollectionName(alias, alias + "_2017-10-02")); + TimeRoutedAliasUpdateProcessor.parseInstantFromCollectionName(alias, alias + "_2017-10-02")); } public static class IncrementURPFactory extends FieldMutatingUpdateProcessorFactory {