SOLR-11542: Rename TimePartitionedUpdateProcessor to TimeRoutedAliasUpdateProcessor

This commit is contained in:
David Smiley 2017-11-30 23:25:14 -05:00
parent 9c0ca9b465
commit 7877f5a511
4 changed files with 14 additions and 14 deletions

View File

@ -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)

View File

@ -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));
}

View File

@ -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);

View File

@ -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<Aliases> op = a -> a.cloneWithCollectionAliasMetadata(alias, TimePartitionedUpdateProcessor.ROUTER_FIELD_METADATA, timeField);
UnaryOperator<Aliases> 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 {