mirror of https://github.com/apache/lucene.git
SOLR-11542: Rename TimePartitionedUpdateProcessor to TimeRoutedAliasUpdateProcessor
This commit is contained in:
parent
9c0ca9b465
commit
7877f5a511
|
@ -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)
|
||||
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
|
@ -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 {
|
Loading…
Reference in New Issue