diff --git a/benchmarks/src/main/java/org/elasticsearch/benchmark/routing/allocation/AllocationBenchmark.java b/benchmarks/src/main/java/org/elasticsearch/benchmark/routing/allocation/AllocationBenchmark.java index 39cfdb6582d..173a293f3e5 100644 --- a/benchmarks/src/main/java/org/elasticsearch/benchmark/routing/allocation/AllocationBenchmark.java +++ b/benchmarks/src/main/java/org/elasticsearch/benchmark/routing/allocation/AllocationBenchmark.java @@ -58,57 +58,57 @@ public class AllocationBenchmark { // support to constrain the combinations of benchmark parameters and we do not want to rely on OptionsBuilder as each benchmark would // need its own main method and we cannot execute more than one class with a main method per JAR. @Param({ - // indices, shards, replicas, nodes - " 10, 1, 0, 1", - " 10, 3, 0, 1", - " 10, 10, 0, 1", - " 100, 1, 0, 1", - " 100, 3, 0, 1", - " 100, 10, 0, 1", + // indices| shards| replicas| nodes + " 10| 1| 0| 1", + " 10| 3| 0| 1", + " 10| 10| 0| 1", + " 100| 1| 0| 1", + " 100| 3| 0| 1", + " 100| 10| 0| 1", - " 10, 1, 0, 10", - " 10, 3, 0, 10", - " 10, 10, 0, 10", - " 100, 1, 0, 10", - " 100, 3, 0, 10", - " 100, 10, 0, 10", + " 10| 1| 0| 10", + " 10| 3| 0| 10", + " 10| 10| 0| 10", + " 100| 1| 0| 10", + " 100| 3| 0| 10", + " 100| 10| 0| 10", - " 10, 1, 1, 10", - " 10, 3, 1, 10", - " 10, 10, 1, 10", - " 100, 1, 1, 10", - " 100, 3, 1, 10", - " 100, 10, 1, 10", + " 10| 1| 1| 10", + " 10| 3| 1| 10", + " 10| 10| 1| 10", + " 100| 1| 1| 10", + " 100| 3| 1| 10", + " 100| 10| 1| 10", - " 10, 1, 2, 10", - " 10, 3, 2, 10", - " 10, 10, 2, 10", - " 100, 1, 2, 10", - " 100, 3, 2, 10", - " 100, 10, 2, 10", + " 10| 1| 2| 10", + " 10| 3| 2| 10", + " 10| 10| 2| 10", + " 100| 1| 2| 10", + " 100| 3| 2| 10", + " 100| 10| 2| 10", - " 10, 1, 0, 50", - " 10, 3, 0, 50", - " 10, 10, 0, 50", - " 100, 1, 0, 50", - " 100, 3, 0, 50", - " 100, 10, 0, 50", + " 10| 1| 0| 50", + " 10| 3| 0| 50", + " 10| 10| 0| 50", + " 100| 1| 0| 50", + " 100| 3| 0| 50", + " 100| 10| 0| 50", - " 10, 1, 1, 50", - " 10, 3, 1, 50", - " 10, 10, 1, 50", - " 100, 1, 1, 50", - " 100, 3, 1, 50", - " 100, 10, 1, 50", + " 10| 1| 1| 50", + " 10| 3| 1| 50", + " 10| 10| 1| 50", + " 100| 1| 1| 50", + " 100| 3| 1| 50", + " 100| 10| 1| 50", - " 10, 1, 2, 50", - " 10, 3, 2, 50", - " 10, 10, 2, 50", - " 100, 1, 2, 50", - " 100, 3, 2, 50", - " 100, 10, 2, 50" + " 10| 1| 2| 50", + " 10| 3| 2| 50", + " 10| 10| 2| 50", + " 100| 1| 2| 50", + " 100| 3| 2| 50", + " 100| 10| 2| 50" }) - public String indicesShardsReplicasNodes = "10,1,0,1"; + public String indicesShardsReplicasNodes = "10|1|0|1"; public int numTags = 2; @@ -117,7 +117,7 @@ public class AllocationBenchmark { @Setup public void setUp() throws Exception { - final String[] params = indicesShardsReplicasNodes.split(","); + final String[] params = indicesShardsReplicasNodes.split("\\|"); int numIndices = toInt(params[0]); int numShards = toInt(params[1]); diff --git a/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy b/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy index ebe4a2bdccc..36f3b36e7cd 100644 --- a/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy +++ b/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy @@ -393,7 +393,7 @@ class BuildPlugin implements Plugin { } options.encoding = 'UTF-8' - //options.incremental = true + options.incremental = true if (project.javaVersion == JavaVersion.VERSION_1_9) { // hack until gradle supports java 9's new "--release" arg diff --git a/buildSrc/src/main/resources/checkstyle_suppressions.xml b/buildSrc/src/main/resources/checkstyle_suppressions.xml index 27f192de0b0..8374e14a7f1 100644 --- a/buildSrc/src/main/resources/checkstyle_suppressions.xml +++ b/buildSrc/src/main/resources/checkstyle_suppressions.xml @@ -38,7 +38,6 @@ - @@ -146,7 +145,6 @@ - @@ -881,7 +879,6 @@ - diff --git a/core/src/main/java/org/apache/lucene/queryparser/classic/ExistsFieldQueryExtension.java b/core/src/main/java/org/apache/lucene/queryparser/classic/ExistsFieldQueryExtension.java index cb4bee30aaa..7c3e8652c07 100644 --- a/core/src/main/java/org/apache/lucene/queryparser/classic/ExistsFieldQueryExtension.java +++ b/core/src/main/java/org/apache/lucene/queryparser/classic/ExistsFieldQueryExtension.java @@ -24,9 +24,6 @@ import org.apache.lucene.search.Query; import org.elasticsearch.index.query.ExistsQueryBuilder; import org.elasticsearch.index.query.QueryShardContext; -/** - * - */ public class ExistsFieldQueryExtension implements FieldQueryExtension { public static final String NAME = "_exists_"; diff --git a/core/src/main/java/org/apache/lucene/queryparser/classic/FieldQueryExtension.java b/core/src/main/java/org/apache/lucene/queryparser/classic/FieldQueryExtension.java index 299a37a1550..6d7e6dc6eca 100644 --- a/core/src/main/java/org/apache/lucene/queryparser/classic/FieldQueryExtension.java +++ b/core/src/main/java/org/apache/lucene/queryparser/classic/FieldQueryExtension.java @@ -22,9 +22,6 @@ package org.apache.lucene.queryparser.classic; import org.apache.lucene.search.Query; import org.elasticsearch.index.query.QueryShardContext; -/** - * - */ public interface FieldQueryExtension { Query query(QueryShardContext context, String queryText); diff --git a/core/src/main/java/org/apache/lucene/search/vectorhighlight/CustomFieldQuery.java b/core/src/main/java/org/apache/lucene/search/vectorhighlight/CustomFieldQuery.java index 88b045d2a5e..f58d4b47424 100644 --- a/core/src/main/java/org/apache/lucene/search/vectorhighlight/CustomFieldQuery.java +++ b/core/src/main/java/org/apache/lucene/search/vectorhighlight/CustomFieldQuery.java @@ -28,6 +28,7 @@ import org.apache.lucene.search.ConstantScoreQuery; import org.apache.lucene.search.MultiPhraseQuery; import org.apache.lucene.search.PhraseQuery; import org.apache.lucene.search.Query; +import org.apache.lucene.search.SynonymQuery; import org.apache.lucene.search.TermQuery; import org.apache.lucene.search.join.ToParentBlockJoinQuery; import org.apache.lucene.search.spans.SpanTermQuery; @@ -38,9 +39,6 @@ import org.elasticsearch.common.lucene.search.function.FunctionScoreQuery; import java.io.IOException; import java.util.Collection; -/** - * - */ // LUCENE MONITOR // TODO: remove me! public class CustomFieldQuery extends FieldQuery { @@ -88,6 +86,13 @@ public class CustomFieldQuery extends FieldQuery { flatten(boostingQuery.getMatch(), reader, flatQueries, boost); //flatten negative query with negative boost flatten(boostingQuery.getContext(), reader, flatQueries, boostingQuery.getBoost()); + } else if (sourceQuery instanceof SynonymQuery) { + // SynonymQuery should be handled by the parent class directly. + // This statement should be removed when https://issues.apache.org/jira/browse/LUCENE-7484 is merged. + SynonymQuery synQuery = (SynonymQuery) sourceQuery; + for (Term term : synQuery.getTerms()) { + flatten(new TermQuery(term), reader, flatQueries, boost); + } } else { super.flatten(sourceQuery, reader, flatQueries, boost); } diff --git a/core/src/main/java/org/apache/lucene/store/StoreRateLimiting.java b/core/src/main/java/org/apache/lucene/store/StoreRateLimiting.java index 3f5e10cb895..8e25d812e92 100644 --- a/core/src/main/java/org/apache/lucene/store/StoreRateLimiting.java +++ b/core/src/main/java/org/apache/lucene/store/StoreRateLimiting.java @@ -22,8 +22,6 @@ import org.apache.lucene.store.RateLimiter.SimpleRateLimiter; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.unit.ByteSizeValue; -/** - */ public class StoreRateLimiting { public interface Provider { diff --git a/core/src/main/java/org/apache/lucene/store/StoreUtils.java b/core/src/main/java/org/apache/lucene/store/StoreUtils.java index b7de08b1ec1..c26bbbac353 100644 --- a/core/src/main/java/org/apache/lucene/store/StoreUtils.java +++ b/core/src/main/java/org/apache/lucene/store/StoreUtils.java @@ -20,8 +20,6 @@ package org.apache.lucene.store; import java.util.Arrays; -/** - */ public final class StoreUtils { private StoreUtils() { diff --git a/core/src/main/java/org/elasticsearch/ElasticsearchParseException.java b/core/src/main/java/org/elasticsearch/ElasticsearchParseException.java index 1358ef54d9d..cdccdb8da95 100644 --- a/core/src/main/java/org/elasticsearch/ElasticsearchParseException.java +++ b/core/src/main/java/org/elasticsearch/ElasticsearchParseException.java @@ -24,9 +24,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class ElasticsearchParseException extends ElasticsearchException { public ElasticsearchParseException(String msg, Object... args) { diff --git a/core/src/main/java/org/elasticsearch/ElasticsearchWrapperException.java b/core/src/main/java/org/elasticsearch/ElasticsearchWrapperException.java index 79e501b537a..0b809e0923b 100644 --- a/core/src/main/java/org/elasticsearch/ElasticsearchWrapperException.java +++ b/core/src/main/java/org/elasticsearch/ElasticsearchWrapperException.java @@ -19,9 +19,6 @@ package org.elasticsearch; -/** - * - */ public interface ElasticsearchWrapperException { Throwable getCause(); diff --git a/core/src/main/java/org/elasticsearch/Version.java b/core/src/main/java/org/elasticsearch/Version.java index 4e9f3140498..65cb867bec9 100644 --- a/core/src/main/java/org/elasticsearch/Version.java +++ b/core/src/main/java/org/elasticsearch/Version.java @@ -29,8 +29,6 @@ import org.elasticsearch.monitor.jvm.JvmInfo; import java.io.IOException; -/** - */ public class Version { /* * The logic for ID is: XXYYZZAA, where XX is major version, YY is minor version, ZZ is revision, and AA is alpha/beta/rc indicator AA @@ -91,6 +89,8 @@ public class Version { public static final Version V_5_0_0_beta1 = new Version(V_5_0_0_beta1_ID, org.apache.lucene.util.Version.LUCENE_6_2_0); public static final int V_5_0_0_rc1_ID = 5000051; public static final Version V_5_0_0_rc1 = new Version(V_5_0_0_rc1_ID, org.apache.lucene.util.Version.LUCENE_6_2_0); + public static final int V_5_0_0_rc2_ID = 5000052; + public static final Version V_5_0_0_rc2 = new Version(V_5_0_0_rc2_ID, org.apache.lucene.util.Version.LUCENE_6_2_0); public static final int V_6_0_0_alpha1_ID = 6000001; public static final Version V_6_0_0_alpha1 = new Version(V_6_0_0_alpha1_ID, org.apache.lucene.util.Version.LUCENE_6_2_0); public static final Version CURRENT = V_6_0_0_alpha1; @@ -108,6 +108,8 @@ public class Version { switch (id) { case V_6_0_0_alpha1_ID: return V_6_0_0_alpha1; + case V_5_0_0_rc2_ID: + return V_5_0_0_rc2; case V_5_0_0_rc1_ID: return V_5_0_0_rc1; case V_5_0_0_beta1_ID: diff --git a/core/src/main/java/org/elasticsearch/action/ActionRequest.java b/core/src/main/java/org/elasticsearch/action/ActionRequest.java index 970afa413cc..e8dd639c4df 100644 --- a/core/src/main/java/org/elasticsearch/action/ActionRequest.java +++ b/core/src/main/java/org/elasticsearch/action/ActionRequest.java @@ -25,9 +25,6 @@ import org.elasticsearch.transport.TransportRequest; import java.io.IOException; -/** - * - */ public abstract class ActionRequest> extends TransportRequest { public ActionRequest() { diff --git a/core/src/main/java/org/elasticsearch/action/ActionRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/ActionRequestBuilder.java index 8cbc405dafb..076d4ae67f6 100644 --- a/core/src/main/java/org/elasticsearch/action/ActionRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/ActionRequestBuilder.java @@ -26,9 +26,6 @@ import org.elasticsearch.threadpool.ThreadPool; import java.util.Objects; -/** - * - */ public abstract class ActionRequestBuilder> { protected final Action action; diff --git a/core/src/main/java/org/elasticsearch/action/FailedNodeException.java b/core/src/main/java/org/elasticsearch/action/FailedNodeException.java index f6e680f2dab..bf9aad0d39e 100644 --- a/core/src/main/java/org/elasticsearch/action/FailedNodeException.java +++ b/core/src/main/java/org/elasticsearch/action/FailedNodeException.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - * - */ public class FailedNodeException extends ElasticsearchException { private final String nodeId; diff --git a/core/src/main/java/org/elasticsearch/action/NoShardAvailableActionException.java b/core/src/main/java/org/elasticsearch/action/NoShardAvailableActionException.java index 00562af99c5..af40a7a672e 100644 --- a/core/src/main/java/org/elasticsearch/action/NoShardAvailableActionException.java +++ b/core/src/main/java/org/elasticsearch/action/NoShardAvailableActionException.java @@ -26,9 +26,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class NoShardAvailableActionException extends ElasticsearchException { public NoShardAvailableActionException(ShardId shardId) { diff --git a/core/src/main/java/org/elasticsearch/action/NoSuchNodeException.java b/core/src/main/java/org/elasticsearch/action/NoSuchNodeException.java index 3f8ce1441c5..0d800cd99c3 100644 --- a/core/src/main/java/org/elasticsearch/action/NoSuchNodeException.java +++ b/core/src/main/java/org/elasticsearch/action/NoSuchNodeException.java @@ -23,9 +23,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class NoSuchNodeException extends FailedNodeException { public NoSuchNodeException(String nodeId) { diff --git a/core/src/main/java/org/elasticsearch/action/PrimaryMissingActionException.java b/core/src/main/java/org/elasticsearch/action/PrimaryMissingActionException.java index f364bdb9aef..6e9ff68f5e9 100644 --- a/core/src/main/java/org/elasticsearch/action/PrimaryMissingActionException.java +++ b/core/src/main/java/org/elasticsearch/action/PrimaryMissingActionException.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class PrimaryMissingActionException extends ElasticsearchException { public PrimaryMissingActionException(String message) { diff --git a/core/src/main/java/org/elasticsearch/action/RoutingMissingException.java b/core/src/main/java/org/elasticsearch/action/RoutingMissingException.java index 86bca96d744..1ecd9593e1c 100644 --- a/core/src/main/java/org/elasticsearch/action/RoutingMissingException.java +++ b/core/src/main/java/org/elasticsearch/action/RoutingMissingException.java @@ -27,9 +27,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; import java.util.Objects; -/** - * - */ public class RoutingMissingException extends ElasticsearchException { private final String type; diff --git a/core/src/main/java/org/elasticsearch/action/ThreadingModel.java b/core/src/main/java/org/elasticsearch/action/ThreadingModel.java index a4e020d9f08..996ebc9d6cc 100644 --- a/core/src/main/java/org/elasticsearch/action/ThreadingModel.java +++ b/core/src/main/java/org/elasticsearch/action/ThreadingModel.java @@ -20,9 +20,6 @@ package org.elasticsearch.action; -/** - * - */ public enum ThreadingModel { NONE((byte) 0), OPERATION((byte) 1), diff --git a/core/src/main/java/org/elasticsearch/action/TimestampParsingException.java b/core/src/main/java/org/elasticsearch/action/TimestampParsingException.java index 0764bb502c0..c8401969d7e 100644 --- a/core/src/main/java/org/elasticsearch/action/TimestampParsingException.java +++ b/core/src/main/java/org/elasticsearch/action/TimestampParsingException.java @@ -25,8 +25,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - */ public class TimestampParsingException extends ElasticsearchException { private final String timestamp; diff --git a/core/src/main/java/org/elasticsearch/action/UnavailableShardsException.java b/core/src/main/java/org/elasticsearch/action/UnavailableShardsException.java index e2cff9244ea..ac39bd91f2b 100644 --- a/core/src/main/java/org/elasticsearch/action/UnavailableShardsException.java +++ b/core/src/main/java/org/elasticsearch/action/UnavailableShardsException.java @@ -27,9 +27,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class UnavailableShardsException extends ElasticsearchException { public UnavailableShardsException(@Nullable ShardId shardId, String message, Object... args) { diff --git a/core/src/main/java/org/elasticsearch/action/ValidateActions.java b/core/src/main/java/org/elasticsearch/action/ValidateActions.java index d0ade0695fd..d748ba59e01 100644 --- a/core/src/main/java/org/elasticsearch/action/ValidateActions.java +++ b/core/src/main/java/org/elasticsearch/action/ValidateActions.java @@ -19,9 +19,6 @@ package org.elasticsearch.action; -/** - * - */ public class ValidateActions { public static ActionRequestValidationException addValidationError(String error, ActionRequestValidationException validationException) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthAction.java index 9770b05bae0..786b3185116 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.cluster.health; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class ClusterHealthAction extends Action { public static final ClusterHealthAction INSTANCE = new ClusterHealthAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthRequest.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthRequest.java index 47e0ecd7f74..ef206d0183b 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthRequest.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthRequest.java @@ -34,9 +34,6 @@ import org.elasticsearch.common.unit.TimeValue; import java.io.IOException; import java.util.concurrent.TimeUnit; -/** - * - */ public class ClusterHealthRequest extends MasterNodeReadRequest implements IndicesRequest.Replaceable { private String[] indices; diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthRequestBuilder.java index 1a82cf8cb1c..6716591f7a6 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthRequestBuilder.java @@ -26,9 +26,6 @@ import org.elasticsearch.cluster.health.ClusterHealthStatus; import org.elasticsearch.common.Priority; import org.elasticsearch.common.unit.TimeValue; -/** - * - */ public class ClusterHealthRequestBuilder extends MasterNodeReadOperationRequestBuilder { public ClusterHealthRequestBuilder(ElasticsearchClient client, ClusterHealthAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthResponse.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthResponse.java index d483ae86bf7..e4a575dcf79 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthResponse.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/health/ClusterHealthResponse.java @@ -36,9 +36,6 @@ import java.io.IOException; import java.util.Locale; import java.util.Map; -/** - * - */ public class ClusterHealthResponse extends ActionResponse implements StatusToXContent { private String clusterName; private int numberOfPendingTasks = 0; diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/health/TransportClusterHealthAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/health/TransportClusterHealthAction.java index 93140794240..7a5e5eef08a 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/health/TransportClusterHealthAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/health/TransportClusterHealthAction.java @@ -44,9 +44,6 @@ import org.elasticsearch.tasks.Task; import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.transport.TransportService; -/** - * - */ public class TransportClusterHealthAction extends TransportMasterNodeReadAction { private final GatewayAllocator gatewayAllocator; diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodeHotThreads.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodeHotThreads.java index 635be28a646..7268f962cee 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodeHotThreads.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodeHotThreads.java @@ -26,8 +26,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - */ public class NodeHotThreads extends BaseNodeResponse { private String hotThreads; diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsAction.java index 7010b4cb143..57ca90288ce 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.cluster.node.hotthreads; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class NodesHotThreadsAction extends Action { public static final NodesHotThreadsAction INSTANCE = new NodesHotThreadsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsRequest.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsRequest.java index e3df7f57312..60b03c710af 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsRequest.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsRequest.java @@ -27,8 +27,6 @@ import org.elasticsearch.common.unit.TimeValue; import java.io.IOException; import java.util.concurrent.TimeUnit; -/** - */ public class NodesHotThreadsRequest extends BaseNodesRequest { int threads = 3; diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsRequestBuilder.java index 60001f50b62..1709151e824 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsRequestBuilder.java @@ -23,8 +23,6 @@ import org.elasticsearch.action.support.nodes.NodesOperationRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; import org.elasticsearch.common.unit.TimeValue; -/** - */ public class NodesHotThreadsRequestBuilder extends NodesOperationRequestBuilder { public NodesHotThreadsRequestBuilder(ElasticsearchClient client, NodesHotThreadsAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsResponse.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsResponse.java index 3136f2b6826..44c38cb4f9a 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsResponse.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/NodesHotThreadsResponse.java @@ -28,8 +28,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; import java.util.List; -/** - */ public class NodesHotThreadsResponse extends BaseNodesResponse { NodesHotThreadsResponse() { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/TransportNodesHotThreadsAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/TransportNodesHotThreadsAction.java index 73403f40318..da45a3e4027 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/TransportNodesHotThreadsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/hotthreads/TransportNodesHotThreadsAction.java @@ -38,9 +38,6 @@ import org.elasticsearch.transport.TransportService; import java.io.IOException; import java.util.List; -/** - * - */ public class TransportNodesHotThreadsAction extends TransportNodesAction { public static final NodesInfoAction INSTANCE = new NodesInfoAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoRequestBuilder.java index 16befb79aab..12221016160 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoRequestBuilder.java @@ -22,9 +22,6 @@ package org.elasticsearch.action.admin.cluster.node.info; import org.elasticsearch.action.support.nodes.NodesOperationRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - * - */ public class NodesInfoRequestBuilder extends NodesOperationRequestBuilder { public NodesInfoRequestBuilder(ElasticsearchClient client, NodesInfoAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoResponse.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoResponse.java index 2d273bef2c0..f233494e1c6 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoResponse.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoResponse.java @@ -34,9 +34,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class NodesInfoResponse extends BaseNodesResponse implements ToXContent { public NodesInfoResponse() { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/info/TransportNodesInfoAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/info/TransportNodesInfoAction.java index 028198cf831..c26554b25e0 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/info/TransportNodesInfoAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/info/TransportNodesInfoAction.java @@ -36,9 +36,6 @@ import org.elasticsearch.transport.TransportService; import java.io.IOException; import java.util.List; -/** - * - */ public class TransportNodesInfoAction extends TransportNodesAction { public static final NodesStatsAction INSTANCE = new NodesStatsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/stats/NodesStatsRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/stats/NodesStatsRequestBuilder.java index 027e6122681..d4005c84d09 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/stats/NodesStatsRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/stats/NodesStatsRequestBuilder.java @@ -23,9 +23,6 @@ import org.elasticsearch.action.admin.indices.stats.CommonStatsFlags; import org.elasticsearch.action.support.nodes.NodesOperationRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - * - */ public class NodesStatsRequestBuilder extends NodesOperationRequestBuilder { public NodesStatsRequestBuilder(ElasticsearchClient client, NodesStatsAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/stats/NodesStatsResponse.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/stats/NodesStatsResponse.java index 1a9023ab93c..c4553304f41 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/stats/NodesStatsResponse.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/stats/NodesStatsResponse.java @@ -31,9 +31,6 @@ import org.elasticsearch.common.xcontent.XContentFactory; import java.io.IOException; import java.util.List; -/** - * - */ public class NodesStatsResponse extends BaseNodesResponse implements ToXContent { NodesStatsResponse() { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/stats/TransportNodesStatsAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/stats/TransportNodesStatsAction.java index 5863e54d08f..b4cef38d28d 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/node/stats/TransportNodesStatsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/node/stats/TransportNodesStatsAction.java @@ -36,9 +36,6 @@ import org.elasticsearch.transport.TransportService; import java.io.IOException; import java.util.List; -/** - * - */ public class TransportNodesStatsAction extends TransportNodesAction { public static long waitForCompletionTimeout(TimeValue timeout) { if (timeout == null) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/reroute/ClusterRerouteAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/reroute/ClusterRerouteAction.java index 7aa6dc25cdc..70a39d2d329 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/reroute/ClusterRerouteAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/reroute/ClusterRerouteAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.cluster.reroute; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class ClusterRerouteAction extends Action { public static final ClusterRerouteAction INSTANCE = new ClusterRerouteAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/reroute/TransportClusterRerouteAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/reroute/TransportClusterRerouteAction.java index 7aade821f83..6fe497dd16f 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/reroute/TransportClusterRerouteAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/reroute/TransportClusterRerouteAction.java @@ -39,8 +39,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.transport.TransportService; -/** - */ public class TransportClusterRerouteAction extends TransportMasterNodeAction { private final AllocationService allocationService; diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/settings/ClusterUpdateSettingsAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/settings/ClusterUpdateSettingsAction.java index 15b3e70dd04..bb0c0b08a92 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/settings/ClusterUpdateSettingsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/settings/ClusterUpdateSettingsAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.cluster.settings; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class ClusterUpdateSettingsAction extends Action { public static final ClusterUpdateSettingsAction INSTANCE = new ClusterUpdateSettingsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/settings/TransportClusterUpdateSettingsAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/settings/TransportClusterUpdateSettingsAction.java index 7e77d222430..ab6cdb94e1f 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/settings/TransportClusterUpdateSettingsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/settings/TransportClusterUpdateSettingsAction.java @@ -42,19 +42,19 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.transport.TransportService; -/** - * - */ -public class TransportClusterUpdateSettingsAction extends TransportMasterNodeAction { +public class TransportClusterUpdateSettingsAction extends + TransportMasterNodeAction { private final AllocationService allocationService; private final ClusterSettings clusterSettings; @Inject - public TransportClusterUpdateSettingsAction(Settings settings, TransportService transportService, ClusterService clusterService, ThreadPool threadPool, - AllocationService allocationService, ActionFilters actionFilters, IndexNameExpressionResolver indexNameExpressionResolver, ClusterSettings clusterSettings) { - super(settings, ClusterUpdateSettingsAction.NAME, transportService, clusterService, threadPool, actionFilters, indexNameExpressionResolver, ClusterUpdateSettingsRequest::new); + public TransportClusterUpdateSettingsAction(Settings settings, TransportService transportService, ClusterService clusterService, + ThreadPool threadPool, AllocationService allocationService, ActionFilters actionFilters, + IndexNameExpressionResolver indexNameExpressionResolver, ClusterSettings clusterSettings) { + super(settings, ClusterUpdateSettingsAction.NAME, false, transportService, clusterService, threadPool, actionFilters, + indexNameExpressionResolver, ClusterUpdateSettingsRequest::new); this.allocationService = allocationService; this.clusterSettings = clusterSettings; } @@ -67,8 +67,11 @@ public class TransportClusterUpdateSettingsAction extends TransportMasterNodeAct @Override protected ClusterBlockException checkBlock(ClusterUpdateSettingsRequest request, ClusterState state) { // allow for dedicated changes to the metadata blocks, so we don't block those to allow to "re-enable" it - if ((request.transientSettings().getAsMap().isEmpty() && request.persistentSettings().getAsMap().size() == 1 && MetaData.SETTING_READ_ONLY_SETTING.exists(request.persistentSettings())) || - request.persistentSettings().getAsMap().isEmpty() && request.transientSettings().getAsMap().size() == 1 && MetaData.SETTING_READ_ONLY_SETTING.exists(request.transientSettings())) { + if ((request.transientSettings().getAsMap().isEmpty() && + request.persistentSettings().getAsMap().size() == 1 && + MetaData.SETTING_READ_ONLY_SETTING.exists(request.persistentSettings())) || + (request.persistentSettings().getAsMap().isEmpty() && request.transientSettings().getAsMap().size() == 1 && + MetaData.SETTING_READ_ONLY_SETTING.exists(request.transientSettings()))) { return null; } return state.blocks().globalBlockedException(ClusterBlockLevel.METADATA_WRITE); @@ -81,7 +84,8 @@ public class TransportClusterUpdateSettingsAction extends TransportMasterNodeAct } @Override - protected void masterOperation(final ClusterUpdateSettingsRequest request, final ClusterState state, final ActionListener listener) { + protected void masterOperation(final ClusterUpdateSettingsRequest request, final ClusterState state, + final ActionListener listener) { final SettingsUpdater updater = new SettingsUpdater(clusterSettings); clusterService.submitStateUpdateTask("cluster_update_settings", new AckedClusterStateUpdateTask(Priority.IMMEDIATE, request, listener) { @@ -117,7 +121,8 @@ public class TransportClusterUpdateSettingsAction extends TransportMasterNodeAct // so we should *not* execute the reroute. if (!clusterService.state().nodes().isLocalNodeElectedMaster()) { logger.debug("Skipping reroute after cluster update settings, because node is no longer master"); - listener.onResponse(new ClusterUpdateSettingsResponse(updateSettingsAcked, updater.getTransientUpdates(), updater.getPersistentUpdate())); + listener.onResponse(new ClusterUpdateSettingsResponse(updateSettingsAcked, updater.getTransientUpdates(), + updater.getPersistentUpdate())); return; } @@ -135,15 +140,18 @@ public class TransportClusterUpdateSettingsAction extends TransportMasterNodeAct } @Override - //we return when the cluster reroute is acked or it times out but the acknowledged flag depends on whether the update settings was acknowledged + // we return when the cluster reroute is acked or it times out but the acknowledged flag depends on whether the + // update settings was acknowledged protected ClusterUpdateSettingsResponse newResponse(boolean acknowledged) { - return new ClusterUpdateSettingsResponse(updateSettingsAcked && acknowledged, updater.getTransientUpdates(), updater.getPersistentUpdate()); + return new ClusterUpdateSettingsResponse(updateSettingsAcked && acknowledged, updater.getTransientUpdates(), + updater.getPersistentUpdate()); } @Override public void onNoLongerMaster(String source) { logger.debug("failed to preform reroute after cluster settings were updated - current node is no longer a master"); - listener.onResponse(new ClusterUpdateSettingsResponse(updateSettingsAcked, updater.getTransientUpdates(), updater.getPersistentUpdate())); + listener.onResponse(new ClusterUpdateSettingsResponse(updateSettingsAcked, updater.getTransientUpdates(), + updater.getPersistentUpdate())); } @Override diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsAction.java index 28f7557a2e2..cb3240a7929 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.cluster.shards; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class ClusterSearchShardsAction extends Action { public static final ClusterSearchShardsAction INSTANCE = new ClusterSearchShardsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsGroup.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsGroup.java index ccb4d32465e..12d9ffe7c38 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsGroup.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsGroup.java @@ -30,8 +30,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; -/** - */ public class ClusterSearchShardsGroup implements Streamable, ToXContent { private ShardId shardId; diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsRequest.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsRequest.java index 21ecf8a4c4f..8dc747474c4 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsRequest.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsRequest.java @@ -30,8 +30,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - */ public class ClusterSearchShardsRequest extends MasterNodeReadRequest implements IndicesRequest.Replaceable { private String[] indices; @Nullable diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsRequestBuilder.java index 0b9c9d044e7..030d5db6472 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsRequestBuilder.java @@ -23,8 +23,6 @@ import org.elasticsearch.action.support.IndicesOptions; import org.elasticsearch.action.support.master.MasterNodeReadOperationRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class ClusterSearchShardsRequestBuilder extends MasterNodeReadOperationRequestBuilder { public ClusterSearchShardsRequestBuilder(ElasticsearchClient client, ClusterSearchShardsAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsResponse.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsResponse.java index 5f45025351e..140a0141a2d 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsResponse.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/ClusterSearchShardsResponse.java @@ -28,8 +28,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder; import java.io.IOException; -/** - */ public class ClusterSearchShardsResponse extends ActionResponse implements ToXContent { private ClusterSearchShardsGroup[] groups; diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/TransportClusterSearchShardsAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/TransportClusterSearchShardsAction.java index 2f9a6e7dede..087597d47fc 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/TransportClusterSearchShardsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/shards/TransportClusterSearchShardsAction.java @@ -42,8 +42,6 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -/** - */ public class TransportClusterSearchShardsAction extends TransportMasterNodeReadAction { @Inject diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/restore/TransportRestoreSnapshotAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/restore/TransportRestoreSnapshotAction.java index 070db6c5248..3ef12dfff0e 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/restore/TransportRestoreSnapshotAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/restore/TransportRestoreSnapshotAction.java @@ -22,19 +22,27 @@ package org.elasticsearch.action.admin.cluster.snapshots.restore; import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.support.ActionFilters; import org.elasticsearch.action.support.master.TransportMasterNodeAction; +import org.elasticsearch.cluster.ClusterChangedEvent; import org.elasticsearch.cluster.ClusterState; +import org.elasticsearch.cluster.ClusterStateListener; +import org.elasticsearch.cluster.RestoreInProgress; import org.elasticsearch.cluster.block.ClusterBlockException; import org.elasticsearch.cluster.block.ClusterBlockLevel; import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver; import org.elasticsearch.cluster.service.ClusterService; +import org.elasticsearch.common.collect.ImmutableOpenMap; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.index.shard.ShardId; import org.elasticsearch.snapshots.RestoreInfo; import org.elasticsearch.snapshots.RestoreService; +import org.elasticsearch.snapshots.RestoreService.RestoreCompletionResponse; import org.elasticsearch.snapshots.Snapshot; import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.transport.TransportService; +import static org.elasticsearch.snapshots.RestoreService.restoreInProgress; + /** * Transport action for restore snapshot operation */ @@ -78,28 +86,44 @@ public class TransportRestoreSnapshotAction extends TransportMasterNodeAction() { + restoreService.restoreSnapshot(restoreRequest, new ActionListener() { @Override - public void onResponse(RestoreInfo restoreInfo) { - if (restoreInfo == null && request.waitForCompletion()) { - restoreService.addListener(new ActionListener() { + public void onResponse(RestoreCompletionResponse restoreCompletionResponse) { + if (restoreCompletionResponse.getRestoreInfo() == null && request.waitForCompletion()) { + final Snapshot snapshot = restoreCompletionResponse.getSnapshot(); + + ClusterStateListener clusterStateListener = new ClusterStateListener() { @Override - public void onResponse(RestoreService.RestoreCompletionResponse restoreCompletionResponse) { - final Snapshot snapshot = restoreCompletionResponse.getSnapshot(); - if (snapshot.getRepository().equals(request.repository()) && - snapshot.getSnapshotId().getName().equals(request.snapshot())) { - listener.onResponse(new RestoreSnapshotResponse(restoreCompletionResponse.getRestoreInfo())); - restoreService.removeListener(this); + public void clusterChanged(ClusterChangedEvent changedEvent) { + final RestoreInProgress.Entry prevEntry = restoreInProgress(changedEvent.previousState(), snapshot); + final RestoreInProgress.Entry newEntry = restoreInProgress(changedEvent.state(), snapshot); + if (prevEntry == null) { + // When there is a master failure after a restore has been started, this listener might not be registered + // on the current master and as such it might miss some intermediary cluster states due to batching. + // Clean up listener in that case and acknowledge completion of restore operation to client. + clusterService.remove(this); + listener.onResponse(new RestoreSnapshotResponse(null)); + } else if (newEntry == null) { + clusterService.remove(this); + ImmutableOpenMap shards = prevEntry.shards(); + assert prevEntry.state().completed() : "expected completed snapshot state but was " + prevEntry.state(); + assert RestoreService.completed(shards) : "expected all restore entries to be completed"; + RestoreInfo ri = new RestoreInfo(prevEntry.snapshot().getSnapshotId().getName(), + prevEntry.indices(), + shards.size(), + shards.size() - RestoreService.failedShards(shards)); + RestoreSnapshotResponse response = new RestoreSnapshotResponse(ri); + logger.debug("restore of [{}] completed", snapshot); + listener.onResponse(response); + } else { + // restore not completed yet, wait for next cluster state update } } + }; - @Override - public void onFailure(Exception e) { - listener.onFailure(e); - } - }); + clusterService.addLast(clusterStateListener); } else { - listener.onResponse(new RestoreSnapshotResponse(restoreInfo)); + listener.onResponse(new RestoreSnapshotResponse(restoreCompletionResponse.getRestoreInfo())); } } diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotIndexShardStage.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotIndexShardStage.java index efbc82c9b6a..d96daa86f76 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotIndexShardStage.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotIndexShardStage.java @@ -20,8 +20,6 @@ package org.elasticsearch.action.admin.cluster.snapshots.status; -/** - */ public enum SnapshotIndexShardStage { /** diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotIndexShardStatus.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotIndexShardStatus.java index a7cebca0aa6..462c5cadabd 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotIndexShardStatus.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotIndexShardStatus.java @@ -29,8 +29,6 @@ import org.elasticsearch.index.snapshots.IndexShardSnapshotStatus; import java.io.IOException; -/** - */ public class SnapshotIndexShardStatus extends BroadcastShardResponse implements ToXContent { private SnapshotIndexShardStage stage = SnapshotIndexShardStage.INIT; diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotStats.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotStats.java index 2e0e3f993a1..a1eaaf9560a 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotStats.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/SnapshotStats.java @@ -28,8 +28,6 @@ import org.elasticsearch.index.snapshots.IndexShardSnapshotStatus; import java.io.IOException; -/** - */ public class SnapshotStats implements Streamable, ToXContent { private long startTime; diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/TransportSnapshotsStatusAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/TransportSnapshotsStatusAction.java index cf00784dc3f..c73ae48d070 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/TransportSnapshotsStatusAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/status/TransportSnapshotsStatusAction.java @@ -56,8 +56,6 @@ import java.util.Set; import java.util.function.Function; import java.util.stream.Collectors; -/** - */ public class TransportSnapshotsStatusAction extends TransportMasterNodeAction { private final SnapshotsService snapshotsService; diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateAction.java index 70786f99e0d..959658f6e7c 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.cluster.state; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class ClusterStateAction extends Action { public static final ClusterStateAction INSTANCE = new ClusterStateAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateRequest.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateRequest.java index f5dc975f0a3..e6b468b804b 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateRequest.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateRequest.java @@ -29,9 +29,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - * - */ public class ClusterStateRequest extends MasterNodeReadRequest implements IndicesRequest.Replaceable { private boolean routingTable = true; diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateRequestBuilder.java index e29798bb246..347a51afa13 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateRequestBuilder.java @@ -23,9 +23,6 @@ import org.elasticsearch.action.support.IndicesOptions; import org.elasticsearch.action.support.master.MasterNodeReadOperationRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - * - */ public class ClusterStateRequestBuilder extends MasterNodeReadOperationRequestBuilder { public ClusterStateRequestBuilder(ElasticsearchClient client, ClusterStateAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateResponse.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateResponse.java index 2a2f4707f69..f4d8b891b86 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateResponse.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/state/ClusterStateResponse.java @@ -27,9 +27,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - * - */ public class ClusterStateResponse extends ActionResponse { private ClusterName clusterName; diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/state/TransportClusterStateAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/state/TransportClusterStateAction.java index a1b10c9c4f4..6c965cb3bbd 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/state/TransportClusterStateAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/state/TransportClusterStateAction.java @@ -36,9 +36,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.transport.TransportService; -/** - * - */ public class TransportClusterStateAction extends TransportMasterNodeReadAction { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/ClusterStatsAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/ClusterStatsAction.java index 1cddf37ad31..80ae0b6911b 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/ClusterStatsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/ClusterStatsAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.cluster.stats; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class ClusterStatsAction extends Action { public static final ClusterStatsAction INSTANCE = new ClusterStatsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/ClusterStatsRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/ClusterStatsRequestBuilder.java index db64dc94919..f05d998ee04 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/ClusterStatsRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/ClusterStatsRequestBuilder.java @@ -22,9 +22,6 @@ package org.elasticsearch.action.admin.cluster.stats; import org.elasticsearch.action.support.nodes.NodesOperationRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - * - */ public class ClusterStatsRequestBuilder extends NodesOperationRequestBuilder { public ClusterStatsRequestBuilder(ElasticsearchClient client, ClusterStatsAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/ClusterStatsResponse.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/ClusterStatsResponse.java index efc72d104f8..f71065b99a8 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/ClusterStatsResponse.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/ClusterStatsResponse.java @@ -33,9 +33,6 @@ import java.io.IOException; import java.util.List; import java.util.Locale; -/** - * - */ public class ClusterStatsResponse extends BaseNodesResponse implements ToXContent { ClusterStatsNodes nodesStats; diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/TransportClusterStatsAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/TransportClusterStatsAction.java index 3eb73273832..c3665e6b77c 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/TransportClusterStatsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/stats/TransportClusterStatsAction.java @@ -47,9 +47,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -/** - * - */ public class TransportClusterStatsAction extends TransportNodesAction { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/DeleteStoredScriptAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/DeleteStoredScriptAction.java index e7686387061..61cb8561ea5 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/DeleteStoredScriptAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/DeleteStoredScriptAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.cluster.storedscripts; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class DeleteStoredScriptAction extends Action { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/GetStoredScriptAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/GetStoredScriptAction.java index 178598fad8b..7b9eb5209cc 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/GetStoredScriptAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/GetStoredScriptAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.cluster.storedscripts; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class GetStoredScriptAction extends Action { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/PutStoredScriptAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/PutStoredScriptAction.java index 264d37a42e0..d01a12f58a2 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/PutStoredScriptAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/PutStoredScriptAction.java @@ -23,8 +23,6 @@ import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class PutStoredScriptAction extends Action { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksAction.java index 1e3eb3f6e81..0b420a4e505 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.cluster.tasks; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class PendingClusterTasksAction extends Action { public static final PendingClusterTasksAction INSTANCE = new PendingClusterTasksAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksRequest.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksRequest.java index 09f25feb90f..738276a9907 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksRequest.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksRequest.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.cluster.tasks; import org.elasticsearch.action.ActionRequestValidationException; import org.elasticsearch.action.support.master.MasterNodeReadRequest; -/** - */ public class PendingClusterTasksRequest extends MasterNodeReadRequest { @Override diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksRequestBuilder.java index 1392d973eb3..029ba7414ab 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksRequestBuilder.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.cluster.tasks; import org.elasticsearch.action.support.master.MasterNodeReadOperationRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class PendingClusterTasksRequestBuilder extends MasterNodeReadOperationRequestBuilder { public PendingClusterTasksRequestBuilder(ElasticsearchClient client, PendingClusterTasksAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksResponse.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksResponse.java index 35d5b3efb7b..ae4a59fa83f 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksResponse.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/PendingClusterTasksResponse.java @@ -32,8 +32,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -/** - */ public class PendingClusterTasksResponse extends ActionResponse implements Iterable, ToXContent { private List pendingTasks; diff --git a/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/TransportPendingClusterTasksAction.java b/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/TransportPendingClusterTasksAction.java index 370b668f659..c15758de3cb 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/TransportPendingClusterTasksAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/cluster/tasks/TransportPendingClusterTasksAction.java @@ -35,8 +35,6 @@ import org.elasticsearch.transport.TransportService; import java.util.List; -/** - */ public class TransportPendingClusterTasksAction extends TransportMasterNodeReadAction { private final ClusterService clusterService; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesAction.java index 3cf0ca574fb..d4045b8b22e 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.alias; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class IndicesAliasesAction extends Action { public static final IndicesAliasesAction INSTANCE = new IndicesAliasesAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/AliasesExistAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/AliasesExistAction.java index 23dc1e13a56..70467f4343c 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/AliasesExistAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/AliasesExistAction.java @@ -23,8 +23,6 @@ import org.elasticsearch.action.Action; import org.elasticsearch.action.admin.indices.alias.get.GetAliasesRequest; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class AliasesExistAction extends Action { public static final AliasesExistAction INSTANCE = new AliasesExistAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/AliasesExistRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/AliasesExistRequestBuilder.java index 40f421006e3..d889d15ce9c 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/AliasesExistRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/AliasesExistRequestBuilder.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.alias.exists; import org.elasticsearch.action.admin.indices.alias.get.BaseAliasesRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class AliasesExistRequestBuilder extends BaseAliasesRequestBuilder { public AliasesExistRequestBuilder(ElasticsearchClient client, AliasesExistAction action, String... aliases) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/AliasesExistResponse.java b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/AliasesExistResponse.java index 65474c8e8ab..2d430bf9820 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/AliasesExistResponse.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/AliasesExistResponse.java @@ -25,8 +25,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - */ public class AliasesExistResponse extends ActionResponse { private boolean exists; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/TransportAliasesExistAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/TransportAliasesExistAction.java index 8ca09dbb67e..9a104598e8a 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/TransportAliasesExistAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/exists/TransportAliasesExistAction.java @@ -32,8 +32,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.transport.TransportService; -/** - */ public class TransportAliasesExistAction extends TransportMasterNodeReadAction { @Inject diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/BaseAliasesRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/BaseAliasesRequestBuilder.java index bcfdb0e10d8..f4e3868fda9 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/BaseAliasesRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/BaseAliasesRequestBuilder.java @@ -26,8 +26,6 @@ import org.elasticsearch.action.support.master.MasterNodeReadOperationRequestBui import org.elasticsearch.client.ElasticsearchClient; import org.elasticsearch.common.util.ArrayUtils; -/** - */ public abstract class BaseAliasesRequestBuilder> extends MasterNodeReadOperationRequestBuilder { public BaseAliasesRequestBuilder(ElasticsearchClient client, Action action, String... aliases) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesAction.java index 188f72e1e34..71badddacab 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.alias.get; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class GetAliasesAction extends Action { public static final GetAliasesAction INSTANCE = new GetAliasesAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesRequest.java b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesRequest.java index fd3a93b69d9..bcb887b8383 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesRequest.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesRequest.java @@ -28,8 +28,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - */ public class GetAliasesRequest extends MasterNodeReadRequest implements AliasesRequest { private String[] indices = Strings.EMPTY_ARRAY; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesRequestBuilder.java index 4a6f9885008..fa7101eba5a 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesRequestBuilder.java @@ -21,8 +21,6 @@ package org.elasticsearch.action.admin.indices.alias.get; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class GetAliasesRequestBuilder extends BaseAliasesRequestBuilder { public GetAliasesRequestBuilder(ElasticsearchClient client, GetAliasesAction action, String... aliases) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesResponse.java b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesResponse.java index e23faa1cbbf..85282788898 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesResponse.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/GetAliasesResponse.java @@ -31,8 +31,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -/** - */ public class GetAliasesResponse extends ActionResponse { private ImmutableOpenMap> aliases = ImmutableOpenMap.of(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/TransportGetAliasesAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/TransportGetAliasesAction.java index 061f916c2e0..e871fc04f97 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/TransportGetAliasesAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/alias/get/TransportGetAliasesAction.java @@ -35,8 +35,6 @@ import org.elasticsearch.transport.TransportService; import java.util.List; -/** - */ public class TransportGetAliasesAction extends TransportMasterNodeReadAction { @Inject diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeAction.java index b29ba7507f8..5b92af47b37 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.analyze; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class AnalyzeAction extends Action { public static final AnalyzeAction INSTANCE = new AnalyzeAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeRequestBuilder.java index 78d06185423..344681b997e 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeRequestBuilder.java @@ -23,9 +23,6 @@ import org.elasticsearch.client.ElasticsearchClient; import java.util.Map; -/** - * - */ public class AnalyzeRequestBuilder extends SingleShardOperationRequestBuilder { public AnalyzeRequestBuilder(ElasticsearchClient client, AnalyzeAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeResponse.java b/core/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeResponse.java index 48db340a1c7..302597e0e09 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeResponse.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/analyze/AnalyzeResponse.java @@ -32,9 +32,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -/** - * - */ public class AnalyzeResponse extends ActionResponse implements Iterable, ToXContent { public static class AnalyzeToken implements Streamable, ToXContent { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/cache/clear/ClearIndicesCacheAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/cache/clear/ClearIndicesCacheAction.java index 0880c66802e..f8e35168bcb 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/cache/clear/ClearIndicesCacheAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/cache/clear/ClearIndicesCacheAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.cache.clear; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class ClearIndicesCacheAction extends Action { public static final ClearIndicesCacheAction INSTANCE = new ClearIndicesCacheAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/cache/clear/ClearIndicesCacheRequest.java b/core/src/main/java/org/elasticsearch/action/admin/indices/cache/clear/ClearIndicesCacheRequest.java index 3c068b7ad21..c9e04d53064 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/cache/clear/ClearIndicesCacheRequest.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/cache/clear/ClearIndicesCacheRequest.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - * - */ public class ClearIndicesCacheRequest extends BroadcastRequest { private boolean queryCache = false; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/cache/clear/ClearIndicesCacheRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/cache/clear/ClearIndicesCacheRequestBuilder.java index 8061ec89d92..8cfe3d7b909 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/cache/clear/ClearIndicesCacheRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/cache/clear/ClearIndicesCacheRequestBuilder.java @@ -22,9 +22,6 @@ package org.elasticsearch.action.admin.indices.cache.clear; import org.elasticsearch.action.support.broadcast.BroadcastOperationRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - * - */ public class ClearIndicesCacheRequestBuilder extends BroadcastOperationRequestBuilder { public ClearIndicesCacheRequestBuilder(ElasticsearchClient client, ClearIndicesCacheAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/close/CloseIndexAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/close/CloseIndexAction.java index fcb38b01da5..44151f2cfe9 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/close/CloseIndexAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/close/CloseIndexAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.close; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class CloseIndexAction extends Action { public static final CloseIndexAction INSTANCE = new CloseIndexAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/create/CreateIndexAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/create/CreateIndexAction.java index aa3d3ac92ad..3bac77241bf 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/create/CreateIndexAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/create/CreateIndexAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.create; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class CreateIndexAction extends Action { public static final CreateIndexAction INSTANCE = new CreateIndexAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/delete/DeleteIndexAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/delete/DeleteIndexAction.java index 135aacc197b..2dcff890f3e 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/delete/DeleteIndexAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/delete/DeleteIndexAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.delete; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class DeleteIndexAction extends Action { public static final DeleteIndexAction INSTANCE = new DeleteIndexAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/delete/DeleteIndexRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/delete/DeleteIndexRequestBuilder.java index 9e5dc88b983..a75bcd77748 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/delete/DeleteIndexRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/delete/DeleteIndexRequestBuilder.java @@ -24,9 +24,6 @@ import org.elasticsearch.action.support.master.MasterNodeOperationRequestBuilder import org.elasticsearch.client.ElasticsearchClient; import org.elasticsearch.common.unit.TimeValue; -/** - * - */ public class DeleteIndexRequestBuilder extends MasterNodeOperationRequestBuilder { public DeleteIndexRequestBuilder(ElasticsearchClient client, DeleteIndexAction action, String... indices) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/exists/indices/IndicesExistsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/exists/indices/IndicesExistsAction.java index b9bfa00d7a2..aaabcec516b 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/exists/indices/IndicesExistsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/exists/indices/IndicesExistsAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.exists.indices; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class IndicesExistsAction extends Action { public static final IndicesExistsAction INSTANCE = new IndicesExistsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/exists/indices/IndicesExistsRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/exists/indices/IndicesExistsRequestBuilder.java index 5f01c26b325..183648b5dd9 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/exists/indices/IndicesExistsRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/exists/indices/IndicesExistsRequestBuilder.java @@ -23,9 +23,6 @@ import org.elasticsearch.action.support.IndicesOptions; import org.elasticsearch.action.support.master.MasterNodeReadOperationRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - * - */ public class IndicesExistsRequestBuilder extends MasterNodeReadOperationRequestBuilder { public IndicesExistsRequestBuilder(ElasticsearchClient client, IndicesExistsAction action, String... indices) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/exists/types/TypesExistsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/exists/types/TypesExistsAction.java index b7fea539d13..147d7b8f1ab 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/exists/types/TypesExistsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/exists/types/TypesExistsAction.java @@ -21,8 +21,6 @@ package org.elasticsearch.action.admin.indices.exists.types; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class TypesExistsAction extends Action { public static final TypesExistsAction INSTANCE = new TypesExistsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/exists/types/TypesExistsRequest.java b/core/src/main/java/org/elasticsearch/action/admin/indices/exists/types/TypesExistsRequest.java index 9aba8ec44ed..0e099da8488 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/exists/types/TypesExistsRequest.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/exists/types/TypesExistsRequest.java @@ -29,8 +29,6 @@ import java.io.IOException; import static org.elasticsearch.action.ValidateActions.addValidationError; -/** - */ public class TypesExistsRequest extends MasterNodeReadRequest implements IndicesRequest.Replaceable { private String[] indices; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/flush/FlushAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/flush/FlushAction.java index 4cc116fd1dd..1812cfae1a7 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/flush/FlushAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/flush/FlushAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.flush; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class FlushAction extends Action { public static final FlushAction INSTANCE = new FlushAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/flush/FlushRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/flush/FlushRequestBuilder.java index 39a80fd3ca5..bddf5ce0449 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/flush/FlushRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/flush/FlushRequestBuilder.java @@ -22,9 +22,6 @@ package org.elasticsearch.action.admin.indices.flush; import org.elasticsearch.action.support.broadcast.BroadcastOperationRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - * - */ public class FlushRequestBuilder extends BroadcastOperationRequestBuilder { public FlushRequestBuilder(ElasticsearchClient client, FlushAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/flush/TransportShardFlushAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/flush/TransportShardFlushAction.java index 7911b4e1e36..1ec7186393f 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/flush/TransportShardFlushAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/flush/TransportShardFlushAction.java @@ -33,9 +33,6 @@ import org.elasticsearch.indices.IndicesService; import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.transport.TransportService; -/** - * - */ public class TransportShardFlushAction extends TransportReplicationAction { public static final String NAME = FlushAction.NAME + "[s]"; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/forcemerge/ForceMergeAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/forcemerge/ForceMergeAction.java index 705fc6bc9db..656c5b91a70 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/forcemerge/ForceMergeAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/forcemerge/ForceMergeAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.forcemerge; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class ForceMergeAction extends Action { public static final ForceMergeAction INSTANCE = new ForceMergeAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/get/GetIndexAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/get/GetIndexAction.java index 74111c82b2f..f692c1e0263 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/get/GetIndexAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/get/GetIndexAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.get; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class GetIndexAction extends Action { public static final GetIndexAction INSTANCE = new GetIndexAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/get/GetIndexRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/get/GetIndexRequestBuilder.java index 7ffc8533aac..677bbeee485 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/get/GetIndexRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/get/GetIndexRequestBuilder.java @@ -23,9 +23,6 @@ import org.elasticsearch.action.admin.indices.get.GetIndexRequest.Feature; import org.elasticsearch.action.support.master.info.ClusterInfoRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - * - */ public class GetIndexRequestBuilder extends ClusterInfoRequestBuilder { public GetIndexRequestBuilder(ElasticsearchClient client, GetIndexAction action, String... indices) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetFieldMappingsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetFieldMappingsAction.java index 520ed7b2cd4..410292ca688 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetFieldMappingsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetFieldMappingsAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.mapping.get; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class GetFieldMappingsAction extends Action { public static final GetFieldMappingsAction INSTANCE = new GetFieldMappingsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsAction.java index d7dbebc600c..5a9425cadec 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.mapping.get; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class GetMappingsAction extends Action { public static final GetMappingsAction INSTANCE = new GetMappingsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsRequest.java b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsRequest.java index 15222cf83d7..dc4836286cd 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsRequest.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsRequest.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.mapping.get; import org.elasticsearch.action.ActionRequestValidationException; import org.elasticsearch.action.support.master.info.ClusterInfoRequest; -/** - */ public class GetMappingsRequest extends ClusterInfoRequest { @Override diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsRequestBuilder.java index 0471a29c82f..7ecb6713953 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsRequestBuilder.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.mapping.get; import org.elasticsearch.action.support.master.info.ClusterInfoRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class GetMappingsRequestBuilder extends ClusterInfoRequestBuilder { public GetMappingsRequestBuilder(ElasticsearchClient client, GetMappingsAction action, String... indices) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsResponse.java b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsResponse.java index 30e9e24c493..e092f1f148d 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsResponse.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/GetMappingsResponse.java @@ -28,8 +28,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - */ public class GetMappingsResponse extends ActionResponse { private ImmutableOpenMap> mappings = ImmutableOpenMap.of(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/TransportGetFieldMappingsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/TransportGetFieldMappingsAction.java index a69dd2ed437..8729b60e3bf 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/TransportGetFieldMappingsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/TransportGetFieldMappingsAction.java @@ -37,8 +37,6 @@ import java.util.concurrent.atomic.AtomicReferenceArray; import static java.util.Collections.unmodifiableMap; -/** - */ public class TransportGetFieldMappingsAction extends HandledTransportAction { private final ClusterService clusterService; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/TransportGetMappingsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/TransportGetMappingsAction.java index 293f5a0e677..363e935ca56 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/TransportGetMappingsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/get/TransportGetMappingsAction.java @@ -34,8 +34,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.transport.TransportService; -/** - */ public class TransportGetMappingsAction extends TransportClusterInfoAction { @Inject diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/put/PutMappingAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/put/PutMappingAction.java index 5ed79ceca98..5bcff09e01a 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/put/PutMappingAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/mapping/put/PutMappingAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.mapping.put; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class PutMappingAction extends Action { public static final PutMappingAction INSTANCE = new PutMappingAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/open/OpenIndexAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/open/OpenIndexAction.java index c12e8d23c9c..c8553322d30 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/open/OpenIndexAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/open/OpenIndexAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.open; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class OpenIndexAction extends Action { public static final OpenIndexAction INSTANCE = new OpenIndexAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/rollover/RolloverAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/rollover/RolloverAction.java index dd9d50dac73..f66c77968f1 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/rollover/RolloverAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/rollover/RolloverAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.rollover; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class RolloverAction extends Action { public static final RolloverAction INSTANCE = new RolloverAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/segments/IndicesSegmentsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/segments/IndicesSegmentsAction.java index d98bc56aa5c..a8cc79852c2 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/segments/IndicesSegmentsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/segments/IndicesSegmentsAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.segments; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class IndicesSegmentsAction extends Action { public static final IndicesSegmentsAction INSTANCE = new IndicesSegmentsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/segments/IndicesSegmentsRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/segments/IndicesSegmentsRequestBuilder.java index d839e2a25c3..ce4a5705168 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/segments/IndicesSegmentsRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/segments/IndicesSegmentsRequestBuilder.java @@ -22,9 +22,6 @@ package org.elasticsearch.action.admin.indices.segments; import org.elasticsearch.action.support.broadcast.BroadcastOperationRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - * - */ public class IndicesSegmentsRequestBuilder extends BroadcastOperationRequestBuilder { public IndicesSegmentsRequestBuilder(ElasticsearchClient client, IndicesSegmentsAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/segments/TransportIndicesSegmentsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/segments/TransportIndicesSegmentsAction.java index 8df46719c7b..350e8dffa19 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/segments/TransportIndicesSegmentsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/segments/TransportIndicesSegmentsAction.java @@ -41,9 +41,6 @@ import org.elasticsearch.transport.TransportService; import java.io.IOException; import java.util.List; -/** - * - */ public class TransportIndicesSegmentsAction extends TransportBroadcastByNodeAction { private final IndicesService indicesService; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsAction.java index 448a5e25fbd..1abf8e746fb 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.settings.get; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class GetSettingsAction extends Action { public static final GetSettingsAction INSTANCE = new GetSettingsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsRequest.java b/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsRequest.java index eb981491e52..d15da04acab 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsRequest.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsRequest.java @@ -30,8 +30,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - */ public class GetSettingsRequest extends MasterNodeReadRequest implements IndicesRequest.Replaceable { private String[] indices = Strings.EMPTY_ARRAY; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsRequestBuilder.java index 5a2ca7aef15..2fff2eca0c2 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsRequestBuilder.java @@ -24,8 +24,6 @@ import org.elasticsearch.action.support.master.MasterNodeReadOperationRequestBui import org.elasticsearch.client.ElasticsearchClient; import org.elasticsearch.common.util.ArrayUtils; -/** - */ public class GetSettingsRequestBuilder extends MasterNodeReadOperationRequestBuilder { public GetSettingsRequestBuilder(ElasticsearchClient client, GetSettingsAction action, String... indices) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsResponse.java b/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsResponse.java index c45c7d9f545..0a3229dcaf1 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsResponse.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/GetSettingsResponse.java @@ -28,8 +28,6 @@ import org.elasticsearch.common.settings.Settings; import java.io.IOException; -/** - */ public class GetSettingsResponse extends ActionResponse { private ImmutableOpenMap indexToSettings = ImmutableOpenMap.of(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/TransportGetSettingsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/TransportGetSettingsAction.java index f09d3fb559c..6e6d3eaee98 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/TransportGetSettingsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/settings/get/TransportGetSettingsAction.java @@ -40,8 +40,6 @@ import org.elasticsearch.transport.TransportService; import java.util.Map; -/** - */ public class TransportGetSettingsAction extends TransportMasterNodeReadAction { private final SettingsFilter settingsFilter; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/settings/put/TransportUpdateSettingsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/settings/put/TransportUpdateSettingsAction.java index f9ebff06636..67099b4d100 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/settings/put/TransportUpdateSettingsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/settings/put/TransportUpdateSettingsAction.java @@ -38,9 +38,6 @@ import org.elasticsearch.index.Index; import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.transport.TransportService; -/** - * - */ public class TransportUpdateSettingsAction extends TransportMasterNodeAction { private final MetaDataUpdateSettingsService updateSettingsService; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/settings/put/UpdateSettingsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/settings/put/UpdateSettingsAction.java index 17001b7376d..a23874831c2 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/settings/put/UpdateSettingsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/settings/put/UpdateSettingsAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.settings.put; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class UpdateSettingsAction extends Action { public static final UpdateSettingsAction INSTANCE = new UpdateSettingsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/shrink/ShrinkAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/shrink/ShrinkAction.java index 4c09241ad75..8b5b4670e3c 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/shrink/ShrinkAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/shrink/ShrinkAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.shrink; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class ShrinkAction extends Action { public static final ShrinkAction INSTANCE = new ShrinkAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndexShardStats.java b/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndexShardStats.java index dd4cc640a3d..6cdcabccbc4 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndexShardStats.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndexShardStats.java @@ -28,8 +28,6 @@ import java.io.IOException; import java.util.Arrays; import java.util.Iterator; -/** - */ public class IndexShardStats implements Iterable, Streamable { private ShardId shardId; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndexStats.java b/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndexStats.java index f13b714c284..7903a340628 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndexStats.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndexStats.java @@ -25,8 +25,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -/** - */ public class IndexStats implements Iterable { private final String index; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsAction.java index d83e368b216..1bf17115afb 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.stats; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class IndicesStatsAction extends Action { public static final IndicesStatsAction INSTANCE = new IndicesStatsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsResponse.java b/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsResponse.java index 2caa0da9569..3cbd7db66aa 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsResponse.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsResponse.java @@ -38,8 +38,6 @@ import java.util.Set; import static java.util.Collections.unmodifiableMap; -/** - */ public class IndicesStatsResponse extends BroadcastResponse implements ToXContent { private ShardStats[] shards; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/stats/ShardStats.java b/core/src/main/java/org/elasticsearch/action/admin/indices/stats/ShardStats.java index 5bc6ce81064..872f35677ec 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/stats/ShardStats.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/stats/ShardStats.java @@ -31,8 +31,6 @@ import org.elasticsearch.index.shard.ShardPath; import java.io.IOException; -/** - */ public class ShardStats implements Streamable, ToXContent { private ShardRouting shardRouting; private CommonStats commonStats; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/stats/TransportIndicesStatsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/stats/TransportIndicesStatsAction.java index 7e8ccd30a8a..42f13aa6daa 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/stats/TransportIndicesStatsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/stats/TransportIndicesStatsAction.java @@ -42,8 +42,6 @@ import org.elasticsearch.transport.TransportService; import java.io.IOException; import java.util.List; -/** - */ public class TransportIndicesStatsAction extends TransportBroadcastByNodeAction { private final IndicesService indicesService; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/template/delete/DeleteIndexTemplateAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/template/delete/DeleteIndexTemplateAction.java index 570ced293d8..3d871db3f4b 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/template/delete/DeleteIndexTemplateAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/template/delete/DeleteIndexTemplateAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.template.delete; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class DeleteIndexTemplateAction extends Action { public static final DeleteIndexTemplateAction INSTANCE = new DeleteIndexTemplateAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/template/delete/DeleteIndexTemplateRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/template/delete/DeleteIndexTemplateRequestBuilder.java index 670837e8047..620c432fe98 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/template/delete/DeleteIndexTemplateRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/template/delete/DeleteIndexTemplateRequestBuilder.java @@ -21,9 +21,6 @@ package org.elasticsearch.action.admin.indices.template.delete; import org.elasticsearch.action.support.master.MasterNodeOperationRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - * - */ public class DeleteIndexTemplateRequestBuilder extends MasterNodeOperationRequestBuilder { public DeleteIndexTemplateRequestBuilder(ElasticsearchClient client, DeleteIndexTemplateAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/template/get/GetIndexTemplatesAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/template/get/GetIndexTemplatesAction.java index b4db5e0529f..545601f0108 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/template/get/GetIndexTemplatesAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/template/get/GetIndexTemplatesAction.java @@ -21,9 +21,6 @@ package org.elasticsearch.action.admin.indices.template.get; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - * - */ public class GetIndexTemplatesAction extends Action { public static final GetIndexTemplatesAction INSTANCE = new GetIndexTemplatesAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/template/get/GetIndexTemplatesRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/template/get/GetIndexTemplatesRequestBuilder.java index 93e02be2ec7..5068f11a0d2 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/template/get/GetIndexTemplatesRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/template/get/GetIndexTemplatesRequestBuilder.java @@ -21,9 +21,6 @@ package org.elasticsearch.action.admin.indices.template.get; import org.elasticsearch.action.support.master.MasterNodeReadOperationRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - * - */ public class GetIndexTemplatesRequestBuilder extends MasterNodeReadOperationRequestBuilder { public GetIndexTemplatesRequestBuilder(ElasticsearchClient client, GetIndexTemplatesAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/template/get/TransportGetIndexTemplatesAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/template/get/TransportGetIndexTemplatesAction.java index 672ca1a9080..294550c9a62 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/template/get/TransportGetIndexTemplatesAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/template/get/TransportGetIndexTemplatesAction.java @@ -38,9 +38,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -/** - * - */ public class TransportGetIndexTemplatesAction extends TransportMasterNodeReadAction { @Inject diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/template/put/PutIndexTemplateAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/template/put/PutIndexTemplateAction.java index 51adc0b5cfc..a442b5463ba 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/template/put/PutIndexTemplateAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/template/put/PutIndexTemplateAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.template.put; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class PutIndexTemplateAction extends Action { public static final PutIndexTemplateAction INSTANCE = new PutIndexTemplateAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/template/put/PutIndexTemplateRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/template/put/PutIndexTemplateRequestBuilder.java index 8acc2b3f610..77343277f63 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/template/put/PutIndexTemplateRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/template/put/PutIndexTemplateRequestBuilder.java @@ -27,9 +27,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder; import java.util.Map; -/** - * - */ public class PutIndexTemplateRequestBuilder extends MasterNodeOperationRequestBuilder { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/get/TransportUpgradeStatusAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/get/TransportUpgradeStatusAction.java index cf288e0cc6f..c2c4424d4c8 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/get/TransportUpgradeStatusAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/get/TransportUpgradeStatusAction.java @@ -43,9 +43,6 @@ import org.elasticsearch.transport.TransportService; import java.io.IOException; import java.util.List; -/** - * - */ public class TransportUpgradeStatusAction extends TransportBroadcastByNodeAction { private final IndicesService indicesService; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/get/UpgradeStatusAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/get/UpgradeStatusAction.java index e0318b13b97..98c4ea68d88 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/get/UpgradeStatusAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/get/UpgradeStatusAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.upgrade.get; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class UpgradeStatusAction extends Action { public static final UpgradeStatusAction INSTANCE = new UpgradeStatusAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/get/UpgradeStatusRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/get/UpgradeStatusRequestBuilder.java index 98dd1c1828d..cee5bdcabe5 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/get/UpgradeStatusRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/get/UpgradeStatusRequestBuilder.java @@ -22,9 +22,6 @@ package org.elasticsearch.action.admin.indices.upgrade.get; import org.elasticsearch.action.support.broadcast.BroadcastOperationRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - * - */ public class UpgradeStatusRequestBuilder extends BroadcastOperationRequestBuilder { public UpgradeStatusRequestBuilder(ElasticsearchClient client, UpgradeStatusAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/ShardUpgradeRequest.java b/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/ShardUpgradeRequest.java index 550a5b15f66..6929a5ab544 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/ShardUpgradeRequest.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/ShardUpgradeRequest.java @@ -27,9 +27,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; -/** - * - */ public final class ShardUpgradeRequest extends BroadcastShardRequest { private UpgradeRequest request = new UpgradeRequest(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/ShardUpgradeResult.java b/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/ShardUpgradeResult.java index 46c51757159..cca5a812c3e 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/ShardUpgradeResult.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/ShardUpgradeResult.java @@ -28,9 +28,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; import java.text.ParseException; -/** - * - */ class ShardUpgradeResult implements Streamable { private ShardId shardId; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/TransportUpgradeSettingsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/TransportUpgradeSettingsAction.java index f467c6ae749..02d58a9db7e 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/TransportUpgradeSettingsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/TransportUpgradeSettingsAction.java @@ -36,9 +36,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.threadpool.ThreadPool; import org.elasticsearch.transport.TransportService; -/** - * - */ public class TransportUpgradeSettingsAction extends TransportMasterNodeAction { private final MetaDataUpdateSettingsService updateSettingsService; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/UpgradeSettingsAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/UpgradeSettingsAction.java index 5257b50132d..54632261ef4 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/UpgradeSettingsAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/upgrade/post/UpgradeSettingsAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.upgrade.post; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class UpgradeSettingsAction extends Action { public static final UpgradeSettingsAction INSTANCE = new UpgradeSettingsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/QueryExplanation.java b/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/QueryExplanation.java index ea145ba15bc..6da503ef828 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/QueryExplanation.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/QueryExplanation.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.io.stream.Streamable; import java.io.IOException; -/** - * - */ public class QueryExplanation implements Streamable { private String index; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/TransportValidateQueryAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/TransportValidateQueryAction.java index 773b4f7ad40..25ced69f03a 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/TransportValidateQueryAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/TransportValidateQueryAction.java @@ -56,9 +56,6 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicReferenceArray; -/** - * - */ public class TransportValidateQueryAction extends TransportBroadcastAction { private final SearchService searchService; diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/ValidateQueryAction.java b/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/ValidateQueryAction.java index fdec5490c97..51791062c83 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/ValidateQueryAction.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/ValidateQueryAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.admin.indices.validate.query; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class ValidateQueryAction extends Action { public static final ValidateQueryAction INSTANCE = new ValidateQueryAction(); diff --git a/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/ValidateQueryRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/ValidateQueryRequestBuilder.java index bfee7ec6b99..8e377968980 100644 --- a/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/ValidateQueryRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/admin/indices/validate/query/ValidateQueryRequestBuilder.java @@ -23,9 +23,6 @@ import org.elasticsearch.action.support.broadcast.BroadcastOperationRequestBuild import org.elasticsearch.client.ElasticsearchClient; import org.elasticsearch.index.query.QueryBuilder; -/** - * - */ public class ValidateQueryRequestBuilder extends BroadcastOperationRequestBuilder { public ValidateQueryRequestBuilder(ElasticsearchClient client, ValidateQueryAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/bulk/BulkAction.java b/core/src/main/java/org/elasticsearch/action/bulk/BulkAction.java index e442f61061a..d4aba69c343 100644 --- a/core/src/main/java/org/elasticsearch/action/bulk/BulkAction.java +++ b/core/src/main/java/org/elasticsearch/action/bulk/BulkAction.java @@ -24,8 +24,6 @@ import org.elasticsearch.client.ElasticsearchClient; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.transport.TransportRequestOptions; -/** - */ public class BulkAction extends Action { public static final BulkAction INSTANCE = new BulkAction(); diff --git a/core/src/main/java/org/elasticsearch/action/bulk/BulkItemRequest.java b/core/src/main/java/org/elasticsearch/action/bulk/BulkItemRequest.java index 760c5781aea..b9e1645e16c 100644 --- a/core/src/main/java/org/elasticsearch/action/bulk/BulkItemRequest.java +++ b/core/src/main/java/org/elasticsearch/action/bulk/BulkItemRequest.java @@ -30,9 +30,6 @@ import org.elasticsearch.common.io.stream.Streamable; import java.io.IOException; -/** - * - */ public class BulkItemRequest implements Streamable { private int id; diff --git a/core/src/main/java/org/elasticsearch/action/bulk/BulkShardRequest.java b/core/src/main/java/org/elasticsearch/action/bulk/BulkShardRequest.java index b9d7f876dc1..25366d034ca 100644 --- a/core/src/main/java/org/elasticsearch/action/bulk/BulkShardRequest.java +++ b/core/src/main/java/org/elasticsearch/action/bulk/BulkShardRequest.java @@ -29,9 +29,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -/** - * - */ public class BulkShardRequest extends ReplicatedWriteRequest { private BulkItemRequest[] items; diff --git a/core/src/main/java/org/elasticsearch/action/bulk/BulkShardResponse.java b/core/src/main/java/org/elasticsearch/action/bulk/BulkShardResponse.java index 22260181bb1..b51ce624800 100644 --- a/core/src/main/java/org/elasticsearch/action/bulk/BulkShardResponse.java +++ b/core/src/main/java/org/elasticsearch/action/bulk/BulkShardResponse.java @@ -28,9 +28,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; -/** - * - */ public class BulkShardResponse extends ReplicationResponse implements WriteResponse { private ShardId shardId; diff --git a/core/src/main/java/org/elasticsearch/action/bulk/TransportBulkAction.java b/core/src/main/java/org/elasticsearch/action/bulk/TransportBulkAction.java index da080b54b25..1943b793692 100644 --- a/core/src/main/java/org/elasticsearch/action/bulk/TransportBulkAction.java +++ b/core/src/main/java/org/elasticsearch/action/bulk/TransportBulkAction.java @@ -68,9 +68,6 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.LongSupplier; -/** - * - */ public class TransportBulkAction extends HandledTransportAction { private final AutoCreateIndex autoCreateIndex; diff --git a/core/src/main/java/org/elasticsearch/action/bulk/TransportShardBulkAction.java b/core/src/main/java/org/elasticsearch/action/bulk/TransportShardBulkAction.java index 7513d8889ec..c1303c6b56c 100644 --- a/core/src/main/java/org/elasticsearch/action/bulk/TransportShardBulkAction.java +++ b/core/src/main/java/org/elasticsearch/action/bulk/TransportShardBulkAction.java @@ -402,7 +402,7 @@ public class TransportShardBulkAction extends TransportWriteAction { public static final DeleteAction INSTANCE = new DeleteAction(); diff --git a/core/src/main/java/org/elasticsearch/action/explain/ExplainRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/explain/ExplainRequestBuilder.java index cf7b4821816..d2d9bb3b820 100644 --- a/core/src/main/java/org/elasticsearch/action/explain/ExplainRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/explain/ExplainRequestBuilder.java @@ -99,12 +99,9 @@ public class ExplainRequestBuilder extends SingleShardOperationRequestBuilder { public static final FieldStatsAction INSTANCE = new FieldStatsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsRequest.java b/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsRequest.java index d0b40374d6b..4137c4cd1c2 100644 --- a/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsRequest.java +++ b/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsRequest.java @@ -35,8 +35,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -/** - */ public class FieldStatsRequest extends BroadcastRequest { public static final String DEFAULT_LEVEL = "cluster"; diff --git a/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsRequestBuilder.java index 1a3a8070e46..7f9a744df83 100644 --- a/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsRequestBuilder.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.fieldstats; import org.elasticsearch.action.support.broadcast.BroadcastOperationRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class FieldStatsRequestBuilder extends BroadcastOperationRequestBuilder { diff --git a/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsResponse.java b/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsResponse.java index 14e2f13d4ff..10928dc9a78 100644 --- a/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsResponse.java +++ b/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsResponse.java @@ -30,8 +30,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -/** - */ public class FieldStatsResponse extends BroadcastResponse { private Map> indicesMergedFieldStats; private Map conflicts; diff --git a/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsShardRequest.java b/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsShardRequest.java index 85a0d469541..3844895bc24 100644 --- a/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsShardRequest.java +++ b/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsShardRequest.java @@ -29,8 +29,6 @@ import java.util.Arrays; import java.util.HashSet; import java.util.Set; -/** - */ public class FieldStatsShardRequest extends BroadcastShardRequest { private String[] fields; diff --git a/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsShardResponse.java b/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsShardResponse.java index 7cc298729f0..d94cfcd2958 100644 --- a/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsShardResponse.java +++ b/core/src/main/java/org/elasticsearch/action/fieldstats/FieldStatsShardResponse.java @@ -28,8 +28,6 @@ import java.io.IOException; import java.util.HashMap; import java.util.Map; -/** - */ public class FieldStatsShardResponse extends BroadcastShardResponse { private Map> fieldStats; diff --git a/core/src/main/java/org/elasticsearch/action/get/GetAction.java b/core/src/main/java/org/elasticsearch/action/get/GetAction.java index eb499ffb8c2..69c67b1be2b 100644 --- a/core/src/main/java/org/elasticsearch/action/get/GetAction.java +++ b/core/src/main/java/org/elasticsearch/action/get/GetAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.get; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class GetAction extends Action { public static final GetAction INSTANCE = new GetAction(); diff --git a/core/src/main/java/org/elasticsearch/action/get/GetRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/get/GetRequestBuilder.java index f56905d86ee..973b130bedb 100644 --- a/core/src/main/java/org/elasticsearch/action/get/GetRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/get/GetRequestBuilder.java @@ -99,12 +99,8 @@ public class GetRequestBuilder extends SingleShardOperationRequestBuilder { public static final MultiGetAction INSTANCE = new MultiGetAction(); diff --git a/core/src/main/java/org/elasticsearch/action/get/MultiGetRequest.java b/core/src/main/java/org/elasticsearch/action/get/MultiGetRequest.java index a0fa4025ec6..1308d56acaf 100644 --- a/core/src/main/java/org/elasticsearch/action/get/MultiGetRequest.java +++ b/core/src/main/java/org/elasticsearch/action/get/MultiGetRequest.java @@ -370,7 +370,7 @@ public class MultiGetRequest extends ActionRequest implements I long version = Versions.MATCH_ANY; VersionType versionType = VersionType.INTERNAL; - FetchSourceContext fetchSourceContext = null; + FetchSourceContext fetchSourceContext = FetchSourceContext.FETCH_SOURCE; while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) { if (token == XContentParser.Token.FIELD_NAME) { @@ -401,9 +401,11 @@ public class MultiGetRequest extends ActionRequest implements I versionType = VersionType.fromString(parser.text()); } else if ("_source".equals(currentFieldName)) { if (parser.isBooleanValue()) { - fetchSourceContext = new FetchSourceContext(parser.booleanValue()); + fetchSourceContext = new FetchSourceContext(parser.booleanValue(), fetchSourceContext.includes(), + fetchSourceContext.excludes()); } else if (token == XContentParser.Token.VALUE_STRING) { - fetchSourceContext = new FetchSourceContext(new String[]{parser.text()}); + fetchSourceContext = new FetchSourceContext(fetchSourceContext.fetchSource(), + new String[]{parser.text()}, fetchSourceContext.excludes()); } else { throw new ElasticsearchParseException("illegal type for _source: [{}]", token); } @@ -422,7 +424,8 @@ public class MultiGetRequest extends ActionRequest implements I while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) { includes.add(parser.text()); } - fetchSourceContext = new FetchSourceContext(includes.toArray(Strings.EMPTY_ARRAY)); + fetchSourceContext = new FetchSourceContext(fetchSourceContext.fetchSource(), includes.toArray(Strings.EMPTY_ARRAY) + , fetchSourceContext.excludes()); } } else if (token == XContentParser.Token.START_OBJECT) { @@ -450,7 +453,7 @@ public class MultiGetRequest extends ActionRequest implements I } } - fetchSourceContext = new FetchSourceContext( + fetchSourceContext = new FetchSourceContext(fetchSourceContext.fetchSource(), includes == null ? Strings.EMPTY_ARRAY : includes.toArray(new String[includes.size()]), excludes == null ? Strings.EMPTY_ARRAY : excludes.toArray(new String[excludes.size()])); } @@ -463,7 +466,7 @@ public class MultiGetRequest extends ActionRequest implements I aFields = defaultFields; } items.add(new Item(index, type, id).routing(routing).storedFields(aFields).parent(parent).version(version).versionType(versionType) - .fetchSourceContext(fetchSourceContext == null ? defaultFetchSource : fetchSourceContext)); + .fetchSourceContext(fetchSourceContext == FetchSourceContext.FETCH_SOURCE ? defaultFetchSource : fetchSourceContext)); } } diff --git a/core/src/main/java/org/elasticsearch/action/get/TransportMultiGetAction.java b/core/src/main/java/org/elasticsearch/action/get/TransportMultiGetAction.java index 4e62030d329..e2b71a08bf8 100644 --- a/core/src/main/java/org/elasticsearch/action/get/TransportMultiGetAction.java +++ b/core/src/main/java/org/elasticsearch/action/get/TransportMultiGetAction.java @@ -47,8 +47,8 @@ public class TransportMultiGetAction extends HandledTransportAction listener) { ClusterState clusterState = clusterService.state(); - clusterState.blocks().globalBlockedRaiseException(ClusterBlockLevel.READ); final AtomicArray responses = new AtomicArray<>(request.items.size()); + final Map shardRequests = new HashMap<>(); - Map shardRequests = new HashMap<>(); for (int i = 0; i < request.items.size(); i++) { MultiGetRequest.Item item = request.items.get(i); + if (!clusterState.metaData().hasConcreteIndex(item.index())) { - responses.set(i, new MultiGetItemResponse(null, new MultiGetResponse.Failure(item.index(), item.type(), item.id(), new IndexNotFoundException(item.index())))); + responses.set(i, newItemFailure(item.index(), item.type(), item.id(), new IndexNotFoundException(item.index()))); continue; } - item.routing(clusterState.metaData().resolveIndexRouting(item.parent(), item.routing(), item.index())); - String concreteSingleIndex = indexNameExpressionResolver.concreteSingleIndex(clusterState, item).getName(); - if (item.routing() == null && clusterState.getMetaData().routingRequired(concreteSingleIndex, item.type())) { - responses.set(i, new MultiGetItemResponse(null, new MultiGetResponse.Failure(concreteSingleIndex, item.type(), item.id(), - new IllegalArgumentException("routing is required for [" + concreteSingleIndex + "]/[" + item.type() + "]/[" + item.id() + "]")))); + + String concreteSingleIndex; + try { + item.routing(clusterState.metaData().resolveIndexRouting(item.parent(), item.routing(), item.index())); + concreteSingleIndex = indexNameExpressionResolver.concreteSingleIndex(clusterState, item).getName(); + + if ((item.routing() == null) && (clusterState.getMetaData().routingRequired(concreteSingleIndex, item.type()))) { + String message = "routing is required for [" + concreteSingleIndex + "]/[" + item.type() + "]/[" + item.id() + "]"; + responses.set(i, newItemFailure(concreteSingleIndex, item.type(), item.id(), new IllegalArgumentException(message))); + continue; + } + } catch (Exception e) { + responses.set(i, newItemFailure(item.index(), item.type(), item.id(), e)); continue; } + ShardId shardId = clusterService.operationRouting() - .getShards(clusterState, concreteSingleIndex, item.id(), item.routing(), null).shardId(); + .getShards(clusterState, concreteSingleIndex, item.id(), item.routing(), null) + .shardId(); + MultiGetShardRequest shardRequest = shardRequests.get(shardId); if (shardRequest == null) { - shardRequest = new MultiGetShardRequest(request, shardId.getIndexName(), shardId.id()); + shardRequest = new MultiGetShardRequest(request, shardId.getIndexName(), shardId.getId()); shardRequests.put(shardId, shardRequest); } shardRequest.add(i, item); } - if (shardRequests.size() == 0) { + if (shardRequests.isEmpty()) { // only failures.. listener.onResponse(new MultiGetResponse(responses.toArray(new MultiGetItemResponse[responses.length()]))); } @@ -97,7 +108,8 @@ public class TransportMultiGetAction extends HandledTransportAction { public static final IndexAction INSTANCE = new IndexAction(); diff --git a/core/src/main/java/org/elasticsearch/action/search/ClearScrollAction.java b/core/src/main/java/org/elasticsearch/action/search/ClearScrollAction.java index 6523378df4d..151635ac93f 100644 --- a/core/src/main/java/org/elasticsearch/action/search/ClearScrollAction.java +++ b/core/src/main/java/org/elasticsearch/action/search/ClearScrollAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.search; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class ClearScrollAction extends Action { public static final ClearScrollAction INSTANCE = new ClearScrollAction(); diff --git a/core/src/main/java/org/elasticsearch/action/search/ClearScrollRequest.java b/core/src/main/java/org/elasticsearch/action/search/ClearScrollRequest.java index 17343e86912..f2f26d655d3 100644 --- a/core/src/main/java/org/elasticsearch/action/search/ClearScrollRequest.java +++ b/core/src/main/java/org/elasticsearch/action/search/ClearScrollRequest.java @@ -31,8 +31,6 @@ import java.util.List; import static org.elasticsearch.action.ValidateActions.addValidationError; -/** - */ public class ClearScrollRequest extends ActionRequest { private List scrollIds; diff --git a/core/src/main/java/org/elasticsearch/action/search/ClearScrollRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/search/ClearScrollRequestBuilder.java index 6dac0c4b3b3..b1ca4a60a85 100644 --- a/core/src/main/java/org/elasticsearch/action/search/ClearScrollRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/search/ClearScrollRequestBuilder.java @@ -24,8 +24,6 @@ import org.elasticsearch.client.ElasticsearchClient; import java.util.List; -/** - */ public class ClearScrollRequestBuilder extends ActionRequestBuilder { public ClearScrollRequestBuilder(ElasticsearchClient client, ClearScrollAction action) { diff --git a/core/src/main/java/org/elasticsearch/action/search/ClearScrollResponse.java b/core/src/main/java/org/elasticsearch/action/search/ClearScrollResponse.java index 0887d268199..ff8314acce5 100644 --- a/core/src/main/java/org/elasticsearch/action/search/ClearScrollResponse.java +++ b/core/src/main/java/org/elasticsearch/action/search/ClearScrollResponse.java @@ -31,8 +31,6 @@ import java.io.IOException; import static org.elasticsearch.rest.RestStatus.NOT_FOUND; import static org.elasticsearch.rest.RestStatus.OK; -/** - */ public class ClearScrollResponse extends ActionResponse implements StatusToXContent { private boolean succeeded; diff --git a/core/src/main/java/org/elasticsearch/action/search/MultiSearchAction.java b/core/src/main/java/org/elasticsearch/action/search/MultiSearchAction.java index ffa0a4b63f0..04651c00c02 100644 --- a/core/src/main/java/org/elasticsearch/action/search/MultiSearchAction.java +++ b/core/src/main/java/org/elasticsearch/action/search/MultiSearchAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.search; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class MultiSearchAction extends Action { public static final MultiSearchAction INSTANCE = new MultiSearchAction(); diff --git a/core/src/main/java/org/elasticsearch/action/search/ParsedScrollId.java b/core/src/main/java/org/elasticsearch/action/search/ParsedScrollId.java index 2ddb35e1357..f2ea5356106 100644 --- a/core/src/main/java/org/elasticsearch/action/search/ParsedScrollId.java +++ b/core/src/main/java/org/elasticsearch/action/search/ParsedScrollId.java @@ -19,9 +19,6 @@ package org.elasticsearch.action.search; -/** - * - */ class ParsedScrollId { public static final String QUERY_THEN_FETCH_TYPE = "queryThenFetch"; diff --git a/core/src/main/java/org/elasticsearch/action/search/SearchAction.java b/core/src/main/java/org/elasticsearch/action/search/SearchAction.java index 501fe1afb76..38a77fa772a 100644 --- a/core/src/main/java/org/elasticsearch/action/search/SearchAction.java +++ b/core/src/main/java/org/elasticsearch/action/search/SearchAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.search; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class SearchAction extends Action { public static final SearchAction INSTANCE = new SearchAction(); diff --git a/core/src/main/java/org/elasticsearch/action/search/SearchPhaseController.java b/core/src/main/java/org/elasticsearch/action/search/SearchPhaseController.java index 7306e645e0d..58b2a7d4aa8 100644 --- a/core/src/main/java/org/elasticsearch/action/search/SearchPhaseController.java +++ b/core/src/main/java/org/elasticsearch/action/search/SearchPhaseController.java @@ -70,9 +70,6 @@ import java.util.Map; import java.util.stream.Collectors; import java.util.stream.StreamSupport; -/** - * - */ public class SearchPhaseController extends AbstractComponent { public static final Comparator> QUERY_RESULT_ORDERING = (o1, o2) -> { diff --git a/core/src/main/java/org/elasticsearch/action/search/SearchScrollAction.java b/core/src/main/java/org/elasticsearch/action/search/SearchScrollAction.java index eccfa0526a1..6bd23f7741a 100644 --- a/core/src/main/java/org/elasticsearch/action/search/SearchScrollAction.java +++ b/core/src/main/java/org/elasticsearch/action/search/SearchScrollAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.search; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class SearchScrollAction extends Action { public static final SearchScrollAction INSTANCE = new SearchScrollAction(); diff --git a/core/src/main/java/org/elasticsearch/action/search/SearchScrollRequest.java b/core/src/main/java/org/elasticsearch/action/search/SearchScrollRequest.java index 9ab2a4cf560..eff033a7600 100644 --- a/core/src/main/java/org/elasticsearch/action/search/SearchScrollRequest.java +++ b/core/src/main/java/org/elasticsearch/action/search/SearchScrollRequest.java @@ -31,9 +31,6 @@ import java.util.Objects; import static org.elasticsearch.action.ValidateActions.addValidationError; -/** - * - */ public class SearchScrollRequest extends ActionRequest { private String scrollId; diff --git a/core/src/main/java/org/elasticsearch/action/search/TransportSearchHelper.java b/core/src/main/java/org/elasticsearch/action/search/TransportSearchHelper.java index db42527b125..dcccf7e735f 100644 --- a/core/src/main/java/org/elasticsearch/action/search/TransportSearchHelper.java +++ b/core/src/main/java/org/elasticsearch/action/search/TransportSearchHelper.java @@ -30,9 +30,6 @@ import org.elasticsearch.search.internal.ShardSearchTransportRequest; import java.io.IOException; import java.util.Base64; -/** - * - */ final class TransportSearchHelper { static ShardSearchTransportRequest internalSearchRequest(ShardRouting shardRouting, int numberOfShards, SearchRequest request, diff --git a/core/src/main/java/org/elasticsearch/action/search/TransportSearchScrollAction.java b/core/src/main/java/org/elasticsearch/action/search/TransportSearchScrollAction.java index 9d2307f1b4f..71f3b6239d9 100644 --- a/core/src/main/java/org/elasticsearch/action/search/TransportSearchScrollAction.java +++ b/core/src/main/java/org/elasticsearch/action/search/TransportSearchScrollAction.java @@ -35,9 +35,6 @@ import static org.elasticsearch.action.search.ParsedScrollId.QUERY_AND_FETCH_TYP import static org.elasticsearch.action.search.ParsedScrollId.QUERY_THEN_FETCH_TYPE; import static org.elasticsearch.action.search.TransportSearchHelper.parseScrollId; -/** - * - */ public class TransportSearchScrollAction extends HandledTransportAction { private final ClusterService clusterService; diff --git a/core/src/main/java/org/elasticsearch/action/support/AbstractListenableActionFuture.java b/core/src/main/java/org/elasticsearch/action/support/AbstractListenableActionFuture.java index ee260ddd1e1..d6e06613d59 100644 --- a/core/src/main/java/org/elasticsearch/action/support/AbstractListenableActionFuture.java +++ b/core/src/main/java/org/elasticsearch/action/support/AbstractListenableActionFuture.java @@ -28,9 +28,6 @@ import org.elasticsearch.threadpool.ThreadPool; import java.util.ArrayList; import java.util.List; -/** - * - */ public abstract class AbstractListenableActionFuture extends AdapterActionFuture implements ListenableActionFuture { private static final Logger logger = Loggers.getLogger(AbstractListenableActionFuture.class); diff --git a/core/src/main/java/org/elasticsearch/action/support/AdapterActionFuture.java b/core/src/main/java/org/elasticsearch/action/support/AdapterActionFuture.java index eab486f4929..b2167c3051b 100644 --- a/core/src/main/java/org/elasticsearch/action/support/AdapterActionFuture.java +++ b/core/src/main/java/org/elasticsearch/action/support/AdapterActionFuture.java @@ -31,9 +31,6 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; -/** - * - */ public abstract class AdapterActionFuture extends BaseFuture implements ActionFuture, ActionListener { @Override diff --git a/core/src/main/java/org/elasticsearch/action/support/DefaultShardOperationFailedException.java b/core/src/main/java/org/elasticsearch/action/support/DefaultShardOperationFailedException.java index 0fe3be1ad63..3f7df803e24 100644 --- a/core/src/main/java/org/elasticsearch/action/support/DefaultShardOperationFailedException.java +++ b/core/src/main/java/org/elasticsearch/action/support/DefaultShardOperationFailedException.java @@ -31,9 +31,6 @@ import java.io.IOException; import static org.elasticsearch.ExceptionsHelper.detailedMessage; -/** - * - */ public class DefaultShardOperationFailedException implements ShardOperationFailedException { private String index; diff --git a/core/src/main/java/org/elasticsearch/action/support/PlainActionFuture.java b/core/src/main/java/org/elasticsearch/action/support/PlainActionFuture.java index f520def6e6d..094f82ae31f 100644 --- a/core/src/main/java/org/elasticsearch/action/support/PlainActionFuture.java +++ b/core/src/main/java/org/elasticsearch/action/support/PlainActionFuture.java @@ -19,9 +19,6 @@ package org.elasticsearch.action.support; -/** - * - */ public class PlainActionFuture extends AdapterActionFuture { public static PlainActionFuture newFuture() { diff --git a/core/src/main/java/org/elasticsearch/action/support/TransportAction.java b/core/src/main/java/org/elasticsearch/action/support/TransportAction.java index 7d1a091d6b3..e7d6d3b508f 100644 --- a/core/src/main/java/org/elasticsearch/action/support/TransportAction.java +++ b/core/src/main/java/org/elasticsearch/action/support/TransportAction.java @@ -38,9 +38,6 @@ import java.util.concurrent.atomic.AtomicInteger; import static org.elasticsearch.action.support.PlainActionFuture.newFuture; -/** - * - */ public abstract class TransportAction, Response extends ActionResponse> extends AbstractComponent { protected final ThreadPool threadPool; diff --git a/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastOperationRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastOperationRequestBuilder.java index 6170d967002..fb995513acb 100644 --- a/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastOperationRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastOperationRequestBuilder.java @@ -24,8 +24,6 @@ import org.elasticsearch.action.ActionRequestBuilder; import org.elasticsearch.action.support.IndicesOptions; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public abstract class BroadcastOperationRequestBuilder, Response extends BroadcastResponse, RequestBuilder extends BroadcastOperationRequestBuilder> extends ActionRequestBuilder { diff --git a/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastRequest.java b/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastRequest.java index 508581050a6..b6ab85c0b18 100644 --- a/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastRequest.java +++ b/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastRequest.java @@ -28,9 +28,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - * - */ public class BroadcastRequest> extends ActionRequest implements IndicesRequest.Replaceable { protected String[] indices; diff --git a/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastShardRequest.java b/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastShardRequest.java index 921724e6572..1012e8930bb 100644 --- a/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastShardRequest.java +++ b/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastShardRequest.java @@ -29,9 +29,6 @@ import org.elasticsearch.transport.TransportRequest; import java.io.IOException; -/** - * - */ public abstract class BroadcastShardRequest extends TransportRequest implements IndicesRequest { private ShardId shardId; diff --git a/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastShardResponse.java b/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastShardResponse.java index 398a8d6c905..6845e6ced6c 100644 --- a/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastShardResponse.java +++ b/core/src/main/java/org/elasticsearch/action/support/broadcast/BroadcastShardResponse.java @@ -26,9 +26,6 @@ import org.elasticsearch.transport.TransportResponse; import java.io.IOException; -/** - * - */ public abstract class BroadcastShardResponse extends TransportResponse { ShardId shardId; diff --git a/core/src/main/java/org/elasticsearch/action/support/broadcast/TransportBroadcastAction.java b/core/src/main/java/org/elasticsearch/action/support/broadcast/TransportBroadcastAction.java index 87ef385a243..f3b3d8d9839 100644 --- a/core/src/main/java/org/elasticsearch/action/support/broadcast/TransportBroadcastAction.java +++ b/core/src/main/java/org/elasticsearch/action/support/broadcast/TransportBroadcastAction.java @@ -48,9 +48,6 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReferenceArray; import java.util.function.Supplier; -/** - * - */ public abstract class TransportBroadcastAction, Response extends BroadcastResponse, ShardRequest extends BroadcastShardRequest, ShardResponse extends BroadcastShardResponse> extends HandledTransportAction { diff --git a/core/src/main/java/org/elasticsearch/action/support/master/info/ClusterInfoRequest.java b/core/src/main/java/org/elasticsearch/action/support/master/info/ClusterInfoRequest.java index 84ac29ad233..fc14cd38e56 100644 --- a/core/src/main/java/org/elasticsearch/action/support/master/info/ClusterInfoRequest.java +++ b/core/src/main/java/org/elasticsearch/action/support/master/info/ClusterInfoRequest.java @@ -28,8 +28,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - */ public abstract class ClusterInfoRequest> extends MasterNodeReadRequest implements IndicesRequest.Replaceable { private String[] indices = Strings.EMPTY_ARRAY; diff --git a/core/src/main/java/org/elasticsearch/action/support/master/info/ClusterInfoRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/support/master/info/ClusterInfoRequestBuilder.java index 1e871a41867..96e0ad8ee6b 100644 --- a/core/src/main/java/org/elasticsearch/action/support/master/info/ClusterInfoRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/support/master/info/ClusterInfoRequestBuilder.java @@ -25,8 +25,6 @@ import org.elasticsearch.action.support.master.MasterNodeReadOperationRequestBui import org.elasticsearch.client.ElasticsearchClient; import org.elasticsearch.common.util.ArrayUtils; -/** - */ public abstract class ClusterInfoRequestBuilder, Response extends ActionResponse, Builder extends ClusterInfoRequestBuilder> extends MasterNodeReadOperationRequestBuilder { diff --git a/core/src/main/java/org/elasticsearch/action/support/master/info/TransportClusterInfoAction.java b/core/src/main/java/org/elasticsearch/action/support/master/info/TransportClusterInfoAction.java index 66b9fce5d71..59b1997b356 100644 --- a/core/src/main/java/org/elasticsearch/action/support/master/info/TransportClusterInfoAction.java +++ b/core/src/main/java/org/elasticsearch/action/support/master/info/TransportClusterInfoAction.java @@ -31,8 +31,6 @@ import org.elasticsearch.transport.TransportService; import java.util.function.Supplier; -/** - */ public abstract class TransportClusterInfoAction, Response extends ActionResponse> extends TransportMasterNodeReadAction { diff --git a/core/src/main/java/org/elasticsearch/action/support/nodes/BaseNodeRequest.java b/core/src/main/java/org/elasticsearch/action/support/nodes/BaseNodeRequest.java index f743ff02c74..1ce32247eab 100644 --- a/core/src/main/java/org/elasticsearch/action/support/nodes/BaseNodeRequest.java +++ b/core/src/main/java/org/elasticsearch/action/support/nodes/BaseNodeRequest.java @@ -25,9 +25,6 @@ import org.elasticsearch.transport.TransportRequest; import java.io.IOException; -/** - * - */ public abstract class BaseNodeRequest extends TransportRequest { private String nodeId; diff --git a/core/src/main/java/org/elasticsearch/action/support/nodes/BaseNodesRequest.java b/core/src/main/java/org/elasticsearch/action/support/nodes/BaseNodesRequest.java index 663537f25da..4523e8d339a 100644 --- a/core/src/main/java/org/elasticsearch/action/support/nodes/BaseNodesRequest.java +++ b/core/src/main/java/org/elasticsearch/action/support/nodes/BaseNodesRequest.java @@ -29,9 +29,6 @@ import org.elasticsearch.common.unit.TimeValue; import java.io.IOException; -/** - * - */ public abstract class BaseNodesRequest> extends ActionRequest { /** diff --git a/core/src/main/java/org/elasticsearch/action/support/nodes/BaseNodesResponse.java b/core/src/main/java/org/elasticsearch/action/support/nodes/BaseNodesResponse.java index 462f0b07bd6..7d97a7b5a92 100644 --- a/core/src/main/java/org/elasticsearch/action/support/nodes/BaseNodesResponse.java +++ b/core/src/main/java/org/elasticsearch/action/support/nodes/BaseNodesResponse.java @@ -31,9 +31,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; -/** - * - */ public abstract class BaseNodesResponse extends ActionResponse { private ClusterName clusterName; diff --git a/core/src/main/java/org/elasticsearch/action/support/nodes/NodesOperationRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/support/nodes/NodesOperationRequestBuilder.java index cf8190f2c32..ffb43e7ee04 100644 --- a/core/src/main/java/org/elasticsearch/action/support/nodes/NodesOperationRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/support/nodes/NodesOperationRequestBuilder.java @@ -24,8 +24,6 @@ import org.elasticsearch.action.ActionRequestBuilder; import org.elasticsearch.client.ElasticsearchClient; import org.elasticsearch.common.unit.TimeValue; -/** - */ public abstract class NodesOperationRequestBuilder, Response extends BaseNodesResponse, RequestBuilder extends NodesOperationRequestBuilder> extends ActionRequestBuilder { diff --git a/core/src/main/java/org/elasticsearch/action/support/replication/ReplicationRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/support/replication/ReplicationRequestBuilder.java index 6c25882d141..4ef20fcb15b 100644 --- a/core/src/main/java/org/elasticsearch/action/support/replication/ReplicationRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/support/replication/ReplicationRequestBuilder.java @@ -26,8 +26,6 @@ import org.elasticsearch.action.support.ActiveShardCount; import org.elasticsearch.client.ElasticsearchClient; import org.elasticsearch.common.unit.TimeValue; -/** - */ public abstract class ReplicationRequestBuilder, Response extends ActionResponse, RequestBuilder extends ReplicationRequestBuilder> extends ActionRequestBuilder { diff --git a/core/src/main/java/org/elasticsearch/action/support/single/instance/InstanceShardOperationRequest.java b/core/src/main/java/org/elasticsearch/action/support/single/instance/InstanceShardOperationRequest.java index cb9a6ab9f69..a6bb0f8e0a1 100644 --- a/core/src/main/java/org/elasticsearch/action/support/single/instance/InstanceShardOperationRequest.java +++ b/core/src/main/java/org/elasticsearch/action/support/single/instance/InstanceShardOperationRequest.java @@ -32,9 +32,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; import java.util.concurrent.TimeUnit; -/** - * - */ public abstract class InstanceShardOperationRequest> extends ActionRequest implements IndicesRequest { diff --git a/core/src/main/java/org/elasticsearch/action/support/single/instance/InstanceShardOperationRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/support/single/instance/InstanceShardOperationRequestBuilder.java index 13266b9151d..7bec08ce9ec 100644 --- a/core/src/main/java/org/elasticsearch/action/support/single/instance/InstanceShardOperationRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/support/single/instance/InstanceShardOperationRequestBuilder.java @@ -25,8 +25,6 @@ import org.elasticsearch.action.ActionResponse; import org.elasticsearch.client.ElasticsearchClient; import org.elasticsearch.common.unit.TimeValue; -/** - */ public abstract class InstanceShardOperationRequestBuilder, Response extends ActionResponse, RequestBuilder extends InstanceShardOperationRequestBuilder> extends ActionRequestBuilder { diff --git a/core/src/main/java/org/elasticsearch/action/support/single/instance/TransportInstanceSingleOperationAction.java b/core/src/main/java/org/elasticsearch/action/support/single/instance/TransportInstanceSingleOperationAction.java index 81da5ec9a86..35d3ee111c3 100644 --- a/core/src/main/java/org/elasticsearch/action/support/single/instance/TransportInstanceSingleOperationAction.java +++ b/core/src/main/java/org/elasticsearch/action/support/single/instance/TransportInstanceSingleOperationAction.java @@ -49,9 +49,6 @@ import org.elasticsearch.transport.TransportService; import java.util.function.Supplier; -/** - * - */ public abstract class TransportInstanceSingleOperationAction, Response extends ActionResponse> extends HandledTransportAction { protected final ClusterService clusterService; diff --git a/core/src/main/java/org/elasticsearch/action/support/single/shard/SingleShardOperationRequestBuilder.java b/core/src/main/java/org/elasticsearch/action/support/single/shard/SingleShardOperationRequestBuilder.java index 3e9897c7c85..03d4fb6343d 100644 --- a/core/src/main/java/org/elasticsearch/action/support/single/shard/SingleShardOperationRequestBuilder.java +++ b/core/src/main/java/org/elasticsearch/action/support/single/shard/SingleShardOperationRequestBuilder.java @@ -24,8 +24,6 @@ import org.elasticsearch.action.ActionRequestBuilder; import org.elasticsearch.action.ActionResponse; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public abstract class SingleShardOperationRequestBuilder, Response extends ActionResponse, RequestBuilder extends SingleShardOperationRequestBuilder> extends ActionRequestBuilder { diff --git a/core/src/main/java/org/elasticsearch/action/support/single/shard/SingleShardRequest.java b/core/src/main/java/org/elasticsearch/action/support/single/shard/SingleShardRequest.java index 499932fce68..4265fa98337 100644 --- a/core/src/main/java/org/elasticsearch/action/support/single/shard/SingleShardRequest.java +++ b/core/src/main/java/org/elasticsearch/action/support/single/shard/SingleShardRequest.java @@ -31,9 +31,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; -/** - * - */ public abstract class SingleShardRequest> extends ActionRequest implements IndicesRequest { public static final IndicesOptions INDICES_OPTIONS = IndicesOptions.strictSingleIndexNoExpandForbidClosed(); diff --git a/core/src/main/java/org/elasticsearch/action/termvectors/MultiTermVectorsAction.java b/core/src/main/java/org/elasticsearch/action/termvectors/MultiTermVectorsAction.java index 9cc328c2be7..a84ba25f5bb 100644 --- a/core/src/main/java/org/elasticsearch/action/termvectors/MultiTermVectorsAction.java +++ b/core/src/main/java/org/elasticsearch/action/termvectors/MultiTermVectorsAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.termvectors; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class MultiTermVectorsAction extends Action { public static final MultiTermVectorsAction INSTANCE = new MultiTermVectorsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/termvectors/TermVectorsAction.java b/core/src/main/java/org/elasticsearch/action/termvectors/TermVectorsAction.java index a4c53ee4a2d..982f7ad52c1 100644 --- a/core/src/main/java/org/elasticsearch/action/termvectors/TermVectorsAction.java +++ b/core/src/main/java/org/elasticsearch/action/termvectors/TermVectorsAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.termvectors; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class TermVectorsAction extends Action { public static final TermVectorsAction INSTANCE = new TermVectorsAction(); diff --git a/core/src/main/java/org/elasticsearch/action/update/TransportUpdateAction.java b/core/src/main/java/org/elasticsearch/action/update/TransportUpdateAction.java index e5322f51d50..fe123e4638a 100644 --- a/core/src/main/java/org/elasticsearch/action/update/TransportUpdateAction.java +++ b/core/src/main/java/org/elasticsearch/action/update/TransportUpdateAction.java @@ -64,8 +64,6 @@ import java.util.Map; import static org.elasticsearch.ExceptionsHelper.unwrapCause; -/** - */ public class TransportUpdateAction extends TransportInstanceSingleOperationAction { private final TransportDeleteAction deleteAction; @@ -176,7 +174,7 @@ public class TransportUpdateAction extends TransportInstanceSingleOperationActio final ShardId shardId = request.getShardId(); final IndexService indexService = indicesService.indexServiceSafe(shardId.getIndex()); final IndexShard indexShard = indexService.getShard(shardId.getId()); - final UpdateHelper.Result result = updateHelper.prepare(request, indexShard); + final UpdateHelper.Result result = updateHelper.prepare(request, indexShard, threadPool::estimatedTimeInMillis); switch (result.getResponseResult()) { case CREATED: IndexRequest upsertRequest = result.action(); diff --git a/core/src/main/java/org/elasticsearch/action/update/UpdateAction.java b/core/src/main/java/org/elasticsearch/action/update/UpdateAction.java index 4ac1002dbc6..7d7997a7a0b 100644 --- a/core/src/main/java/org/elasticsearch/action/update/UpdateAction.java +++ b/core/src/main/java/org/elasticsearch/action/update/UpdateAction.java @@ -22,8 +22,6 @@ package org.elasticsearch.action.update; import org.elasticsearch.action.Action; import org.elasticsearch.client.ElasticsearchClient; -/** - */ public class UpdateAction extends Action { public static final UpdateAction INSTANCE = new UpdateAction(); diff --git a/core/src/main/java/org/elasticsearch/action/update/UpdateHelper.java b/core/src/main/java/org/elasticsearch/action/update/UpdateHelper.java index d8497d76c29..15c2d3a86b6 100644 --- a/core/src/main/java/org/elasticsearch/action/update/UpdateHelper.java +++ b/core/src/main/java/org/elasticsearch/action/update/UpdateHelper.java @@ -58,6 +58,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.function.LongSupplier; /** * Helper for translating an update request to an index, delete request or update response. @@ -73,18 +74,18 @@ public class UpdateHelper extends AbstractComponent { /** * Prepares an update request by converting it into an index or delete request or an update response (no action). */ - public Result prepare(UpdateRequest request, IndexShard indexShard) { + public Result prepare(UpdateRequest request, IndexShard indexShard, LongSupplier nowInMillis) { final GetResult getResult = indexShard.getService().get(request.type(), request.id(), new String[]{RoutingFieldMapper.NAME, ParentFieldMapper.NAME, TTLFieldMapper.NAME, TimestampFieldMapper.NAME}, true, request.version(), request.versionType(), FetchSourceContext.FETCH_SOURCE); - return prepare(indexShard.shardId(), request, getResult); + return prepare(indexShard.shardId(), request, getResult, nowInMillis); } /** * Prepares an update request by converting it into an index or delete request or an update response (no action). */ @SuppressWarnings("unchecked") - protected Result prepare(ShardId shardId, UpdateRequest request, final GetResult getResult) { + protected Result prepare(ShardId shardId, UpdateRequest request, final GetResult getResult, LongSupplier nowInMillis) { long getDateNS = System.nanoTime(); if (!getResult.isExists()) { if (request.upsertRequest() == null && !request.docAsUpsert()) { @@ -100,6 +101,7 @@ public class UpdateHelper extends AbstractComponent { // Tell the script that this is a create and not an update ctx.put("op", "create"); ctx.put("_source", upsertDoc); + ctx.put("_now", nowInMillis.getAsLong()); ctx = executeScript(request.script, ctx); //Allow the script to set TTL using ctx._ttl if (ttl == null) { @@ -188,6 +190,7 @@ public class UpdateHelper extends AbstractComponent { ctx.put("_timestamp", originalTimestamp); ctx.put("_ttl", originalTtl); ctx.put("_source", sourceAndContent.v2()); + ctx.put("_now", nowInMillis.getAsLong()); ctx = executeScript(request.script, ctx); @@ -304,7 +307,7 @@ public class UpdateHelper extends AbstractComponent { if (request.fetchSource() != null && request.fetchSource().fetchSource()) { sourceRequested = true; if (request.fetchSource().includes().length > 0 || request.fetchSource().excludes().length > 0) { - Object value = sourceLookup.filter(request.fetchSource().includes(), request.fetchSource().excludes()); + Object value = sourceLookup.filter(request.fetchSource()); try { final int initialCapacity = Math.min(1024, sourceAsBytes.length()); BytesStreamOutput streamOutput = new BytesStreamOutput(initialCapacity); diff --git a/core/src/main/java/org/elasticsearch/action/update/UpdateRequest.java b/core/src/main/java/org/elasticsearch/action/update/UpdateRequest.java index 3ec2398d2f6..11dabbd300a 100644 --- a/core/src/main/java/org/elasticsearch/action/update/UpdateRequest.java +++ b/core/src/main/java/org/elasticsearch/action/update/UpdateRequest.java @@ -54,8 +54,6 @@ import java.util.Map; import static org.elasticsearch.action.ValidateActions.addValidationError; -/** - */ public class UpdateRequest extends InstanceShardOperationRequest implements DocumentRequest, WriteRequest { private static final DeprecationLogger DEPRECATION_LOGGER = @@ -400,7 +398,8 @@ public class UpdateRequest extends InstanceShardOperationRequest * the returned _source */ public UpdateRequest fetchSource(@Nullable String include, @Nullable String exclude) { - this.fetchSourceContext = new FetchSourceContext(include, exclude); + FetchSourceContext context = this.fetchSourceContext == null ? FetchSourceContext.FETCH_SOURCE : this.fetchSourceContext; + this.fetchSourceContext = new FetchSourceContext(context.fetchSource(), new String[] {include}, new String[]{exclude}); return this; } @@ -417,7 +416,8 @@ public class UpdateRequest extends InstanceShardOperationRequest * filter the returned _source */ public UpdateRequest fetchSource(@Nullable String[] includes, @Nullable String[] excludes) { - this.fetchSourceContext = new FetchSourceContext(includes, excludes); + FetchSourceContext context = this.fetchSourceContext == null ? FetchSourceContext.FETCH_SOURCE : this.fetchSourceContext; + this.fetchSourceContext = new FetchSourceContext(context.fetchSource(), includes, excludes); return this; } @@ -425,7 +425,8 @@ public class UpdateRequest extends InstanceShardOperationRequest * Indicates whether the response should contain the updated _source. */ public UpdateRequest fetchSource(boolean fetchSource) { - this.fetchSourceContext = new FetchSourceContext(fetchSource); + FetchSourceContext context = this.fetchSourceContext == null ? FetchSourceContext.FETCH_SOURCE : this.fetchSourceContext; + this.fetchSourceContext = new FetchSourceContext(fetchSource, context.includes(), context.excludes()); return this; } diff --git a/core/src/main/java/org/elasticsearch/client/support/AbstractClient.java b/core/src/main/java/org/elasticsearch/client/support/AbstractClient.java index c3816d8d37f..2dd5cb138e8 100644 --- a/core/src/main/java/org/elasticsearch/client/support/AbstractClient.java +++ b/core/src/main/java/org/elasticsearch/client/support/AbstractClient.java @@ -348,9 +348,6 @@ import org.elasticsearch.threadpool.ThreadPool; import java.util.Map; -/** - * - */ public abstract class AbstractClient extends AbstractComponent implements Client { private final ThreadPool threadPool; diff --git a/core/src/main/java/org/elasticsearch/client/transport/TransportClientNodesService.java b/core/src/main/java/org/elasticsearch/client/transport/TransportClientNodesService.java index 18c2d15ec39..f36e9c60526 100644 --- a/core/src/main/java/org/elasticsearch/client/transport/TransportClientNodesService.java +++ b/core/src/main/java/org/elasticsearch/client/transport/TransportClientNodesService.java @@ -66,9 +66,6 @@ import java.util.concurrent.atomic.AtomicInteger; import static org.elasticsearch.common.unit.TimeValue.timeValueSeconds; -/** - * - */ public class TransportClientNodesService extends AbstractComponent implements Closeable { private final TimeValue nodesSamplerInterval; diff --git a/core/src/main/java/org/elasticsearch/client/transport/support/TransportProxyClient.java b/core/src/main/java/org/elasticsearch/client/transport/support/TransportProxyClient.java index eae1badb972..2fe06ea724e 100644 --- a/core/src/main/java/org/elasticsearch/client/transport/support/TransportProxyClient.java +++ b/core/src/main/java/org/elasticsearch/client/transport/support/TransportProxyClient.java @@ -39,9 +39,6 @@ import java.util.Map; import static java.util.Collections.unmodifiableMap; -/** - * - */ public class TransportProxyClient { private final TransportClientNodesService nodesService; diff --git a/core/src/main/java/org/elasticsearch/cluster/action/index/NodeMappingRefreshAction.java b/core/src/main/java/org/elasticsearch/cluster/action/index/NodeMappingRefreshAction.java index b1bf01018c9..3fc4f436154 100644 --- a/core/src/main/java/org/elasticsearch/cluster/action/index/NodeMappingRefreshAction.java +++ b/core/src/main/java/org/elasticsearch/cluster/action/index/NodeMappingRefreshAction.java @@ -41,9 +41,6 @@ import org.elasticsearch.transport.TransportService; import java.io.IOException; -/** - * - */ public class NodeMappingRefreshAction extends AbstractComponent { public static final String ACTION_NAME = "internal:cluster/node/mapping/refresh"; diff --git a/core/src/main/java/org/elasticsearch/cluster/block/ClusterBlock.java b/core/src/main/java/org/elasticsearch/cluster/block/ClusterBlock.java index 5a7f8f7c0a9..253206222b4 100644 --- a/core/src/main/java/org/elasticsearch/cluster/block/ClusterBlock.java +++ b/core/src/main/java/org/elasticsearch/cluster/block/ClusterBlock.java @@ -31,9 +31,6 @@ import java.util.ArrayList; import java.util.EnumSet; import java.util.Locale; -/** - * - */ public class ClusterBlock implements Streamable, ToXContent { private int id; diff --git a/core/src/main/java/org/elasticsearch/cluster/block/ClusterBlockException.java b/core/src/main/java/org/elasticsearch/cluster/block/ClusterBlockException.java index 94fad64154d..9ebb2286895 100644 --- a/core/src/main/java/org/elasticsearch/cluster/block/ClusterBlockException.java +++ b/core/src/main/java/org/elasticsearch/cluster/block/ClusterBlockException.java @@ -30,9 +30,6 @@ import java.util.Set; import static java.util.Collections.unmodifiableSet; -/** - * - */ public class ClusterBlockException extends ElasticsearchException { private final Set blocks; diff --git a/core/src/main/java/org/elasticsearch/cluster/block/ClusterBlockLevel.java b/core/src/main/java/org/elasticsearch/cluster/block/ClusterBlockLevel.java index 45ff1d3707b..9d39d410d03 100644 --- a/core/src/main/java/org/elasticsearch/cluster/block/ClusterBlockLevel.java +++ b/core/src/main/java/org/elasticsearch/cluster/block/ClusterBlockLevel.java @@ -22,9 +22,6 @@ package org.elasticsearch.cluster.block; import java.util.EnumSet; -/** - * - */ public enum ClusterBlockLevel { READ(0), WRITE(1), diff --git a/core/src/main/java/org/elasticsearch/cluster/health/ClusterHealthStatus.java b/core/src/main/java/org/elasticsearch/cluster/health/ClusterHealthStatus.java index a261d28f537..8a255fb1ce8 100644 --- a/core/src/main/java/org/elasticsearch/cluster/health/ClusterHealthStatus.java +++ b/core/src/main/java/org/elasticsearch/cluster/health/ClusterHealthStatus.java @@ -26,9 +26,6 @@ import org.elasticsearch.common.io.stream.Writeable; import java.io.IOException; -/** - * - */ public enum ClusterHealthStatus implements Writeable { GREEN((byte) 0), YELLOW((byte) 1), diff --git a/core/src/main/java/org/elasticsearch/cluster/metadata/AliasMetaData.java b/core/src/main/java/org/elasticsearch/cluster/metadata/AliasMetaData.java index 7e4d1917485..e62a3935ad5 100644 --- a/core/src/main/java/org/elasticsearch/cluster/metadata/AliasMetaData.java +++ b/core/src/main/java/org/elasticsearch/cluster/metadata/AliasMetaData.java @@ -37,9 +37,6 @@ import java.util.Set; import static java.util.Collections.emptySet; -/** - * - */ public class AliasMetaData extends AbstractDiffable { public static final AliasMetaData PROTO = new AliasMetaData("", null, null, null); diff --git a/core/src/main/java/org/elasticsearch/cluster/metadata/IndexMetaData.java b/core/src/main/java/org/elasticsearch/cluster/metadata/IndexMetaData.java index 44db87d9b30..25836d54a1b 100644 --- a/core/src/main/java/org/elasticsearch/cluster/metadata/IndexMetaData.java +++ b/core/src/main/java/org/elasticsearch/cluster/metadata/IndexMetaData.java @@ -75,9 +75,6 @@ import static org.elasticsearch.cluster.node.DiscoveryNodeFilters.OpType.OR; import static org.elasticsearch.common.settings.Settings.readSettingsFromStream; import static org.elasticsearch.common.settings.Settings.writeSettingsToStream; -/** - * - */ public class IndexMetaData implements Diffable, FromXContentBuilder, ToXContent { public interface Custom extends Diffable, ToXContent { diff --git a/core/src/main/java/org/elasticsearch/cluster/metadata/IndexTemplateMetaData.java b/core/src/main/java/org/elasticsearch/cluster/metadata/IndexTemplateMetaData.java index c11389d2dc2..e719bac6188 100644 --- a/core/src/main/java/org/elasticsearch/cluster/metadata/IndexTemplateMetaData.java +++ b/core/src/main/java/org/elasticsearch/cluster/metadata/IndexTemplateMetaData.java @@ -42,9 +42,6 @@ import java.util.Map; import java.util.Objects; import java.util.Set; -/** - * - */ public class IndexTemplateMetaData extends AbstractDiffable { public static final IndexTemplateMetaData PROTO = IndexTemplateMetaData.builder("").build(); diff --git a/core/src/main/java/org/elasticsearch/cluster/metadata/MetaDataDeleteIndexService.java b/core/src/main/java/org/elasticsearch/cluster/metadata/MetaDataDeleteIndexService.java index 22553dd9929..7dbc06cba0f 100644 --- a/core/src/main/java/org/elasticsearch/cluster/metadata/MetaDataDeleteIndexService.java +++ b/core/src/main/java/org/elasticsearch/cluster/metadata/MetaDataDeleteIndexService.java @@ -23,20 +23,23 @@ import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.admin.indices.delete.DeleteIndexClusterStateUpdateRequest; import org.elasticsearch.cluster.AckedClusterStateUpdateTask; import org.elasticsearch.cluster.ClusterState; +import org.elasticsearch.cluster.RestoreInProgress; import org.elasticsearch.cluster.ack.ClusterStateUpdateResponse; import org.elasticsearch.cluster.block.ClusterBlocks; import org.elasticsearch.cluster.routing.RoutingTable; import org.elasticsearch.cluster.routing.allocation.AllocationService; import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.Priority; +import org.elasticsearch.common.collect.ImmutableOpenMap; import org.elasticsearch.common.component.AbstractComponent; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.settings.Settings; +import org.elasticsearch.common.util.set.Sets; import org.elasticsearch.index.Index; +import org.elasticsearch.snapshots.RestoreService; import org.elasticsearch.snapshots.SnapshotsService; import java.util.Arrays; -import java.util.Collection; import java.util.Set; import static java.util.stream.Collectors.toSet; @@ -63,7 +66,7 @@ public class MetaDataDeleteIndexService extends AbstractComponent { throw new IllegalArgumentException("Index name is required"); } - clusterService.submitStateUpdateTask("delete-index " + request.indices(), + clusterService.submitStateUpdateTask("delete-index " + Arrays.toString(request.indices()), new AckedClusterStateUpdateTask(Priority.URGENT, request, listener) { @Override @@ -73,7 +76,7 @@ public class MetaDataDeleteIndexService extends AbstractComponent { @Override public ClusterState execute(final ClusterState currentState) { - return deleteIndices(currentState, Arrays.asList(request.indices())); + return deleteIndices(currentState, Sets.newHashSet(request.indices())); } }); } @@ -81,7 +84,7 @@ public class MetaDataDeleteIndexService extends AbstractComponent { /** * Delete some indices from the cluster state. */ - public ClusterState deleteIndices(ClusterState currentState, Collection indices) { + public ClusterState deleteIndices(ClusterState currentState, Set indices) { final MetaData meta = currentState.metaData(); final Set metaDatas = indices.stream().map(i -> meta.getIndexSafe(i)).collect(toSet()); // Check if index deletion conflicts with any running snapshots @@ -107,11 +110,25 @@ public class MetaDataDeleteIndexService extends AbstractComponent { MetaData newMetaData = metaDataBuilder.build(); ClusterBlocks blocks = clusterBlocksBuilder.build(); + + // update snapshot restore entries + ImmutableOpenMap customs = currentState.getCustoms(); + final RestoreInProgress restoreInProgress = currentState.custom(RestoreInProgress.TYPE); + if (restoreInProgress != null) { + RestoreInProgress updatedRestoreInProgress = RestoreService.updateRestoreStateWithDeletedIndices(restoreInProgress, indices); + if (updatedRestoreInProgress != restoreInProgress) { + ImmutableOpenMap.Builder builder = ImmutableOpenMap.builder(customs); + builder.put(RestoreInProgress.TYPE, updatedRestoreInProgress); + customs = builder.build(); + } + } + return allocationService.reroute( ClusterState.builder(currentState) .routingTable(routingTableBuilder.build()) .metaData(newMetaData) .blocks(blocks) + .customs(customs) .build(), "deleted indices [" + indices + "]"); } diff --git a/core/src/main/java/org/elasticsearch/cluster/metadata/ProcessClusterEventTimeoutException.java b/core/src/main/java/org/elasticsearch/cluster/metadata/ProcessClusterEventTimeoutException.java index f161f8c55ee..c648c3e633d 100644 --- a/core/src/main/java/org/elasticsearch/cluster/metadata/ProcessClusterEventTimeoutException.java +++ b/core/src/main/java/org/elasticsearch/cluster/metadata/ProcessClusterEventTimeoutException.java @@ -26,8 +26,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - */ public class ProcessClusterEventTimeoutException extends ElasticsearchException { public ProcessClusterEventTimeoutException(TimeValue timeValue, String source) { diff --git a/core/src/main/java/org/elasticsearch/cluster/node/DiscoveryNodeFilters.java b/core/src/main/java/org/elasticsearch/cluster/node/DiscoveryNodeFilters.java index 7247dff5d8c..fad86caa7cc 100644 --- a/core/src/main/java/org/elasticsearch/cluster/node/DiscoveryNodeFilters.java +++ b/core/src/main/java/org/elasticsearch/cluster/node/DiscoveryNodeFilters.java @@ -29,8 +29,6 @@ import org.elasticsearch.common.transport.TransportAddress; import java.util.HashMap; import java.util.Map; -/** - */ public class DiscoveryNodeFilters { public enum OpType { diff --git a/core/src/main/java/org/elasticsearch/cluster/routing/ShardRouting.java b/core/src/main/java/org/elasticsearch/cluster/routing/ShardRouting.java index e441fd81113..4db922d5aeb 100644 --- a/core/src/main/java/org/elasticsearch/cluster/routing/ShardRouting.java +++ b/core/src/main/java/org/elasticsearch/cluster/routing/ShardRouting.java @@ -390,7 +390,7 @@ public final class ShardRouting implements Writeable, ToXContent { assert primary : this; return new ShardRouting(shardId, currentNodeId, null, primary, ShardRoutingState.INITIALIZING, StoreRecoverySource.EXISTING_STORE_INSTANCE, new UnassignedInfo(UnassignedInfo.Reason.REINITIALIZED, null), - AllocationId.newInitializing(), UNAVAILABLE_EXPECTED_SHARD_SIZE); + allocationId, UNAVAILABLE_EXPECTED_SHARD_SIZE); } /** diff --git a/core/src/main/java/org/elasticsearch/cluster/routing/allocation/AllocationService.java b/core/src/main/java/org/elasticsearch/cluster/routing/allocation/AllocationService.java index 323adf78046..b3eaa517934 100644 --- a/core/src/main/java/org/elasticsearch/cluster/routing/allocation/AllocationService.java +++ b/core/src/main/java/org/elasticsearch/cluster/routing/allocation/AllocationService.java @@ -21,6 +21,7 @@ package org.elasticsearch.cluster.routing.allocation; import org.elasticsearch.cluster.ClusterInfoService; import org.elasticsearch.cluster.ClusterState; +import org.elasticsearch.cluster.RestoreInProgress; import org.elasticsearch.cluster.health.ClusterHealthStatus; import org.elasticsearch.cluster.health.ClusterStateHealth; import org.elasticsearch.cluster.metadata.IndexMetaData; @@ -34,6 +35,7 @@ import org.elasticsearch.cluster.routing.UnassignedInfo.AllocationStatus; import org.elasticsearch.cluster.routing.allocation.allocator.ShardsAllocator; import org.elasticsearch.cluster.routing.allocation.command.AllocationCommands; import org.elasticsearch.cluster.routing.allocation.decider.AllocationDeciders; +import org.elasticsearch.common.collect.ImmutableOpenMap; import org.elasticsearch.common.component.AbstractComponent; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.settings.Settings; @@ -94,17 +96,24 @@ public class AllocationService extends AbstractComponent { } protected ClusterState buildResultAndLogHealthChange(ClusterState oldState, RoutingAllocation allocation, String reason) { - return buildResultAndLogHealthChange(oldState, allocation, reason, new RoutingExplanations()); - } - - protected ClusterState buildResultAndLogHealthChange(ClusterState oldState, RoutingAllocation allocation, String reason, - RoutingExplanations explanations) { RoutingTable oldRoutingTable = oldState.routingTable(); RoutingNodes newRoutingNodes = allocation.routingNodes(); final RoutingTable newRoutingTable = new RoutingTable.Builder().updateNodes(oldRoutingTable.version(), newRoutingNodes).build(); MetaData newMetaData = allocation.updateMetaDataWithRoutingChanges(newRoutingTable); assert newRoutingTable.validate(newMetaData); // validates the routing table is coherent with the cluster state metadata - final ClusterState newState = ClusterState.builder(oldState).routingTable(newRoutingTable).metaData(newMetaData).build(); + final ClusterState.Builder newStateBuilder = ClusterState.builder(oldState) + .routingTable(newRoutingTable) + .metaData(newMetaData); + final RestoreInProgress restoreInProgress = allocation.custom(RestoreInProgress.TYPE); + if (restoreInProgress != null) { + RestoreInProgress updatedRestoreInProgress = allocation.updateRestoreInfoWithRoutingChanges(restoreInProgress); + if (updatedRestoreInProgress != restoreInProgress) { + ImmutableOpenMap.Builder customsBuilder = ImmutableOpenMap.builder(allocation.getCustoms()); + customsBuilder.put(RestoreInProgress.TYPE, updatedRestoreInProgress); + newStateBuilder.customs(customsBuilder.build()); + } + } + final ClusterState newState = newStateBuilder.build(); logClusterHealthStateChange( new ClusterStateHealth(oldState), new ClusterStateHealth(newState), diff --git a/core/src/main/java/org/elasticsearch/cluster/routing/allocation/IndexMetaDataUpdater.java b/core/src/main/java/org/elasticsearch/cluster/routing/allocation/IndexMetaDataUpdater.java index f476972b216..52ace3744cd 100644 --- a/core/src/main/java/org/elasticsearch/cluster/routing/allocation/IndexMetaDataUpdater.java +++ b/core/src/main/java/org/elasticsearch/cluster/routing/allocation/IndexMetaDataUpdater.java @@ -93,11 +93,6 @@ public class IndexMetaDataUpdater extends RoutingChangesObserver.AbstractRouting removeAllocationId(removedRelocationSource); } - @Override - public void startedPrimaryReinitialized(ShardRouting startedPrimaryShard, ShardRouting initializedShard) { - removeAllocationId(startedPrimaryShard); - } - /** * Updates the current {@link MetaData} based on the changes of this RoutingChangesObserver. Specifically * we update {@link IndexMetaData#getInSyncAllocationIds()} and {@link IndexMetaData#primaryTerm(int)} based on diff --git a/core/src/main/java/org/elasticsearch/cluster/routing/allocation/RoutingAllocation.java b/core/src/main/java/org/elasticsearch/cluster/routing/allocation/RoutingAllocation.java index 8429493b0e7..886b42f57d6 100644 --- a/core/src/main/java/org/elasticsearch/cluster/routing/allocation/RoutingAllocation.java +++ b/core/src/main/java/org/elasticsearch/cluster/routing/allocation/RoutingAllocation.java @@ -21,6 +21,7 @@ package org.elasticsearch.cluster.routing.allocation; import org.elasticsearch.cluster.ClusterInfo; import org.elasticsearch.cluster.ClusterState; +import org.elasticsearch.cluster.RestoreInProgress; import org.elasticsearch.cluster.metadata.MetaData; import org.elasticsearch.cluster.node.DiscoveryNodes; import org.elasticsearch.cluster.routing.RoutingChangesObserver; @@ -30,6 +31,8 @@ import org.elasticsearch.cluster.routing.allocation.decider.AllocationDeciders; import org.elasticsearch.cluster.routing.allocation.decider.Decision; import org.elasticsearch.common.collect.ImmutableOpenMap; import org.elasticsearch.index.shard.ShardId; +import org.elasticsearch.snapshots.RestoreService; +import org.elasticsearch.snapshots.RestoreService.RestoreInProgressUpdater; import java.util.HashMap; import java.util.HashSet; @@ -76,8 +79,9 @@ public class RoutingAllocation { private final IndexMetaDataUpdater indexMetaDataUpdater = new IndexMetaDataUpdater(); private final RoutingNodesChangedObserver nodesChangedObserver = new RoutingNodesChangedObserver(); + private final RestoreInProgressUpdater restoreInProgressUpdater = new RestoreInProgressUpdater(); private final RoutingChangesObserver routingChangesObserver = new RoutingChangesObserver.DelegatingRoutingChangesObserver( - nodesChangedObserver, indexMetaDataUpdater + nodesChangedObserver, indexMetaDataUpdater, restoreInProgressUpdater ); @@ -154,6 +158,10 @@ public class RoutingAllocation { return (T)customs.get(key); } + public ImmutableOpenMap getCustoms() { + return customs; + } + /** * Get explanations of current routing * @return explanation of routing @@ -234,6 +242,13 @@ public class RoutingAllocation { return indexMetaDataUpdater.applyChanges(metaData, newRoutingTable); } + /** + * Returns updated {@link RestoreInProgress} based on the changes that were made to the routing nodes + */ + public RestoreInProgress updateRestoreInfoWithRoutingChanges(RestoreInProgress restoreInProgress) { + return restoreInProgressUpdater.applyChanges(restoreInProgress); + } + /** * Returns true iff changes were made to the routing nodes */ diff --git a/core/src/main/java/org/elasticsearch/cluster/service/PendingClusterTask.java b/core/src/main/java/org/elasticsearch/cluster/service/PendingClusterTask.java index d53dcb32584..93da0b99e9a 100644 --- a/core/src/main/java/org/elasticsearch/cluster/service/PendingClusterTask.java +++ b/core/src/main/java/org/elasticsearch/cluster/service/PendingClusterTask.java @@ -28,8 +28,6 @@ import org.elasticsearch.common.unit.TimeValue; import java.io.IOException; -/** - */ public class PendingClusterTask implements Streamable { private long insertOrder; diff --git a/core/src/main/java/org/elasticsearch/common/Booleans.java b/core/src/main/java/org/elasticsearch/common/Booleans.java index 9c5f5746633..9ec1ac968ac 100644 --- a/core/src/main/java/org/elasticsearch/common/Booleans.java +++ b/core/src/main/java/org/elasticsearch/common/Booleans.java @@ -19,9 +19,6 @@ package org.elasticsearch.common; -/** - * - */ public class Booleans { /** diff --git a/core/src/main/java/org/elasticsearch/common/Classes.java b/core/src/main/java/org/elasticsearch/common/Classes.java index 4a73c0d8ae4..091e3465028 100644 --- a/core/src/main/java/org/elasticsearch/common/Classes.java +++ b/core/src/main/java/org/elasticsearch/common/Classes.java @@ -21,9 +21,6 @@ package org.elasticsearch.common; import java.lang.reflect.Modifier; -/** - * - */ public class Classes { /** diff --git a/core/src/main/java/org/elasticsearch/common/Strings.java b/core/src/main/java/org/elasticsearch/common/Strings.java index 955b836ca1c..1ef13e3bc70 100644 --- a/core/src/main/java/org/elasticsearch/common/Strings.java +++ b/core/src/main/java/org/elasticsearch/common/Strings.java @@ -45,9 +45,6 @@ import java.util.TreeSet; import static java.util.Collections.unmodifiableSet; import static org.elasticsearch.common.util.set.Sets.newHashSet; -/** - * - */ public class Strings { public static final String[] EMPTY_ARRAY = new String[0]; diff --git a/core/src/main/java/org/elasticsearch/common/Table.java b/core/src/main/java/org/elasticsearch/common/Table.java index ab0252b11dc..430070ee19c 100644 --- a/core/src/main/java/org/elasticsearch/common/Table.java +++ b/core/src/main/java/org/elasticsearch/common/Table.java @@ -30,8 +30,6 @@ import java.util.concurrent.TimeUnit; import static java.util.Collections.emptyMap; -/** - */ public class Table { private List headers = new ArrayList<>(); @@ -197,6 +195,22 @@ public class Table { return null; } + public Map getAliasMap() { + Map headerAliasMap = new HashMap<>(); + for (int i = 0; i < headers.size(); i++) { + Cell headerCell = headers.get(i); + String headerName = headerCell.value.toString(); + if (headerCell.attr.containsKey("alias")) { + String[] aliases = Strings.splitStringByCommaToArray(headerCell.attr.get("alias")); + for (String alias : aliases) { + headerAliasMap.put(alias, headerName); + } + } + headerAliasMap.put(headerName, headerName); + } + return headerAliasMap; + } + public static class Cell { public final Object value; public final Map attr; diff --git a/core/src/main/java/org/elasticsearch/common/blobstore/BlobStoreException.java b/core/src/main/java/org/elasticsearch/common/blobstore/BlobStoreException.java index 4d982b3c3e3..700bff5ebae 100644 --- a/core/src/main/java/org/elasticsearch/common/blobstore/BlobStoreException.java +++ b/core/src/main/java/org/elasticsearch/common/blobstore/BlobStoreException.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class BlobStoreException extends ElasticsearchException { public BlobStoreException(String msg) { diff --git a/core/src/main/java/org/elasticsearch/common/blobstore/fs/FsBlobStore.java b/core/src/main/java/org/elasticsearch/common/blobstore/fs/FsBlobStore.java index 725535ecadb..ce696678896 100644 --- a/core/src/main/java/org/elasticsearch/common/blobstore/fs/FsBlobStore.java +++ b/core/src/main/java/org/elasticsearch/common/blobstore/fs/FsBlobStore.java @@ -33,9 +33,6 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -/** - * - */ public class FsBlobStore extends AbstractComponent implements BlobStore { private final Path path; diff --git a/core/src/main/java/org/elasticsearch/common/blobstore/support/PlainBlobMetaData.java b/core/src/main/java/org/elasticsearch/common/blobstore/support/PlainBlobMetaData.java index ea931631e0c..e51c56b6c11 100644 --- a/core/src/main/java/org/elasticsearch/common/blobstore/support/PlainBlobMetaData.java +++ b/core/src/main/java/org/elasticsearch/common/blobstore/support/PlainBlobMetaData.java @@ -21,9 +21,6 @@ package org.elasticsearch.common.blobstore.support; import org.elasticsearch.common.blobstore.BlobMetaData; -/** - * - */ public class PlainBlobMetaData implements BlobMetaData { private final String name; diff --git a/core/src/main/java/org/elasticsearch/common/collect/HppcMaps.java b/core/src/main/java/org/elasticsearch/common/collect/HppcMaps.java index 55fc67831e3..c48626cf7c1 100644 --- a/core/src/main/java/org/elasticsearch/common/collect/HppcMaps.java +++ b/core/src/main/java/org/elasticsearch/common/collect/HppcMaps.java @@ -26,8 +26,6 @@ import com.carrotsearch.hppc.cursors.ObjectCursor; import java.util.Iterator; -/** - */ public final class HppcMaps { private HppcMaps() { diff --git a/core/src/main/java/org/elasticsearch/common/collect/MapBuilder.java b/core/src/main/java/org/elasticsearch/common/collect/MapBuilder.java index bfb0f42f44a..a840ee037f8 100644 --- a/core/src/main/java/org/elasticsearch/common/collect/MapBuilder.java +++ b/core/src/main/java/org/elasticsearch/common/collect/MapBuilder.java @@ -24,9 +24,6 @@ import java.util.Map; import static java.util.Collections.unmodifiableMap; -/** - * - */ public class MapBuilder { public static MapBuilder newMapBuilder() { diff --git a/core/src/main/java/org/elasticsearch/common/collect/Tuple.java b/core/src/main/java/org/elasticsearch/common/collect/Tuple.java index ed88ae9df25..2a0d860e1a3 100644 --- a/core/src/main/java/org/elasticsearch/common/collect/Tuple.java +++ b/core/src/main/java/org/elasticsearch/common/collect/Tuple.java @@ -19,9 +19,6 @@ package org.elasticsearch.common.collect; -/** - * - */ public class Tuple { public static Tuple tuple(V1 v1, V2 v2) { diff --git a/core/src/main/java/org/elasticsearch/common/component/AbstractLifecycleComponent.java b/core/src/main/java/org/elasticsearch/common/component/AbstractLifecycleComponent.java index 6f1534b57d8..e2868b23e89 100644 --- a/core/src/main/java/org/elasticsearch/common/component/AbstractLifecycleComponent.java +++ b/core/src/main/java/org/elasticsearch/common/component/AbstractLifecycleComponent.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.settings.Settings; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; -/** - * - */ public abstract class AbstractLifecycleComponent extends AbstractComponent implements LifecycleComponent { protected final Lifecycle lifecycle = new Lifecycle(); diff --git a/core/src/main/java/org/elasticsearch/common/component/LifecycleComponent.java b/core/src/main/java/org/elasticsearch/common/component/LifecycleComponent.java index b57486105d2..2729d60fa1c 100644 --- a/core/src/main/java/org/elasticsearch/common/component/LifecycleComponent.java +++ b/core/src/main/java/org/elasticsearch/common/component/LifecycleComponent.java @@ -21,9 +21,6 @@ package org.elasticsearch.common.component; import org.elasticsearch.common.lease.Releasable; -/** - * - */ public interface LifecycleComponent extends Releasable { Lifecycle.State lifecycleState(); diff --git a/core/src/main/java/org/elasticsearch/common/component/LifecycleListener.java b/core/src/main/java/org/elasticsearch/common/component/LifecycleListener.java index 52f9bea410b..447fb736e0c 100644 --- a/core/src/main/java/org/elasticsearch/common/component/LifecycleListener.java +++ b/core/src/main/java/org/elasticsearch/common/component/LifecycleListener.java @@ -19,9 +19,6 @@ package org.elasticsearch.common.component; -/** - * - */ public abstract class LifecycleListener { public void beforeStart() { diff --git a/core/src/main/java/org/elasticsearch/common/compress/Compressor.java b/core/src/main/java/org/elasticsearch/common/compress/Compressor.java index 883078dafe8..05706debd37 100644 --- a/core/src/main/java/org/elasticsearch/common/compress/Compressor.java +++ b/core/src/main/java/org/elasticsearch/common/compress/Compressor.java @@ -25,8 +25,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - */ public interface Compressor { boolean isCompressed(BytesReference bytes); diff --git a/core/src/main/java/org/elasticsearch/common/compress/CompressorFactory.java b/core/src/main/java/org/elasticsearch/common/compress/CompressorFactory.java index 82e049704cc..067d4666722 100644 --- a/core/src/main/java/org/elasticsearch/common/compress/CompressorFactory.java +++ b/core/src/main/java/org/elasticsearch/common/compress/CompressorFactory.java @@ -29,8 +29,6 @@ import org.elasticsearch.common.xcontent.XContentType; import java.io.IOException; -/** - */ public class CompressorFactory { public static final Compressor COMPRESSOR = new DeflateCompressor(); diff --git a/core/src/main/java/org/elasticsearch/common/geo/GeoPoint.java b/core/src/main/java/org/elasticsearch/common/geo/GeoPoint.java index 15e2fb4fabb..f76720b9ed6 100644 --- a/core/src/main/java/org/elasticsearch/common/geo/GeoPoint.java +++ b/core/src/main/java/org/elasticsearch/common/geo/GeoPoint.java @@ -32,9 +32,6 @@ import java.util.Arrays; import static org.elasticsearch.common.geo.GeoHashUtils.mortonEncode; import static org.elasticsearch.common.geo.GeoHashUtils.stringEncode; -/** - * - */ public final class GeoPoint { private double lat; diff --git a/core/src/main/java/org/elasticsearch/common/geo/GeoUtils.java b/core/src/main/java/org/elasticsearch/common/geo/GeoUtils.java index b81720057c6..d33616cbe60 100644 --- a/core/src/main/java/org/elasticsearch/common/geo/GeoUtils.java +++ b/core/src/main/java/org/elasticsearch/common/geo/GeoUtils.java @@ -30,8 +30,6 @@ import org.elasticsearch.index.mapper.GeoPointFieldMapper; import java.io.IOException; -/** - */ public class GeoUtils { /** Maximum valid latitude in degrees. */ diff --git a/core/src/main/java/org/elasticsearch/common/geo/ShapesAvailability.java b/core/src/main/java/org/elasticsearch/common/geo/ShapesAvailability.java index fe33fadb857..c800e011594 100644 --- a/core/src/main/java/org/elasticsearch/common/geo/ShapesAvailability.java +++ b/core/src/main/java/org/elasticsearch/common/geo/ShapesAvailability.java @@ -19,8 +19,6 @@ package org.elasticsearch.common.geo; -/** - */ public class ShapesAvailability { public static final boolean SPATIAL4J_AVAILABLE; diff --git a/core/src/main/java/org/elasticsearch/common/geo/SpatialStrategy.java b/core/src/main/java/org/elasticsearch/common/geo/SpatialStrategy.java index e1b0356b686..5a7c9e2a325 100644 --- a/core/src/main/java/org/elasticsearch/common/geo/SpatialStrategy.java +++ b/core/src/main/java/org/elasticsearch/common/geo/SpatialStrategy.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.io.stream.Writeable; import java.io.IOException; -/** - * - */ public enum SpatialStrategy implements Writeable { TERM("term"), diff --git a/core/src/main/java/org/elasticsearch/common/io/FastCharArrayReader.java b/core/src/main/java/org/elasticsearch/common/io/FastCharArrayReader.java index 53b932afd54..f75d8d1c96a 100644 --- a/core/src/main/java/org/elasticsearch/common/io/FastCharArrayReader.java +++ b/core/src/main/java/org/elasticsearch/common/io/FastCharArrayReader.java @@ -22,9 +22,6 @@ package org.elasticsearch.common.io; import java.io.IOException; import java.io.Reader; -/** - * - */ public class FastCharArrayReader extends Reader { /** diff --git a/core/src/main/java/org/elasticsearch/common/io/UTF8StreamWriter.java b/core/src/main/java/org/elasticsearch/common/io/UTF8StreamWriter.java index 59c95f67ea3..0ed5fd498de 100644 --- a/core/src/main/java/org/elasticsearch/common/io/UTF8StreamWriter.java +++ b/core/src/main/java/org/elasticsearch/common/io/UTF8StreamWriter.java @@ -25,8 +25,6 @@ import java.io.OutputStream; import java.io.Writer; -/** - */ public final class UTF8StreamWriter extends Writer { /** diff --git a/core/src/main/java/org/elasticsearch/common/io/stream/ByteBufferStreamInput.java b/core/src/main/java/org/elasticsearch/common/io/stream/ByteBufferStreamInput.java index d13f539a670..3193d47c47e 100644 --- a/core/src/main/java/org/elasticsearch/common/io/stream/ByteBufferStreamInput.java +++ b/core/src/main/java/org/elasticsearch/common/io/stream/ByteBufferStreamInput.java @@ -22,8 +22,6 @@ import java.io.EOFException; import java.io.IOException; import java.nio.ByteBuffer; -/** - */ public class ByteBufferStreamInput extends StreamInput { private final ByteBuffer buffer; diff --git a/core/src/main/java/org/elasticsearch/common/io/stream/DataOutputStreamOutput.java b/core/src/main/java/org/elasticsearch/common/io/stream/DataOutputStreamOutput.java index aa542b1c305..184560a4a76 100644 --- a/core/src/main/java/org/elasticsearch/common/io/stream/DataOutputStreamOutput.java +++ b/core/src/main/java/org/elasticsearch/common/io/stream/DataOutputStreamOutput.java @@ -23,9 +23,6 @@ import java.io.Closeable; import java.io.DataOutput; import java.io.IOException; -/** - * - */ public class DataOutputStreamOutput extends StreamOutput { private final DataOutput out; diff --git a/core/src/main/java/org/elasticsearch/common/io/stream/InputStreamStreamInput.java b/core/src/main/java/org/elasticsearch/common/io/stream/InputStreamStreamInput.java index d786041af49..a252b66bcfc 100644 --- a/core/src/main/java/org/elasticsearch/common/io/stream/InputStreamStreamInput.java +++ b/core/src/main/java/org/elasticsearch/common/io/stream/InputStreamStreamInput.java @@ -25,9 +25,6 @@ import java.io.EOFException; import java.io.IOException; import java.io.InputStream; -/** - * - */ public class InputStreamStreamInput extends StreamInput { private final InputStream is; diff --git a/core/src/main/java/org/elasticsearch/common/io/stream/OutputStreamStreamOutput.java b/core/src/main/java/org/elasticsearch/common/io/stream/OutputStreamStreamOutput.java index 93e1fe8ee90..d30255605e7 100644 --- a/core/src/main/java/org/elasticsearch/common/io/stream/OutputStreamStreamOutput.java +++ b/core/src/main/java/org/elasticsearch/common/io/stream/OutputStreamStreamOutput.java @@ -22,8 +22,6 @@ package org.elasticsearch.common.io.stream; import java.io.IOException; import java.io.OutputStream; -/** - */ public class OutputStreamStreamOutput extends StreamOutput { private final OutputStream out; diff --git a/core/src/main/java/org/elasticsearch/common/joda/Joda.java b/core/src/main/java/org/elasticsearch/common/joda/Joda.java index 34c882d0d80..7978ceff48c 100644 --- a/core/src/main/java/org/elasticsearch/common/joda/Joda.java +++ b/core/src/main/java/org/elasticsearch/common/joda/Joda.java @@ -44,9 +44,6 @@ import java.io.IOException; import java.io.Writer; import java.util.Locale; -/** - * - */ public class Joda { public static FormatDateTimeFormatter forPattern(String input) { diff --git a/core/src/main/java/org/elasticsearch/common/lease/Releasables.java b/core/src/main/java/org/elasticsearch/common/lease/Releasables.java index bfabd20976d..bd7b2a6e772 100644 --- a/core/src/main/java/org/elasticsearch/common/lease/Releasables.java +++ b/core/src/main/java/org/elasticsearch/common/lease/Releasables.java @@ -24,6 +24,7 @@ import org.apache.lucene.util.IOUtils; import java.io.IOException; import java.io.UncheckedIOException; import java.util.Arrays; +import java.util.concurrent.atomic.AtomicBoolean; /** Utility methods to work with {@link Releasable}s. */ public enum Releasables { @@ -93,4 +94,16 @@ public enum Releasables { public static Releasable wrap(final Releasable... releasables) { return () -> close(releasables); } + + /** + * Equivalent to {@link #wrap(Releasable...)} but can be called multiple times without double releasing. + */ + public static Releasable releaseOnce(final Releasable... releasables) { + final AtomicBoolean released = new AtomicBoolean(false); + return () -> { + if (released.compareAndSet(false, true)) { + close(releasables); + } + }; + } } diff --git a/core/src/main/java/org/elasticsearch/common/lucene/BytesRefs.java b/core/src/main/java/org/elasticsearch/common/lucene/BytesRefs.java index e99f61fe8e6..b363315a108 100644 --- a/core/src/main/java/org/elasticsearch/common/lucene/BytesRefs.java +++ b/core/src/main/java/org/elasticsearch/common/lucene/BytesRefs.java @@ -22,8 +22,6 @@ package org.elasticsearch.common.lucene; import org.apache.lucene.util.BytesRef; import org.apache.lucene.util.BytesRefBuilder; -/** - */ public class BytesRefs { /** diff --git a/core/src/main/java/org/elasticsearch/common/lucene/Lucene.java b/core/src/main/java/org/elasticsearch/common/lucene/Lucene.java index ef570be1e7a..e3d3bf1c624 100644 --- a/core/src/main/java/org/elasticsearch/common/lucene/Lucene.java +++ b/core/src/main/java/org/elasticsearch/common/lucene/Lucene.java @@ -85,9 +85,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; -/** - * - */ public class Lucene { public static final String LATEST_DOC_VALUES_FORMAT = "Lucene54"; public static final String LATEST_POSTINGS_FORMAT = "Lucene50"; diff --git a/core/src/main/java/org/elasticsearch/common/lucene/MinimumScoreCollector.java b/core/src/main/java/org/elasticsearch/common/lucene/MinimumScoreCollector.java index e1fc0171bb7..2552309450b 100644 --- a/core/src/main/java/org/elasticsearch/common/lucene/MinimumScoreCollector.java +++ b/core/src/main/java/org/elasticsearch/common/lucene/MinimumScoreCollector.java @@ -28,9 +28,6 @@ import org.apache.lucene.search.SimpleCollector; import java.io.IOException; -/** - * - */ public class MinimumScoreCollector extends SimpleCollector { private final Collector collector; diff --git a/core/src/main/java/org/elasticsearch/common/lucene/ScorerAware.java b/core/src/main/java/org/elasticsearch/common/lucene/ScorerAware.java index e5708df05f3..df17f8d7757 100644 --- a/core/src/main/java/org/elasticsearch/common/lucene/ScorerAware.java +++ b/core/src/main/java/org/elasticsearch/common/lucene/ScorerAware.java @@ -20,9 +20,6 @@ package org.elasticsearch.common.lucene; import org.apache.lucene.search.Scorer; -/** - * - */ public interface ScorerAware { void setScorer(Scorer scorer); diff --git a/core/src/main/java/org/elasticsearch/common/lucene/all/AllEntries.java b/core/src/main/java/org/elasticsearch/common/lucene/all/AllEntries.java index 23370bb0ffe..ffd85213e8a 100644 --- a/core/src/main/java/org/elasticsearch/common/lucene/all/AllEntries.java +++ b/core/src/main/java/org/elasticsearch/common/lucene/all/AllEntries.java @@ -22,9 +22,6 @@ package org.elasticsearch.common.lucene.all; import java.util.ArrayList; import java.util.List; -/** - * - */ public class AllEntries { public static class Entry { private final String name; diff --git a/core/src/main/java/org/elasticsearch/common/lucene/all/AllTokenStream.java b/core/src/main/java/org/elasticsearch/common/lucene/all/AllTokenStream.java index 045a4badc45..0d29a65d5d5 100644 --- a/core/src/main/java/org/elasticsearch/common/lucene/all/AllTokenStream.java +++ b/core/src/main/java/org/elasticsearch/common/lucene/all/AllTokenStream.java @@ -28,9 +28,6 @@ import org.apache.lucene.util.SmallFloat; import java.io.IOException; -/** - * - */ public final class AllTokenStream extends TokenFilter { public static TokenStream allTokenStream(String allFieldName, String value, float boost, Analyzer analyzer) throws IOException { return new AllTokenStream(analyzer.tokenStream(allFieldName, value), boost); diff --git a/core/src/main/java/org/elasticsearch/common/lucene/search/FilteredCollector.java b/core/src/main/java/org/elasticsearch/common/lucene/search/FilteredCollector.java index 5bb92235044..3a5d71d1fcd 100644 --- a/core/src/main/java/org/elasticsearch/common/lucene/search/FilteredCollector.java +++ b/core/src/main/java/org/elasticsearch/common/lucene/search/FilteredCollector.java @@ -29,9 +29,6 @@ import org.elasticsearch.common.lucene.Lucene; import java.io.IOException; -/** - * - */ public class FilteredCollector implements Collector { private final Collector collector; diff --git a/core/src/main/java/org/elasticsearch/common/lucene/search/MatchNoDocsQuery.java b/core/src/main/java/org/elasticsearch/common/lucene/search/MatchNoDocsQuery.java deleted file mode 100644 index 9caf350926c..00000000000 --- a/core/src/main/java/org/elasticsearch/common/lucene/search/MatchNoDocsQuery.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Licensed to Elasticsearch under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.elasticsearch.common.lucene.search; - -import org.apache.lucene.index.LeafReaderContext; -import org.apache.lucene.index.Term; -import org.apache.lucene.search.Query; -import org.apache.lucene.search.Weight; -import org.apache.lucene.search.ConstantScoreWeight; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.search.Explanation; -import org.apache.lucene.search.Scorer; - -import java.io.IOException; -import java.util.Set; - -/** - * A query that matches no documents and prints the reason why in the toString method. - */ -public class MatchNoDocsQuery extends Query { - /** - * The reason why the query does not match any document. - */ - private final String reason; - - public MatchNoDocsQuery(String reason) { - this.reason = reason; - } - - public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException { - return new ConstantScoreWeight(this) { - @Override - public void extractTerms(Set terms) { - } - - @Override - public Explanation explain(LeafReaderContext context, int doc) throws IOException { - return Explanation.noMatch(reason); - } - - @Override - public Scorer scorer(LeafReaderContext context) throws IOException { - return null; - } - }; - } - - @Override - public String toString(String field) { - return "MatchNoDocsQuery[\"" + reason + "\"]"; - } - - @Override - public boolean equals(Object obj) { - return sameClassAs(obj); - } - - @Override - public int hashCode() { - return classHash(); - } -} diff --git a/core/src/main/java/org/elasticsearch/common/lucene/search/MoreLikeThisQuery.java b/core/src/main/java/org/elasticsearch/common/lucene/search/MoreLikeThisQuery.java index 06ab2b4a530..81a8dfdd1e9 100644 --- a/core/src/main/java/org/elasticsearch/common/lucene/search/MoreLikeThisQuery.java +++ b/core/src/main/java/org/elasticsearch/common/lucene/search/MoreLikeThisQuery.java @@ -45,9 +45,6 @@ import java.util.List; import java.util.Objects; import java.util.Set; -/** - * - */ public class MoreLikeThisQuery extends Query { public static final String DEFAULT_MINIMUM_SHOULD_MATCH = "30%"; diff --git a/core/src/main/java/org/elasticsearch/common/lucene/search/Queries.java b/core/src/main/java/org/elasticsearch/common/lucene/search/Queries.java index 2a3fd94e914..8933b56b124 100644 --- a/core/src/main/java/org/elasticsearch/common/lucene/search/Queries.java +++ b/core/src/main/java/org/elasticsearch/common/lucene/search/Queries.java @@ -25,6 +25,7 @@ import org.apache.lucene.search.BooleanClause.Occur; import org.apache.lucene.search.BooleanQuery; import org.apache.lucene.search.ConstantScoreQuery; import org.apache.lucene.search.MatchAllDocsQuery; +import org.apache.lucene.search.MatchNoDocsQuery; import org.apache.lucene.search.PrefixQuery; import org.apache.lucene.search.Query; import org.apache.lucene.util.BytesRef; @@ -34,9 +35,6 @@ import org.elasticsearch.index.mapper.TypeFieldMapper; import java.util.List; import java.util.regex.Pattern; -/** - * - */ public class Queries { public static Query newMatchAllQuery() { diff --git a/core/src/main/java/org/elasticsearch/common/lucene/search/function/ScoreFunction.java b/core/src/main/java/org/elasticsearch/common/lucene/search/function/ScoreFunction.java index 9b33f3d90cc..189ca1584ae 100644 --- a/core/src/main/java/org/elasticsearch/common/lucene/search/function/ScoreFunction.java +++ b/core/src/main/java/org/elasticsearch/common/lucene/search/function/ScoreFunction.java @@ -24,9 +24,6 @@ import org.apache.lucene.index.LeafReaderContext; import java.io.IOException; import java.util.Objects; -/** - * - */ public abstract class ScoreFunction { private final CombineFunction scoreCombiner; diff --git a/core/src/main/java/org/elasticsearch/common/lucene/search/function/WeightFactorFunction.java b/core/src/main/java/org/elasticsearch/common/lucene/search/function/WeightFactorFunction.java index cadb3f55df4..bfe36b0a060 100644 --- a/core/src/main/java/org/elasticsearch/common/lucene/search/function/WeightFactorFunction.java +++ b/core/src/main/java/org/elasticsearch/common/lucene/search/function/WeightFactorFunction.java @@ -25,9 +25,6 @@ import org.apache.lucene.search.Explanation; import java.io.IOException; import java.util.Objects; -/** - * - */ public class WeightFactorFunction extends ScoreFunction { private static final ScoreFunction SCORE_ONE = new ScoreOne(CombineFunction.MULTIPLY); diff --git a/core/src/main/java/org/elasticsearch/common/lucene/store/InputStreamIndexInput.java b/core/src/main/java/org/elasticsearch/common/lucene/store/InputStreamIndexInput.java index bb63978d70c..9866e239dba 100644 --- a/core/src/main/java/org/elasticsearch/common/lucene/store/InputStreamIndexInput.java +++ b/core/src/main/java/org/elasticsearch/common/lucene/store/InputStreamIndexInput.java @@ -24,9 +24,6 @@ import org.apache.lucene.store.IndexInput; import java.io.IOException; import java.io.InputStream; -/** - * - */ public class InputStreamIndexInput extends InputStream { private final IndexInput indexInput; diff --git a/core/src/main/java/org/elasticsearch/common/metrics/CounterMetric.java b/core/src/main/java/org/elasticsearch/common/metrics/CounterMetric.java index 917ec9d4960..b65d9999869 100644 --- a/core/src/main/java/org/elasticsearch/common/metrics/CounterMetric.java +++ b/core/src/main/java/org/elasticsearch/common/metrics/CounterMetric.java @@ -21,8 +21,6 @@ package org.elasticsearch.common.metrics; import java.util.concurrent.atomic.LongAdder; -/** - */ public class CounterMetric implements Metric { private final LongAdder counter = new LongAdder(); diff --git a/core/src/main/java/org/elasticsearch/common/metrics/MeanMetric.java b/core/src/main/java/org/elasticsearch/common/metrics/MeanMetric.java index f6f3104f558..1ee1a867fad 100644 --- a/core/src/main/java/org/elasticsearch/common/metrics/MeanMetric.java +++ b/core/src/main/java/org/elasticsearch/common/metrics/MeanMetric.java @@ -21,8 +21,6 @@ package org.elasticsearch.common.metrics; import java.util.concurrent.atomic.LongAdder; -/** - */ public class MeanMetric implements Metric { private final LongAdder counter = new LongAdder(); diff --git a/core/src/main/java/org/elasticsearch/common/metrics/Metric.java b/core/src/main/java/org/elasticsearch/common/metrics/Metric.java index b986c282a59..4f5bce173fc 100644 --- a/core/src/main/java/org/elasticsearch/common/metrics/Metric.java +++ b/core/src/main/java/org/elasticsearch/common/metrics/Metric.java @@ -19,7 +19,5 @@ package org.elasticsearch.common.metrics; -/** - */ public interface Metric { } diff --git a/core/src/main/java/org/elasticsearch/common/network/NetworkService.java b/core/src/main/java/org/elasticsearch/common/network/NetworkService.java index 2652f9ff646..b72acf8064c 100644 --- a/core/src/main/java/org/elasticsearch/common/network/NetworkService.java +++ b/core/src/main/java/org/elasticsearch/common/network/NetworkService.java @@ -36,9 +36,6 @@ import java.util.List; import java.util.concurrent.TimeUnit; import java.util.function.Function; -/** - * - */ public class NetworkService extends AbstractComponent { /** By default, we bind to loopback interfaces */ diff --git a/core/src/main/java/org/elasticsearch/common/recycler/NoneRecycler.java b/core/src/main/java/org/elasticsearch/common/recycler/NoneRecycler.java index 258e4355b9f..d1bf59a92c6 100644 --- a/core/src/main/java/org/elasticsearch/common/recycler/NoneRecycler.java +++ b/core/src/main/java/org/elasticsearch/common/recycler/NoneRecycler.java @@ -20,8 +20,6 @@ package org.elasticsearch.common.recycler; -/** - */ public class NoneRecycler extends AbstractRecycler { public NoneRecycler(C c) { diff --git a/core/src/main/java/org/elasticsearch/common/regex/Regex.java b/core/src/main/java/org/elasticsearch/common/regex/Regex.java index f1f945288e4..bcf2dfba3ef 100644 --- a/core/src/main/java/org/elasticsearch/common/regex/Regex.java +++ b/core/src/main/java/org/elasticsearch/common/regex/Regex.java @@ -29,9 +29,6 @@ import java.util.List; import java.util.Locale; import java.util.regex.Pattern; -/** - * - */ public class Regex { /** diff --git a/core/src/main/java/org/elasticsearch/common/rounding/DateTimeUnit.java b/core/src/main/java/org/elasticsearch/common/rounding/DateTimeUnit.java index 375c1a27212..3bf4f460d71 100644 --- a/core/src/main/java/org/elasticsearch/common/rounding/DateTimeUnit.java +++ b/core/src/main/java/org/elasticsearch/common/rounding/DateTimeUnit.java @@ -26,9 +26,6 @@ import org.joda.time.chrono.ISOChronology; import java.util.function.Function; -/** - * - */ public enum DateTimeUnit { WEEK_OF_WEEKYEAR( (byte) 1, tz -> ISOChronology.getInstance(tz).weekOfWeekyear()), diff --git a/core/src/main/java/org/elasticsearch/common/transport/NetworkExceptionHelper.java b/core/src/main/java/org/elasticsearch/common/transport/NetworkExceptionHelper.java index 5d6211c3fec..b78d61f2506 100644 --- a/core/src/main/java/org/elasticsearch/common/transport/NetworkExceptionHelper.java +++ b/core/src/main/java/org/elasticsearch/common/transport/NetworkExceptionHelper.java @@ -22,9 +22,6 @@ package org.elasticsearch.common.transport; import java.net.ConnectException; import java.nio.channels.ClosedChannelException; -/** - * - */ public class NetworkExceptionHelper { public static boolean isConnectException(Throwable e) { diff --git a/core/src/main/java/org/elasticsearch/common/transport/PortsRange.java b/core/src/main/java/org/elasticsearch/common/transport/PortsRange.java index f88f1de8fe0..aef5db31e2d 100644 --- a/core/src/main/java/org/elasticsearch/common/transport/PortsRange.java +++ b/core/src/main/java/org/elasticsearch/common/transport/PortsRange.java @@ -24,9 +24,6 @@ import com.carrotsearch.hppc.IntArrayList; import java.util.StringTokenizer; -/** - * - */ public class PortsRange { private final String portRange; diff --git a/core/src/main/java/org/elasticsearch/common/unit/ByteSizeUnit.java b/core/src/main/java/org/elasticsearch/common/unit/ByteSizeUnit.java index 7a412aac090..e7e43b6d78a 100644 --- a/core/src/main/java/org/elasticsearch/common/unit/ByteSizeUnit.java +++ b/core/src/main/java/org/elasticsearch/common/unit/ByteSizeUnit.java @@ -269,4 +269,4 @@ public enum ByteSizeUnit implements Writeable { public static ByteSizeUnit readFrom(StreamInput in) throws IOException { return ByteSizeUnit.fromId(in.readVInt()); } -} \ No newline at end of file +} diff --git a/core/src/main/java/org/elasticsearch/common/unit/ByteSizeValue.java b/core/src/main/java/org/elasticsearch/common/unit/ByteSizeValue.java index 7d2be6fee3e..e0782e32cae 100644 --- a/core/src/main/java/org/elasticsearch/common/unit/ByteSizeValue.java +++ b/core/src/main/java/org/elasticsearch/common/unit/ByteSizeValue.java @@ -29,7 +29,7 @@ import java.io.IOException; import java.util.Locale; import java.util.Objects; -public class ByteSizeValue implements Writeable { +public class ByteSizeValue implements Writeable, Comparable { private final long size; private final ByteSizeUnit unit; @@ -191,15 +191,18 @@ public class ByteSizeValue implements Writeable { return false; } - ByteSizeValue sizeValue = (ByteSizeValue) o; - - return getBytes() == sizeValue.getBytes(); + return compareTo((ByteSizeValue) o) == 0; } @Override public int hashCode() { - int result = Long.hashCode(size); - result = 31 * result + (unit != null ? unit.hashCode() : 0); - return result; + return Double.hashCode(((double) size) * unit.toBytes(1)); + } + + @Override + public int compareTo(ByteSizeValue other) { + double thisValue = ((double) size) * unit.toBytes(1); + double otherValue = ((double) other.size) * other.unit.toBytes(1); + return Double.compare(thisValue, otherValue); } } diff --git a/core/src/main/java/org/elasticsearch/common/unit/SizeUnit.java b/core/src/main/java/org/elasticsearch/common/unit/SizeUnit.java index 984931d2647..bfa8da1791d 100644 --- a/core/src/main/java/org/elasticsearch/common/unit/SizeUnit.java +++ b/core/src/main/java/org/elasticsearch/common/unit/SizeUnit.java @@ -19,9 +19,6 @@ package org.elasticsearch.common.unit; -/** - * - */ public enum SizeUnit { SINGLE { @Override diff --git a/core/src/main/java/org/elasticsearch/common/unit/SizeValue.java b/core/src/main/java/org/elasticsearch/common/unit/SizeValue.java index cba51f29eeb..0f90582007b 100644 --- a/core/src/main/java/org/elasticsearch/common/unit/SizeValue.java +++ b/core/src/main/java/org/elasticsearch/common/unit/SizeValue.java @@ -27,7 +27,7 @@ import org.elasticsearch.common.io.stream.Writeable; import java.io.IOException; -public class SizeValue implements Writeable { +public class SizeValue implements Writeable, Comparable { private final long size; private final SizeUnit sizeUnit; @@ -201,18 +201,18 @@ public class SizeValue implements Writeable { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - SizeValue sizeValue = (SizeValue) o; - - if (size != sizeValue.size) return false; - if (sizeUnit != sizeValue.sizeUnit) return false; - - return true; + return compareTo((SizeValue) o) == 0; } @Override public int hashCode() { - int result = Long.hashCode(size); - result = 31 * result + (sizeUnit != null ? sizeUnit.hashCode() : 0); - return result; + return Double.hashCode(((double) size) * sizeUnit.toSingles(1)); + } + + @Override + public int compareTo(SizeValue other) { + double thisValue = ((double) size) * sizeUnit.toSingles(1); + double otherValue = ((double) other.size) * other.sizeUnit.toSingles(1); + return Double.compare(thisValue, otherValue); } } diff --git a/core/src/main/java/org/elasticsearch/common/unit/TimeValue.java b/core/src/main/java/org/elasticsearch/common/unit/TimeValue.java index 8f81efb6498..4ab91aac5b5 100644 --- a/core/src/main/java/org/elasticsearch/common/unit/TimeValue.java +++ b/core/src/main/java/org/elasticsearch/common/unit/TimeValue.java @@ -39,7 +39,7 @@ import java.util.Objects; import java.util.Set; import java.util.concurrent.TimeUnit; -public class TimeValue implements Writeable { +public class TimeValue implements Writeable, Comparable { /** How many nano-seconds in one milli-second */ public static final long NSEC_PER_MSEC = TimeUnit.NANOSECONDS.convert(1, TimeUnit.MILLISECONDS); @@ -381,17 +381,22 @@ public class TimeValue implements Writeable { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - TimeValue timeValue = (TimeValue) o; - return timeUnit.toNanos(duration) == timeValue.timeUnit.toNanos(timeValue.duration); + return this.compareTo(((TimeValue) o)) == 0; } @Override public int hashCode() { - long normalized = timeUnit.toNanos(duration); - return Long.hashCode(normalized); + return Double.hashCode(((double) duration) * timeUnit.toNanos(1)); } public static long nsecToMSec(long ns) { return ns / NSEC_PER_MSEC; } + + @Override + public int compareTo(TimeValue timeValue) { + double thisValue = ((double) duration) * timeUnit.toNanos(1); + double otherValue = ((double) timeValue.duration) * timeValue.timeUnit.toNanos(1); + return Double.compare(thisValue, otherValue); + } } diff --git a/core/src/main/java/org/elasticsearch/common/util/AbstractArray.java b/core/src/main/java/org/elasticsearch/common/util/AbstractArray.java index 1187dfef7e5..913f1ad26a4 100644 --- a/core/src/main/java/org/elasticsearch/common/util/AbstractArray.java +++ b/core/src/main/java/org/elasticsearch/common/util/AbstractArray.java @@ -23,13 +23,14 @@ import org.apache.lucene.util.Accountable; import java.util.Collection; import java.util.Collections; +import java.util.concurrent.atomic.AtomicBoolean; abstract class AbstractArray implements BigArray { private final BigArrays bigArrays; public final boolean clearOnResize; - private boolean released = false; + private final AtomicBoolean closed = new AtomicBoolean(false); AbstractArray(BigArrays bigArrays, boolean clearOnResize) { this.bigArrays = bigArrays; @@ -38,10 +39,13 @@ abstract class AbstractArray implements BigArray { @Override public final void close() { - bigArrays.adjustBreaker(-ramBytesUsed()); - assert !released : "double release"; - released = true; - doClose(); + if (closed.compareAndSet(false, true)) { + try { + bigArrays.adjustBreaker(-ramBytesUsed()); + } finally { + doClose(); + } + } } protected abstract void doClose(); diff --git a/core/src/main/java/org/elasticsearch/common/util/ArrayUtils.java b/core/src/main/java/org/elasticsearch/common/util/ArrayUtils.java index bb8442efa08..de23663b3e9 100644 --- a/core/src/main/java/org/elasticsearch/common/util/ArrayUtils.java +++ b/core/src/main/java/org/elasticsearch/common/util/ArrayUtils.java @@ -22,9 +22,6 @@ package org.elasticsearch.common.util; import java.lang.reflect.Array; import java.util.Arrays; -/** - * - */ public class ArrayUtils { private ArrayUtils() {} diff --git a/core/src/main/java/org/elasticsearch/common/util/Callback.java b/core/src/main/java/org/elasticsearch/common/util/Callback.java index d4e3c94f700..3e498ef3747 100644 --- a/core/src/main/java/org/elasticsearch/common/util/Callback.java +++ b/core/src/main/java/org/elasticsearch/common/util/Callback.java @@ -19,9 +19,6 @@ package org.elasticsearch.common.util; -/** - * - */ public interface Callback { void handle(T t); diff --git a/core/src/main/java/org/elasticsearch/common/util/concurrent/ConcurrentCollections.java b/core/src/main/java/org/elasticsearch/common/util/concurrent/ConcurrentCollections.java index 1c78b92bebb..1f6b0645d4e 100644 --- a/core/src/main/java/org/elasticsearch/common/util/concurrent/ConcurrentCollections.java +++ b/core/src/main/java/org/elasticsearch/common/util/concurrent/ConcurrentCollections.java @@ -31,9 +31,6 @@ import java.util.concurrent.ConcurrentMap; import java.util.concurrent.LinkedTransferQueue; -/** - * - */ public abstract class ConcurrentCollections { static final int aggressiveConcurrencyLevel; diff --git a/core/src/main/java/org/elasticsearch/common/util/concurrent/ConcurrentHashMapLong.java b/core/src/main/java/org/elasticsearch/common/util/concurrent/ConcurrentHashMapLong.java index 4a1d67aa38b..32e3a00c074 100644 --- a/core/src/main/java/org/elasticsearch/common/util/concurrent/ConcurrentHashMapLong.java +++ b/core/src/main/java/org/elasticsearch/common/util/concurrent/ConcurrentHashMapLong.java @@ -24,9 +24,6 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentMap; -/** - * - */ public class ConcurrentHashMapLong implements ConcurrentMapLong { private final ConcurrentMap map; diff --git a/core/src/main/java/org/elasticsearch/common/util/concurrent/ConcurrentMapLong.java b/core/src/main/java/org/elasticsearch/common/util/concurrent/ConcurrentMapLong.java index 82212ad6165..85482ad6703 100644 --- a/core/src/main/java/org/elasticsearch/common/util/concurrent/ConcurrentMapLong.java +++ b/core/src/main/java/org/elasticsearch/common/util/concurrent/ConcurrentMapLong.java @@ -21,9 +21,6 @@ package org.elasticsearch.common.util.concurrent; import java.util.concurrent.ConcurrentMap; -/** - * - */ public interface ConcurrentMapLong extends ConcurrentMap { T get(long key); diff --git a/core/src/main/java/org/elasticsearch/common/util/concurrent/EsAbortPolicy.java b/core/src/main/java/org/elasticsearch/common/util/concurrent/EsAbortPolicy.java index 2b19fa2096c..986b925f9e6 100644 --- a/core/src/main/java/org/elasticsearch/common/util/concurrent/EsAbortPolicy.java +++ b/core/src/main/java/org/elasticsearch/common/util/concurrent/EsAbortPolicy.java @@ -24,8 +24,6 @@ import org.elasticsearch.common.metrics.CounterMetric; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ThreadPoolExecutor; -/** - */ public class EsAbortPolicy implements XRejectedExecutionHandler { private final CounterMetric rejected = new CounterMetric(); diff --git a/core/src/main/java/org/elasticsearch/common/util/concurrent/EsRejectedExecutionException.java b/core/src/main/java/org/elasticsearch/common/util/concurrent/EsRejectedExecutionException.java index d75b3ffa8c2..87e50a193ee 100644 --- a/core/src/main/java/org/elasticsearch/common/util/concurrent/EsRejectedExecutionException.java +++ b/core/src/main/java/org/elasticsearch/common/util/concurrent/EsRejectedExecutionException.java @@ -26,8 +26,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - */ public class EsRejectedExecutionException extends ElasticsearchException { private final boolean isExecutorShutdown; diff --git a/core/src/main/java/org/elasticsearch/common/util/concurrent/FutureUtils.java b/core/src/main/java/org/elasticsearch/common/util/concurrent/FutureUtils.java index ef39156d5bf..de841634ede 100644 --- a/core/src/main/java/org/elasticsearch/common/util/concurrent/FutureUtils.java +++ b/core/src/main/java/org/elasticsearch/common/util/concurrent/FutureUtils.java @@ -23,8 +23,6 @@ import org.elasticsearch.common.SuppressForbidden; import java.util.concurrent.Future; -/** - */ public class FutureUtils { @SuppressForbidden(reason = "Future#cancel()") diff --git a/core/src/main/java/org/elasticsearch/common/util/concurrent/PrioritizedCallable.java b/core/src/main/java/org/elasticsearch/common/util/concurrent/PrioritizedCallable.java index d028b5c7f6a..c946c47d5c0 100644 --- a/core/src/main/java/org/elasticsearch/common/util/concurrent/PrioritizedCallable.java +++ b/core/src/main/java/org/elasticsearch/common/util/concurrent/PrioritizedCallable.java @@ -22,9 +22,6 @@ import org.elasticsearch.common.Priority; import java.util.concurrent.Callable; -/** - * - */ public abstract class PrioritizedCallable implements Callable, Comparable { private final Priority priority; diff --git a/core/src/main/java/org/elasticsearch/common/util/concurrent/PrioritizedRunnable.java b/core/src/main/java/org/elasticsearch/common/util/concurrent/PrioritizedRunnable.java index 6c3e24d1ab9..7ef2e96e2c5 100644 --- a/core/src/main/java/org/elasticsearch/common/util/concurrent/PrioritizedRunnable.java +++ b/core/src/main/java/org/elasticsearch/common/util/concurrent/PrioritizedRunnable.java @@ -23,9 +23,6 @@ import org.elasticsearch.common.Priority; import java.util.concurrent.TimeUnit; import java.util.function.LongSupplier; -/** - * - */ public abstract class PrioritizedRunnable implements Runnable, Comparable { private final Priority priority; diff --git a/core/src/main/java/org/elasticsearch/common/util/concurrent/UncategorizedExecutionException.java b/core/src/main/java/org/elasticsearch/common/util/concurrent/UncategorizedExecutionException.java index a74a1a073f8..a741de3a8ef 100644 --- a/core/src/main/java/org/elasticsearch/common/util/concurrent/UncategorizedExecutionException.java +++ b/core/src/main/java/org/elasticsearch/common/util/concurrent/UncategorizedExecutionException.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class UncategorizedExecutionException extends ElasticsearchException { public UncategorizedExecutionException(String msg, Throwable cause) { diff --git a/core/src/main/java/org/elasticsearch/common/util/concurrent/XRejectedExecutionHandler.java b/core/src/main/java/org/elasticsearch/common/util/concurrent/XRejectedExecutionHandler.java index e58f2abfd5f..d201484cabc 100644 --- a/core/src/main/java/org/elasticsearch/common/util/concurrent/XRejectedExecutionHandler.java +++ b/core/src/main/java/org/elasticsearch/common/util/concurrent/XRejectedExecutionHandler.java @@ -21,8 +21,6 @@ package org.elasticsearch.common.util.concurrent; import java.util.concurrent.RejectedExecutionHandler; -/** - */ public interface XRejectedExecutionHandler extends RejectedExecutionHandler { /** diff --git a/core/src/main/java/org/elasticsearch/common/xcontent/XContentBuilder.java b/core/src/main/java/org/elasticsearch/common/xcontent/XContentBuilder.java index c416aeffe39..df34ec726fd 100644 --- a/core/src/main/java/org/elasticsearch/common/xcontent/XContentBuilder.java +++ b/core/src/main/java/org/elasticsearch/common/xcontent/XContentBuilder.java @@ -38,10 +38,12 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio.file.Path; +import java.util.Arrays; import java.util.Calendar; import java.util.Collections; import java.util.Date; import java.util.HashMap; +import java.util.IdentityHashMap; import java.util.Locale; import java.util.Map; import java.util.Objects; @@ -778,6 +780,11 @@ public final class XContentBuilder implements BytesStream, Releasable, Flushable if (values == null) { return nullValue(); } + + // checks that the array of object does not contain references to itself because + // iterating over entries will cause a stackoverflow error + ensureNoSelfReferences(values); + startArray(); for (Object o : values) { value(o); @@ -859,6 +866,11 @@ public final class XContentBuilder implements BytesStream, Releasable, Flushable if (values == null) { return nullValue(); } + + // checks that the map does not contain references to itself because + // iterating over map entries will cause a stackoverflow error + ensureNoSelfReferences(values); + startObject(); for (Map.Entry value : values.entrySet()) { field(value.getKey()); @@ -881,6 +893,10 @@ public final class XContentBuilder implements BytesStream, Releasable, Flushable //treat as single value value((Path) values); } else { + // checks that the iterable does not contain references to itself because + // iterating over entries will cause a stackoverflow error + ensureNoSelfReferences(values); + startArray(); for (Object value : values) { unknownValue(value); @@ -1012,4 +1028,32 @@ public final class XContentBuilder implements BytesStream, Releasable, Flushable throw new IllegalArgumentException(message); } } + + static void ensureNoSelfReferences(Object value) { + ensureNoSelfReferences(value, Collections.newSetFromMap(new IdentityHashMap<>())); + } + + private static void ensureNoSelfReferences(final Object value, final Set ancestors) { + if (value != null) { + + Iterable it; + if (value instanceof Map) { + it = ((Map) value).values(); + } else if ((value instanceof Iterable) && (value instanceof Path == false)) { + it = (Iterable) value; + } else if (value instanceof Object[]) { + it = Arrays.asList((Object[]) value); + } else { + return; + } + + if (ancestors.add(value) == false) { + throw new IllegalArgumentException("Object has already been built and is self-referencing itself"); + } + for (Object o : it) { + ensureNoSelfReferences(o, ancestors); + } + ancestors.remove(value); + } + } } diff --git a/core/src/main/java/org/elasticsearch/common/xcontent/XContentHelper.java b/core/src/main/java/org/elasticsearch/common/xcontent/XContentHelper.java index 2832527a583..1625289e528 100644 --- a/core/src/main/java/org/elasticsearch/common/xcontent/XContentHelper.java +++ b/core/src/main/java/org/elasticsearch/common/xcontent/XContentHelper.java @@ -38,9 +38,6 @@ import java.util.Objects; import static org.elasticsearch.common.xcontent.ToXContent.EMPTY_PARAMS; -/** - * - */ @SuppressWarnings("unchecked") public class XContentHelper { diff --git a/core/src/main/java/org/elasticsearch/common/xcontent/cbor/CborXContentParser.java b/core/src/main/java/org/elasticsearch/common/xcontent/cbor/CborXContentParser.java index ed10ea47c0e..772a5322cc7 100644 --- a/core/src/main/java/org/elasticsearch/common/xcontent/cbor/CborXContentParser.java +++ b/core/src/main/java/org/elasticsearch/common/xcontent/cbor/CborXContentParser.java @@ -23,9 +23,6 @@ import com.fasterxml.jackson.core.JsonParser; import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.common.xcontent.json.JsonXContentParser; -/** - * - */ public class CborXContentParser extends JsonXContentParser { public CborXContentParser(JsonParser parser) { diff --git a/core/src/main/java/org/elasticsearch/common/xcontent/json/JsonXContentParser.java b/core/src/main/java/org/elasticsearch/common/xcontent/json/JsonXContentParser.java index 5728e6035e6..f7ed46a6496 100644 --- a/core/src/main/java/org/elasticsearch/common/xcontent/json/JsonXContentParser.java +++ b/core/src/main/java/org/elasticsearch/common/xcontent/json/JsonXContentParser.java @@ -31,9 +31,6 @@ import org.elasticsearch.common.xcontent.support.AbstractXContentParser; import java.io.IOException; import java.nio.CharBuffer; -/** - * - */ public class JsonXContentParser extends AbstractXContentParser { final JsonParser parser; diff --git a/core/src/main/java/org/elasticsearch/common/xcontent/smile/SmileXContentParser.java b/core/src/main/java/org/elasticsearch/common/xcontent/smile/SmileXContentParser.java index 2bbf99db27d..ad8e12e70bf 100644 --- a/core/src/main/java/org/elasticsearch/common/xcontent/smile/SmileXContentParser.java +++ b/core/src/main/java/org/elasticsearch/common/xcontent/smile/SmileXContentParser.java @@ -23,9 +23,6 @@ import com.fasterxml.jackson.core.JsonParser; import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.common.xcontent.json.JsonXContentParser; -/** - * - */ public class SmileXContentParser extends JsonXContentParser { public SmileXContentParser(JsonParser parser) { diff --git a/core/src/main/java/org/elasticsearch/common/xcontent/support/AbstractXContentParser.java b/core/src/main/java/org/elasticsearch/common/xcontent/support/AbstractXContentParser.java index 9f313a59b90..c0025499443 100644 --- a/core/src/main/java/org/elasticsearch/common/xcontent/support/AbstractXContentParser.java +++ b/core/src/main/java/org/elasticsearch/common/xcontent/support/AbstractXContentParser.java @@ -31,9 +31,6 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; -/** - * - */ public abstract class AbstractXContentParser implements XContentParser { // Currently this is not a setting that can be changed and is a policy diff --git a/core/src/main/java/org/elasticsearch/common/xcontent/support/XContentMapValues.java b/core/src/main/java/org/elasticsearch/common/xcontent/support/XContentMapValues.java index fa211bb08e4..c745c7d6c0c 100644 --- a/core/src/main/java/org/elasticsearch/common/xcontent/support/XContentMapValues.java +++ b/core/src/main/java/org/elasticsearch/common/xcontent/support/XContentMapValues.java @@ -33,10 +33,8 @@ import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.function.Function; -/** - * - */ public class XContentMapValues { /** @@ -155,6 +153,14 @@ public class XContentMapValues { * then {@code a.b} will be kept in the filtered map. */ public static Map filter(Map map, String[] includes, String[] excludes) { + return filter(includes, excludes).apply(map); + } + + /** + * Returns a function that filters a document map based on the given include and exclude rules. + * @see #filter(Map, String[], String[]) for details + */ + public static Function, Map> filter(String[] includes, String[] excludes) { CharacterRunAutomaton matchAllAutomaton = new CharacterRunAutomaton(Automata.makeAnyString()); CharacterRunAutomaton include; @@ -178,10 +184,10 @@ public class XContentMapValues { // NOTE: We cannot use Operations.minus because of the special case that // we want all sub properties to match as soon as an object matches - return filter(map, - include, include.getInitialState(), - exclude, exclude.getInitialState(), - matchAllAutomaton); + return (map) -> filter(map, + include, include.getInitialState(), + exclude, exclude.getInitialState(), + matchAllAutomaton); } /** Make matches on objects also match dots in field names. diff --git a/core/src/main/java/org/elasticsearch/common/xcontent/yaml/YamlXContentParser.java b/core/src/main/java/org/elasticsearch/common/xcontent/yaml/YamlXContentParser.java index 3b674c054dc..5efceac7dcf 100644 --- a/core/src/main/java/org/elasticsearch/common/xcontent/yaml/YamlXContentParser.java +++ b/core/src/main/java/org/elasticsearch/common/xcontent/yaml/YamlXContentParser.java @@ -23,9 +23,6 @@ import com.fasterxml.jackson.core.JsonParser; import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.common.xcontent.json.JsonXContentParser; -/** - * - */ public class YamlXContentParser extends JsonXContentParser { public YamlXContentParser(JsonParser parser) { diff --git a/core/src/main/java/org/elasticsearch/discovery/MasterNotDiscoveredException.java b/core/src/main/java/org/elasticsearch/discovery/MasterNotDiscoveredException.java index 160915a6e10..282d849debd 100644 --- a/core/src/main/java/org/elasticsearch/discovery/MasterNotDiscoveredException.java +++ b/core/src/main/java/org/elasticsearch/discovery/MasterNotDiscoveredException.java @@ -25,9 +25,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class MasterNotDiscoveredException extends ElasticsearchException { public MasterNotDiscoveredException() { diff --git a/core/src/main/java/org/elasticsearch/discovery/local/LocalDiscovery.java b/core/src/main/java/org/elasticsearch/discovery/local/LocalDiscovery.java index 6b943bde78b..389f5ee03bb 100644 --- a/core/src/main/java/org/elasticsearch/discovery/local/LocalDiscovery.java +++ b/core/src/main/java/org/elasticsearch/discovery/local/LocalDiscovery.java @@ -56,9 +56,6 @@ import java.util.concurrent.ConcurrentMap; import static org.elasticsearch.cluster.ClusterState.Builder; -/** - * - */ public class LocalDiscovery extends AbstractLifecycleComponent implements Discovery { private static final LocalDiscovery[] NO_MEMBERS = new LocalDiscovery[0]; diff --git a/core/src/main/java/org/elasticsearch/discovery/zen/DiscoveryNodesProvider.java b/core/src/main/java/org/elasticsearch/discovery/zen/DiscoveryNodesProvider.java index b9ce7901369..247839397e0 100644 --- a/core/src/main/java/org/elasticsearch/discovery/zen/DiscoveryNodesProvider.java +++ b/core/src/main/java/org/elasticsearch/discovery/zen/DiscoveryNodesProvider.java @@ -21,9 +21,6 @@ package org.elasticsearch.discovery.zen; import org.elasticsearch.cluster.node.DiscoveryNodes; -/** - * - */ public interface DiscoveryNodesProvider { DiscoveryNodes nodes(); diff --git a/core/src/main/java/org/elasticsearch/discovery/zen/ElectMasterService.java b/core/src/main/java/org/elasticsearch/discovery/zen/ElectMasterService.java index 1d11f5cf0f5..26029add7a4 100644 --- a/core/src/main/java/org/elasticsearch/discovery/zen/ElectMasterService.java +++ b/core/src/main/java/org/elasticsearch/discovery/zen/ElectMasterService.java @@ -38,9 +38,6 @@ import java.util.List; import java.util.Objects; import java.util.stream.Collectors; -/** - * - */ public class ElectMasterService extends AbstractComponent { public static final Setting DISCOVERY_ZEN_MINIMUM_MASTER_NODES_SETTING = diff --git a/core/src/main/java/org/elasticsearch/discovery/zen/membership/MembershipAction.java b/core/src/main/java/org/elasticsearch/discovery/zen/membership/MembershipAction.java index 8740d12c5f7..f0140c660cd 100644 --- a/core/src/main/java/org/elasticsearch/discovery/zen/membership/MembershipAction.java +++ b/core/src/main/java/org/elasticsearch/discovery/zen/membership/MembershipAction.java @@ -38,9 +38,6 @@ import org.elasticsearch.transport.TransportService; import java.io.IOException; import java.util.concurrent.TimeUnit; -/** - * - */ public class MembershipAction extends AbstractComponent { public static final String DISCOVERY_JOIN_ACTION_NAME = "internal:discovery/zen/join"; diff --git a/core/src/main/java/org/elasticsearch/discovery/zen/ping/PingContextProvider.java b/core/src/main/java/org/elasticsearch/discovery/zen/ping/PingContextProvider.java index 0bcc8b37d88..43f4618472b 100644 --- a/core/src/main/java/org/elasticsearch/discovery/zen/ping/PingContextProvider.java +++ b/core/src/main/java/org/elasticsearch/discovery/zen/ping/PingContextProvider.java @@ -22,9 +22,6 @@ package org.elasticsearch.discovery.zen.ping; import org.elasticsearch.cluster.ClusterState; import org.elasticsearch.discovery.zen.DiscoveryNodesProvider; -/** - * - */ public interface PingContextProvider extends DiscoveryNodesProvider { /** return the current cluster state of the node */ diff --git a/core/src/main/java/org/elasticsearch/discovery/zen/ping/unicast/UnicastZenPing.java b/core/src/main/java/org/elasticsearch/discovery/zen/ping/unicast/UnicastZenPing.java index 637730c75fd..aed0a1e1d36 100644 --- a/core/src/main/java/org/elasticsearch/discovery/zen/ping/unicast/UnicastZenPing.java +++ b/core/src/main/java/org/elasticsearch/discovery/zen/ping/unicast/UnicastZenPing.java @@ -86,9 +86,6 @@ import static java.util.Collections.emptySet; import static org.elasticsearch.common.util.concurrent.ConcurrentCollections.newConcurrentMap; import static org.elasticsearch.discovery.zen.ping.ZenPing.PingResponse.readPingResponse; -/** - * - */ public class UnicastZenPing extends AbstractLifecycleComponent implements ZenPing { public static final String ACTION_NAME = "internal:discovery/zen/unicast"; diff --git a/core/src/main/java/org/elasticsearch/discovery/zen/publish/PublishClusterStateAction.java b/core/src/main/java/org/elasticsearch/discovery/zen/publish/PublishClusterStateAction.java index 870e34cc1f3..c2479363840 100644 --- a/core/src/main/java/org/elasticsearch/discovery/zen/publish/PublishClusterStateAction.java +++ b/core/src/main/java/org/elasticsearch/discovery/zen/publish/PublishClusterStateAction.java @@ -66,9 +66,6 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Supplier; -/** - * - */ public class PublishClusterStateAction extends AbstractComponent { public static final String SEND_ACTION_NAME = "internal:discovery/zen/publish/send"; diff --git a/core/src/main/java/org/elasticsearch/gateway/GatewayAllocator.java b/core/src/main/java/org/elasticsearch/gateway/GatewayAllocator.java index 450255575d9..d75a864d8dd 100644 --- a/core/src/main/java/org/elasticsearch/gateway/GatewayAllocator.java +++ b/core/src/main/java/org/elasticsearch/gateway/GatewayAllocator.java @@ -42,9 +42,6 @@ import org.elasticsearch.indices.store.TransportNodesListShardStoreMetaData; import java.util.List; import java.util.concurrent.ConcurrentMap; -/** - * - */ public class GatewayAllocator extends AbstractComponent { private RoutingService routingService; diff --git a/core/src/main/java/org/elasticsearch/gateway/GatewayException.java b/core/src/main/java/org/elasticsearch/gateway/GatewayException.java index 619d3d5f41e..32050f1c10e 100644 --- a/core/src/main/java/org/elasticsearch/gateway/GatewayException.java +++ b/core/src/main/java/org/elasticsearch/gateway/GatewayException.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class GatewayException extends ElasticsearchException { public GatewayException(String msg) { diff --git a/core/src/main/java/org/elasticsearch/gateway/GatewayModule.java b/core/src/main/java/org/elasticsearch/gateway/GatewayModule.java index 8169062a70b..b78310171e4 100644 --- a/core/src/main/java/org/elasticsearch/gateway/GatewayModule.java +++ b/core/src/main/java/org/elasticsearch/gateway/GatewayModule.java @@ -22,9 +22,6 @@ package org.elasticsearch.gateway; import org.elasticsearch.common.inject.AbstractModule; import org.elasticsearch.common.settings.Settings; -/** - * - */ public class GatewayModule extends AbstractModule { diff --git a/core/src/main/java/org/elasticsearch/gateway/GatewayService.java b/core/src/main/java/org/elasticsearch/gateway/GatewayService.java index 5c45e4de90c..2e351b2e6bf 100644 --- a/core/src/main/java/org/elasticsearch/gateway/GatewayService.java +++ b/core/src/main/java/org/elasticsearch/gateway/GatewayService.java @@ -50,9 +50,6 @@ import org.elasticsearch.threadpool.ThreadPool; import java.util.concurrent.atomic.AtomicBoolean; -/** - * - */ public class GatewayService extends AbstractLifecycleComponent implements ClusterStateListener { public static final Setting EXPECTED_NODES_SETTING = diff --git a/core/src/main/java/org/elasticsearch/gateway/LocalAllocateDangledIndices.java b/core/src/main/java/org/elasticsearch/gateway/LocalAllocateDangledIndices.java index 24562b52163..dcaccb88269 100644 --- a/core/src/main/java/org/elasticsearch/gateway/LocalAllocateDangledIndices.java +++ b/core/src/main/java/org/elasticsearch/gateway/LocalAllocateDangledIndices.java @@ -50,8 +50,6 @@ import java.io.IOException; import java.util.Arrays; import java.util.Collection; -/** - */ public class LocalAllocateDangledIndices extends AbstractComponent { public static final String ACTION_NAME = "internal:gateway/local/allocate_dangled"; diff --git a/core/src/main/java/org/elasticsearch/gateway/ReplicaShardAllocator.java b/core/src/main/java/org/elasticsearch/gateway/ReplicaShardAllocator.java index 96e3acb665e..620fd354327 100644 --- a/core/src/main/java/org/elasticsearch/gateway/ReplicaShardAllocator.java +++ b/core/src/main/java/org/elasticsearch/gateway/ReplicaShardAllocator.java @@ -48,8 +48,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; -/** - */ public abstract class ReplicaShardAllocator extends BaseGatewayShardAllocator { public ReplicaShardAllocator(Settings settings) { diff --git a/core/src/main/java/org/elasticsearch/gateway/TransportNodesListGatewayMetaState.java b/core/src/main/java/org/elasticsearch/gateway/TransportNodesListGatewayMetaState.java index 24886dc72d3..3e6769200e9 100644 --- a/core/src/main/java/org/elasticsearch/gateway/TransportNodesListGatewayMetaState.java +++ b/core/src/main/java/org/elasticsearch/gateway/TransportNodesListGatewayMetaState.java @@ -45,9 +45,6 @@ import org.elasticsearch.transport.TransportService; import java.io.IOException; import java.util.List; -/** - * - */ public class TransportNodesListGatewayMetaState extends TransportNodesAction listeners; diff --git a/core/src/main/java/org/elasticsearch/index/VersionType.java b/core/src/main/java/org/elasticsearch/index/VersionType.java index 062fbce10de..be853ba94b1 100644 --- a/core/src/main/java/org/elasticsearch/index/VersionType.java +++ b/core/src/main/java/org/elasticsearch/index/VersionType.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.lucene.uid.Versions; import java.io.IOException; -/** - * - */ public enum VersionType implements Writeable { INTERNAL((byte) 0) { @Override diff --git a/core/src/main/java/org/elasticsearch/index/analysis/AbstractCharFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/AbstractCharFilterFactory.java index 2e728386ab8..fe4e757a9ae 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/AbstractCharFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/AbstractCharFilterFactory.java @@ -22,9 +22,6 @@ package org.elasticsearch.index.analysis; import org.elasticsearch.index.AbstractIndexComponent; import org.elasticsearch.index.IndexSettings; -/** - * - */ public abstract class AbstractCharFilterFactory extends AbstractIndexComponent implements CharFilterFactory { private final String name; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/AbstractIndexAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/AbstractIndexAnalyzerProvider.java index c0406cb806e..d8c30df9bf4 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/AbstractIndexAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/AbstractIndexAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.index.AbstractIndexComponent; import org.elasticsearch.index.IndexSettings; -/** - * - */ public abstract class AbstractIndexAnalyzerProvider extends AbstractIndexComponent implements AnalyzerProvider { private final String name; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/AbstractTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/AbstractTokenFilterFactory.java index 16096ca8f3f..b148adbd6ed 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/AbstractTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/AbstractTokenFilterFactory.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.index.AbstractIndexComponent; import org.elasticsearch.index.IndexSettings; -/** - * - */ public abstract class AbstractTokenFilterFactory extends AbstractIndexComponent implements TokenFilterFactory { private final String name; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/AbstractTokenizerFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/AbstractTokenizerFactory.java index dafc4b87730..dfa177a7fbf 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/AbstractTokenizerFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/AbstractTokenizerFactory.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.index.AbstractIndexComponent; import org.elasticsearch.index.IndexSettings; -/** - * - */ public abstract class AbstractTokenizerFactory extends AbstractIndexComponent implements TokenizerFactory { private final String name; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/AnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/AnalyzerProvider.java index ef49d5c8dac..b31d9851edf 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/AnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/AnalyzerProvider.java @@ -22,9 +22,6 @@ package org.elasticsearch.index.analysis; import org.apache.lucene.analysis.Analyzer; import org.elasticsearch.common.inject.Provider; -/** - * - */ public interface AnalyzerProvider extends Provider { String name(); diff --git a/core/src/main/java/org/elasticsearch/index/analysis/AnalyzerScope.java b/core/src/main/java/org/elasticsearch/index/analysis/AnalyzerScope.java index c4795d7a455..4ff06664f76 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/AnalyzerScope.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/AnalyzerScope.java @@ -19,9 +19,6 @@ package org.elasticsearch.index.analysis; -/** - * - */ public enum AnalyzerScope { INDEX, INDICES, diff --git a/core/src/main/java/org/elasticsearch/index/analysis/ArabicAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/ArabicAnalyzerProvider.java index 4b185c450d5..fffa594b9e1 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/ArabicAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/ArabicAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class ArabicAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final ArabicAnalyzer arabicAnalyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/ArabicNormalizationFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/ArabicNormalizationFilterFactory.java index 265e050efee..15ed250e00c 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/ArabicNormalizationFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/ArabicNormalizationFilterFactory.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class ArabicNormalizationFilterFactory extends AbstractTokenFilterFactory implements MultiTermAwareComponent { public ArabicNormalizationFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { diff --git a/core/src/main/java/org/elasticsearch/index/analysis/ArabicStemTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/ArabicStemTokenFilterFactory.java index 91a68386f61..909352aeae8 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/ArabicStemTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/ArabicStemTokenFilterFactory.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class ArabicStemTokenFilterFactory extends AbstractTokenFilterFactory { public ArabicStemTokenFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { diff --git a/core/src/main/java/org/elasticsearch/index/analysis/ArmenianAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/ArmenianAnalyzerProvider.java index b58b8a87886..c53d9da8676 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/ArmenianAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/ArmenianAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class ArmenianAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final ArmenianAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/BasqueAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/BasqueAnalyzerProvider.java index 17f601084b8..cd91cb7522c 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/BasqueAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/BasqueAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class BasqueAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final BasqueAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/BrazilianAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/BrazilianAnalyzerProvider.java index 872d1fb708a..c2640390f2d 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/BrazilianAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/BrazilianAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class BrazilianAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final BrazilianAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/BrazilianStemTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/BrazilianStemTokenFilterFactory.java index efcc1bfba90..abbd89b3a14 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/BrazilianStemTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/BrazilianStemTokenFilterFactory.java @@ -26,9 +26,7 @@ import org.apache.lucene.analysis.CharArraySet; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ + public class BrazilianStemTokenFilterFactory extends AbstractTokenFilterFactory { private final CharArraySet exclusions; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/BulgarianAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/BulgarianAnalyzerProvider.java index 4eddc84d310..b1017a1ee7d 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/BulgarianAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/BulgarianAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class BulgarianAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final BulgarianAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/CatalanAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/CatalanAnalyzerProvider.java index cd03649febc..25328421f99 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/CatalanAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/CatalanAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class CatalanAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final CatalanAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/CharFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/CharFilterFactory.java index b76af08a0d1..68692c89469 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/CharFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/CharFilterFactory.java @@ -21,9 +21,6 @@ package org.elasticsearch.index.analysis; import java.io.Reader; -/** - * - */ public interface CharFilterFactory { String name(); diff --git a/core/src/main/java/org/elasticsearch/index/analysis/CjkAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/CjkAnalyzerProvider.java index 1728a4a3f7e..dd7f61f706c 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/CjkAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/CjkAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class CjkAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final CJKAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/CommonGramsTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/CommonGramsTokenFilterFactory.java index da1ca022685..eb6dae82061 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/CommonGramsTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/CommonGramsTokenFilterFactory.java @@ -27,9 +27,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class CommonGramsTokenFilterFactory extends AbstractTokenFilterFactory { private final CharArraySet words; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/CustomAnalyzer.java b/core/src/main/java/org/elasticsearch/index/analysis/CustomAnalyzer.java index b68a321359e..6185f358568 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/CustomAnalyzer.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/CustomAnalyzer.java @@ -25,9 +25,6 @@ import org.apache.lucene.analysis.Tokenizer; import java.io.Reader; -/** - * - */ public final class CustomAnalyzer extends Analyzer { private final TokenizerFactory tokenizerFactory; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/CzechAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/CzechAnalyzerProvider.java index f1487d198b5..f93e9e16e5e 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/CzechAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/CzechAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class CzechAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final CzechAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/DanishAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/DanishAnalyzerProvider.java index 041ca52c428..22e4dc07d0d 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/DanishAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/DanishAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class DanishAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final DanishAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/DelimitedPayloadTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/DelimitedPayloadTokenFilterFactory.java index d620e058e3e..12d0a041bd5 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/DelimitedPayloadTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/DelimitedPayloadTokenFilterFactory.java @@ -29,9 +29,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class DelimitedPayloadTokenFilterFactory extends AbstractTokenFilterFactory { public static final char DEFAULT_DELIMITER = '|'; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/DutchAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/DutchAnalyzerProvider.java index 1c33131624e..c747a9a5a3d 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/DutchAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/DutchAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class DutchAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final DutchAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/DutchStemTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/DutchStemTokenFilterFactory.java index daa67b00d34..9a486227a22 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/DutchStemTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/DutchStemTokenFilterFactory.java @@ -28,9 +28,6 @@ import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; import org.tartarus.snowball.ext.DutchStemmer; -/** - * - */ public class DutchStemTokenFilterFactory extends AbstractTokenFilterFactory { private final CharArraySet exclusions; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/EdgeNGramTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/EdgeNGramTokenFilterFactory.java index 82ed526323d..9d287d90c83 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/EdgeNGramTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/EdgeNGramTokenFilterFactory.java @@ -28,9 +28,6 @@ import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class EdgeNGramTokenFilterFactory extends AbstractTokenFilterFactory { private final int minGram; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/EdgeNGramTokenizerFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/EdgeNGramTokenizerFactory.java index 77d122393ce..cb696219f4e 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/EdgeNGramTokenizerFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/EdgeNGramTokenizerFactory.java @@ -28,9 +28,6 @@ import org.elasticsearch.index.IndexSettings; import static org.elasticsearch.index.analysis.NGramTokenizerFactory.parseTokenChars; -/** - * - */ public class EdgeNGramTokenizerFactory extends AbstractTokenizerFactory { private final int minGram; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/ElisionTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/ElisionTokenFilterFactory.java index 0b94fb301a1..0859824370b 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/ElisionTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/ElisionTokenFilterFactory.java @@ -26,9 +26,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class ElisionTokenFilterFactory extends AbstractTokenFilterFactory implements MultiTermAwareComponent { private final CharArraySet articles; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/EnglishAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/EnglishAnalyzerProvider.java index bcb7889253d..d124f27db57 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/EnglishAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/EnglishAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class EnglishAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final EnglishAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/FieldNameAnalyzer.java b/core/src/main/java/org/elasticsearch/index/analysis/FieldNameAnalyzer.java index 34829cedeed..dbb355ea51c 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/FieldNameAnalyzer.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/FieldNameAnalyzer.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.collect.CopyOnWriteHashMap; import java.util.Map; -/** - * - */ public final class FieldNameAnalyzer extends DelegatingAnalyzerWrapper { private final Map analyzers; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/FingerprintTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/FingerprintTokenFilterFactory.java index 9d41044abf7..55623e8f831 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/FingerprintTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/FingerprintTokenFilterFactory.java @@ -27,9 +27,6 @@ import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class FingerprintTokenFilterFactory extends AbstractTokenFilterFactory { private final char separator; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/FinnishAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/FinnishAnalyzerProvider.java index 3a2b3292480..5f728619f9e 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/FinnishAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/FinnishAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class FinnishAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final FinnishAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/FrenchAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/FrenchAnalyzerProvider.java index ff848dc681b..f312161819d 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/FrenchAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/FrenchAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class FrenchAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final FrenchAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/FrenchStemTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/FrenchStemTokenFilterFactory.java index e24dc86a22e..1a6ca73792e 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/FrenchStemTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/FrenchStemTokenFilterFactory.java @@ -28,9 +28,6 @@ import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; import org.tartarus.snowball.ext.FrenchStemmer; -/** - * - */ public class FrenchStemTokenFilterFactory extends AbstractTokenFilterFactory { private final CharArraySet exclusions; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/GalicianAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/GalicianAnalyzerProvider.java index 6f6521f52f7..646fa9fa681 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/GalicianAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/GalicianAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class GalicianAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final GalicianAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/GermanAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/GermanAnalyzerProvider.java index a55df0f1b8a..c11ac7eb9ba 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/GermanAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/GermanAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class GermanAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final GermanAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/GermanStemTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/GermanStemTokenFilterFactory.java index 72e66c29dfd..eedb59e9141 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/GermanStemTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/GermanStemTokenFilterFactory.java @@ -27,9 +27,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class GermanStemTokenFilterFactory extends AbstractTokenFilterFactory { private final CharArraySet exclusions; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/GreekAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/GreekAnalyzerProvider.java index 4550af52cec..625acddfadc 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/GreekAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/GreekAnalyzerProvider.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class GreekAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final GreekAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/HindiAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/HindiAnalyzerProvider.java index 85e08764dc3..123117abced 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/HindiAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/HindiAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class HindiAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final HindiAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/HungarianAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/HungarianAnalyzerProvider.java index f5a09f2ce3a..99268ee7ee9 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/HungarianAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/HungarianAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class HungarianAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final HungarianAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/IndonesianAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/IndonesianAnalyzerProvider.java index b4c41a3ce3d..60f40612cd0 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/IndonesianAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/IndonesianAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class IndonesianAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final IndonesianAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/ItalianAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/ItalianAnalyzerProvider.java index fd2246a1d6f..38f7094bdeb 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/ItalianAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/ItalianAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class ItalianAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final ItalianAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/KeywordAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/KeywordAnalyzerProvider.java index 0bf134cb380..a0982a0a8a2 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/KeywordAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/KeywordAnalyzerProvider.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class KeywordAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final KeywordAnalyzer keywordAnalyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/KeywordTokenizerFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/KeywordTokenizerFactory.java index ac44f106f51..a3707d9e44a 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/KeywordTokenizerFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/KeywordTokenizerFactory.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class KeywordTokenizerFactory extends AbstractTokenizerFactory { private final int bufferSize; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/LatvianAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/LatvianAnalyzerProvider.java index 757c6d2f4e2..a288747ab4b 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/LatvianAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/LatvianAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class LatvianAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final LatvianAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/LengthTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/LengthTokenFilterFactory.java index e55e24ccae0..8a03802a7dd 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/LengthTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/LengthTokenFilterFactory.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class LengthTokenFilterFactory extends AbstractTokenFilterFactory { private final int min; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/LetterTokenizerFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/LetterTokenizerFactory.java index bba9c424661..364c2367623 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/LetterTokenizerFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/LetterTokenizerFactory.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class LetterTokenizerFactory extends AbstractTokenizerFactory { public LetterTokenizerFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { diff --git a/core/src/main/java/org/elasticsearch/index/analysis/LimitTokenCountFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/LimitTokenCountFilterFactory.java index b3e3e8a19ca..ddf60911187 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/LimitTokenCountFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/LimitTokenCountFilterFactory.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class LimitTokenCountFilterFactory extends AbstractTokenFilterFactory { public static final int DEFAULT_MAX_TOKEN_COUNT = 1; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/LowerCaseTokenizerFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/LowerCaseTokenizerFactory.java index 961307f7015..16939f0d153 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/LowerCaseTokenizerFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/LowerCaseTokenizerFactory.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class LowerCaseTokenizerFactory extends AbstractTokenizerFactory implements MultiTermAwareComponent { public LowerCaseTokenizerFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { diff --git a/core/src/main/java/org/elasticsearch/index/analysis/NGramTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/NGramTokenFilterFactory.java index 0905b310735..7926f585bc3 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/NGramTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/NGramTokenFilterFactory.java @@ -26,9 +26,6 @@ import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class NGramTokenFilterFactory extends AbstractTokenFilterFactory { private final int minGram; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/NGramTokenizerFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/NGramTokenizerFactory.java index 424aa04e548..17acddf55e1 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/NGramTokenizerFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/NGramTokenizerFactory.java @@ -33,9 +33,6 @@ import java.util.Map; import static java.util.Collections.unmodifiableMap; -/** - * - */ public class NGramTokenizerFactory extends AbstractTokenizerFactory { private final int minGram; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/NorwegianAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/NorwegianAnalyzerProvider.java index fb0b8e36cf8..65a7dff331f 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/NorwegianAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/NorwegianAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class NorwegianAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final NorwegianAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/PatternAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/PatternAnalyzerProvider.java index c96d26676a4..b3bbb872f2a 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/PatternAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/PatternAnalyzerProvider.java @@ -30,9 +30,6 @@ import org.elasticsearch.index.IndexSettings; import java.util.regex.Pattern; -/** - * - */ public class PatternAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final PatternAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/PersianAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/PersianAnalyzerProvider.java index 66bebe579ac..2c5b427e51a 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/PersianAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/PersianAnalyzerProvider.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class PersianAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final PersianAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/PersianNormalizationFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/PersianNormalizationFilterFactory.java index 4f5751d985d..1a9644d611f 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/PersianNormalizationFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/PersianNormalizationFilterFactory.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class PersianNormalizationFilterFactory extends AbstractTokenFilterFactory implements MultiTermAwareComponent { public PersianNormalizationFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { diff --git a/core/src/main/java/org/elasticsearch/index/analysis/PorterStemTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/PorterStemTokenFilterFactory.java index 8bb205f9646..82d3d7633a8 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/PorterStemTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/PorterStemTokenFilterFactory.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class PorterStemTokenFilterFactory extends AbstractTokenFilterFactory { public PorterStemTokenFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { diff --git a/core/src/main/java/org/elasticsearch/index/analysis/PortugueseAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/PortugueseAnalyzerProvider.java index 919bdd933fe..1d5f0561e24 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/PortugueseAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/PortugueseAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class PortugueseAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final PortugueseAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/PreBuiltAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/PreBuiltAnalyzerProvider.java index af87d090de4..a6f0c132ba8 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/PreBuiltAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/PreBuiltAnalyzerProvider.java @@ -21,9 +21,6 @@ package org.elasticsearch.index.analysis; import org.apache.lucene.analysis.Analyzer; -/** - * - */ public class PreBuiltAnalyzerProvider implements AnalyzerProvider { private final NamedAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/PreBuiltAnalyzerProviderFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/PreBuiltAnalyzerProviderFactory.java index 786e24a0844..3e59377ecc2 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/PreBuiltAnalyzerProviderFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/PreBuiltAnalyzerProviderFactory.java @@ -29,9 +29,6 @@ import org.elasticsearch.indices.analysis.PreBuiltAnalyzers; import java.io.IOException; -/** - * - */ public class PreBuiltAnalyzerProviderFactory implements AnalysisModule.AnalysisProvider> { private final PreBuiltAnalyzerProvider analyzerProvider; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/ReverseTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/ReverseTokenFilterFactory.java index 8fad0a14c7f..1719841098d 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/ReverseTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/ReverseTokenFilterFactory.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class ReverseTokenFilterFactory extends AbstractTokenFilterFactory { public ReverseTokenFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { diff --git a/core/src/main/java/org/elasticsearch/index/analysis/RomanianAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/RomanianAnalyzerProvider.java index 9e08c638e5d..1ba780bf4cb 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/RomanianAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/RomanianAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class RomanianAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final RomanianAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/RussianAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/RussianAnalyzerProvider.java index 9478b7ff232..f7187cfb490 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/RussianAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/RussianAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class RussianAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final RussianAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/RussianStemTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/RussianStemTokenFilterFactory.java index 12172497879..da38ed14176 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/RussianStemTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/RussianStemTokenFilterFactory.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class RussianStemTokenFilterFactory extends AbstractTokenFilterFactory { public RussianStemTokenFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { diff --git a/core/src/main/java/org/elasticsearch/index/analysis/SerbianNormalizationFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/SerbianNormalizationFilterFactory.java index 8fc6052247c..d839a822cab 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/SerbianNormalizationFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/SerbianNormalizationFilterFactory.java @@ -24,9 +24,7 @@ import org.apache.lucene.analysis.sr.SerbianNormalizationFilter; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ + public class SerbianNormalizationFilterFactory extends AbstractTokenFilterFactory implements MultiTermAwareComponent { public SerbianNormalizationFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { diff --git a/core/src/main/java/org/elasticsearch/index/analysis/ShingleTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/ShingleTokenFilterFactory.java index 0c6ae7b9652..453d7bad896 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/ShingleTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/ShingleTokenFilterFactory.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class ShingleTokenFilterFactory extends AbstractTokenFilterFactory { private final Factory factory; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/SimpleAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/SimpleAnalyzerProvider.java index faa23cfcd35..6a7d530402f 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/SimpleAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/SimpleAnalyzerProvider.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class SimpleAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final SimpleAnalyzer simpleAnalyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/SpanishAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/SpanishAnalyzerProvider.java index ff95272e816..23f1b734469 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/SpanishAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/SpanishAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class SpanishAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final SpanishAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/StandardAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/StandardAnalyzerProvider.java index 2af7b5bbabf..a4ee6457b52 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/StandardAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/StandardAnalyzerProvider.java @@ -27,9 +27,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class StandardAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final StandardAnalyzer standardAnalyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/StandardHtmlStripAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/StandardHtmlStripAnalyzerProvider.java index b9e25346b25..edc837293f9 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/StandardHtmlStripAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/StandardHtmlStripAnalyzerProvider.java @@ -26,9 +26,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class StandardHtmlStripAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final StandardHtmlStripAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/StandardTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/StandardTokenFilterFactory.java index 2c6062b93f4..2339815b558 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/StandardTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/StandardTokenFilterFactory.java @@ -26,9 +26,6 @@ import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class StandardTokenFilterFactory extends AbstractTokenFilterFactory { public StandardTokenFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { diff --git a/core/src/main/java/org/elasticsearch/index/analysis/StandardTokenizerFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/StandardTokenizerFactory.java index 3f142a1ab43..ed8d2b452c2 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/StandardTokenizerFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/StandardTokenizerFactory.java @@ -26,8 +26,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - */ public class StandardTokenizerFactory extends AbstractTokenizerFactory { private final int maxTokenLength; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/StemmerTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/StemmerTokenFilterFactory.java index 317b3e07850..bf83876259b 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/StemmerTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/StemmerTokenFilterFactory.java @@ -82,8 +82,6 @@ import org.tartarus.snowball.ext.SpanishStemmer; import org.tartarus.snowball.ext.SwedishStemmer; import org.tartarus.snowball.ext.TurkishStemmer; -/** - */ public class StemmerTokenFilterFactory extends AbstractTokenFilterFactory { private String language; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/StopAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/StopAnalyzerProvider.java index aca1fda299f..8c969238b47 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/StopAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/StopAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class StopAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final StopAnalyzer stopAnalyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/StopTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/StopTokenFilterFactory.java index 4e7c3ae1af8..86650e81915 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/StopTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/StopTokenFilterFactory.java @@ -31,9 +31,6 @@ import org.elasticsearch.index.IndexSettings; import java.util.Set; -/** - * - */ public class StopTokenFilterFactory extends AbstractTokenFilterFactory { private final CharArraySet stopWords; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/SwedishAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/SwedishAnalyzerProvider.java index bbc14f474bb..b77e19efcaa 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/SwedishAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/SwedishAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class SwedishAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final SwedishAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/ThaiAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/ThaiAnalyzerProvider.java index cf4b9dbdb1e..f1a69c62b1e 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/ThaiAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/ThaiAnalyzerProvider.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class ThaiAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final ThaiAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/TokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/TokenFilterFactory.java index 3d4866632cb..8c976646b85 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/TokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/TokenFilterFactory.java @@ -21,9 +21,6 @@ package org.elasticsearch.index.analysis; import org.apache.lucene.analysis.TokenStream; -/** - * - */ public interface TokenFilterFactory { String name(); diff --git a/core/src/main/java/org/elasticsearch/index/analysis/TokenizerFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/TokenizerFactory.java index f81ac97ba90..6ca9d457cbc 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/TokenizerFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/TokenizerFactory.java @@ -21,9 +21,6 @@ package org.elasticsearch.index.analysis; import org.apache.lucene.analysis.Tokenizer; -/** - * - */ public interface TokenizerFactory { String name(); diff --git a/core/src/main/java/org/elasticsearch/index/analysis/TrimTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/TrimTokenFilterFactory.java index c77467b2b41..4239f2444bc 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/TrimTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/TrimTokenFilterFactory.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class TrimTokenFilterFactory extends AbstractTokenFilterFactory { private static final String UPDATE_OFFSETS_KEY = "update_offsets"; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/TruncateTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/TruncateTokenFilterFactory.java index 0a5a30cc28f..49ea7d6940d 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/TruncateTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/TruncateTokenFilterFactory.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class TruncateTokenFilterFactory extends AbstractTokenFilterFactory { private final int length; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/TurkishAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/TurkishAnalyzerProvider.java index 368dcbe3abd..2b2696a362b 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/TurkishAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/TurkishAnalyzerProvider.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class TurkishAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final TurkishAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/UAX29URLEmailTokenizerFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/UAX29URLEmailTokenizerFactory.java index 3e75d214bd3..79eb0c604d9 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/UAX29URLEmailTokenizerFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/UAX29URLEmailTokenizerFactory.java @@ -26,9 +26,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class UAX29URLEmailTokenizerFactory extends AbstractTokenizerFactory { private final int maxTokenLength; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/UniqueTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/UniqueTokenFilterFactory.java index eec70134c3f..986153a4577 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/UniqueTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/UniqueTokenFilterFactory.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class UniqueTokenFilterFactory extends AbstractTokenFilterFactory { private final boolean onlyOnSamePosition; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/UpperCaseTokenFilterFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/UpperCaseTokenFilterFactory.java index c2074cb9393..551345fc2e1 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/UpperCaseTokenFilterFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/UpperCaseTokenFilterFactory.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class UpperCaseTokenFilterFactory extends AbstractTokenFilterFactory implements MultiTermAwareComponent { public UpperCaseTokenFilterFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { diff --git a/core/src/main/java/org/elasticsearch/index/analysis/WhitespaceAnalyzerProvider.java b/core/src/main/java/org/elasticsearch/index/analysis/WhitespaceAnalyzerProvider.java index c74c7a88dd6..5681a499f66 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/WhitespaceAnalyzerProvider.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/WhitespaceAnalyzerProvider.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class WhitespaceAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final WhitespaceAnalyzer analyzer; diff --git a/core/src/main/java/org/elasticsearch/index/analysis/WhitespaceTokenizerFactory.java b/core/src/main/java/org/elasticsearch/index/analysis/WhitespaceTokenizerFactory.java index 5263523314d..aa5acc8a985 100644 --- a/core/src/main/java/org/elasticsearch/index/analysis/WhitespaceTokenizerFactory.java +++ b/core/src/main/java/org/elasticsearch/index/analysis/WhitespaceTokenizerFactory.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - * - */ public class WhitespaceTokenizerFactory extends AbstractTokenizerFactory { public WhitespaceTokenizerFactory(IndexSettings indexSettings, Environment environment, String name, Settings settings) { diff --git a/core/src/main/java/org/elasticsearch/index/cache/IndexCache.java b/core/src/main/java/org/elasticsearch/index/cache/IndexCache.java index 61733f24695..3e853076ca4 100644 --- a/core/src/main/java/org/elasticsearch/index/cache/IndexCache.java +++ b/core/src/main/java/org/elasticsearch/index/cache/IndexCache.java @@ -28,9 +28,6 @@ import org.elasticsearch.index.cache.query.QueryCache; import java.io.Closeable; import java.io.IOException; -/** - * - */ public class IndexCache extends AbstractIndexComponent implements Closeable { private final QueryCache queryCache; diff --git a/core/src/main/java/org/elasticsearch/index/cache/bitset/ShardBitsetFilterCache.java b/core/src/main/java/org/elasticsearch/index/cache/bitset/ShardBitsetFilterCache.java index 86a00fdbcf7..050c016118f 100644 --- a/core/src/main/java/org/elasticsearch/index/cache/bitset/ShardBitsetFilterCache.java +++ b/core/src/main/java/org/elasticsearch/index/cache/bitset/ShardBitsetFilterCache.java @@ -24,8 +24,6 @@ import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.shard.AbstractIndexShardComponent; import org.elasticsearch.index.shard.ShardId; -/** - */ public class ShardBitsetFilterCache extends AbstractIndexShardComponent { private final CounterMetric totalMetric = new CounterMetric(); diff --git a/core/src/main/java/org/elasticsearch/index/cache/query/DisabledQueryCache.java b/core/src/main/java/org/elasticsearch/index/cache/query/DisabledQueryCache.java index 730dc63b939..df5158b6d7a 100644 --- a/core/src/main/java/org/elasticsearch/index/cache/query/DisabledQueryCache.java +++ b/core/src/main/java/org/elasticsearch/index/cache/query/DisabledQueryCache.java @@ -25,9 +25,6 @@ import org.elasticsearch.index.AbstractIndexComponent; import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.cache.query.QueryCache; -/** - * - */ public class DisabledQueryCache extends AbstractIndexComponent implements QueryCache { public DisabledQueryCache(IndexSettings indexSettings) { diff --git a/core/src/main/java/org/elasticsearch/index/cache/query/QueryCache.java b/core/src/main/java/org/elasticsearch/index/cache/query/QueryCache.java index bee947b54f0..318059d6a3f 100644 --- a/core/src/main/java/org/elasticsearch/index/cache/query/QueryCache.java +++ b/core/src/main/java/org/elasticsearch/index/cache/query/QueryCache.java @@ -23,9 +23,6 @@ import org.elasticsearch.index.IndexComponent; import java.io.Closeable; -/** - * - */ public interface QueryCache extends IndexComponent, Closeable, org.apache.lucene.search.QueryCache { static class EntriesStats { diff --git a/core/src/main/java/org/elasticsearch/index/cache/query/QueryCacheStats.java b/core/src/main/java/org/elasticsearch/index/cache/query/QueryCacheStats.java index fcbb6190048..33b61a35138 100644 --- a/core/src/main/java/org/elasticsearch/index/cache/query/QueryCacheStats.java +++ b/core/src/main/java/org/elasticsearch/index/cache/query/QueryCacheStats.java @@ -29,8 +29,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder; import java.io.IOException; -/** - */ public class QueryCacheStats implements Streamable, ToXContent { long ramBytesUsed; diff --git a/core/src/main/java/org/elasticsearch/index/cache/request/RequestCacheStats.java b/core/src/main/java/org/elasticsearch/index/cache/request/RequestCacheStats.java index 5eb9775b816..e444238ef75 100644 --- a/core/src/main/java/org/elasticsearch/index/cache/request/RequestCacheStats.java +++ b/core/src/main/java/org/elasticsearch/index/cache/request/RequestCacheStats.java @@ -28,8 +28,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder; import java.io.IOException; -/** - */ public class RequestCacheStats implements Streamable, ToXContent { long memorySize; diff --git a/core/src/main/java/org/elasticsearch/index/engine/DeleteFailedEngineException.java b/core/src/main/java/org/elasticsearch/index/engine/DeleteFailedEngineException.java index 068df25e2fd..f3f806fb831 100644 --- a/core/src/main/java/org/elasticsearch/index/engine/DeleteFailedEngineException.java +++ b/core/src/main/java/org/elasticsearch/index/engine/DeleteFailedEngineException.java @@ -24,9 +24,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; -/** - * - */ public class DeleteFailedEngineException extends EngineException { public DeleteFailedEngineException(ShardId shardId, Engine.Delete delete, Throwable cause) { diff --git a/core/src/main/java/org/elasticsearch/index/engine/DocumentMissingException.java b/core/src/main/java/org/elasticsearch/index/engine/DocumentMissingException.java index 1f6b0cd501b..58e06e50a46 100644 --- a/core/src/main/java/org/elasticsearch/index/engine/DocumentMissingException.java +++ b/core/src/main/java/org/elasticsearch/index/engine/DocumentMissingException.java @@ -24,9 +24,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class DocumentMissingException extends EngineException { public DocumentMissingException(ShardId shardId, String type, String id) { diff --git a/core/src/main/java/org/elasticsearch/index/engine/DocumentSourceMissingException.java b/core/src/main/java/org/elasticsearch/index/engine/DocumentSourceMissingException.java index b0010162f4a..4fa53ed5a1e 100644 --- a/core/src/main/java/org/elasticsearch/index/engine/DocumentSourceMissingException.java +++ b/core/src/main/java/org/elasticsearch/index/engine/DocumentSourceMissingException.java @@ -24,9 +24,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class DocumentSourceMissingException extends EngineException { public DocumentSourceMissingException(ShardId shardId, String type, String id) { diff --git a/core/src/main/java/org/elasticsearch/index/engine/EngineException.java b/core/src/main/java/org/elasticsearch/index/engine/EngineException.java index 23f6be7ffd2..4d53deb8ee1 100644 --- a/core/src/main/java/org/elasticsearch/index/engine/EngineException.java +++ b/core/src/main/java/org/elasticsearch/index/engine/EngineException.java @@ -25,9 +25,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; -/** - * - */ public class EngineException extends ElasticsearchException { public EngineException(ShardId shardId, String msg, Object... params) { diff --git a/core/src/main/java/org/elasticsearch/index/engine/FlushFailedEngineException.java b/core/src/main/java/org/elasticsearch/index/engine/FlushFailedEngineException.java index 016e01c9c37..94aacdc3eae 100644 --- a/core/src/main/java/org/elasticsearch/index/engine/FlushFailedEngineException.java +++ b/core/src/main/java/org/elasticsearch/index/engine/FlushFailedEngineException.java @@ -24,9 +24,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; -/** - * - */ public class FlushFailedEngineException extends EngineException { public FlushFailedEngineException(ShardId shardId, Throwable t) { diff --git a/core/src/main/java/org/elasticsearch/index/engine/IndexFailedEngineException.java b/core/src/main/java/org/elasticsearch/index/engine/IndexFailedEngineException.java index 4728b7f899a..bacc786c7dc 100644 --- a/core/src/main/java/org/elasticsearch/index/engine/IndexFailedEngineException.java +++ b/core/src/main/java/org/elasticsearch/index/engine/IndexFailedEngineException.java @@ -26,9 +26,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; import java.util.Objects; -/** - * - */ public class IndexFailedEngineException extends EngineException { private final String type; diff --git a/core/src/main/java/org/elasticsearch/index/engine/RecoveryEngineException.java b/core/src/main/java/org/elasticsearch/index/engine/RecoveryEngineException.java index d55ed1d4189..a203962944b 100644 --- a/core/src/main/java/org/elasticsearch/index/engine/RecoveryEngineException.java +++ b/core/src/main/java/org/elasticsearch/index/engine/RecoveryEngineException.java @@ -25,9 +25,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; -/** - * - */ public class RecoveryEngineException extends EngineException { private final int phase; diff --git a/core/src/main/java/org/elasticsearch/index/engine/RefreshFailedEngineException.java b/core/src/main/java/org/elasticsearch/index/engine/RefreshFailedEngineException.java index 51e2b257518..e1227d075d3 100644 --- a/core/src/main/java/org/elasticsearch/index/engine/RefreshFailedEngineException.java +++ b/core/src/main/java/org/elasticsearch/index/engine/RefreshFailedEngineException.java @@ -24,9 +24,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; -/** - * - */ public class RefreshFailedEngineException extends EngineException { public RefreshFailedEngineException(ShardId shardId, Throwable t) { diff --git a/core/src/main/java/org/elasticsearch/index/engine/SnapshotFailedEngineException.java b/core/src/main/java/org/elasticsearch/index/engine/SnapshotFailedEngineException.java index c0296cf9db3..f669139c07e 100644 --- a/core/src/main/java/org/elasticsearch/index/engine/SnapshotFailedEngineException.java +++ b/core/src/main/java/org/elasticsearch/index/engine/SnapshotFailedEngineException.java @@ -24,9 +24,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; -/** - * - */ public class SnapshotFailedEngineException extends EngineException { public SnapshotFailedEngineException(ShardId shardId, Throwable cause) { diff --git a/core/src/main/java/org/elasticsearch/index/engine/VersionConflictEngineException.java b/core/src/main/java/org/elasticsearch/index/engine/VersionConflictEngineException.java index 9b038c6e77c..b743141d0c7 100644 --- a/core/src/main/java/org/elasticsearch/index/engine/VersionConflictEngineException.java +++ b/core/src/main/java/org/elasticsearch/index/engine/VersionConflictEngineException.java @@ -24,9 +24,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class VersionConflictEngineException extends EngineException { public VersionConflictEngineException(ShardId shardId, String type, String id, String explanation) { diff --git a/core/src/main/java/org/elasticsearch/index/fielddata/FieldDataStats.java b/core/src/main/java/org/elasticsearch/index/fielddata/FieldDataStats.java index d8548f72476..56fe03d4395 100644 --- a/core/src/main/java/org/elasticsearch/index/fielddata/FieldDataStats.java +++ b/core/src/main/java/org/elasticsearch/index/fielddata/FieldDataStats.java @@ -30,8 +30,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder; import java.io.IOException; -/** - */ public class FieldDataStats implements Streamable, ToXContent { long memorySize; diff --git a/core/src/main/java/org/elasticsearch/index/fielddata/IndexNumericFieldData.java b/core/src/main/java/org/elasticsearch/index/fielddata/IndexNumericFieldData.java index abfe0d8e96a..d6573b930fa 100644 --- a/core/src/main/java/org/elasticsearch/index/fielddata/IndexNumericFieldData.java +++ b/core/src/main/java/org/elasticsearch/index/fielddata/IndexNumericFieldData.java @@ -19,8 +19,6 @@ package org.elasticsearch.index.fielddata; -/** - */ public interface IndexNumericFieldData extends IndexFieldData { public static enum NumericType { diff --git a/core/src/main/java/org/elasticsearch/index/fielddata/ShardFieldData.java b/core/src/main/java/org/elasticsearch/index/fielddata/ShardFieldData.java index 9e21562e8c7..d8eaaaf448e 100644 --- a/core/src/main/java/org/elasticsearch/index/fielddata/ShardFieldData.java +++ b/core/src/main/java/org/elasticsearch/index/fielddata/ShardFieldData.java @@ -29,8 +29,6 @@ import org.elasticsearch.index.shard.ShardId; import java.util.Map; import java.util.concurrent.ConcurrentMap; -/** - */ public class ShardFieldData implements IndexFieldDataCache.Listener { final CounterMetric evictionsMetric = new CounterMetric(); diff --git a/core/src/main/java/org/elasticsearch/index/fielddata/ordinals/SinglePackedOrdinals.java b/core/src/main/java/org/elasticsearch/index/fielddata/ordinals/SinglePackedOrdinals.java index aa09bac4dcf..cfc0a0f3313 100644 --- a/core/src/main/java/org/elasticsearch/index/fielddata/ordinals/SinglePackedOrdinals.java +++ b/core/src/main/java/org/elasticsearch/index/fielddata/ordinals/SinglePackedOrdinals.java @@ -31,8 +31,6 @@ import org.apache.lucene.util.packed.PackedInts; import java.util.Collection; import java.util.Collections; -/** - */ public class SinglePackedOrdinals extends Ordinals { // ordinals with value 0 indicates no value diff --git a/core/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractAtomicGeoPointFieldData.java b/core/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractAtomicGeoPointFieldData.java index 175f041bd66..9660d9f8684 100644 --- a/core/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractAtomicGeoPointFieldData.java +++ b/core/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractAtomicGeoPointFieldData.java @@ -28,8 +28,6 @@ import org.elasticsearch.index.fielddata.SortedBinaryDocValues; import java.util.Collection; import java.util.Collections; -/** - */ public abstract class AbstractAtomicGeoPointFieldData implements AtomicGeoPointFieldData { @Override diff --git a/core/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractAtomicOrdinalsFieldData.java b/core/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractAtomicOrdinalsFieldData.java index 51de4c1be53..52688f6903e 100644 --- a/core/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractAtomicOrdinalsFieldData.java +++ b/core/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractAtomicOrdinalsFieldData.java @@ -31,8 +31,6 @@ import java.util.Collection; import java.util.Collections; -/** - */ public abstract class AbstractAtomicOrdinalsFieldData implements AtomicOrdinalsFieldData { @Override diff --git a/core/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractAtomicParentChildFieldData.java b/core/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractAtomicParentChildFieldData.java index 1a801d75411..7c03e1a7942 100644 --- a/core/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractAtomicParentChildFieldData.java +++ b/core/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractAtomicParentChildFieldData.java @@ -35,8 +35,6 @@ import java.util.Set; import static java.util.Collections.emptySet; -/** - */ abstract class AbstractAtomicParentChildFieldData implements AtomicParentChildFieldData { @Override diff --git a/core/src/main/java/org/elasticsearch/index/fielddata/plain/GeoPointArrayAtomicFieldData.java b/core/src/main/java/org/elasticsearch/index/fielddata/plain/GeoPointArrayAtomicFieldData.java index b1a97a878ee..0627e341a04 100644 --- a/core/src/main/java/org/elasticsearch/index/fielddata/plain/GeoPointArrayAtomicFieldData.java +++ b/core/src/main/java/org/elasticsearch/index/fielddata/plain/GeoPointArrayAtomicFieldData.java @@ -36,9 +36,6 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -/** - * - */ public abstract class GeoPointArrayAtomicFieldData extends AbstractAtomicGeoPointFieldData { @Override public void close() { diff --git a/core/src/main/java/org/elasticsearch/index/fielddata/plain/GeoPointArrayLegacyAtomicFieldData.java b/core/src/main/java/org/elasticsearch/index/fielddata/plain/GeoPointArrayLegacyAtomicFieldData.java index 8d0953fb6e6..15f610e1ab7 100644 --- a/core/src/main/java/org/elasticsearch/index/fielddata/plain/GeoPointArrayLegacyAtomicFieldData.java +++ b/core/src/main/java/org/elasticsearch/index/fielddata/plain/GeoPointArrayLegacyAtomicFieldData.java @@ -36,8 +36,6 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -/** - */ public abstract class GeoPointArrayLegacyAtomicFieldData extends AbstractAtomicGeoPointFieldData { @Override diff --git a/core/src/main/java/org/elasticsearch/index/fielddata/plain/PagedBytesAtomicFieldData.java b/core/src/main/java/org/elasticsearch/index/fielddata/plain/PagedBytesAtomicFieldData.java index 93a981cab2d..e46f04060b9 100644 --- a/core/src/main/java/org/elasticsearch/index/fielddata/plain/PagedBytesAtomicFieldData.java +++ b/core/src/main/java/org/elasticsearch/index/fielddata/plain/PagedBytesAtomicFieldData.java @@ -31,8 +31,6 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -/** - */ public class PagedBytesAtomicFieldData extends AbstractAtomicOrdinalsFieldData { private final PagedBytes.Reader bytes; diff --git a/core/src/main/java/org/elasticsearch/index/fielddata/plain/PagedBytesIndexFieldData.java b/core/src/main/java/org/elasticsearch/index/fielddata/plain/PagedBytesIndexFieldData.java index 5695f7ef15a..3b01f01eafb 100644 --- a/core/src/main/java/org/elasticsearch/index/fielddata/plain/PagedBytesIndexFieldData.java +++ b/core/src/main/java/org/elasticsearch/index/fielddata/plain/PagedBytesIndexFieldData.java @@ -46,8 +46,6 @@ import org.elasticsearch.indices.breaker.CircuitBreakerService; import java.io.IOException; -/** - */ public class PagedBytesIndexFieldData extends AbstractIndexOrdinalsFieldData { diff --git a/core/src/main/java/org/elasticsearch/index/fieldvisitor/JustUidFieldsVisitor.java b/core/src/main/java/org/elasticsearch/index/fieldvisitor/JustUidFieldsVisitor.java index 2a6c362274a..661d729b55f 100644 --- a/core/src/main/java/org/elasticsearch/index/fieldvisitor/JustUidFieldsVisitor.java +++ b/core/src/main/java/org/elasticsearch/index/fieldvisitor/JustUidFieldsVisitor.java @@ -23,8 +23,6 @@ import org.elasticsearch.index.mapper.UidFieldMapper; import java.io.IOException; -/** - */ public class JustUidFieldsVisitor extends FieldsVisitor { public JustUidFieldsVisitor() { diff --git a/core/src/main/java/org/elasticsearch/index/fieldvisitor/SingleFieldsVisitor.java b/core/src/main/java/org/elasticsearch/index/fieldvisitor/SingleFieldsVisitor.java index f56b59b7ac2..556f43d06a1 100644 --- a/core/src/main/java/org/elasticsearch/index/fieldvisitor/SingleFieldsVisitor.java +++ b/core/src/main/java/org/elasticsearch/index/fieldvisitor/SingleFieldsVisitor.java @@ -27,8 +27,6 @@ import org.elasticsearch.index.mapper.UidFieldMapper; import java.io.IOException; import java.util.List; -/** - */ public class SingleFieldsVisitor extends FieldsVisitor { private String field; diff --git a/core/src/main/java/org/elasticsearch/index/get/GetField.java b/core/src/main/java/org/elasticsearch/index/get/GetField.java index 0ebbf1f9ac1..be3b8d6a257 100644 --- a/core/src/main/java/org/elasticsearch/index/get/GetField.java +++ b/core/src/main/java/org/elasticsearch/index/get/GetField.java @@ -29,9 +29,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -/** - * - */ public class GetField implements Streamable, Iterable { private String name; diff --git a/core/src/main/java/org/elasticsearch/index/get/GetResult.java b/core/src/main/java/org/elasticsearch/index/get/GetResult.java index b688ed44234..0f02885a251 100644 --- a/core/src/main/java/org/elasticsearch/index/get/GetResult.java +++ b/core/src/main/java/org/elasticsearch/index/get/GetResult.java @@ -42,8 +42,6 @@ import java.util.Map; import static java.util.Collections.emptyMap; import static org.elasticsearch.index.get.GetField.readGetField; -/** - */ public class GetResult implements Streamable, Iterable, ToXContent { private String index; diff --git a/core/src/main/java/org/elasticsearch/index/get/GetStats.java b/core/src/main/java/org/elasticsearch/index/get/GetStats.java index 10b4f64c19e..ed7057d33f0 100644 --- a/core/src/main/java/org/elasticsearch/index/get/GetStats.java +++ b/core/src/main/java/org/elasticsearch/index/get/GetStats.java @@ -28,8 +28,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder; import java.io.IOException; -/** - */ public class GetStats implements Streamable, ToXContent { private long existsCount; diff --git a/core/src/main/java/org/elasticsearch/index/get/ShardGetService.java b/core/src/main/java/org/elasticsearch/index/get/ShardGetService.java index c49fb2c3cc4..cfab3382c18 100644 --- a/core/src/main/java/org/elasticsearch/index/get/ShardGetService.java +++ b/core/src/main/java/org/elasticsearch/index/get/ShardGetService.java @@ -56,8 +56,6 @@ import java.util.List; import java.util.Map; import java.util.concurrent.TimeUnit; -/** - */ public final class ShardGetService extends AbstractIndexShardComponent { private final MapperService mapperService; private final MeanMetric existsMetric = new MeanMetric(); diff --git a/core/src/main/java/org/elasticsearch/index/mapper/AllFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/AllFieldMapper.java index 6c1477d8d07..90d9fbda1b5 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/AllFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/AllFieldMapper.java @@ -42,9 +42,6 @@ import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenien import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeMapValue; import static org.elasticsearch.index.mapper.TypeParsers.parseTextField; -/** - * - */ public class AllFieldMapper extends MetadataFieldMapper { public static final String NAME = "_all"; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/BinaryFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/BinaryFieldMapper.java index 19c475e21cb..374540d03fe 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/BinaryFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/BinaryFieldMapper.java @@ -43,9 +43,6 @@ import java.util.Map; import static org.elasticsearch.index.mapper.TypeParsers.parseField; -/** - * - */ public class BinaryFieldMapper extends FieldMapper { public static final String CONTENT_TYPE = "binary"; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/CompletionFieldMapper2x.java b/core/src/main/java/org/elasticsearch/index/mapper/CompletionFieldMapper2x.java index 590ca0f8615..73a797954af 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/CompletionFieldMapper2x.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/CompletionFieldMapper2x.java @@ -55,9 +55,6 @@ import java.util.TreeMap; import static org.elasticsearch.index.mapper.TypeParsers.parseMultiField; -/** - * - */ public class CompletionFieldMapper2x extends FieldMapper { public static final String CONTENT_TYPE = "completion"; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/DocumentFieldMappers.java b/core/src/main/java/org/elasticsearch/index/mapper/DocumentFieldMappers.java index 57f2ff40530..12f968bb38b 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/DocumentFieldMappers.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/DocumentFieldMappers.java @@ -31,9 +31,6 @@ import java.util.Iterator; import java.util.Map; import java.util.Set; -/** - * - */ public final class DocumentFieldMappers implements Iterable { /** Full field name to mapper */ diff --git a/core/src/main/java/org/elasticsearch/index/mapper/DocumentMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/DocumentMapper.java index eb6d6a9a3e8..b23c189e5bd 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/DocumentMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/DocumentMapper.java @@ -47,9 +47,6 @@ import java.util.Objects; import static java.util.Collections.emptyMap; -/** - * - */ public class DocumentMapper implements ToXContent { public static class Builder { diff --git a/core/src/main/java/org/elasticsearch/index/mapper/DynamicTemplate.java b/core/src/main/java/org/elasticsearch/index/mapper/DynamicTemplate.java index 08620ed8c45..197d06cd099 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/DynamicTemplate.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/DynamicTemplate.java @@ -34,9 +34,6 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; -/** - * - */ public class DynamicTemplate implements ToXContent { private static final DeprecationLogger DEPRECATION_LOGGER = new DeprecationLogger(Loggers.getLogger(DynamicTemplate.class)); diff --git a/core/src/main/java/org/elasticsearch/index/mapper/IndexFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/IndexFieldMapper.java index e1615add19e..e4a1f5ec5eb 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/IndexFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/IndexFieldMapper.java @@ -38,9 +38,6 @@ import java.util.List; import java.util.Map; -/** - * - */ public class IndexFieldMapper extends MetadataFieldMapper { public static final String NAME = "_index"; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/LegacyByteFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/LegacyByteFieldMapper.java index 979527ece34..96bde70ae82 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/LegacyByteFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/LegacyByteFieldMapper.java @@ -48,9 +48,6 @@ import java.util.Map; import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeByteValue; import static org.elasticsearch.index.mapper.TypeParsers.parseNumberField; -/** - * - */ public class LegacyByteFieldMapper extends LegacyNumberFieldMapper { public static final String CONTENT_TYPE = "byte"; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/LegacyDoubleFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/LegacyDoubleFieldMapper.java index 4686bf8584c..c0a6dd8bacf 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/LegacyDoubleFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/LegacyDoubleFieldMapper.java @@ -51,9 +51,6 @@ import java.util.Map; import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeDoubleValue; import static org.elasticsearch.index.mapper.TypeParsers.parseNumberField; -/** - * - */ public class LegacyDoubleFieldMapper extends LegacyNumberFieldMapper { public static final String CONTENT_TYPE = "double"; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/LegacyFloatFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/LegacyFloatFieldMapper.java index 1bb870e6325..43307373cb3 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/LegacyFloatFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/LegacyFloatFieldMapper.java @@ -50,9 +50,6 @@ import java.util.Map; import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeFloatValue; import static org.elasticsearch.index.mapper.TypeParsers.parseNumberField; -/** - * - */ public class LegacyFloatFieldMapper extends LegacyNumberFieldMapper { public static final String CONTENT_TYPE = "float"; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/LegacyIntegerFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/LegacyIntegerFieldMapper.java index a47c3a0c875..b2016c75552 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/LegacyIntegerFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/LegacyIntegerFieldMapper.java @@ -49,9 +49,6 @@ import java.util.Map; import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeIntegerValue; import static org.elasticsearch.index.mapper.TypeParsers.parseNumberField; -/** - * - */ public class LegacyIntegerFieldMapper extends LegacyNumberFieldMapper { public static final String CONTENT_TYPE = "integer"; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/LegacyIpFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/LegacyIpFieldMapper.java index 01013dc469e..37c37cc1b80 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/LegacyIpFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/LegacyIpFieldMapper.java @@ -55,9 +55,6 @@ import java.util.regex.Pattern; import static org.elasticsearch.index.mapper.TypeParsers.parseNumberField; -/** - * - */ public class LegacyIpFieldMapper extends LegacyNumberFieldMapper { public static final String CONTENT_TYPE = "ip"; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/LegacyLongFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/LegacyLongFieldMapper.java index dc179968773..110259421c9 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/LegacyLongFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/LegacyLongFieldMapper.java @@ -49,9 +49,6 @@ import java.util.Map; import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeLongValue; import static org.elasticsearch.index.mapper.TypeParsers.parseNumberField; -/** - * - */ public class LegacyLongFieldMapper extends LegacyNumberFieldMapper { public static final String CONTENT_TYPE = "long"; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/LegacyNumberFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/LegacyNumberFieldMapper.java index f377883aa24..20f248fdb5a 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/LegacyNumberFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/LegacyNumberFieldMapper.java @@ -37,9 +37,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.search.DocValueFormat; import org.joda.time.DateTimeZone; -/** - * - */ public abstract class LegacyNumberFieldMapper extends FieldMapper { // this is private since it has a different default private static final Setting COERCE_SETTING = diff --git a/core/src/main/java/org/elasticsearch/index/mapper/LegacyShortFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/LegacyShortFieldMapper.java index de068b53e95..c15f149eb66 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/LegacyShortFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/LegacyShortFieldMapper.java @@ -49,9 +49,6 @@ import java.util.Map; import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeShortValue; import static org.elasticsearch.index.mapper.TypeParsers.parseNumberField; -/** - * - */ public class LegacyShortFieldMapper extends LegacyNumberFieldMapper { public static final String CONTENT_TYPE = "short"; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/MapperException.java b/core/src/main/java/org/elasticsearch/index/mapper/MapperException.java index 0241f1c8e45..0a381de9f01 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/MapperException.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/MapperException.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class MapperException extends ElasticsearchException { public MapperException(StreamInput in) throws IOException { super(in); diff --git a/core/src/main/java/org/elasticsearch/index/mapper/MapperParsingException.java b/core/src/main/java/org/elasticsearch/index/mapper/MapperParsingException.java index df886c5ce9d..9769c58f4ec 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/MapperParsingException.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/MapperParsingException.java @@ -24,9 +24,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class MapperParsingException extends MapperException { public MapperParsingException(StreamInput in) throws IOException { diff --git a/core/src/main/java/org/elasticsearch/index/mapper/MapperService.java b/core/src/main/java/org/elasticsearch/index/mapper/MapperService.java index 7104c519f51..3e5262f12fa 100755 --- a/core/src/main/java/org/elasticsearch/index/mapper/MapperService.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/MapperService.java @@ -63,9 +63,6 @@ import static java.util.Collections.emptySet; import static java.util.Collections.unmodifiableMap; import static org.elasticsearch.common.collect.MapBuilder.newMapBuilder; -/** - * - */ public class MapperService extends AbstractIndexComponent { /** diff --git a/core/src/main/java/org/elasticsearch/index/mapper/ObjectMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/ObjectMapper.java index e843e7170d8..60c264e5706 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/ObjectMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/ObjectMapper.java @@ -44,9 +44,6 @@ import java.util.Map; import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue; -/** - * - */ public class ObjectMapper extends Mapper implements Cloneable { public static final String CONTENT_TYPE = "object"; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/RootObjectMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/RootObjectMapper.java index bf343a6e0aa..0ae7ce33581 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/RootObjectMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/RootObjectMapper.java @@ -40,9 +40,6 @@ import java.util.Map; import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeBooleanValue; import static org.elasticsearch.index.mapper.TypeParsers.parseDateTimeFormatter; -/** - * - */ public class RootObjectMapper extends ObjectMapper { public static class Defaults { diff --git a/core/src/main/java/org/elasticsearch/index/mapper/RoutingFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/RoutingFieldMapper.java index aa3e78b8ee0..14978bc6728 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/RoutingFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/RoutingFieldMapper.java @@ -32,9 +32,6 @@ import java.util.Map; import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue; -/** - * - */ public class RoutingFieldMapper extends MetadataFieldMapper { public static final String NAME = "_routing"; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/SourceFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/SourceFieldMapper.java index 63d4d958b36..defe0fa8cde 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/SourceFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/SourceFieldMapper.java @@ -45,17 +45,16 @@ import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.function.Function; import static org.elasticsearch.common.xcontent.support.XContentMapValues.lenientNodeBooleanValue; -/** - * - */ public class SourceFieldMapper extends MetadataFieldMapper { public static final String NAME = "_source"; public static final String CONTENT_TYPE = "_source"; + private final Function, Map> filter; public static class Defaults { public static final String NAME = SourceFieldMapper.NAME; @@ -190,6 +189,8 @@ public class SourceFieldMapper extends MetadataFieldMapper { this.enabled = enabled; this.includes = includes; this.excludes = excludes; + final boolean filtered = (includes != null && includes.length > 0) || (excludes != null && excludes.length > 0); + this.filter = enabled && filtered && fieldType().stored() ? XContentMapValues.filter(includes, excludes) : null; this.complete = enabled && includes == null && excludes == null; } @@ -239,12 +240,10 @@ public class SourceFieldMapper extends MetadataFieldMapper { return; } - boolean filtered = (includes != null && includes.length > 0) || (excludes != null && excludes.length > 0); - if (filtered) { + if (filter != null) { // we don't update the context source if we filter, we want to keep it as is... - Tuple> mapTuple = XContentHelper.convertToMap(source, true); - Map filteredSource = XContentMapValues.filter(mapTuple.v2(), includes, excludes); + Map filteredSource = filter.apply(mapTuple.v2()); BytesStreamOutput bStream = new BytesStreamOutput(); XContentType contentType = mapTuple.v1(); XContentBuilder builder = XContentFactory.contentBuilder(contentType, bStream).map(filteredSource); diff --git a/core/src/main/java/org/elasticsearch/index/mapper/SourceToParse.java b/core/src/main/java/org/elasticsearch/index/mapper/SourceToParse.java index 074ce8829e3..14f6e9a8587 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/SourceToParse.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/SourceToParse.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.common.unit.TimeValue; -/** - * - */ public class SourceToParse { public static SourceToParse source(String index, String type, String id, BytesReference source) { diff --git a/core/src/main/java/org/elasticsearch/index/mapper/StrictDynamicMappingException.java b/core/src/main/java/org/elasticsearch/index/mapper/StrictDynamicMappingException.java index f37ac8817ee..da1304d9b42 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/StrictDynamicMappingException.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/StrictDynamicMappingException.java @@ -23,8 +23,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - */ public class StrictDynamicMappingException extends MapperParsingException { public StrictDynamicMappingException(String path, String fieldName) { diff --git a/core/src/main/java/org/elasticsearch/index/mapper/TypeFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/TypeFieldMapper.java index 0889fab6636..ac9aeedb365 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/TypeFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/TypeFieldMapper.java @@ -45,9 +45,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; -/** - * - */ public class TypeFieldMapper extends MetadataFieldMapper { public static final String NAME = "_type"; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/TypeParsers.java b/core/src/main/java/org/elasticsearch/index/mapper/TypeParsers.java index f192efc24a6..97828e2bfab 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/TypeParsers.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/TypeParsers.java @@ -47,9 +47,6 @@ import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeIn import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeMapValue; import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeStringValue; -/** - * - */ public class TypeParsers { public static final String DOC_VALUES = "doc_values"; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/Uid.java b/core/src/main/java/org/elasticsearch/index/mapper/Uid.java index 2a8938b4ab7..69c49299e49 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/Uid.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/Uid.java @@ -28,9 +28,6 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -/** - * - */ public final class Uid { public static final char DELIMITER = '#'; diff --git a/core/src/main/java/org/elasticsearch/index/mapper/UidFieldMapper.java b/core/src/main/java/org/elasticsearch/index/mapper/UidFieldMapper.java index f27fa30b91c..ee6d76c2480 100644 --- a/core/src/main/java/org/elasticsearch/index/mapper/UidFieldMapper.java +++ b/core/src/main/java/org/elasticsearch/index/mapper/UidFieldMapper.java @@ -33,9 +33,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class UidFieldMapper extends MetadataFieldMapper { public static final String NAME = "_uid"; diff --git a/core/src/main/java/org/elasticsearch/index/merge/MergeStats.java b/core/src/main/java/org/elasticsearch/index/merge/MergeStats.java index ee8c08f00d0..845b035623d 100644 --- a/core/src/main/java/org/elasticsearch/index/merge/MergeStats.java +++ b/core/src/main/java/org/elasticsearch/index/merge/MergeStats.java @@ -29,9 +29,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder; import java.io.IOException; -/** - * - */ public class MergeStats implements Streamable, ToXContent { private long total; diff --git a/core/src/main/java/org/elasticsearch/index/query/MatchNoneQueryBuilder.java b/core/src/main/java/org/elasticsearch/index/query/MatchNoneQueryBuilder.java index 55a6e544f49..ee1238a0e0d 100644 --- a/core/src/main/java/org/elasticsearch/index/query/MatchNoneQueryBuilder.java +++ b/core/src/main/java/org/elasticsearch/index/query/MatchNoneQueryBuilder.java @@ -20,7 +20,6 @@ package org.elasticsearch.index.query; import org.apache.lucene.search.Query; -import org.elasticsearch.common.ParseField; import org.elasticsearch.common.ParsingException; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; diff --git a/core/src/main/java/org/elasticsearch/index/query/ScriptQueryBuilder.java b/core/src/main/java/org/elasticsearch/index/query/ScriptQueryBuilder.java index 4501d12b91f..01f29614e2e 100644 --- a/core/src/main/java/org/elasticsearch/index/query/ScriptQueryBuilder.java +++ b/core/src/main/java/org/elasticsearch/index/query/ScriptQueryBuilder.java @@ -138,9 +138,8 @@ public class ScriptQueryBuilder extends AbstractQueryBuilder static class ScriptQuery extends Query { - private final Script script; - - private final SearchScript searchScript; + final Script script; + final SearchScript searchScript; public ScriptQuery(Script script, SearchScript searchScript) { this.script = script; @@ -158,17 +157,23 @@ public class ScriptQueryBuilder extends AbstractQueryBuilder @Override public boolean equals(Object obj) { - if (this == obj) + // TODO: Do this if/when we can assume scripts are pure functions + // and they have a reliable equals impl + /*if (this == obj) return true; if (sameClassAs(obj) == false) return false; ScriptQuery other = (ScriptQuery) obj; - return Objects.equals(script, other.script); + return Objects.equals(script, other.script);*/ + return this == obj; } @Override public int hashCode() { - return Objects.hash(classHash(), script); + // TODO: Do this if/when we can assume scripts are pure functions + // and they have a reliable equals impl + // return Objects.hash(classHash(), script); + return System.identityHashCode(this); } @Override diff --git a/core/src/main/java/org/elasticsearch/index/query/support/QueryParsers.java b/core/src/main/java/org/elasticsearch/index/query/support/QueryParsers.java index a500393c160..56cea478a2c 100644 --- a/core/src/main/java/org/elasticsearch/index/query/support/QueryParsers.java +++ b/core/src/main/java/org/elasticsearch/index/query/support/QueryParsers.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.Nullable; import org.elasticsearch.common.ParseField; import org.elasticsearch.common.ParseFieldMatcher; -/** - * - */ public final class QueryParsers { public static final ParseField CONSTANT_SCORE = new ParseField("constant_score", "constant_score_auto", "constant_score_filter"); diff --git a/core/src/main/java/org/elasticsearch/index/search/MultiMatchQuery.java b/core/src/main/java/org/elasticsearch/index/search/MultiMatchQuery.java index 1a5b3c02e10..36c67e3989a 100644 --- a/core/src/main/java/org/elasticsearch/index/search/MultiMatchQuery.java +++ b/core/src/main/java/org/elasticsearch/index/search/MultiMatchQuery.java @@ -27,11 +27,11 @@ import org.apache.lucene.search.BooleanClause.Occur; import org.apache.lucene.search.BooleanQuery; import org.apache.lucene.search.BoostQuery; import org.apache.lucene.search.DisjunctionMaxQuery; +import org.apache.lucene.search.MatchNoDocsQuery; import org.apache.lucene.search.Query; import org.apache.lucene.search.TermQuery; import org.apache.lucene.util.BytesRef; import org.elasticsearch.common.collect.Tuple; -import org.elasticsearch.common.lucene.search.MatchNoDocsQuery; import org.elasticsearch.common.lucene.search.Queries; import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.query.AbstractQueryBuilder; diff --git a/core/src/main/java/org/elasticsearch/index/search/geo/GeoPolygonQuery.java b/core/src/main/java/org/elasticsearch/index/search/geo/GeoPolygonQuery.java index c3a52cb114e..bb39d752c0e 100644 --- a/core/src/main/java/org/elasticsearch/index/search/geo/GeoPolygonQuery.java +++ b/core/src/main/java/org/elasticsearch/index/search/geo/GeoPolygonQuery.java @@ -32,9 +32,6 @@ import org.elasticsearch.index.fielddata.MultiGeoPointValues; import java.io.IOException; import java.util.Arrays; -/** - * - */ public class GeoPolygonQuery extends Query { private final GeoPoint[] points; diff --git a/core/src/main/java/org/elasticsearch/index/search/stats/SearchStats.java b/core/src/main/java/org/elasticsearch/index/search/stats/SearchStats.java index d514571d0e2..3959a697fd0 100644 --- a/core/src/main/java/org/elasticsearch/index/search/stats/SearchStats.java +++ b/core/src/main/java/org/elasticsearch/index/search/stats/SearchStats.java @@ -32,8 +32,6 @@ import java.io.IOException; import java.util.HashMap; import java.util.Map; -/** - */ public class SearchStats implements Streamable, ToXContent { public static class Stats implements Streamable, ToXContent { diff --git a/core/src/main/java/org/elasticsearch/index/search/stats/ShardSearchStats.java b/core/src/main/java/org/elasticsearch/index/search/stats/ShardSearchStats.java index 68a2a30a2e9..716667dbb4d 100644 --- a/core/src/main/java/org/elasticsearch/index/search/stats/ShardSearchStats.java +++ b/core/src/main/java/org/elasticsearch/index/search/stats/ShardSearchStats.java @@ -33,8 +33,6 @@ import java.util.function.Consumer; import static java.util.Collections.emptyMap; -/** - */ public final class ShardSearchStats implements SearchOperationListener { private final StatsHolder totalStats = new StatsHolder(); diff --git a/core/src/main/java/org/elasticsearch/index/shard/CommitPoint.java b/core/src/main/java/org/elasticsearch/index/shard/CommitPoint.java index 9082fc072da..8291298a54d 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/CommitPoint.java +++ b/core/src/main/java/org/elasticsearch/index/shard/CommitPoint.java @@ -26,9 +26,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -/** - * - */ public class CommitPoint { public static final CommitPoint NULL = new CommitPoint(-1, "_null_", Type.GENERATED, Collections.emptyList(), Collections.emptyList()); diff --git a/core/src/main/java/org/elasticsearch/index/shard/CommitPoints.java b/core/src/main/java/org/elasticsearch/index/shard/CommitPoints.java index 2a5b3506028..e3b6817f13d 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/CommitPoints.java +++ b/core/src/main/java/org/elasticsearch/index/shard/CommitPoints.java @@ -33,9 +33,6 @@ import java.util.Comparator; import java.util.Iterator; import java.util.List; -/** - * - */ public class CommitPoints implements Iterable { private final List commitPoints; diff --git a/core/src/main/java/org/elasticsearch/index/shard/DocsStats.java b/core/src/main/java/org/elasticsearch/index/shard/DocsStats.java index bfb95b426b1..f8132d557bb 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/DocsStats.java +++ b/core/src/main/java/org/elasticsearch/index/shard/DocsStats.java @@ -27,8 +27,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder; import java.io.IOException; -/** - */ public class DocsStats implements Streamable, ToXContent { long count = 0; diff --git a/core/src/main/java/org/elasticsearch/index/shard/IllegalIndexShardStateException.java b/core/src/main/java/org/elasticsearch/index/shard/IllegalIndexShardStateException.java index e632c0669f6..1260a3829d4 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/IllegalIndexShardStateException.java +++ b/core/src/main/java/org/elasticsearch/index/shard/IllegalIndexShardStateException.java @@ -26,9 +26,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class IllegalIndexShardStateException extends ElasticsearchException { private final IndexShardState currentState; diff --git a/core/src/main/java/org/elasticsearch/index/shard/IndexShardClosedException.java b/core/src/main/java/org/elasticsearch/index/shard/IndexShardClosedException.java index f4e0fb53851..11d9804b100 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/IndexShardClosedException.java +++ b/core/src/main/java/org/elasticsearch/index/shard/IndexShardClosedException.java @@ -23,9 +23,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class IndexShardClosedException extends IllegalIndexShardStateException { public IndexShardClosedException(ShardId shardId) { super(shardId, IndexShardState.CLOSED, "Closed"); diff --git a/core/src/main/java/org/elasticsearch/index/shard/IndexShardComponent.java b/core/src/main/java/org/elasticsearch/index/shard/IndexShardComponent.java index a1665a7d5c1..154b9addab3 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/IndexShardComponent.java +++ b/core/src/main/java/org/elasticsearch/index/shard/IndexShardComponent.java @@ -21,9 +21,6 @@ package org.elasticsearch.index.shard; import org.elasticsearch.index.IndexSettings; -/** - * - */ public interface IndexShardComponent { ShardId shardId(); diff --git a/core/src/main/java/org/elasticsearch/index/shard/IndexShardNotRecoveringException.java b/core/src/main/java/org/elasticsearch/index/shard/IndexShardNotRecoveringException.java index 0e05576f577..7adde5d12c2 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/IndexShardNotRecoveringException.java +++ b/core/src/main/java/org/elasticsearch/index/shard/IndexShardNotRecoveringException.java @@ -23,9 +23,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class IndexShardNotRecoveringException extends IllegalIndexShardStateException { public IndexShardNotRecoveringException(ShardId shardId, IndexShardState currentState) { diff --git a/core/src/main/java/org/elasticsearch/index/shard/IndexShardNotStartedException.java b/core/src/main/java/org/elasticsearch/index/shard/IndexShardNotStartedException.java index ecf62bc6195..ec2fd6b3be5 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/IndexShardNotStartedException.java +++ b/core/src/main/java/org/elasticsearch/index/shard/IndexShardNotStartedException.java @@ -23,9 +23,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class IndexShardNotStartedException extends IllegalIndexShardStateException { public IndexShardNotStartedException(ShardId shardId, IndexShardState currentState) { diff --git a/core/src/main/java/org/elasticsearch/index/shard/IndexShardRecoveringException.java b/core/src/main/java/org/elasticsearch/index/shard/IndexShardRecoveringException.java index 6c27e4d93e9..93074d41232 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/IndexShardRecoveringException.java +++ b/core/src/main/java/org/elasticsearch/index/shard/IndexShardRecoveringException.java @@ -23,9 +23,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class IndexShardRecoveringException extends IllegalIndexShardStateException { public IndexShardRecoveringException(ShardId shardId) { diff --git a/core/src/main/java/org/elasticsearch/index/shard/IndexShardRecoveryException.java b/core/src/main/java/org/elasticsearch/index/shard/IndexShardRecoveryException.java index 8ed3c95f92a..4e147498800 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/IndexShardRecoveryException.java +++ b/core/src/main/java/org/elasticsearch/index/shard/IndexShardRecoveryException.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class IndexShardRecoveryException extends ElasticsearchException { public IndexShardRecoveryException(ShardId shardId, String msg, Throwable cause) { super(msg, cause); diff --git a/core/src/main/java/org/elasticsearch/index/shard/IndexShardRelocatedException.java b/core/src/main/java/org/elasticsearch/index/shard/IndexShardRelocatedException.java index 043ad892777..bafa14f2e58 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/IndexShardRelocatedException.java +++ b/core/src/main/java/org/elasticsearch/index/shard/IndexShardRelocatedException.java @@ -23,9 +23,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class IndexShardRelocatedException extends IllegalIndexShardStateException { public IndexShardRelocatedException(ShardId shardId) { diff --git a/core/src/main/java/org/elasticsearch/index/shard/IndexShardStartedException.java b/core/src/main/java/org/elasticsearch/index/shard/IndexShardStartedException.java index 05e7cdf8983..d2cff03c846 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/IndexShardStartedException.java +++ b/core/src/main/java/org/elasticsearch/index/shard/IndexShardStartedException.java @@ -23,9 +23,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class IndexShardStartedException extends IllegalIndexShardStateException { public IndexShardStartedException(ShardId shardId) { diff --git a/core/src/main/java/org/elasticsearch/index/shard/IndexShardState.java b/core/src/main/java/org/elasticsearch/index/shard/IndexShardState.java index fa4122cabba..d3c6de7136c 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/IndexShardState.java +++ b/core/src/main/java/org/elasticsearch/index/shard/IndexShardState.java @@ -20,9 +20,6 @@ package org.elasticsearch.index.shard; -/** - * - */ public enum IndexShardState { CREATED((byte) 0), RECOVERING((byte) 1), diff --git a/core/src/main/java/org/elasticsearch/index/shard/IndexingStats.java b/core/src/main/java/org/elasticsearch/index/shard/IndexingStats.java index 97f9dd2b92f..ba7eafc1a67 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/IndexingStats.java +++ b/core/src/main/java/org/elasticsearch/index/shard/IndexingStats.java @@ -32,8 +32,6 @@ import java.io.IOException; import java.util.HashMap; import java.util.Map; -/** - */ public class IndexingStats implements Streamable, ToXContent { public static class Stats implements Streamable, ToXContent { diff --git a/core/src/main/java/org/elasticsearch/index/shard/LocalShardSnapshot.java b/core/src/main/java/org/elasticsearch/index/shard/LocalShardSnapshot.java index 7b79f785ff3..d576f4d2ab5 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/LocalShardSnapshot.java +++ b/core/src/main/java/org/elasticsearch/index/shard/LocalShardSnapshot.java @@ -36,8 +36,6 @@ import java.io.IOException; import java.util.Collection; import java.util.concurrent.atomic.AtomicBoolean; -/** - */ final class LocalShardSnapshot implements Closeable { private final IndexShard shard; private final Store store; diff --git a/core/src/main/java/org/elasticsearch/index/shard/ShardNotFoundException.java b/core/src/main/java/org/elasticsearch/index/shard/ShardNotFoundException.java index aa46240fd49..01b78878598 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/ShardNotFoundException.java +++ b/core/src/main/java/org/elasticsearch/index/shard/ShardNotFoundException.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class ShardNotFoundException extends ResourceNotFoundException { public ShardNotFoundException(ShardId shardId) { this(shardId, null); diff --git a/core/src/main/java/org/elasticsearch/index/shard/ShardStateMetaData.java b/core/src/main/java/org/elasticsearch/index/shard/ShardStateMetaData.java index 407f271fd65..5f94856a9ca 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/ShardStateMetaData.java +++ b/core/src/main/java/org/elasticsearch/index/shard/ShardStateMetaData.java @@ -31,8 +31,6 @@ import org.elasticsearch.gateway.MetaDataStateFormat; import java.io.IOException; import java.io.OutputStream; -/** - */ public final class ShardStateMetaData { private static final String SHARD_STATE_FILE_PREFIX = "state-"; diff --git a/core/src/main/java/org/elasticsearch/index/shard/SnapshotStatus.java b/core/src/main/java/org/elasticsearch/index/shard/SnapshotStatus.java index a72cfc48b65..c7d1938cd6d 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/SnapshotStatus.java +++ b/core/src/main/java/org/elasticsearch/index/shard/SnapshotStatus.java @@ -19,9 +19,6 @@ package org.elasticsearch.index.shard; -/** - * - */ public class SnapshotStatus { public static enum Stage { diff --git a/core/src/main/java/org/elasticsearch/index/store/DirectoryService.java b/core/src/main/java/org/elasticsearch/index/store/DirectoryService.java index 90f9ed92712..343c0a11f05 100644 --- a/core/src/main/java/org/elasticsearch/index/store/DirectoryService.java +++ b/core/src/main/java/org/elasticsearch/index/store/DirectoryService.java @@ -26,8 +26,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; -/** - */ public abstract class DirectoryService extends AbstractIndexShardComponent { protected DirectoryService(ShardId shardId, IndexSettings indexSettings) { diff --git a/core/src/main/java/org/elasticsearch/index/store/FsDirectoryService.java b/core/src/main/java/org/elasticsearch/index/store/FsDirectoryService.java index 69eedd7ef19..1fffabdd152 100644 --- a/core/src/main/java/org/elasticsearch/index/store/FsDirectoryService.java +++ b/core/src/main/java/org/elasticsearch/index/store/FsDirectoryService.java @@ -46,8 +46,6 @@ import java.nio.file.Path; import java.util.HashSet; import java.util.Set; -/** - */ public class FsDirectoryService extends DirectoryService implements StoreRateLimiting.Listener, StoreRateLimiting.Provider { protected final IndexStore indexStore; diff --git a/core/src/main/java/org/elasticsearch/index/store/StoreFileMetaData.java b/core/src/main/java/org/elasticsearch/index/store/StoreFileMetaData.java index 2653f01c81d..c284ad8313c 100644 --- a/core/src/main/java/org/elasticsearch/index/store/StoreFileMetaData.java +++ b/core/src/main/java/org/elasticsearch/index/store/StoreFileMetaData.java @@ -29,9 +29,6 @@ import org.elasticsearch.common.lucene.Lucene; import java.io.IOException; import java.util.Objects; -/** - * - */ public class StoreFileMetaData implements Writeable { public static final Version FIRST_LUCENE_CHECKSUM_VERSION = Version.LUCENE_5_0_0; diff --git a/core/src/main/java/org/elasticsearch/index/store/StoreStats.java b/core/src/main/java/org/elasticsearch/index/store/StoreStats.java index d777d7b7830..5b9406f427c 100644 --- a/core/src/main/java/org/elasticsearch/index/store/StoreStats.java +++ b/core/src/main/java/org/elasticsearch/index/store/StoreStats.java @@ -29,8 +29,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder; import java.io.IOException; -/** - */ public class StoreStats implements Streamable, ToXContent { private long sizeInBytes; diff --git a/core/src/main/java/org/elasticsearch/index/translog/Checkpoint.java b/core/src/main/java/org/elasticsearch/index/translog/Checkpoint.java index d4eb9807827..65d11e54612 100644 --- a/core/src/main/java/org/elasticsearch/index/translog/Checkpoint.java +++ b/core/src/main/java/org/elasticsearch/index/translog/Checkpoint.java @@ -34,8 +34,6 @@ import java.nio.channels.FileChannel; import java.nio.file.OpenOption; import java.nio.file.Path; -/** - */ class Checkpoint { final long offset; diff --git a/core/src/main/java/org/elasticsearch/index/translog/TranslogException.java b/core/src/main/java/org/elasticsearch/index/translog/TranslogException.java index 2ebf279588e..7f693a584d9 100644 --- a/core/src/main/java/org/elasticsearch/index/translog/TranslogException.java +++ b/core/src/main/java/org/elasticsearch/index/translog/TranslogException.java @@ -25,9 +25,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; -/** - * - */ public class TranslogException extends ElasticsearchException { public TranslogException(ShardId shardId, String msg) { diff --git a/core/src/main/java/org/elasticsearch/index/translog/TranslogStats.java b/core/src/main/java/org/elasticsearch/index/translog/TranslogStats.java index 263a658c08d..e60fd2086b9 100644 --- a/core/src/main/java/org/elasticsearch/index/translog/TranslogStats.java +++ b/core/src/main/java/org/elasticsearch/index/translog/TranslogStats.java @@ -26,9 +26,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder; import java.io.IOException; -/** - * - */ public class TranslogStats extends ToXContentToBytes implements Streamable { private long translogSizeInBytes; diff --git a/core/src/main/java/org/elasticsearch/indices/AliasFilterParsingException.java b/core/src/main/java/org/elasticsearch/indices/AliasFilterParsingException.java index 52e801a4cb2..21b944c65fa 100644 --- a/core/src/main/java/org/elasticsearch/indices/AliasFilterParsingException.java +++ b/core/src/main/java/org/elasticsearch/indices/AliasFilterParsingException.java @@ -25,9 +25,6 @@ import org.elasticsearch.index.Index; import java.io.IOException; -/** - * - */ public class AliasFilterParsingException extends ElasticsearchException { public AliasFilterParsingException(Index index, String name, String desc, Throwable ex) { diff --git a/core/src/main/java/org/elasticsearch/indices/IndexAlreadyExistsException.java b/core/src/main/java/org/elasticsearch/indices/IndexAlreadyExistsException.java index f64addfd2f1..68c1e518650 100644 --- a/core/src/main/java/org/elasticsearch/indices/IndexAlreadyExistsException.java +++ b/core/src/main/java/org/elasticsearch/indices/IndexAlreadyExistsException.java @@ -26,9 +26,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class IndexAlreadyExistsException extends ElasticsearchException { public IndexAlreadyExistsException(Index index) { diff --git a/core/src/main/java/org/elasticsearch/indices/IndexCreationException.java b/core/src/main/java/org/elasticsearch/indices/IndexCreationException.java index 1248d73b81e..da823abf537 100644 --- a/core/src/main/java/org/elasticsearch/indices/IndexCreationException.java +++ b/core/src/main/java/org/elasticsearch/indices/IndexCreationException.java @@ -26,8 +26,6 @@ import org.elasticsearch.index.Index; import java.io.IOException; -/** - */ public class IndexCreationException extends ElasticsearchException implements ElasticsearchWrapperException { public IndexCreationException(String index, Throwable cause) { diff --git a/core/src/main/java/org/elasticsearch/indices/IndexTemplateAlreadyExistsException.java b/core/src/main/java/org/elasticsearch/indices/IndexTemplateAlreadyExistsException.java index 3b665e051e0..920d2ea51b7 100644 --- a/core/src/main/java/org/elasticsearch/indices/IndexTemplateAlreadyExistsException.java +++ b/core/src/main/java/org/elasticsearch/indices/IndexTemplateAlreadyExistsException.java @@ -25,9 +25,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class IndexTemplateAlreadyExistsException extends ElasticsearchException { private final String name; diff --git a/core/src/main/java/org/elasticsearch/indices/IndexTemplateMissingException.java b/core/src/main/java/org/elasticsearch/indices/IndexTemplateMissingException.java index db3b232d0e3..83fc2623390 100644 --- a/core/src/main/java/org/elasticsearch/indices/IndexTemplateMissingException.java +++ b/core/src/main/java/org/elasticsearch/indices/IndexTemplateMissingException.java @@ -25,9 +25,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class IndexTemplateMissingException extends ElasticsearchException { private final String name; diff --git a/core/src/main/java/org/elasticsearch/indices/InvalidAliasNameException.java b/core/src/main/java/org/elasticsearch/indices/InvalidAliasNameException.java index 4e2c443ff4a..bea40f96d65 100644 --- a/core/src/main/java/org/elasticsearch/indices/InvalidAliasNameException.java +++ b/core/src/main/java/org/elasticsearch/indices/InvalidAliasNameException.java @@ -26,9 +26,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class InvalidAliasNameException extends ElasticsearchException { public InvalidAliasNameException(Index index, String name, String desc) { diff --git a/core/src/main/java/org/elasticsearch/indices/InvalidIndexNameException.java b/core/src/main/java/org/elasticsearch/indices/InvalidIndexNameException.java index 34dd327c91a..3770398864f 100644 --- a/core/src/main/java/org/elasticsearch/indices/InvalidIndexNameException.java +++ b/core/src/main/java/org/elasticsearch/indices/InvalidIndexNameException.java @@ -26,9 +26,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class InvalidIndexNameException extends ElasticsearchException { public InvalidIndexNameException(String name, String desc) { diff --git a/core/src/main/java/org/elasticsearch/indices/InvalidIndexTemplateException.java b/core/src/main/java/org/elasticsearch/indices/InvalidIndexTemplateException.java index e3ed97415ef..38b5889aea8 100644 --- a/core/src/main/java/org/elasticsearch/indices/InvalidIndexTemplateException.java +++ b/core/src/main/java/org/elasticsearch/indices/InvalidIndexTemplateException.java @@ -25,9 +25,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class InvalidIndexTemplateException extends ElasticsearchException { private final String name; diff --git a/core/src/main/java/org/elasticsearch/indices/InvalidTypeNameException.java b/core/src/main/java/org/elasticsearch/indices/InvalidTypeNameException.java index 2279860d80c..05030b52ba4 100644 --- a/core/src/main/java/org/elasticsearch/indices/InvalidTypeNameException.java +++ b/core/src/main/java/org/elasticsearch/indices/InvalidTypeNameException.java @@ -25,9 +25,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class InvalidTypeNameException extends MapperException { public InvalidTypeNameException(StreamInput in) throws IOException { diff --git a/core/src/main/java/org/elasticsearch/indices/TypeMissingException.java b/core/src/main/java/org/elasticsearch/indices/TypeMissingException.java index 5ab9744933b..d7a4820db3f 100644 --- a/core/src/main/java/org/elasticsearch/indices/TypeMissingException.java +++ b/core/src/main/java/org/elasticsearch/indices/TypeMissingException.java @@ -27,9 +27,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; import java.util.Arrays; -/** - * - */ public class TypeMissingException extends ElasticsearchException { public TypeMissingException(Index index, String... types) { diff --git a/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltAnalyzers.java b/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltAnalyzers.java index 23ef9bdcd3f..6c4a3cc2578 100644 --- a/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltAnalyzers.java +++ b/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltAnalyzers.java @@ -68,9 +68,6 @@ import org.elasticsearch.indices.analysis.PreBuiltCacheFactory.CachingStrategy; import java.util.Locale; -/** - * - */ public enum PreBuiltAnalyzers { STANDARD(CachingStrategy.ELASTICSEARCH) { diff --git a/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltCacheFactory.java b/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltCacheFactory.java index ddda8a08745..823152e6d9e 100644 --- a/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltCacheFactory.java +++ b/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltCacheFactory.java @@ -24,9 +24,6 @@ import org.elasticsearch.Version; import java.util.HashMap; import java.util.Map; -/** - * - */ public class PreBuiltCacheFactory { /** diff --git a/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltCharFilters.java b/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltCharFilters.java index dcf6c295303..063763006a0 100644 --- a/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltCharFilters.java +++ b/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltCharFilters.java @@ -26,9 +26,6 @@ import org.elasticsearch.indices.analysis.PreBuiltCacheFactory.CachingStrategy; import java.io.Reader; import java.util.Locale; -/** - * - */ public enum PreBuiltCharFilters { HTML_STRIP(CachingStrategy.ONE) { diff --git a/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltTokenFilters.java b/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltTokenFilters.java index a31f60fc5bd..e1189e3197d 100644 --- a/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltTokenFilters.java +++ b/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltTokenFilters.java @@ -72,9 +72,6 @@ import org.tartarus.snowball.ext.FrenchStemmer; import java.util.Locale; -/** - * - */ public enum PreBuiltTokenFilters { WORD_DELIMITER(CachingStrategy.ONE) { diff --git a/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltTokenizers.java b/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltTokenizers.java index 424b5e4534f..ce623953030 100644 --- a/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltTokenizers.java +++ b/core/src/main/java/org/elasticsearch/indices/analysis/PreBuiltTokenizers.java @@ -38,9 +38,6 @@ import org.elasticsearch.indices.analysis.PreBuiltCacheFactory.CachingStrategy; import java.util.Locale; -/** - * - */ public enum PreBuiltTokenizers { STANDARD(CachingStrategy.LUCENE) { diff --git a/core/src/main/java/org/elasticsearch/indices/cluster/IndicesClusterStateService.java b/core/src/main/java/org/elasticsearch/indices/cluster/IndicesClusterStateService.java index bbbcfc96d57..b55074f592d 100644 --- a/core/src/main/java/org/elasticsearch/indices/cluster/IndicesClusterStateService.java +++ b/core/src/main/java/org/elasticsearch/indices/cluster/IndicesClusterStateService.java @@ -570,8 +570,7 @@ public class IndicesClusterStateService extends AbstractLifecycleComponent imple /** * Finds the routing source node for peer recovery, return null if its not found. Note, this method expects the shard - * routing to *require* peer recovery, use {@link ShardRouting#recoverySource()} to - * check if its needed or not. + * routing to *require* peer recovery, use {@link ShardRouting#recoverySource()} to check if its needed or not. */ private static DiscoveryNode findSourceNodeForPeerRecovery(Logger logger, RoutingTable routingTable, DiscoveryNodes nodes, ShardRouting shardRouting) { @@ -610,29 +609,12 @@ public class IndicesClusterStateService extends AbstractLifecycleComponent imple @Override public void onRecoveryDone(RecoveryState state) { - if (state.getRecoverySource().getType() == Type.SNAPSHOT) { - SnapshotRecoverySource snapshotRecoverySource = (SnapshotRecoverySource) state.getRecoverySource(); - restoreService.indexShardRestoreCompleted(snapshotRecoverySource.snapshot(), shardRouting.shardId()); - } shardStateAction.shardStarted(shardRouting, "after " + state.getRecoverySource(), SHARD_STATE_ACTION_LISTENER); } @Override public void onRecoveryFailure(RecoveryState state, RecoveryFailedException e, boolean sendShardFailure) { - if (state.getRecoverySource().getType() == Type.SNAPSHOT) { - try { - if (Lucene.isCorruptionException(e.getCause())) { - SnapshotRecoverySource snapshotRecoverySource = (SnapshotRecoverySource) state.getRecoverySource(); - restoreService.failRestore(snapshotRecoverySource.snapshot(), shardRouting.shardId()); - } - } catch (Exception inner) { - e.addSuppressed(inner); - } finally { - handleRecoveryFailure(shardRouting, sendShardFailure, e); - } - } else { - handleRecoveryFailure(shardRouting, sendShardFailure, e); - } + handleRecoveryFailure(shardRouting, sendShardFailure, e); } } diff --git a/core/src/main/java/org/elasticsearch/indices/recovery/RecoverFilesRecoveryException.java b/core/src/main/java/org/elasticsearch/indices/recovery/RecoverFilesRecoveryException.java index d2e07bd9e4c..c47b28f8d56 100644 --- a/core/src/main/java/org/elasticsearch/indices/recovery/RecoverFilesRecoveryException.java +++ b/core/src/main/java/org/elasticsearch/indices/recovery/RecoverFilesRecoveryException.java @@ -29,9 +29,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; import java.util.Objects; -/** - * - */ public class RecoverFilesRecoveryException extends ElasticsearchException implements ElasticsearchWrapperException { private final int numberOfFiles; diff --git a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryCleanFilesRequest.java b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryCleanFilesRequest.java index c040c25736a..4216ea049b4 100644 --- a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryCleanFilesRequest.java +++ b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryCleanFilesRequest.java @@ -27,9 +27,6 @@ import org.elasticsearch.transport.TransportRequest; import java.io.IOException; -/** - * - */ public class RecoveryCleanFilesRequest extends TransportRequest { private long recoveryId; diff --git a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFailedException.java b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFailedException.java index 3c3d96a4f9b..9b7f31c7e55 100644 --- a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFailedException.java +++ b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFailedException.java @@ -27,9 +27,6 @@ import org.elasticsearch.index.shard.ShardId; import java.io.IOException; -/** - * - */ public class RecoveryFailedException extends ElasticsearchException { public RecoveryFailedException(StartRecoveryRequest request, Throwable cause) { diff --git a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFileChunkRequest.java b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFileChunkRequest.java index 49cdb737ed3..196e2cdf76b 100644 --- a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFileChunkRequest.java +++ b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFileChunkRequest.java @@ -30,9 +30,6 @@ import org.elasticsearch.transport.TransportRequest; import java.io.IOException; -/** - * - */ public final class RecoveryFileChunkRequest extends TransportRequest { private boolean lastChunk; private long recoveryId; diff --git a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFilesInfoRequest.java b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFilesInfoRequest.java index d9a2a19f49f..2143127c234 100644 --- a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFilesInfoRequest.java +++ b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFilesInfoRequest.java @@ -28,9 +28,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -/** - * - */ public class RecoveryFilesInfoRequest extends TransportRequest { private long recoveryId; diff --git a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFinalizeRecoveryRequest.java b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFinalizeRecoveryRequest.java index e8d5c0f299f..dca50f3f816 100644 --- a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFinalizeRecoveryRequest.java +++ b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryFinalizeRecoveryRequest.java @@ -26,9 +26,6 @@ import org.elasticsearch.transport.TransportRequest; import java.io.IOException; -/** - * - */ public class RecoveryFinalizeRecoveryRequest extends TransportRequest { private long recoveryId; diff --git a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryPrepareForTranslogOperationsRequest.java b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryPrepareForTranslogOperationsRequest.java index 171102d07ea..94425f62799 100644 --- a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryPrepareForTranslogOperationsRequest.java +++ b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryPrepareForTranslogOperationsRequest.java @@ -27,9 +27,6 @@ import org.elasticsearch.transport.TransportRequest; import java.io.IOException; -/** - * - */ public class RecoveryPrepareForTranslogOperationsRequest extends TransportRequest { private long maxUnsafeAutoIdTimestamp = IndexRequest.UNSET_AUTO_GENERATED_TIMESTAMP; diff --git a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryResponse.java b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryResponse.java index 7ec59a76ed8..9018f6f0be1 100644 --- a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryResponse.java +++ b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryResponse.java @@ -27,9 +27,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -/** - * - */ class RecoveryResponse extends TransportResponse { List phase1FileNames = new ArrayList<>(); diff --git a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryTranslogOperationsRequest.java b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryTranslogOperationsRequest.java index 5cc294ace6e..46494626920 100644 --- a/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryTranslogOperationsRequest.java +++ b/core/src/main/java/org/elasticsearch/indices/recovery/RecoveryTranslogOperationsRequest.java @@ -28,9 +28,6 @@ import org.elasticsearch.transport.TransportRequest; import java.io.IOException; import java.util.List; -/** - * - */ public class RecoveryTranslogOperationsRequest extends TransportRequest { private long recoveryId; diff --git a/core/src/main/java/org/elasticsearch/indices/recovery/StartRecoveryRequest.java b/core/src/main/java/org/elasticsearch/indices/recovery/StartRecoveryRequest.java index 9aa56fd8cb0..bc8a73b5622 100644 --- a/core/src/main/java/org/elasticsearch/indices/recovery/StartRecoveryRequest.java +++ b/core/src/main/java/org/elasticsearch/indices/recovery/StartRecoveryRequest.java @@ -29,9 +29,6 @@ import org.elasticsearch.transport.TransportRequest; import java.io.IOException; -/** - * - */ public class StartRecoveryRequest extends TransportRequest { private long recoveryId; diff --git a/core/src/main/java/org/elasticsearch/indices/store/IndicesStore.java b/core/src/main/java/org/elasticsearch/indices/store/IndicesStore.java index 372951bdfd5..d1520d15027 100644 --- a/core/src/main/java/org/elasticsearch/indices/store/IndicesStore.java +++ b/core/src/main/java/org/elasticsearch/indices/store/IndicesStore.java @@ -66,9 +66,6 @@ import java.util.List; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; -/** - * - */ public class IndicesStore extends AbstractComponent implements ClusterStateListener, Closeable { // TODO this class can be foled into either IndicesService and partially into IndicesClusterStateService there is no need for a separate public service diff --git a/core/src/main/java/org/elasticsearch/indices/store/TransportNodesListShardStoreMetaData.java b/core/src/main/java/org/elasticsearch/indices/store/TransportNodesListShardStoreMetaData.java index 341b0e57858..707df5feb1e 100644 --- a/core/src/main/java/org/elasticsearch/indices/store/TransportNodesListShardStoreMetaData.java +++ b/core/src/main/java/org/elasticsearch/indices/store/TransportNodesListShardStoreMetaData.java @@ -57,9 +57,6 @@ import java.util.Iterator; import java.util.List; import java.util.concurrent.TimeUnit; -/** - * - */ public class TransportNodesListShardStoreMetaData extends TransportNodesAction getHandlers = new PathTrie<>(RestUtils.REST_DECODER); private final PathTrie postHandlers = new PathTrie<>(RestUtils.REST_DECODER); diff --git a/core/src/main/java/org/elasticsearch/rest/RestResponse.java b/core/src/main/java/org/elasticsearch/rest/RestResponse.java index 7946785bc97..7e031f8d004 100644 --- a/core/src/main/java/org/elasticsearch/rest/RestResponse.java +++ b/core/src/main/java/org/elasticsearch/rest/RestResponse.java @@ -29,9 +29,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -/** - * - */ public abstract class RestResponse { protected Map> customHeaders; diff --git a/core/src/main/java/org/elasticsearch/rest/action/AcknowledgedRestListener.java b/core/src/main/java/org/elasticsearch/rest/action/AcknowledgedRestListener.java index 203c2eafc77..e12329f93a3 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/AcknowledgedRestListener.java +++ b/core/src/main/java/org/elasticsearch/rest/action/AcknowledgedRestListener.java @@ -28,8 +28,6 @@ import java.io.IOException; import static org.elasticsearch.rest.RestStatus.OK; -/** - */ public class AcknowledgedRestListener extends RestBuilderListener { public AcknowledgedRestListener(RestChannel channel) { diff --git a/core/src/main/java/org/elasticsearch/rest/action/RestActions.java b/core/src/main/java/org/elasticsearch/rest/action/RestActions.java index bb72e3e2249..c5a3799a88d 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/RestActions.java +++ b/core/src/main/java/org/elasticsearch/rest/action/RestActions.java @@ -51,9 +51,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; import java.util.List; -/** - * - */ public class RestActions { public static long parseVersion(RestRequest request) { diff --git a/core/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestClusterRerouteAction.java b/core/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestClusterRerouteAction.java index bd86f41ac2c..d5815b3b31c 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestClusterRerouteAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestClusterRerouteAction.java @@ -50,8 +50,6 @@ import java.util.EnumSet; import java.util.HashSet; import java.util.Set; -/** - */ public class RestClusterRerouteAction extends BaseRestHandler { private static final ObjectParser PARSER = new ObjectParser<>("cluster_reroute"); static { diff --git a/core/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestClusterStatsAction.java b/core/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestClusterStatsAction.java index ad0ead8b28b..d1c7346eb0e 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestClusterStatsAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestClusterStatsAction.java @@ -30,9 +30,6 @@ import org.elasticsearch.rest.action.RestActions.NodesResponseRestListener; import java.io.IOException; -/** - * - */ public class RestClusterStatsAction extends BaseRestHandler { @Inject diff --git a/core/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestNodesHotThreadsAction.java b/core/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestNodesHotThreadsAction.java index 363a89111f6..3cfb80a46f0 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestNodesHotThreadsAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestNodesHotThreadsAction.java @@ -38,8 +38,6 @@ import org.elasticsearch.rest.action.RestResponseListener; import java.io.IOException; -/** - */ public class RestNodesHotThreadsAction extends BaseRestHandler { @Inject diff --git a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/AliasesNotFoundException.java b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/AliasesNotFoundException.java index 0b60a5c249c..bb55a0e1a07 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/AliasesNotFoundException.java +++ b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/AliasesNotFoundException.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; import java.util.Arrays; -/** - * - */ public class AliasesNotFoundException extends ResourceNotFoundException { public AliasesNotFoundException(String... names) { diff --git a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestFlushAction.java b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestFlushAction.java index ac58dc1f6e3..efab741a227 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestFlushAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestFlushAction.java @@ -41,9 +41,6 @@ import static org.elasticsearch.rest.RestRequest.Method.POST; import static org.elasticsearch.rest.RestStatus.OK; import static org.elasticsearch.rest.action.RestActions.buildBroadcastShardsHeader; -/** - * - */ public class RestFlushAction extends BaseRestHandler { @Inject diff --git a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestForceMergeAction.java b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestForceMergeAction.java index d253b02bbd8..75e54a2b60f 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestForceMergeAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestForceMergeAction.java @@ -40,9 +40,6 @@ import static org.elasticsearch.rest.RestRequest.Method.POST; import static org.elasticsearch.rest.RestStatus.OK; import static org.elasticsearch.rest.action.RestActions.buildBroadcastShardsHeader; -/** - * - */ public class RestForceMergeAction extends BaseRestHandler { @Inject diff --git a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestGetAliasesAction.java b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestGetAliasesAction.java index e7408757890..531f36aa4b3 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestGetAliasesAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestGetAliasesAction.java @@ -45,8 +45,6 @@ import java.util.Locale; import static org.elasticsearch.rest.RestRequest.Method.GET; import static org.elasticsearch.rest.RestStatus.OK; -/** - */ public class RestGetAliasesAction extends BaseRestHandler { @Inject diff --git a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestGetMappingAction.java b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestGetMappingAction.java index 2bb3ae8170b..abe2e529b8d 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestGetMappingAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestGetMappingAction.java @@ -44,9 +44,6 @@ import java.io.IOException; import static org.elasticsearch.rest.RestRequest.Method.GET; import static org.elasticsearch.rest.RestStatus.OK; -/** - * - */ public class RestGetMappingAction extends BaseRestHandler { @Inject diff --git a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestIndexDeleteAliasesAction.java b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestIndexDeleteAliasesAction.java index ea6d1fca647..d169ce42825 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestIndexDeleteAliasesAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestIndexDeleteAliasesAction.java @@ -33,8 +33,6 @@ import java.io.IOException; import static org.elasticsearch.rest.RestRequest.Method.DELETE; -/** - */ public class RestIndexDeleteAliasesAction extends BaseRestHandler { @Inject diff --git a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestOpenIndexAction.java b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestOpenIndexAction.java index e606f39dfe2..23331c7d4a6 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestOpenIndexAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestOpenIndexAction.java @@ -33,9 +33,6 @@ import org.elasticsearch.rest.action.AcknowledgedRestListener; import java.io.IOException; -/** - * - */ public class RestOpenIndexAction extends BaseRestHandler { @Inject diff --git a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestPutMappingAction.java b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestPutMappingAction.java index 7d3b9ba479e..0fa394e6f3d 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestPutMappingAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestPutMappingAction.java @@ -37,9 +37,6 @@ import static org.elasticsearch.client.Requests.putMappingRequest; import static org.elasticsearch.rest.RestRequest.Method.POST; import static org.elasticsearch.rest.RestRequest.Method.PUT; -/** - * - */ public class RestPutMappingAction extends BaseRestHandler { diff --git a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestRolloverIndexAction.java b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestRolloverIndexAction.java index cecfb31916d..7c68fea4357 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestRolloverIndexAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestRolloverIndexAction.java @@ -31,9 +31,6 @@ import org.elasticsearch.rest.action.RestToXContentListener; import java.io.IOException; -/** - * - */ public class RestRolloverIndexAction extends BaseRestHandler { @Inject diff --git a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestSyncedFlushAction.java b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestSyncedFlushAction.java index 194bf0f2f83..f645c32be71 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestSyncedFlushAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestSyncedFlushAction.java @@ -39,9 +39,6 @@ import java.io.IOException; import static org.elasticsearch.rest.RestRequest.Method.GET; import static org.elasticsearch.rest.RestRequest.Method.POST; -/** - * - */ public class RestSyncedFlushAction extends BaseRestHandler { @Inject diff --git a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestUpdateSettingsAction.java b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestUpdateSettingsAction.java index 7ebbe1205e5..4ba011e698e 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestUpdateSettingsAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/admin/indices/RestUpdateSettingsAction.java @@ -38,9 +38,6 @@ import static java.util.Collections.unmodifiableSet; import static org.elasticsearch.client.Requests.updateSettingsRequest; import static org.elasticsearch.common.util.set.Sets.newHashSet; -/** - * - */ public class RestUpdateSettingsAction extends BaseRestHandler { private static final Set VALUES_TO_EXCLUDE = unmodifiableSet(newHashSet( "pretty", diff --git a/core/src/main/java/org/elasticsearch/rest/action/cat/AbstractCatAction.java b/core/src/main/java/org/elasticsearch/rest/action/cat/AbstractCatAction.java index 86739046eb9..7289e9c76e7 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/cat/AbstractCatAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/cat/AbstractCatAction.java @@ -76,7 +76,7 @@ public abstract class AbstractCatAction extends BaseRestHandler { } static Set RESPONSE_PARAMS = - Collections.unmodifiableSet(new HashSet<>(Arrays.asList("format", "h", "v", "ts", "pri", "bytes", "size", "time"))); + Collections.unmodifiableSet(new HashSet<>(Arrays.asList("format", "h", "v", "ts", "pri", "bytes", "size", "time", "s"))); @Override protected Set responseParams() { diff --git a/core/src/main/java/org/elasticsearch/rest/action/cat/RestTable.java b/core/src/main/java/org/elasticsearch/rest/action/cat/RestTable.java index 61932ad1443..0ab2c86453e 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/cat/RestTable.java +++ b/core/src/main/java/org/elasticsearch/rest/action/cat/RestTable.java @@ -38,8 +38,12 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.LinkedHashSet; import java.util.List; +import java.util.Locale; +import java.util.Map; import java.util.Set; public class RestTable { @@ -59,13 +63,13 @@ public class RestTable { List displayHeaders = buildDisplayHeaders(table, request); builder.startArray(); - for (int row = 0; row < table.getRows().size(); row++) { + List rowOrder = getRowOrder(table, request); + for (Integer row : rowOrder) { builder.startObject(); for (DisplayHeader header : displayHeaders) { builder.field(header.display, renderValue(request, table.getAsMap().get(header.name).get(row).value)); } builder.endObject(); - } builder.endArray(); return new BytesRestResponse(RestStatus.OK, builder); @@ -92,7 +96,10 @@ public class RestTable { } out.append("\n"); } - for (int row = 0; row < table.getRows().size(); row++) { + + List rowOrder = getRowOrder(table, request); + + for (Integer row: rowOrder) { for (int col = 0; col < headers.size(); col++) { DisplayHeader header = headers.get(col); boolean isLastColumn = col == lastHeader; @@ -107,6 +114,38 @@ public class RestTable { return new BytesRestResponse(RestStatus.OK, BytesRestResponse.TEXT_CONTENT_TYPE, bytesOut.bytes()); } + static List getRowOrder(Table table, RestRequest request) { + String[] columnOrdering = request.paramAsStringArray("s", null); + + List rowOrder = new ArrayList<>(); + for (int i = 0; i < table.getRows().size(); i++) { + rowOrder.add(i); + } + + if (columnOrdering != null) { + Map headerAliasMap = table.getAliasMap(); + List ordering = new ArrayList<>(); + for (int i = 0; i < columnOrdering.length; i++) { + String columnHeader = columnOrdering[i]; + boolean reverse = false; + if (columnHeader.endsWith(":desc")) { + columnHeader = columnHeader.substring(0, columnHeader.length() - ":desc".length()); + reverse = true; + } else if (columnHeader.endsWith(":asc")) { + columnHeader = columnHeader.substring(0, columnHeader.length() - ":asc".length()); + } + if (headerAliasMap.containsKey(columnHeader)) { + ordering.add(new ColumnOrderElement(headerAliasMap.get(columnHeader), reverse)); + } else { + throw new UnsupportedOperationException( + String.format(Locale.ROOT, "Unable to sort by unknown sort key `%s`", columnHeader)); + } + } + Collections.sort(rowOrder, new TableIndexComparator(table, ordering)); + } + return rowOrder; + } + static List buildDisplayHeaders(Table table, RestRequest request) { List display = new ArrayList<>(); if (request.hasParam("h")) { @@ -368,4 +407,71 @@ public class RestTable { this.display = display; } } + + static class TableIndexComparator implements Comparator { + private final Table table; + private final int maxIndex; + private final List ordering; + + TableIndexComparator(Table table, List ordering) { + this.table = table; + this.maxIndex = table.getRows().size(); + this.ordering = ordering; + } + + private int compareCell(Object o1, Object o2) { + if (o1 == null && o2 == null) { + return 0; + } else if (o1 == null) { + return -1; + } else if (o2 == null) { + return 1; + } else { + if (o1 instanceof Comparable && o1.getClass().equals(o2.getClass())) { + return ((Comparable) o1).compareTo(o2); + } else { + return o1.toString().compareTo(o2.toString()); + } + } + } + + @Override + public int compare(Integer rowIndex1, Integer rowIndex2) { + if (rowIndex1 < maxIndex && rowIndex1 >= 0 && rowIndex2 < maxIndex && rowIndex2 >= 0) { + Map> tableMap = table.getAsMap(); + for (ColumnOrderElement orderingElement : ordering) { + String column = orderingElement.getColumn(); + if (tableMap.containsKey(column)) { + int comparison = compareCell(tableMap.get(column).get(rowIndex1).value, + tableMap.get(column).get(rowIndex2).value); + if (comparison != 0) { + return orderingElement.isReversed() ? -1 * comparison : comparison; + } + } + } + return 0; + } else { + throw new AssertionError(String.format(Locale.ENGLISH, "Invalid comparison of indices (%s, %s): Table has %s rows.", + rowIndex1, rowIndex2, table.getRows().size())); + } + } + } + + static class ColumnOrderElement { + private final String column; + private final boolean reverse; + + public ColumnOrderElement(String column, boolean reverse) { + this.column = column; + this.reverse = reverse; + } + + public String getColumn() { + return column; + } + + public boolean isReversed() { + return reverse; + } + } } diff --git a/core/src/main/java/org/elasticsearch/rest/action/document/RestDeleteAction.java b/core/src/main/java/org/elasticsearch/rest/action/document/RestDeleteAction.java index 6478b799664..80e4efa4ecb 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/document/RestDeleteAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/document/RestDeleteAction.java @@ -35,9 +35,6 @@ import java.io.IOException; import static org.elasticsearch.rest.RestRequest.Method.DELETE; -/** - * - */ public class RestDeleteAction extends BaseRestHandler { @Inject diff --git a/core/src/main/java/org/elasticsearch/rest/action/document/RestUpdateAction.java b/core/src/main/java/org/elasticsearch/rest/action/document/RestUpdateAction.java index 5cd7336a0f3..e0211ccec2f 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/document/RestUpdateAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/document/RestUpdateAction.java @@ -40,8 +40,6 @@ import java.io.IOException; import static org.elasticsearch.rest.RestRequest.Method.POST; -/** - */ public class RestUpdateAction extends BaseRestHandler { private static final DeprecationLogger DEPRECATION_LOGGER = new DeprecationLogger(Loggers.getLogger(RestUpdateAction.class)); diff --git a/core/src/main/java/org/elasticsearch/rest/action/search/RestMultiSearchAction.java b/core/src/main/java/org/elasticsearch/rest/action/search/RestMultiSearchAction.java index 8117024f173..f55758c4e90 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/search/RestMultiSearchAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/search/RestMultiSearchAction.java @@ -51,8 +51,6 @@ import static org.elasticsearch.common.xcontent.support.XContentMapValues.nodeSt import static org.elasticsearch.rest.RestRequest.Method.GET; import static org.elasticsearch.rest.RestRequest.Method.POST; -/** - */ public class RestMultiSearchAction extends BaseRestHandler { private final boolean allowExplicitIndex; diff --git a/core/src/main/java/org/elasticsearch/rest/action/search/RestSearchAction.java b/core/src/main/java/org/elasticsearch/rest/action/search/RestSearchAction.java index 6980bf3ed3c..c68f2802e83 100644 --- a/core/src/main/java/org/elasticsearch/rest/action/search/RestSearchAction.java +++ b/core/src/main/java/org/elasticsearch/rest/action/search/RestSearchAction.java @@ -55,9 +55,6 @@ import static org.elasticsearch.rest.RestRequest.Method.GET; import static org.elasticsearch.rest.RestRequest.Method.POST; import static org.elasticsearch.search.suggest.SuggestBuilders.termSuggestion; -/** - * - */ public class RestSearchAction extends BaseRestHandler { private final SearchRequestParsers searchRequestParsers; diff --git a/core/src/main/java/org/elasticsearch/script/ScriptEngineService.java b/core/src/main/java/org/elasticsearch/script/ScriptEngineService.java index 55a931d8d57..1760dbaa3ad 100644 --- a/core/src/main/java/org/elasticsearch/script/ScriptEngineService.java +++ b/core/src/main/java/org/elasticsearch/script/ScriptEngineService.java @@ -25,9 +25,6 @@ import org.elasticsearch.search.lookup.SearchLookup; import java.io.Closeable; import java.util.Map; -/** - * - */ public interface ScriptEngineService extends Closeable { String getType(); diff --git a/core/src/main/java/org/elasticsearch/search/SearchContextException.java b/core/src/main/java/org/elasticsearch/search/SearchContextException.java index 2dc25a50373..8f1ebb80139 100644 --- a/core/src/main/java/org/elasticsearch/search/SearchContextException.java +++ b/core/src/main/java/org/elasticsearch/search/SearchContextException.java @@ -24,9 +24,6 @@ import org.elasticsearch.search.internal.SearchContext; import java.io.IOException; -/** - * - */ public class SearchContextException extends SearchException { public SearchContextException(SearchContext context, String msg) { diff --git a/core/src/main/java/org/elasticsearch/search/SearchContextMissingException.java b/core/src/main/java/org/elasticsearch/search/SearchContextMissingException.java index d2f30e72c3a..9e8d41e2ae2 100644 --- a/core/src/main/java/org/elasticsearch/search/SearchContextMissingException.java +++ b/core/src/main/java/org/elasticsearch/search/SearchContextMissingException.java @@ -26,9 +26,6 @@ import org.elasticsearch.rest.RestStatus; import java.io.IOException; -/** - * - */ public class SearchContextMissingException extends ElasticsearchException { private final long id; diff --git a/core/src/main/java/org/elasticsearch/search/SearchException.java b/core/src/main/java/org/elasticsearch/search/SearchException.java index 535f8acd446..2633378511e 100644 --- a/core/src/main/java/org/elasticsearch/search/SearchException.java +++ b/core/src/main/java/org/elasticsearch/search/SearchException.java @@ -26,9 +26,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - * - */ public class SearchException extends ElasticsearchException implements ElasticsearchWrapperException { private final SearchShardTarget shardTarget; diff --git a/core/src/main/java/org/elasticsearch/search/SearchParseException.java b/core/src/main/java/org/elasticsearch/search/SearchParseException.java index c0a9a370270..223225af2a6 100644 --- a/core/src/main/java/org/elasticsearch/search/SearchParseException.java +++ b/core/src/main/java/org/elasticsearch/search/SearchParseException.java @@ -29,9 +29,6 @@ import org.elasticsearch.search.internal.SearchContext; import java.io.IOException; -/** - * - */ public class SearchParseException extends SearchContextException { public static final int UNKNOWN_POSITION = -1; diff --git a/core/src/main/java/org/elasticsearch/search/SearchPhaseResult.java b/core/src/main/java/org/elasticsearch/search/SearchPhaseResult.java index 067761b9b71..003f37616f5 100644 --- a/core/src/main/java/org/elasticsearch/search/SearchPhaseResult.java +++ b/core/src/main/java/org/elasticsearch/search/SearchPhaseResult.java @@ -21,9 +21,6 @@ package org.elasticsearch.search; import org.elasticsearch.common.io.stream.Streamable; -/** - * - */ public interface SearchPhaseResult extends Streamable { long id(); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/AggregatorFactories.java b/core/src/main/java/org/elasticsearch/search/aggregations/AggregatorFactories.java index 616b0091fe8..a18395d5e66 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/AggregatorFactories.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/AggregatorFactories.java @@ -40,9 +40,6 @@ import java.util.Map; import java.util.Objects; import java.util.Set; -/** - * - */ public class AggregatorFactories { public static final AggregatorFactories EMPTY = new AggregatorFactories(null, new AggregatorFactory[0], diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/HasAggregations.java b/core/src/main/java/org/elasticsearch/search/aggregations/HasAggregations.java index 46020b050bc..53302f04905 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/HasAggregations.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/HasAggregations.java @@ -19,9 +19,6 @@ package org.elasticsearch.search.aggregations; -/** - * - */ public interface HasAggregations { Aggregations getAggregations(); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/BucketsAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/BucketsAggregator.java index ab655497c4c..ca355320408 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/BucketsAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/BucketsAggregator.java @@ -35,9 +35,6 @@ import java.util.Arrays; import java.util.List; import java.util.Map; -/** - * - */ public abstract class BucketsAggregator extends AggregatorBase { private final BigArrays bigArrays; diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/filters/FiltersAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/filters/FiltersAggregator.java index 08bbdaf3e3b..2c91b62a84d 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/filters/FiltersAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/filters/FiltersAggregator.java @@ -47,9 +47,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; -/** - * - */ public class FiltersAggregator extends BucketsAggregator { public static final ParseField FILTERS_FIELD = new ParseField("filters"); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/global/GlobalAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/global/GlobalAggregator.java index 6e4980ede27..bc5057eee14 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/global/GlobalAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/global/GlobalAggregator.java @@ -31,9 +31,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class GlobalAggregator extends SingleBucketAggregator { public GlobalAggregator(String name, AggregatorFactories subFactories, AggregationContext aggregationContext, List pipelineAggregators, diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/missing/MissingAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/missing/MissingAggregator.java index e80be56f341..013c25cfc88 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/missing/MissingAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/missing/MissingAggregator.java @@ -34,9 +34,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class MissingAggregator extends SingleBucketAggregator { private final ValuesSource valuesSource; diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/ReverseNestedAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/ReverseNestedAggregator.java index d45f103ed5e..7e88e38b7f2 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/ReverseNestedAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/ReverseNestedAggregator.java @@ -40,9 +40,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class ReverseNestedAggregator extends SingleBucketAggregator { static final ParseField PATH_FIELD = new ParseField("path"); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/InternalRange.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/InternalRange.java index 54ee27bfa96..c35956e2dcf 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/InternalRange.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/InternalRange.java @@ -35,9 +35,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -/** - * - */ public class InternalRange> extends InternalMultiBucketAggregation implements Range { static final Factory FACTORY = new Factory(); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregator.java index e35e4af9e78..3ca79c82e72 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeAggregator.java @@ -48,9 +48,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; -/** - * - */ public class RangeAggregator extends BucketsAggregator { public static final ParseField RANGES_FIELD = new ParseField("ranges"); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeParser.java index c8cb2c76715..51c732e9523 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeParser.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/RangeParser.java @@ -33,9 +33,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -/** - * - */ public class RangeParser extends NumericValuesSourceParser { public RangeParser() { diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/date/DateRangeParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/date/DateRangeParser.java index f8eff715abb..9277a2d6a3d 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/date/DateRangeParser.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/date/DateRangeParser.java @@ -28,9 +28,6 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceType; import java.util.List; import java.util.Map; -/** - * - */ public class DateRangeParser extends RangeParser { public DateRangeParser() { diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/date/InternalDateRange.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/date/InternalDateRange.java index f0dfec2312f..f7b55ab9916 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/date/InternalDateRange.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/date/InternalDateRange.java @@ -32,9 +32,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class InternalDateRange extends InternalRange { public static final Factory FACTORY = new Factory(); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/GeoDistanceParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/GeoDistanceParser.java index 677731d64ef..d43c2218018 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/GeoDistanceParser.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/GeoDistanceParser.java @@ -38,9 +38,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -/** - * - */ public class GeoDistanceParser extends GeoPointValuesSourceParser { static final ParseField ORIGIN_FIELD = new ParseField("origin", "center", "point", "por"); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/InternalGeoDistance.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/InternalGeoDistance.java index f01e0233afd..86fc0372982 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/InternalGeoDistance.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/range/geodistance/InternalGeoDistance.java @@ -31,9 +31,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class InternalGeoDistance extends InternalRange { public static final Factory FACTORY = new Factory(); @@ -119,4 +116,9 @@ public class InternalGeoDistance extends InternalRange getFactory() { return FACTORY; } -} \ No newline at end of file + + @Override + public String getWriteableName() { + return GeoDistanceAggregationBuilder.NAME; + } +} diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/DiversifiedSamplerParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/DiversifiedSamplerParser.java index a62035d7234..49f941b36b7 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/DiversifiedSamplerParser.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/DiversifiedSamplerParser.java @@ -29,9 +29,6 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceType; import java.io.IOException; import java.util.Map; -/** - * - */ public class DiversifiedSamplerParser extends AnyValuesSourceParser { public DiversifiedSamplerParser() { super(true, false); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantLongTermsAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantLongTermsAggregator.java index 4de8f795401..7d15c8ea1ef 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantLongTermsAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantLongTermsAggregator.java @@ -41,9 +41,6 @@ import java.util.Map; import static java.util.Collections.emptyList; -/** - * - */ public class SignificantLongTermsAggregator extends LongTermsAggregator { public SignificantLongTermsAggregator(String name, AggregatorFactories factories, ValuesSource.Numeric valuesSource, diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTermsAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTermsAggregationBuilder.java index 46f5d881fa1..1cf422ae50a 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTermsAggregationBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTermsAggregationBuilder.java @@ -44,9 +44,6 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceType; import java.io.IOException; import java.util.Objects; -/** - * - */ public class SignificantTermsAggregationBuilder extends ValuesSourceAggregationBuilder { public static final String NAME = "significant_terms"; public static final InternalAggregation.Type TYPE = new Type(NAME); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTermsParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTermsParser.java index 0f08cf0a0a3..5f40fe73546 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTermsParser.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/SignificantTermsParser.java @@ -40,9 +40,6 @@ import java.io.IOException; import java.util.Map; import java.util.Optional; -/** - * - */ public class SignificantTermsParser extends AbstractTermsParser { private final ParseFieldRegistry significanceHeuristicParserRegistry; private final IndicesQueriesRegistry queriesRegistry; diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/DoubleTermsAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/DoubleTermsAggregator.java index b2b57f9d060..fe3d0dbbf38 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/DoubleTermsAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/DoubleTermsAggregator.java @@ -36,9 +36,6 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; -/** - * - */ public class DoubleTermsAggregator extends LongTermsAggregator { public DoubleTermsAggregator(String name, AggregatorFactories factories, ValuesSource.Numeric valuesSource, DocValueFormat format, diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/InternalOrder.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/InternalOrder.java index f3f87c09dca..e904c667906 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/InternalOrder.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/InternalOrder.java @@ -40,9 +40,6 @@ import java.util.LinkedList; import java.util.List; import java.util.Objects; -/** - * - */ class InternalOrder extends Terms.Order { private static final byte COUNT_DESC_ID = 1; diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/LongTermsAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/LongTermsAggregator.java index fd7296d07d9..cbb2ef6378c 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/LongTermsAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/LongTermsAggregator.java @@ -42,9 +42,6 @@ import java.util.Map; import static java.util.Collections.emptyList; -/** - * - */ public class LongTermsAggregator extends TermsAggregator { protected final ValuesSource.Numeric valuesSource; diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/TermsParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/TermsParser.java index bf8b06ab65a..50869a4709c 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/TermsParser.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/bucket/terms/TermsParser.java @@ -36,9 +36,6 @@ import java.util.Collections; import java.util.List; import java.util.Map; -/** - * - */ public class TermsParser extends AbstractTermsParser { @Override protected TermsAggregationBuilder doCreateFactory(String aggregationName, ValuesSourceType valuesSourceType, diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/InternalNumericMetricsAggregation.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/InternalNumericMetricsAggregation.java index 901c52a232d..9f591c7d425 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/InternalNumericMetricsAggregation.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/InternalNumericMetricsAggregation.java @@ -26,9 +26,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public abstract class InternalNumericMetricsAggregation extends InternalMetricsAggregation { private static final DocValueFormat DEFAULT_FORMAT = DocValueFormat.RAW; diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/NumericMetricsAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/NumericMetricsAggregator.java index 3ffd7f79750..9b4fc0b256e 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/NumericMetricsAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/NumericMetricsAggregator.java @@ -26,9 +26,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public abstract class NumericMetricsAggregator extends MetricsAggregator { private NumericMetricsAggregator(String name, AggregationContext context, Aggregator parent, diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/AvgAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/AvgAggregator.java index eb0fc42f9c2..b33689b9298 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/AvgAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/AvgAggregator.java @@ -38,9 +38,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class AvgAggregator extends NumericMetricsAggregator.SingleValue { final ValuesSource.Numeric valuesSource; diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/AvgParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/AvgParser.java index bc6f762295c..49c9e1bb3a0 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/AvgParser.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/avg/AvgParser.java @@ -28,9 +28,6 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceType; import java.io.IOException; import java.util.Map; -/** - * - */ public class AvgParser extends NumericValuesSourceParser { public AvgParser() { diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/max/MaxAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/max/MaxAggregator.java index 73504f9a8f4..bbd6bf70bc3 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/max/MaxAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/max/MaxAggregator.java @@ -39,9 +39,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class MaxAggregator extends NumericMetricsAggregator.SingleValue { final ValuesSource.Numeric valuesSource; diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/max/MaxParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/max/MaxParser.java index f0290e93fa9..355b602b82c 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/max/MaxParser.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/max/MaxParser.java @@ -28,9 +28,6 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceType; import java.io.IOException; import java.util.Map; -/** - * - */ public class MaxParser extends NumericValuesSourceParser { public MaxParser() { diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/min/MinAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/min/MinAggregator.java index a32379b7d10..ba28efbf97d 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/min/MinAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/min/MinAggregator.java @@ -39,9 +39,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class MinAggregator extends NumericMetricsAggregator.SingleValue { final ValuesSource.Numeric valuesSource; diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/min/MinParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/min/MinParser.java index 4381ca41899..13dd61f44b6 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/min/MinParser.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/min/MinParser.java @@ -28,9 +28,6 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceType; import java.io.IOException; import java.util.Map; -/** - * - */ public class MinParser extends NumericValuesSourceParser { public MinParser() { diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentileRanksParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentileRanksParser.java index 313b8e7b7c0..7a057cfa962 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentileRanksParser.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentileRanksParser.java @@ -22,9 +22,6 @@ import org.elasticsearch.common.ParseField; import org.elasticsearch.search.aggregations.support.ValuesSource.Numeric; import org.elasticsearch.search.aggregations.support.ValuesSourceAggregationBuilder; -/** - * - */ public class PercentileRanksParser extends AbstractPercentilesParser { public static final ParseField VALUES_FIELD = new ParseField("values"); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentilesParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentilesParser.java index 806fb26cd3f..237c66f28ce 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentilesParser.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/PercentilesParser.java @@ -22,9 +22,6 @@ import org.elasticsearch.common.ParseField; import org.elasticsearch.search.aggregations.support.ValuesSource.Numeric; import org.elasticsearch.search.aggregations.support.ValuesSourceAggregationBuilder; -/** - * - */ public class PercentilesParser extends AbstractPercentilesParser { public static final ParseField PERCENTS_FIELD = new ParseField("percents"); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/HDRPercentileRanksAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/HDRPercentileRanksAggregator.java index faa6039f56c..eaebf833596 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/HDRPercentileRanksAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/HDRPercentileRanksAggregator.java @@ -30,9 +30,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class HDRPercentileRanksAggregator extends AbstractHDRPercentilesAggregator { public HDRPercentileRanksAggregator(String name, Numeric valuesSource, AggregationContext context, Aggregator parent, diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/HDRPercentilesAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/HDRPercentilesAggregator.java index 0b9c2c43d34..f197b533e55 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/HDRPercentilesAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/hdr/HDRPercentilesAggregator.java @@ -30,9 +30,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class HDRPercentilesAggregator extends AbstractHDRPercentilesAggregator { public HDRPercentilesAggregator(String name, Numeric valuesSource, AggregationContext context, Aggregator parent, double[] percents, diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/TDigestPercentileRanksAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/TDigestPercentileRanksAggregator.java index 1151e2272a4..34bb4e26d55 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/TDigestPercentileRanksAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/TDigestPercentileRanksAggregator.java @@ -29,9 +29,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class TDigestPercentileRanksAggregator extends AbstractTDigestPercentilesAggregator { public TDigestPercentileRanksAggregator(String name, Numeric valuesSource, AggregationContext context, Aggregator parent, double[] percents, diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/TDigestPercentilesAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/TDigestPercentilesAggregator.java index c0063102e07..40478a20d43 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/TDigestPercentilesAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/percentiles/tdigest/TDigestPercentilesAggregator.java @@ -29,9 +29,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class TDigestPercentilesAggregator extends AbstractTDigestPercentilesAggregator { public TDigestPercentilesAggregator(String name, Numeric valuesSource, AggregationContext context, diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/StatsAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/StatsAggregator.java index 374cbcaf0e6..59d205b0522 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/StatsAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/StatsAggregator.java @@ -38,9 +38,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class StatsAggregator extends NumericMetricsAggregator.MultiValue { final ValuesSource.Numeric valuesSource; diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/StatsParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/StatsParser.java index 60e3d2ef0aa..bca81226125 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/StatsParser.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/StatsParser.java @@ -28,9 +28,6 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceType; import java.io.IOException; import java.util.Map; -/** - * - */ public class StatsParser extends NumericValuesSourceParser { public StatsParser() { diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/ExtendedStatsAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/ExtendedStatsAggregator.java index 7715d4b713e..52b08185ba5 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/ExtendedStatsAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/ExtendedStatsAggregator.java @@ -39,9 +39,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class ExtendedStatsAggregator extends NumericMetricsAggregator.MultiValue { public static final ParseField SIGMA_FIELD = new ParseField("sigma"); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/ExtendedStatsParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/ExtendedStatsParser.java index 9644d26e93a..3e61d2ccab6 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/ExtendedStatsParser.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/stats/extended/ExtendedStatsParser.java @@ -28,9 +28,6 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceType; import java.io.IOException; import java.util.Map; -/** - * - */ public class ExtendedStatsParser extends NumericValuesSourceParser { public ExtendedStatsParser() { diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/SumAggregator.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/SumAggregator.java index 0d6b5de4a80..4dcaa808213 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/SumAggregator.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/SumAggregator.java @@ -37,9 +37,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public class SumAggregator extends NumericMetricsAggregator.SingleValue { final ValuesSource.Numeric valuesSource; diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/SumParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/SumParser.java index ee82829b0a7..ac2ec65b01e 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/SumParser.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/sum/SumParser.java @@ -28,9 +28,6 @@ import org.elasticsearch.search.aggregations.support.ValuesSourceType; import java.io.IOException; import java.util.Map; -/** - * - */ public class SumParser extends NumericValuesSourceParser { public SumParser() { diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/tophits/TopHitsAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/tophits/TopHitsAggregationBuilder.java index 9f740b695b7..70f1adc771f 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/metrics/tophits/TopHitsAggregationBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/metrics/tophits/TopHitsAggregationBuilder.java @@ -283,11 +283,9 @@ public class TopHitsAggregationBuilder extends AbstractAggregationBuilder implements Aggregator.Parser { static final ParseField TIME_ZONE = new ParseField("time_zone"); diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/support/GeoPointParser.java b/core/src/main/java/org/elasticsearch/search/aggregations/support/GeoPointParser.java index fd2f3636d17..5d26cc1b359 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/support/GeoPointParser.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/support/GeoPointParser.java @@ -30,9 +30,6 @@ import org.elasticsearch.search.aggregations.InternalAggregation; import java.io.IOException; import java.util.Map; -/** - * - */ public class GeoPointParser { private final InternalAggregation.Type aggType; diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/support/ValueType.java b/core/src/main/java/org/elasticsearch/search/aggregations/support/ValueType.java index 9e0bf350beb..7bcfce5a2f7 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/support/ValueType.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/support/ValueType.java @@ -31,9 +31,6 @@ import org.joda.time.DateTimeZone; import java.io.IOException; -/** - * - */ public enum ValueType implements Writeable { STRING((byte) 1, "string", "string", ValuesSourceType.BYTES, diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceAggregationBuilder.java b/core/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceAggregationBuilder.java index 8f128181f3a..f539a2a3b7f 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceAggregationBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceAggregationBuilder.java @@ -43,9 +43,6 @@ import java.io.IOException; import java.util.Collections; import java.util.Objects; -/** - * - */ public abstract class ValuesSourceAggregationBuilder> extends AbstractAggregationBuilder { diff --git a/core/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceConfig.java b/core/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceConfig.java index cb6f76037cf..b16f633f416 100644 --- a/core/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceConfig.java +++ b/core/src/main/java/org/elasticsearch/search/aggregations/support/ValuesSourceConfig.java @@ -22,9 +22,6 @@ import org.elasticsearch.script.SearchScript; import org.elasticsearch.search.DocValueFormat; import org.joda.time.DateTimeZone; -/** - * - */ public class ValuesSourceConfig { private final ValuesSourceType valueSourceType; diff --git a/core/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilder.java b/core/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilder.java index c64a5fd552e..1f88da63cc2 100644 --- a/core/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilder.java @@ -637,11 +637,9 @@ public final class SearchSourceBuilder extends ToXContentToBytes implements Writ * every hit */ public SearchSourceBuilder fetchSource(boolean fetch) { - if (this.fetchSourceContext == null) { - this.fetchSourceContext = new FetchSourceContext(fetch); - } else { - this.fetchSourceContext.fetchSource(fetch); - } + FetchSourceContext fetchSourceContext = this.fetchSourceContext != null ? this.fetchSourceContext + : FetchSourceContext.FETCH_SOURCE; + this.fetchSourceContext = new FetchSourceContext(fetch, fetchSourceContext.includes(), fetchSourceContext.excludes()); return this; } @@ -675,7 +673,9 @@ public final class SearchSourceBuilder extends ToXContentToBytes implements Writ * filter the returned _source */ public SearchSourceBuilder fetchSource(@Nullable String[] includes, @Nullable String[] excludes) { - fetchSourceContext = new FetchSourceContext(includes, excludes); + FetchSourceContext fetchSourceContext = this.fetchSourceContext != null ? this.fetchSourceContext + : FetchSourceContext.FETCH_SOURCE; + this.fetchSourceContext = new FetchSourceContext(fetchSourceContext.fetchSource(), includes, excludes); return this; } diff --git a/core/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilderException.java b/core/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilderException.java index 1c764e28346..9235a6359ff 100644 --- a/core/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilderException.java +++ b/core/src/main/java/org/elasticsearch/search/builder/SearchSourceBuilderException.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class SearchSourceBuilderException extends ElasticsearchException { public SearchSourceBuilderException(String msg) { diff --git a/core/src/main/java/org/elasticsearch/search/dfs/DfsPhaseExecutionException.java b/core/src/main/java/org/elasticsearch/search/dfs/DfsPhaseExecutionException.java index a6020b4498a..f5bcd5980a4 100644 --- a/core/src/main/java/org/elasticsearch/search/dfs/DfsPhaseExecutionException.java +++ b/core/src/main/java/org/elasticsearch/search/dfs/DfsPhaseExecutionException.java @@ -25,9 +25,6 @@ import org.elasticsearch.search.internal.SearchContext; import java.io.IOException; -/** - * - */ public class DfsPhaseExecutionException extends SearchContextException { public DfsPhaseExecutionException(SearchContext context, String msg, Throwable t) { diff --git a/core/src/main/java/org/elasticsearch/search/dfs/DfsSearchResult.java b/core/src/main/java/org/elasticsearch/search/dfs/DfsSearchResult.java index 6e93e410587..9a5412ffbd3 100644 --- a/core/src/main/java/org/elasticsearch/search/dfs/DfsSearchResult.java +++ b/core/src/main/java/org/elasticsearch/search/dfs/DfsSearchResult.java @@ -34,9 +34,6 @@ import org.elasticsearch.transport.TransportResponse; import java.io.IOException; -/** - * - */ public class DfsSearchResult extends TransportResponse implements SearchPhaseResult { private static final Term[] EMPTY_TERMS = new Term[0]; diff --git a/core/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java b/core/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java index 41ea0e294da..ef6fd979a69 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java @@ -99,11 +99,9 @@ public class FetchPhase implements SearchPhase { } else { for (String fieldName : context.storedFieldsContext().fieldNames()) { if (fieldName.equals(SourceFieldMapper.NAME)) { - if (context.hasFetchSourceContext()) { - context.fetchSourceContext().fetchSource(true); - } else { - context.fetchSourceContext(new FetchSourceContext(true)); - } + FetchSourceContext fetchSourceContext = context.hasFetchSourceContext() ? context.fetchSourceContext() + : FetchSourceContext.FETCH_SOURCE; + context.fetchSourceContext(new FetchSourceContext(true, fetchSourceContext.includes(), fetchSourceContext.excludes())); continue; } if (Regex.isSimpleMatchPattern(fieldName)) { diff --git a/core/src/main/java/org/elasticsearch/search/fetch/FetchPhaseExecutionException.java b/core/src/main/java/org/elasticsearch/search/fetch/FetchPhaseExecutionException.java index 1f56ac87142..20d88687b0f 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/FetchPhaseExecutionException.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/FetchPhaseExecutionException.java @@ -25,9 +25,6 @@ import org.elasticsearch.search.internal.SearchContext; import java.io.IOException; -/** - * - */ public class FetchPhaseExecutionException extends SearchContextException { public FetchPhaseExecutionException(SearchContext context, String msg, Throwable t) { diff --git a/core/src/main/java/org/elasticsearch/search/fetch/FetchSearchResult.java b/core/src/main/java/org/elasticsearch/search/fetch/FetchSearchResult.java index eac878569e1..27dda007911 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/FetchSearchResult.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/FetchSearchResult.java @@ -28,9 +28,6 @@ import org.elasticsearch.transport.TransportResponse; import java.io.IOException; -/** - * - */ public class FetchSearchResult extends TransportResponse implements FetchSearchResultProvider { private long id; diff --git a/core/src/main/java/org/elasticsearch/search/fetch/FetchSearchResultProvider.java b/core/src/main/java/org/elasticsearch/search/fetch/FetchSearchResultProvider.java index 5f4b8101298..4b1aff991c6 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/FetchSearchResultProvider.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/FetchSearchResultProvider.java @@ -21,9 +21,6 @@ package org.elasticsearch.search.fetch; import org.elasticsearch.search.SearchPhaseResult; -/** - * - */ public interface FetchSearchResultProvider extends SearchPhaseResult { FetchSearchResult fetchResult(); diff --git a/core/src/main/java/org/elasticsearch/search/fetch/QueryFetchSearchResult.java b/core/src/main/java/org/elasticsearch/search/fetch/QueryFetchSearchResult.java index f3271f933fe..b618eacdb6b 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/QueryFetchSearchResult.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/QueryFetchSearchResult.java @@ -30,9 +30,6 @@ import java.io.IOException; import static org.elasticsearch.search.fetch.FetchSearchResult.readFetchSearchResult; import static org.elasticsearch.search.query.QuerySearchResult.readQuerySearchResult; -/** - * - */ public class QueryFetchSearchResult extends QuerySearchResultProvider implements FetchSearchResultProvider { private QuerySearchResult queryResult; diff --git a/core/src/main/java/org/elasticsearch/search/fetch/ScrollQueryFetchSearchResult.java b/core/src/main/java/org/elasticsearch/search/fetch/ScrollQueryFetchSearchResult.java index dbaee5b64bb..e8a9af00127 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/ScrollQueryFetchSearchResult.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/ScrollQueryFetchSearchResult.java @@ -28,9 +28,6 @@ import java.io.IOException; import static org.elasticsearch.search.fetch.QueryFetchSearchResult.readQueryFetchSearchResult; -/** - * - */ public class ScrollQueryFetchSearchResult extends TransportResponse { private QueryFetchSearchResult result; diff --git a/core/src/main/java/org/elasticsearch/search/fetch/subphase/FetchSourceContext.java b/core/src/main/java/org/elasticsearch/search/fetch/subphase/FetchSourceContext.java index 212f8d724d8..1eec405502e 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/subphase/FetchSourceContext.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/subphase/FetchSourceContext.java @@ -30,12 +30,15 @@ import org.elasticsearch.common.io.stream.Writeable; import org.elasticsearch.common.xcontent.ToXContent; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentParser; +import org.elasticsearch.common.xcontent.support.XContentMapValues; import org.elasticsearch.rest.RestRequest; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.function.Function; /** * Context used to fetch the {@code _source}. @@ -47,39 +50,13 @@ public class FetchSourceContext implements Writeable, ToXContent { public static final FetchSourceContext FETCH_SOURCE = new FetchSourceContext(true); public static final FetchSourceContext DO_NOT_FETCH_SOURCE = new FetchSourceContext(false); - private boolean fetchSource; - private String[] includes; - private String[] excludes; + private final boolean fetchSource; + private final String[] includes; + private final String[] excludes; + private Function, Map> filter; public static FetchSourceContext parse(XContentParser parser) throws IOException { - FetchSourceContext fetchSourceContext = new FetchSourceContext(); - fetchSourceContext.fromXContent(parser, ParseFieldMatcher.STRICT); - return fetchSourceContext; - } - - public FetchSourceContext() { - } - - public FetchSourceContext(boolean fetchSource) { - this(fetchSource, Strings.EMPTY_ARRAY, Strings.EMPTY_ARRAY); - } - - public FetchSourceContext(String include) { - this(include, null); - } - - public FetchSourceContext(String include, String exclude) { - this(true, - include == null ? Strings.EMPTY_ARRAY : new String[]{include}, - exclude == null ? Strings.EMPTY_ARRAY : new String[]{exclude}); - } - - public FetchSourceContext(String[] includes) { - this(true, includes, Strings.EMPTY_ARRAY); - } - - public FetchSourceContext(String[] includes, String[] excludes) { - this(true, includes, excludes); + return fromXContent(parser, ParseFieldMatcher.STRICT); } public FetchSourceContext(boolean fetchSource, String[] includes, String[] excludes) { @@ -88,6 +65,10 @@ public class FetchSourceContext implements Writeable, ToXContent { this.excludes = excludes == null ? Strings.EMPTY_ARRAY : excludes; } + public FetchSourceContext(boolean fetchSource) { + this(fetchSource, Strings.EMPTY_ARRAY, Strings.EMPTY_ARRAY); + } + public FetchSourceContext(StreamInput in) throws IOException { fetchSource = in.readBoolean(); includes = in.readStringArray(); @@ -105,29 +86,14 @@ public class FetchSourceContext implements Writeable, ToXContent { return this.fetchSource; } - public FetchSourceContext fetchSource(boolean fetchSource) { - this.fetchSource = fetchSource; - return this; - } - public String[] includes() { return this.includes; } - public FetchSourceContext includes(String[] includes) { - this.includes = includes; - return this; - } - public String[] excludes() { return this.excludes; } - public FetchSourceContext excludes(String[] excludes) { - this.excludes = excludes; - return this; - } - public static FetchSourceContext parseFromRestRequest(RestRequest request) { Boolean fetchSource = null; String[] source_excludes = null; @@ -161,7 +127,7 @@ public class FetchSourceContext implements Writeable, ToXContent { return null; } - public void fromXContent(XContentParser parser, ParseFieldMatcher parseFieldMatcher) throws IOException { + public static FetchSourceContext fromXContent(XContentParser parser, ParseFieldMatcher parseFieldMatcher) throws IOException { XContentParser.Token token = parser.currentToken(); boolean fetchSource = true; String[] includes = Strings.EMPTY_ARRAY; @@ -226,9 +192,7 @@ public class FetchSourceContext implements Writeable, ToXContent { throw new ParsingException(parser.getTokenLocation(), "Expected one of [" + XContentParser.Token.VALUE_BOOLEAN + ", " + XContentParser.Token.START_OBJECT + "] but found [" + token + "]", parser.getTokenLocation()); } - this.fetchSource = fetchSource; - this.includes = includes; - this.excludes = excludes; + return new FetchSourceContext(fetchSource, includes, excludes); } @Override @@ -265,4 +229,15 @@ public class FetchSourceContext implements Writeable, ToXContent { result = 31 * result + (excludes != null ? Arrays.hashCode(excludes) : 0); return result; } + + /** + * Returns a filter function that expects the source map as an input and returns + * the filtered map. + */ + public Function, Map> getFilter() { + if (filter == null) { + filter = XContentMapValues.filter(includes, excludes); + } + return filter; + } } diff --git a/core/src/main/java/org/elasticsearch/search/fetch/subphase/FetchSourceSubPhase.java b/core/src/main/java/org/elasticsearch/search/fetch/subphase/FetchSourceSubPhase.java index fe5a9f286c1..3171ca4b008 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/subphase/FetchSourceSubPhase.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/subphase/FetchSourceSubPhase.java @@ -48,7 +48,7 @@ public final class FetchSourceSubPhase implements FetchSubPhase { "for index [" + context.indexShard().shardId().getIndexName() + "]"); } - Object value = source.filter(fetchSourceContext.includes(), fetchSourceContext.excludes()); + final Object value = source.filter(fetchSourceContext); try { final int initialCapacity = Math.min(1024, source.internalSourceRef().length()); BytesStreamOutput streamOutput = new BytesStreamOutput(initialCapacity); diff --git a/core/src/main/java/org/elasticsearch/search/fetch/subphase/InnerHitsContext.java b/core/src/main/java/org/elasticsearch/search/fetch/subphase/InnerHitsContext.java index 44a6b13fd40..d3de22f7203 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/subphase/InnerHitsContext.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/subphase/InnerHitsContext.java @@ -59,8 +59,6 @@ import java.util.HashMap; import java.util.Map; import java.util.Objects; -/** - */ public final class InnerHitsContext { private final Map innerHits; diff --git a/core/src/main/java/org/elasticsearch/search/fetch/subphase/ScriptFieldsContext.java b/core/src/main/java/org/elasticsearch/search/fetch/subphase/ScriptFieldsContext.java index c886a3a157f..79bacd7f938 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/subphase/ScriptFieldsContext.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/subphase/ScriptFieldsContext.java @@ -24,9 +24,6 @@ import org.elasticsearch.script.SearchScript; import java.util.ArrayList; import java.util.List; -/** - * - */ public class ScriptFieldsContext { public static class ScriptField { diff --git a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FastVectorHighlighter.java b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FastVectorHighlighter.java index 873567de44e..ddafda2f5a5 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FastVectorHighlighter.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/FastVectorHighlighter.java @@ -43,9 +43,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; -/** - * - */ public class FastVectorHighlighter implements Highlighter { private static final SimpleBoundaryScanner DEFAULT_BOUNDARY_SCANNER = new SimpleBoundaryScanner(); diff --git a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlighterContext.java b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlighterContext.java index 7b9526d152f..8643ccb82ea 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlighterContext.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/HighlighterContext.java @@ -23,9 +23,6 @@ import org.elasticsearch.index.mapper.FieldMapper; import org.elasticsearch.search.fetch.FetchSubPhase; import org.elasticsearch.search.internal.SearchContext; -/** - * - */ public class HighlighterContext { public final String fieldName; diff --git a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/PlainHighlighter.java b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/PlainHighlighter.java index 631d716f6f7..e821b0fd9a8 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/PlainHighlighter.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/PlainHighlighter.java @@ -47,9 +47,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -/** - * - */ public class PlainHighlighter implements Highlighter { private static final String CACHE_KEY = "highlight-plain"; diff --git a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SearchContextHighlight.java b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SearchContextHighlight.java index 9f2074d7412..d4731718793 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SearchContextHighlight.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SearchContextHighlight.java @@ -28,9 +28,6 @@ import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; -/** - * - */ public class SearchContextHighlight { private final Map fields; diff --git a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceScoreOrderFragmentsBuilder.java b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceScoreOrderFragmentsBuilder.java index e46cda49290..c4ac54606cb 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceScoreOrderFragmentsBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceScoreOrderFragmentsBuilder.java @@ -33,9 +33,6 @@ import org.elasticsearch.search.lookup.SourceLookup; import java.io.IOException; import java.util.List; -/** - * - */ public class SourceScoreOrderFragmentsBuilder extends ScoreOrderFragmentsBuilder { private final FieldMapper mapper; diff --git a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceSimpleFragmentsBuilder.java b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceSimpleFragmentsBuilder.java index 4ff52547c7d..cd37863a67e 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceSimpleFragmentsBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/subphase/highlight/SourceSimpleFragmentsBuilder.java @@ -30,9 +30,6 @@ import org.elasticsearch.search.lookup.SourceLookup; import java.io.IOException; import java.util.List; -/** - * - */ public class SourceSimpleFragmentsBuilder extends SimpleFragmentsBuilder { private final SearchContext searchContext; diff --git a/core/src/main/java/org/elasticsearch/search/internal/InternalSearchHit.java b/core/src/main/java/org/elasticsearch/search/internal/InternalSearchHit.java index 227fe90ee63..072b34d83de 100644 --- a/core/src/main/java/org/elasticsearch/search/internal/InternalSearchHit.java +++ b/core/src/main/java/org/elasticsearch/search/internal/InternalSearchHit.java @@ -57,9 +57,6 @@ import static org.elasticsearch.common.lucene.Lucene.writeExplanation; import static org.elasticsearch.search.fetch.subphase.highlight.HighlightField.readHighlightField; import static org.elasticsearch.search.internal.InternalSearchHitField.readSearchHitField; -/** - * - */ public class InternalSearchHit implements SearchHit { private static final Object[] EMPTY_SORT_VALUES = new Object[0]; diff --git a/core/src/main/java/org/elasticsearch/search/internal/InternalSearchHitField.java b/core/src/main/java/org/elasticsearch/search/internal/InternalSearchHitField.java index 114aa4999d1..9214127ff06 100644 --- a/core/src/main/java/org/elasticsearch/search/internal/InternalSearchHitField.java +++ b/core/src/main/java/org/elasticsearch/search/internal/InternalSearchHitField.java @@ -29,9 +29,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -/** - * - */ public class InternalSearchHitField implements SearchHitField { private String name; diff --git a/core/src/main/java/org/elasticsearch/search/internal/InternalSearchResponse.java b/core/src/main/java/org/elasticsearch/search/internal/InternalSearchResponse.java index 09a787ac3cb..871d176ffcd 100644 --- a/core/src/main/java/org/elasticsearch/search/internal/InternalSearchResponse.java +++ b/core/src/main/java/org/elasticsearch/search/internal/InternalSearchResponse.java @@ -38,9 +38,6 @@ import java.util.Map; import static org.elasticsearch.search.internal.InternalSearchHits.readSearchHits; -/** - * - */ public class InternalSearchResponse implements Streamable, ToXContent { public static InternalSearchResponse empty() { diff --git a/core/src/main/java/org/elasticsearch/search/lookup/DocLookup.java b/core/src/main/java/org/elasticsearch/search/lookup/DocLookup.java index 3eea11a9f5c..584abdbc1d3 100644 --- a/core/src/main/java/org/elasticsearch/search/lookup/DocLookup.java +++ b/core/src/main/java/org/elasticsearch/search/lookup/DocLookup.java @@ -23,9 +23,6 @@ import org.elasticsearch.common.Nullable; import org.elasticsearch.index.fielddata.IndexFieldDataService; import org.elasticsearch.index.mapper.MapperService; -/** - * - */ public class DocLookup { private final MapperService mapperService; diff --git a/core/src/main/java/org/elasticsearch/search/lookup/FieldLookup.java b/core/src/main/java/org/elasticsearch/search/lookup/FieldLookup.java index 249a23b9bfc..8224e453ff2 100644 --- a/core/src/main/java/org/elasticsearch/search/lookup/FieldLookup.java +++ b/core/src/main/java/org/elasticsearch/search/lookup/FieldLookup.java @@ -24,9 +24,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -/** - * - */ public class FieldLookup { // we can cached fieldType completely per name, since its on an index/shard level (the lookup, and it does not change within the scope of a search request) diff --git a/core/src/main/java/org/elasticsearch/search/lookup/FieldsLookup.java b/core/src/main/java/org/elasticsearch/search/lookup/FieldsLookup.java index 7cd5093ba59..feefb1fcb30 100644 --- a/core/src/main/java/org/elasticsearch/search/lookup/FieldsLookup.java +++ b/core/src/main/java/org/elasticsearch/search/lookup/FieldsLookup.java @@ -22,9 +22,6 @@ import org.apache.lucene.index.LeafReaderContext; import org.elasticsearch.common.Nullable; import org.elasticsearch.index.mapper.MapperService; -/** - * - */ public class FieldsLookup { private final MapperService mapperService; diff --git a/core/src/main/java/org/elasticsearch/search/lookup/LeafDocLookup.java b/core/src/main/java/org/elasticsearch/search/lookup/LeafDocLookup.java index db20a03f825..f7776f299a6 100644 --- a/core/src/main/java/org/elasticsearch/search/lookup/LeafDocLookup.java +++ b/core/src/main/java/org/elasticsearch/search/lookup/LeafDocLookup.java @@ -33,9 +33,6 @@ import java.util.HashMap; import java.util.Map; import java.util.Set; -/** - * - */ public class LeafDocLookup implements Map { private final Map localCacheFieldData = new HashMap<>(4); diff --git a/core/src/main/java/org/elasticsearch/search/lookup/LeafFieldsLookup.java b/core/src/main/java/org/elasticsearch/search/lookup/LeafFieldsLookup.java index a5f90aa2c90..374fe7189a8 100644 --- a/core/src/main/java/org/elasticsearch/search/lookup/LeafFieldsLookup.java +++ b/core/src/main/java/org/elasticsearch/search/lookup/LeafFieldsLookup.java @@ -34,9 +34,6 @@ import java.util.Set; import static java.util.Collections.singletonMap; -/** - * - */ public class LeafFieldsLookup implements Map { private final MapperService mapperService; diff --git a/core/src/main/java/org/elasticsearch/search/lookup/SearchLookup.java b/core/src/main/java/org/elasticsearch/search/lookup/SearchLookup.java index c9438fd7108..aaa2baf62ee 100644 --- a/core/src/main/java/org/elasticsearch/search/lookup/SearchLookup.java +++ b/core/src/main/java/org/elasticsearch/search/lookup/SearchLookup.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.Nullable; import org.elasticsearch.index.fielddata.IndexFieldDataService; import org.elasticsearch.index.mapper.MapperService; -/** - * - */ public class SearchLookup { final DocLookup docMap; diff --git a/core/src/main/java/org/elasticsearch/search/lookup/SourceLookup.java b/core/src/main/java/org/elasticsearch/search/lookup/SourceLookup.java index 910f5daf7a3..4cc44747d0f 100644 --- a/core/src/main/java/org/elasticsearch/search/lookup/SourceLookup.java +++ b/core/src/main/java/org/elasticsearch/search/lookup/SourceLookup.java @@ -27,6 +27,7 @@ import org.elasticsearch.common.xcontent.XContentHelper; import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.common.xcontent.support.XContentMapValues; import org.elasticsearch.index.fieldvisitor.FieldsVisitor; +import org.elasticsearch.search.fetch.subphase.FetchSourceContext; import java.util.Collection; import java.util.List; @@ -35,9 +36,6 @@ import java.util.Set; import static java.util.Collections.emptyMap; -/** - * - */ public class SourceLookup implements Map { private LeafReader reader; @@ -130,8 +128,8 @@ public class SourceLookup implements Map { return XContentMapValues.extractRawValues(path, loadSourceIfNeeded()); } - public Object filter(String[] includes, String[] excludes) { - return XContentMapValues.filter(loadSourceIfNeeded(), includes, excludes); + public Object filter(FetchSourceContext context) { + return context.getFilter().apply(loadSourceIfNeeded()); } public Object extractValue(String path) { diff --git a/core/src/main/java/org/elasticsearch/search/query/QueryPhaseExecutionException.java b/core/src/main/java/org/elasticsearch/search/query/QueryPhaseExecutionException.java index c90f1247e77..94d259ef525 100644 --- a/core/src/main/java/org/elasticsearch/search/query/QueryPhaseExecutionException.java +++ b/core/src/main/java/org/elasticsearch/search/query/QueryPhaseExecutionException.java @@ -25,9 +25,6 @@ import org.elasticsearch.search.internal.SearchContext; import java.io.IOException; -/** - * - */ public class QueryPhaseExecutionException extends SearchContextException { public QueryPhaseExecutionException(SearchContext context, String msg, Throwable cause) { diff --git a/core/src/main/java/org/elasticsearch/search/query/QuerySearchRequest.java b/core/src/main/java/org/elasticsearch/search/query/QuerySearchRequest.java index 15593abf0da..3fd8ad2e84c 100644 --- a/core/src/main/java/org/elasticsearch/search/query/QuerySearchRequest.java +++ b/core/src/main/java/org/elasticsearch/search/query/QuerySearchRequest.java @@ -32,9 +32,6 @@ import java.io.IOException; import static org.elasticsearch.search.dfs.AggregatedDfs.readAggregatedDfs; -/** - * - */ public class QuerySearchRequest extends TransportRequest implements IndicesRequest { private long id; diff --git a/core/src/main/java/org/elasticsearch/search/query/QuerySearchResultProvider.java b/core/src/main/java/org/elasticsearch/search/query/QuerySearchResultProvider.java index 1ae3157fa53..cfc5ac6add6 100644 --- a/core/src/main/java/org/elasticsearch/search/query/QuerySearchResultProvider.java +++ b/core/src/main/java/org/elasticsearch/search/query/QuerySearchResultProvider.java @@ -22,9 +22,6 @@ package org.elasticsearch.search.query; import org.elasticsearch.search.SearchPhaseResult; import org.elasticsearch.transport.TransportResponse; -/** - * - */ public abstract class QuerySearchResultProvider extends TransportResponse implements SearchPhaseResult { /** diff --git a/core/src/main/java/org/elasticsearch/search/query/ScrollQuerySearchResult.java b/core/src/main/java/org/elasticsearch/search/query/ScrollQuerySearchResult.java index bcdd94adf89..9137a72acb5 100644 --- a/core/src/main/java/org/elasticsearch/search/query/ScrollQuerySearchResult.java +++ b/core/src/main/java/org/elasticsearch/search/query/ScrollQuerySearchResult.java @@ -28,9 +28,6 @@ import java.io.IOException; import static org.elasticsearch.search.query.QuerySearchResult.readQuerySearchResult; -/** - * - */ public class ScrollQuerySearchResult extends TransportResponse { private QuerySearchResult queryResult; diff --git a/core/src/main/java/org/elasticsearch/search/rescore/RescoreSearchContext.java b/core/src/main/java/org/elasticsearch/search/rescore/RescoreSearchContext.java index 6e3722f00dc..aa3c66b2fd8 100644 --- a/core/src/main/java/org/elasticsearch/search/rescore/RescoreSearchContext.java +++ b/core/src/main/java/org/elasticsearch/search/rescore/RescoreSearchContext.java @@ -21,8 +21,6 @@ package org.elasticsearch.search.rescore; -/** - */ public class RescoreSearchContext { private int windowSize; diff --git a/core/src/main/java/org/elasticsearch/search/searchafter/SearchAfterBuilder.java b/core/src/main/java/org/elasticsearch/search/searchafter/SearchAfterBuilder.java index dce83bea7e6..b9a6ca9be57 100644 --- a/core/src/main/java/org/elasticsearch/search/searchafter/SearchAfterBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/searchafter/SearchAfterBuilder.java @@ -43,9 +43,6 @@ import java.util.Arrays; import java.util.List; import java.util.Objects; -/** - * - */ public class SearchAfterBuilder implements ToXContent, Writeable { public static final ParseField SEARCH_AFTER = new ParseField("search_after"); private static final Object[] EMPTY_SORT_VALUES = new Object[0]; diff --git a/core/src/main/java/org/elasticsearch/search/slice/SliceBuilder.java b/core/src/main/java/org/elasticsearch/search/slice/SliceBuilder.java index 905ac8991bf..98dbadda247 100644 --- a/core/src/main/java/org/elasticsearch/search/slice/SliceBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/slice/SliceBuilder.java @@ -20,6 +20,7 @@ package org.elasticsearch.search.slice; import org.apache.lucene.search.MatchAllDocsQuery; +import org.apache.lucene.search.MatchNoDocsQuery; import org.apache.lucene.search.Query; import org.elasticsearch.action.support.ToXContentToBytes; import org.elasticsearch.common.ParseField; @@ -27,7 +28,6 @@ import org.elasticsearch.common.Strings; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; import org.elasticsearch.common.io.stream.Writeable; -import org.elasticsearch.common.lucene.search.MatchNoDocsQuery; import org.elasticsearch.common.xcontent.ObjectParser; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.index.fielddata.IndexFieldData; diff --git a/core/src/main/java/org/elasticsearch/search/sort/SortBuilder.java b/core/src/main/java/org/elasticsearch/search/sort/SortBuilder.java index c8f15f3a1e8..6f302626280 100644 --- a/core/src/main/java/org/elasticsearch/search/sort/SortBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/sort/SortBuilder.java @@ -46,9 +46,6 @@ import java.util.Optional; import static java.util.Collections.unmodifiableMap; -/** - * - */ public abstract class SortBuilder> extends ToXContentToBytes implements NamedWriteable { protected SortOrder order = SortOrder.ASC; diff --git a/core/src/main/java/org/elasticsearch/search/suggest/SuggestionSearchContext.java b/core/src/main/java/org/elasticsearch/search/suggest/SuggestionSearchContext.java index ece5a9c58bf..165f70ba3c0 100644 --- a/core/src/main/java/org/elasticsearch/search/suggest/SuggestionSearchContext.java +++ b/core/src/main/java/org/elasticsearch/search/suggest/SuggestionSearchContext.java @@ -24,8 +24,7 @@ import org.elasticsearch.index.query.QueryShardContext; import java.util.LinkedHashMap; import java.util.Map; -/** - */ + public class SuggestionSearchContext { private final Map suggestions = new LinkedHashMap<>(4); diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionStats.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionStats.java index c8ed562f9cc..efea5915766 100644 --- a/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionStats.java +++ b/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionStats.java @@ -29,9 +29,6 @@ import org.elasticsearch.common.xcontent.XContentBuilder; import java.io.IOException; -/** - * - */ public class CompletionStats implements Streamable, ToXContent { private long sizeInBytes; diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionContext.java b/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionContext.java index 84eb9de6a59..273aeb31717 100644 --- a/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionContext.java +++ b/core/src/main/java/org/elasticsearch/search/suggest/completion/CompletionSuggestionContext.java @@ -32,9 +32,6 @@ import java.util.Collections; import java.util.List; import java.util.Map; -/** - * - */ public class CompletionSuggestionContext extends SuggestionSearchContext.SuggestionContext { protected CompletionSuggestionContext(QueryShardContext shardContext) { diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion2x/CompletionSuggestion.java b/core/src/main/java/org/elasticsearch/search/suggest/completion2x/CompletionSuggestion.java index cf0939b85f9..50518ee0eff 100644 --- a/core/src/main/java/org/elasticsearch/search/suggest/completion2x/CompletionSuggestion.java +++ b/core/src/main/java/org/elasticsearch/search/suggest/completion2x/CompletionSuggestion.java @@ -31,9 +31,6 @@ import org.elasticsearch.search.suggest.Suggest; import java.io.IOException; import java.util.Map; -/** - * - */ public class CompletionSuggestion extends Suggest.Suggestion { public static final int TYPE = 2; diff --git a/core/src/main/java/org/elasticsearch/search/suggest/completion2x/CompletionTokenStream.java b/core/src/main/java/org/elasticsearch/search/suggest/completion2x/CompletionTokenStream.java index 9cb9891add0..de81caa7e5d 100644 --- a/core/src/main/java/org/elasticsearch/search/suggest/completion2x/CompletionTokenStream.java +++ b/core/src/main/java/org/elasticsearch/search/suggest/completion2x/CompletionTokenStream.java @@ -35,9 +35,6 @@ import java.io.IOException; import java.util.Iterator; import java.util.Set; -/** - * - */ public final class CompletionTokenStream extends TokenStream { private final PayloadAttribute payloadAttr = addAttribute(PayloadAttribute.class); diff --git a/core/src/main/java/org/elasticsearch/search/suggest/phrase/DirectCandidateGeneratorBuilder.java b/core/src/main/java/org/elasticsearch/search/suggest/phrase/DirectCandidateGeneratorBuilder.java index bf9158f9b87..200a2119a0d 100644 --- a/core/src/main/java/org/elasticsearch/search/suggest/phrase/DirectCandidateGeneratorBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/suggest/phrase/DirectCandidateGeneratorBuilder.java @@ -29,10 +29,9 @@ import org.apache.lucene.search.spell.SuggestMode; import org.apache.lucene.util.automaton.LevenshteinAutomata; import org.elasticsearch.ExceptionsHelper; import org.elasticsearch.common.ParseField; -import org.elasticsearch.common.collect.Tuple; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; -import org.elasticsearch.common.xcontent.ObjectParser; +import org.elasticsearch.common.xcontent.ConstructingObjectParser; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentFactory; import org.elasticsearch.index.mapper.MapperService; @@ -41,10 +40,8 @@ import org.elasticsearch.search.suggest.SortBy; import org.elasticsearch.search.suggest.phrase.PhraseSuggestionBuilder.CandidateGenerator; import java.io.IOException; -import java.util.HashSet; import java.util.Locale; import java.util.Objects; -import java.util.Set; import java.util.function.Consumer; public final class DirectCandidateGeneratorBuilder implements CandidateGenerator { @@ -89,30 +86,6 @@ public final class DirectCandidateGeneratorBuilder implements CandidateGenerator this.field = field; } - /** - * Quasi copy-constructor that takes all values from the generator - * passed in, but uses different field name. Needed by parser because we - * need to buffer the field name but read all other properties to a - * temporary object. - */ - private static DirectCandidateGeneratorBuilder replaceField(String field, DirectCandidateGeneratorBuilder other) { - DirectCandidateGeneratorBuilder generator = new DirectCandidateGeneratorBuilder(field); - generator.preFilter = other.preFilter; - generator.postFilter = other.postFilter; - generator.suggestMode = other.suggestMode; - generator.accuracy = other.accuracy; - generator.size = other.size; - generator.sort = other.sort; - generator.stringDistance = other.stringDistance; - generator.maxEdits = other.maxEdits; - generator.maxInspections = other.maxInspections; - generator.maxTermFreq = other.maxTermFreq; - generator.prefixLength = other.prefixLength; - generator.minWordLength = other.minWordLength; - generator.minDocFreq = other.minDocFreq; - return generator; - } - /** * Read from a stream. */ @@ -358,35 +331,28 @@ public final class DirectCandidateGeneratorBuilder implements CandidateGenerator } } - private static ObjectParser, DirectCandidateGeneratorBuilder>, QueryParseContext> PARSER = new ObjectParser<>(TYPE); + private static ConstructingObjectParser PARSER = new ConstructingObjectParser<>( + TYPE, args -> new DirectCandidateGeneratorBuilder((String) args[0])); static { - PARSER.declareString((tp, s) -> tp.v1().add(s), FIELDNAME_FIELD); - PARSER.declareString((tp, s) -> tp.v2().preFilter(s), PREFILTER_FIELD); - PARSER.declareString((tp, s) -> tp.v2().postFilter(s), POSTFILTER_FIELD); - PARSER.declareString((tp, s) -> tp.v2().suggestMode(s), SUGGESTMODE_FIELD); - PARSER.declareFloat((tp, f) -> tp.v2().minDocFreq(f), MIN_DOC_FREQ_FIELD); - PARSER.declareFloat((tp, f) -> tp.v2().accuracy(f), ACCURACY_FIELD); - PARSER.declareInt((tp, i) -> tp.v2().size(i), SIZE_FIELD); - PARSER.declareString((tp, s) -> tp.v2().sort(s), SORT_FIELD); - PARSER.declareString((tp, s) -> tp.v2().stringDistance(s), STRING_DISTANCE_FIELD); - PARSER.declareInt((tp, i) -> tp.v2().maxInspections(i), MAX_INSPECTIONS_FIELD); - PARSER.declareFloat((tp, f) -> tp.v2().maxTermFreq(f), MAX_TERM_FREQ_FIELD); - PARSER.declareInt((tp, i) -> tp.v2().maxEdits(i), MAX_EDITS_FIELD); - PARSER.declareInt((tp, i) -> tp.v2().minWordLength(i), MIN_WORD_LENGTH_FIELD); - PARSER.declareInt((tp, i) -> tp.v2().prefixLength(i), PREFIX_LENGTH_FIELD); + PARSER.declareString(ConstructingObjectParser.constructorArg(), FIELDNAME_FIELD); + PARSER.declareString(DirectCandidateGeneratorBuilder::preFilter, PREFILTER_FIELD); + PARSER.declareString(DirectCandidateGeneratorBuilder::postFilter, POSTFILTER_FIELD); + PARSER.declareString(DirectCandidateGeneratorBuilder::suggestMode, SUGGESTMODE_FIELD); + PARSER.declareFloat(DirectCandidateGeneratorBuilder::minDocFreq, MIN_DOC_FREQ_FIELD); + PARSER.declareFloat(DirectCandidateGeneratorBuilder::accuracy, ACCURACY_FIELD); + PARSER.declareInt(DirectCandidateGeneratorBuilder::size, SIZE_FIELD); + PARSER.declareString(DirectCandidateGeneratorBuilder::sort, SORT_FIELD); + PARSER.declareString(DirectCandidateGeneratorBuilder::stringDistance, STRING_DISTANCE_FIELD); + PARSER.declareInt(DirectCandidateGeneratorBuilder::maxInspections, MAX_INSPECTIONS_FIELD); + PARSER.declareFloat(DirectCandidateGeneratorBuilder::maxTermFreq, MAX_TERM_FREQ_FIELD); + PARSER.declareInt(DirectCandidateGeneratorBuilder::maxEdits, MAX_EDITS_FIELD); + PARSER.declareInt(DirectCandidateGeneratorBuilder::minWordLength, MIN_WORD_LENGTH_FIELD); + PARSER.declareInt(DirectCandidateGeneratorBuilder::prefixLength, PREFIX_LENGTH_FIELD); } public static DirectCandidateGeneratorBuilder fromXContent(QueryParseContext parseContext) throws IOException { - DirectCandidateGeneratorBuilder tempGenerator = new DirectCandidateGeneratorBuilder("_na_"); - // bucket for the field name, needed as constructor arg later - Set tmpFieldName = new HashSet<>(1); - PARSER.parse(parseContext.parser(), new Tuple<>(tmpFieldName, tempGenerator), - parseContext); - if (tmpFieldName.size() != 1) { - throw new IllegalArgumentException("[" + TYPE + "] expects exactly one field parameter, but found " + tmpFieldName); - } - return replaceField(tmpFieldName.iterator().next(), tempGenerator); + return PARSER.apply(parseContext.parser(), parseContext); } @Override diff --git a/core/src/main/java/org/elasticsearch/snapshots/RestoreService.java b/core/src/main/java/org/elasticsearch/snapshots/RestoreService.java index 5e30a3b52b3..ed6317fcb30 100644 --- a/core/src/main/java/org/elasticsearch/snapshots/RestoreService.java +++ b/core/src/main/java/org/elasticsearch/snapshots/RestoreService.java @@ -22,6 +22,7 @@ import com.carrotsearch.hppc.IntHashSet; import com.carrotsearch.hppc.IntSet; import com.carrotsearch.hppc.cursors.ObjectCursor; import com.carrotsearch.hppc.cursors.ObjectObjectCursor; +import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.message.ParameterizedMessage; import org.apache.logging.log4j.util.Supplier; import org.elasticsearch.Version; @@ -30,6 +31,9 @@ import org.elasticsearch.action.support.IndicesOptions; import org.elasticsearch.cluster.ClusterChangedEvent; import org.elasticsearch.cluster.ClusterState; import org.elasticsearch.cluster.ClusterStateListener; +import org.elasticsearch.cluster.ClusterStateTaskConfig; +import org.elasticsearch.cluster.ClusterStateTaskExecutor; +import org.elasticsearch.cluster.ClusterStateTaskListener; import org.elasticsearch.cluster.ClusterStateUpdateTask; import org.elasticsearch.cluster.RestoreInProgress; import org.elasticsearch.cluster.RestoreInProgress.ShardRestoreStatus; @@ -41,41 +45,32 @@ import org.elasticsearch.cluster.metadata.MetaData; import org.elasticsearch.cluster.metadata.MetaDataCreateIndexService; import org.elasticsearch.cluster.metadata.MetaDataIndexUpgradeService; import org.elasticsearch.cluster.metadata.RepositoriesMetaData; -import org.elasticsearch.cluster.routing.IndexRoutingTable; -import org.elasticsearch.cluster.routing.IndexShardRoutingTable; +import org.elasticsearch.cluster.routing.RecoverySource; import org.elasticsearch.cluster.routing.RecoverySource.SnapshotRecoverySource; +import org.elasticsearch.cluster.routing.RoutingChangesObserver; import org.elasticsearch.cluster.routing.RoutingTable; import org.elasticsearch.cluster.routing.ShardRouting; +import org.elasticsearch.cluster.routing.UnassignedInfo; import org.elasticsearch.cluster.routing.allocation.AllocationService; import org.elasticsearch.cluster.service.ClusterService; -import org.elasticsearch.common.Nullable; +import org.elasticsearch.common.Priority; import org.elasticsearch.common.UUIDs; import org.elasticsearch.common.collect.ImmutableOpenMap; -import org.elasticsearch.common.collect.Tuple; import org.elasticsearch.common.component.AbstractComponent; import org.elasticsearch.common.inject.Inject; -import org.elasticsearch.common.io.stream.StreamInput; -import org.elasticsearch.common.io.stream.StreamOutput; +import org.elasticsearch.common.lucene.Lucene; import org.elasticsearch.common.regex.Regex; import org.elasticsearch.common.settings.ClusterSettings; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.unit.TimeValue; -import org.elasticsearch.common.util.concurrent.ConcurrentCollections; +import org.elasticsearch.common.util.set.Sets; import org.elasticsearch.index.Index; import org.elasticsearch.index.shard.IndexShard; import org.elasticsearch.index.shard.ShardId; import org.elasticsearch.repositories.RepositoriesService; import org.elasticsearch.repositories.Repository; import org.elasticsearch.repositories.RepositoryData; -import org.elasticsearch.threadpool.ThreadPool; -import org.elasticsearch.transport.EmptyTransportResponseHandler; -import org.elasticsearch.transport.TransportChannel; -import org.elasticsearch.transport.TransportRequest; -import org.elasticsearch.transport.TransportRequestHandler; -import org.elasticsearch.transport.TransportResponse; -import org.elasticsearch.transport.TransportService; -import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -83,12 +78,10 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.Map.Entry; import java.util.Objects; import java.util.Optional; import java.util.Set; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.CopyOnWriteArrayList; +import java.util.stream.Collectors; import static java.util.Collections.unmodifiableSet; import static org.elasticsearch.cluster.metadata.IndexMetaData.SETTING_AUTO_EXPAND_REPLICAS; @@ -117,14 +110,12 @@ import static org.elasticsearch.common.util.set.Sets.newHashSet; * method, which detects that shard should be restored from snapshot rather than recovered from gateway by looking * at the {@link ShardRouting#recoverySource()} property. *

- * At the end of the successful restore process {@code IndexShardSnapshotAndRestoreService} calls {@link #indexShardRestoreCompleted(Snapshot, ShardId)}, - * which updates {@link RestoreInProgress} in cluster state or removes it when all shards are completed. In case of + * At the end of the successful restore process {@code RestoreService} calls {@link #cleanupRestoreState(ClusterChangedEvent)}, + * which removes {@link RestoreInProgress} when all shards are completed. In case of * restore failure a normal recovery fail-over process kicks in. */ public class RestoreService extends AbstractComponent implements ClusterStateListener { - public static final String UPDATE_RESTORE_ACTION_NAME = "internal:cluster/snapshot/update_restore"; - private static final Set UNMODIFIABLE_SETTINGS = unmodifiableSet(newHashSet( SETTING_NUMBER_OF_SHARDS, SETTING_VERSION_CREATED, @@ -148,33 +139,29 @@ public class RestoreService extends AbstractComponent implements ClusterStateLis private final RepositoriesService repositoriesService; - private final TransportService transportService; - private final AllocationService allocationService; private final MetaDataCreateIndexService createIndexService; private final MetaDataIndexUpgradeService metaDataIndexUpgradeService; - private final CopyOnWriteArrayList> listeners = new CopyOnWriteArrayList<>(); - - private final BlockingQueue updatedSnapshotStateQueue = ConcurrentCollections.newBlockingQueue(); private final ClusterSettings clusterSettings; + private final CleanRestoreStateTaskExecutor cleanRestoreStateTaskExecutor; + @Inject - public RestoreService(Settings settings, ClusterService clusterService, RepositoriesService repositoriesService, TransportService transportService, + public RestoreService(Settings settings, ClusterService clusterService, RepositoriesService repositoriesService, AllocationService allocationService, MetaDataCreateIndexService createIndexService, MetaDataIndexUpgradeService metaDataIndexUpgradeService, ClusterSettings clusterSettings) { super(settings); this.clusterService = clusterService; this.repositoriesService = repositoriesService; - this.transportService = transportService; this.allocationService = allocationService; this.createIndexService = createIndexService; this.metaDataIndexUpgradeService = metaDataIndexUpgradeService; - transportService.registerRequestHandler(UPDATE_RESTORE_ACTION_NAME, UpdateIndexShardRestoreStatusRequest::new, ThreadPool.Names.SAME, new UpdateRestoreStateRequestHandler()); clusterService.add(this); this.clusterSettings = clusterSettings; + this.cleanRestoreStateTaskExecutor = new CleanRestoreStateTaskExecutor(logger); } /** @@ -183,7 +170,7 @@ public class RestoreService extends AbstractComponent implements ClusterStateLis * @param request restore request * @param listener restore listener */ - public void restoreSnapshot(final RestoreRequest request, final ActionListener listener) { + public void restoreSnapshot(final RestoreRequest request, final ActionListener listener) { try { // Read snapshot info and metadata from the repository Repository repository = repositoriesService.repository(request.repositoryName); @@ -314,7 +301,7 @@ public class RestoreService extends AbstractComponent implements ClusterStateLis } shards = shardsBuilder.build(); - RestoreInProgress.Entry restoreEntry = new RestoreInProgress.Entry(snapshot, RestoreInProgress.State.INIT, Collections.unmodifiableList(new ArrayList<>(renamedIndices.keySet())), shards); + RestoreInProgress.Entry restoreEntry = new RestoreInProgress.Entry(snapshot, overallState(RestoreInProgress.State.INIT, shards), Collections.unmodifiableList(new ArrayList<>(renamedIndices.keySet())), shards); builder.putCustom(RestoreInProgress.TYPE, new RestoreInProgress(restoreEntry)); } else { shards = ImmutableOpenMap.of(); @@ -469,7 +456,7 @@ public class RestoreService extends AbstractComponent implements ClusterStateLis @Override public void clusterStateProcessed(String source, ClusterState oldState, ClusterState newState) { - listener.onResponse(restoreInfo); + listener.onResponse(new RestoreCompletionResponse(snapshot, restoreInfo)); } }); @@ -480,19 +467,33 @@ public class RestoreService extends AbstractComponent implements ClusterStateLis } } - /** - * This method is used by {@link IndexShard} to notify - * {@code RestoreService} about shard restore completion. - * - * @param snapshot snapshot - * @param shardId shard id - */ - public void indexShardRestoreCompleted(Snapshot snapshot, ShardId shardId) { - logger.trace("[{}] successfully restored shard [{}]", snapshot, shardId); - UpdateIndexShardRestoreStatusRequest request = new UpdateIndexShardRestoreStatusRequest(snapshot, shardId, - new ShardRestoreStatus(clusterService.state().nodes().getLocalNodeId(), RestoreInProgress.State.SUCCESS)); - transportService.sendRequest(clusterService.state().nodes().getMasterNode(), - UPDATE_RESTORE_ACTION_NAME, request, EmptyTransportResponseHandler.INSTANCE_SAME); + public static RestoreInProgress updateRestoreStateWithDeletedIndices(RestoreInProgress oldRestore, Set deletedIndices) { + boolean changesMade = false; + final List entries = new ArrayList<>(); + for (RestoreInProgress.Entry entry : oldRestore.entries()) { + ImmutableOpenMap.Builder shardsBuilder = null; + for (ObjectObjectCursor cursor : entry.shards()) { + ShardId shardId = cursor.key; + if (deletedIndices.contains(shardId.getIndex())) { + changesMade = true; + if (shardsBuilder == null) { + shardsBuilder = ImmutableOpenMap.builder(entry.shards()); + } + shardsBuilder.put(shardId, new ShardRestoreStatus(null, RestoreInProgress.State.FAILURE, "index was deleted")); + } + } + if (shardsBuilder != null) { + ImmutableOpenMap shards = shardsBuilder.build(); + entries.add(new RestoreInProgress.Entry(entry.snapshot(), overallState(RestoreInProgress.State.STARTED, shards), entry.indices(), shards)); + } else { + entries.add(entry); + } + } + if (changesMade) { + return new RestoreInProgress(entries.toArray(new RestoreInProgress.Entry[entries.size()])); + } else { + return oldRestore; + } } public static final class RestoreCompletionResponse { @@ -513,168 +514,201 @@ public class RestoreService extends AbstractComponent implements ClusterStateLis } } - /** - * Updates shard restore record in the cluster state. - * - * @param request update shard status request - */ - private void updateRestoreStateOnMaster(final UpdateIndexShardRestoreStatusRequest request) { - logger.trace("received updated snapshot restore state [{}]", request); - updatedSnapshotStateQueue.add(request); + public static class RestoreInProgressUpdater extends RoutingChangesObserver.AbstractRoutingChangesObserver { + private final Map shardChanges = new HashMap<>(); - clusterService.submitStateUpdateTask("update snapshot state", new ClusterStateUpdateTask() { - private final List drainedRequests = new ArrayList<>(); - private Map>> batchedRestoreInfo = null; - - @Override - public ClusterState execute(ClusterState currentState) { - - if (request.processed) { - return currentState; + @Override + public void shardStarted(ShardRouting initializingShard, ShardRouting startedShard) { + // mark snapshot as completed + if (initializingShard.primary()) { + RecoverySource recoverySource = initializingShard.recoverySource(); + if (recoverySource.getType() == RecoverySource.Type.SNAPSHOT) { + Snapshot snapshot = ((SnapshotRecoverySource) recoverySource).snapshot(); + changes(snapshot).startedShards.put(initializingShard.shardId(), + new ShardRestoreStatus(initializingShard.currentNodeId(), RestoreInProgress.State.SUCCESS)); } + } + } - updatedSnapshotStateQueue.drainTo(drainedRequests); - - final int batchSize = drainedRequests.size(); - - // nothing to process (a previous event has processed it already) - if (batchSize == 0) { - return currentState; + @Override + public void shardFailed(ShardRouting failedShard, UnassignedInfo unassignedInfo) { + if (failedShard.primary() && failedShard.initializing()) { + RecoverySource recoverySource = failedShard.recoverySource(); + if (recoverySource.getType() == RecoverySource.Type.SNAPSHOT) { + Snapshot snapshot = ((SnapshotRecoverySource) recoverySource).snapshot(); + // mark restore entry for this shard as failed when it's due to a file corruption. There is no need wait on retries + // to restore this shard on another node if the snapshot files are corrupt. In case where a node just left or crashed, + // however, we only want to acknowledge the restore operation once it has been successfully restored on another node. + if (unassignedInfo.getFailure() != null && Lucene.isCorruptionException(unassignedInfo.getFailure().getCause())) { + changes(snapshot).failedShards.put(failedShard.shardId(), new ShardRestoreStatus(failedShard.currentNodeId(), + RestoreInProgress.State.FAILURE, unassignedInfo.getFailure().getCause().getMessage())); + } } + } + } - final RestoreInProgress restore = currentState.custom(RestoreInProgress.TYPE); - if (restore != null) { - int changedCount = 0; - final List entries = new ArrayList<>(); - for (RestoreInProgress.Entry entry : restore.entries()) { - ImmutableOpenMap.Builder shardsBuilder = null; + @Override + public void shardInitialized(ShardRouting unassignedShard, ShardRouting initializedShard) { + // if we force an empty primary, we should also fail the restore entry + if (unassignedShard.recoverySource().getType() == RecoverySource.Type.SNAPSHOT && + initializedShard.recoverySource().getType() != RecoverySource.Type.SNAPSHOT) { + Snapshot snapshot = ((SnapshotRecoverySource) unassignedShard.recoverySource()).snapshot(); + changes(snapshot).failedShards.put(unassignedShard.shardId(), new ShardRestoreStatus(null, + RestoreInProgress.State.FAILURE, "recovery source type changed from snapshot to " + initializedShard.recoverySource())); + } + } - for (int i = 0; i < batchSize; i++) { - final UpdateIndexShardRestoreStatusRequest updateSnapshotState = drainedRequests.get(i); - updateSnapshotState.processed = true; + /** + * Helper method that creates update entry for the given shard id if such an entry does not exist yet. + */ + private Updates changes(Snapshot snapshot) { + return shardChanges.computeIfAbsent(snapshot, k -> new Updates()); + } - if (entry.snapshot().equals(updateSnapshotState.snapshot())) { - logger.trace("[{}] Updating shard [{}] with status [{}]", updateSnapshotState.snapshot(), updateSnapshotState.shardId(), updateSnapshotState.status().state()); - if (shardsBuilder == null) { - shardsBuilder = ImmutableOpenMap.builder(entry.shards()); - } - shardsBuilder.put(updateSnapshotState.shardId(), updateSnapshotState.status()); - changedCount++; - } + private static class Updates { + private Map failedShards = new HashMap<>(); + private Map startedShards = new HashMap<>(); + } + + public RestoreInProgress applyChanges(RestoreInProgress oldRestore) { + if (shardChanges.isEmpty() == false) { + final List entries = new ArrayList<>(); + for (RestoreInProgress.Entry entry : oldRestore.entries()) { + Snapshot snapshot = entry.snapshot(); + Updates updates = shardChanges.get(snapshot); + assert Sets.haveEmptyIntersection(updates.startedShards.keySet(), updates.failedShards.keySet()); + if (updates.startedShards.isEmpty() == false || updates.failedShards.isEmpty() == false) { + ImmutableOpenMap.Builder shardsBuilder = ImmutableOpenMap.builder(entry.shards()); + for (Map.Entry startedShardEntry : updates.startedShards.entrySet()) { + shardsBuilder.put(startedShardEntry.getKey(), startedShardEntry.getValue()); } - - if (shardsBuilder != null) { - ImmutableOpenMap shards = shardsBuilder.build(); - if (!completed(shards)) { - entries.add(new RestoreInProgress.Entry(entry.snapshot(), RestoreInProgress.State.STARTED, entry.indices(), shards)); - } else { - logger.info("restore [{}] is done", entry.snapshot()); - if (batchedRestoreInfo == null) { - batchedRestoreInfo = new HashMap<>(); - } - assert !batchedRestoreInfo.containsKey(entry.snapshot()); - batchedRestoreInfo.put(entry.snapshot(), - new Tuple<>( - new RestoreInfo(entry.snapshot().getSnapshotId().getName(), - entry.indices(), - shards.size(), - shards.size() - failedShards(shards)), - shards)); - } - } else { - entries.add(entry); + for (Map.Entry failedShardEntry : updates.failedShards.entrySet()) { + shardsBuilder.put(failedShardEntry.getKey(), failedShardEntry.getValue()); } - } - - if (changedCount > 0) { - logger.trace("changed cluster state triggered by {} snapshot restore state updates", changedCount); - - final RestoreInProgress updatedRestore = new RestoreInProgress(entries.toArray(new RestoreInProgress.Entry[entries.size()])); - return ClusterState.builder(currentState).putCustom(RestoreInProgress.TYPE, updatedRestore).build(); + ImmutableOpenMap shards = shardsBuilder.build(); + RestoreInProgress.State newState = overallState(RestoreInProgress.State.STARTED, shards); + entries.add(new RestoreInProgress.Entry(entry.snapshot(), newState, entry.indices(), shards)); + } else { + entries.add(entry); } } - return currentState; + return new RestoreInProgress(entries.toArray(new RestoreInProgress.Entry[entries.size()])); + } else { + return oldRestore; } + } - @Override - public void onFailure(String source, @Nullable Exception e) { - for (UpdateIndexShardRestoreStatusRequest request : drainedRequests) { - logger.warn((Supplier) () -> new ParameterizedMessage("[{}][{}] failed to update snapshot status to [{}]", request.snapshot(), request.shardId(), request.status()), e); - } - } - - @Override - public void clusterStateProcessed(String source, ClusterState oldState, ClusterState newState) { - if (batchedRestoreInfo != null) { - for (final Entry>> entry : batchedRestoreInfo.entrySet()) { - final Snapshot snapshot = entry.getKey(); - final RestoreInfo restoreInfo = entry.getValue().v1(); - final ImmutableOpenMap shards = entry.getValue().v2(); - RoutingTable routingTable = newState.getRoutingTable(); - final List waitForStarted = new ArrayList<>(); - for (ObjectObjectCursor shard : shards) { - if (shard.value.state() == RestoreInProgress.State.SUCCESS ) { - ShardId shardId = shard.key; - ShardRouting shardRouting = findPrimaryShard(routingTable, shardId); - if (shardRouting != null && !shardRouting.active()) { - logger.trace("[{}][{}] waiting for the shard to start", snapshot, shardId); - waitForStarted.add(shardId); - } - } - } - if (waitForStarted.isEmpty()) { - notifyListeners(snapshot, restoreInfo); - } else { - clusterService.addLast(new ClusterStateListener() { - @Override - public void clusterChanged(ClusterChangedEvent event) { - if (event.routingTableChanged()) { - RoutingTable routingTable = event.state().getRoutingTable(); - for (Iterator iterator = waitForStarted.iterator(); iterator.hasNext();) { - ShardId shardId = iterator.next(); - ShardRouting shardRouting = findPrimaryShard(routingTable, shardId); - // Shard disappeared (index deleted) or became active - if (shardRouting == null || shardRouting.active()) { - iterator.remove(); - logger.trace("[{}][{}] shard disappeared or started - removing", snapshot, shardId); - } - } - } - if (waitForStarted.isEmpty()) { - notifyListeners(snapshot, restoreInfo); - clusterService.remove(this); - } - } - }); - } - } - } - } - - private ShardRouting findPrimaryShard(RoutingTable routingTable, ShardId shardId) { - IndexRoutingTable indexRoutingTable = routingTable.index(shardId.getIndex()); - if (indexRoutingTable != null) { - IndexShardRoutingTable indexShardRoutingTable = indexRoutingTable.shard(shardId.id()); - if (indexShardRoutingTable != null) { - return indexShardRoutingTable.primaryShard(); - } - } - return null; - } - - private void notifyListeners(Snapshot snapshot, RestoreInfo restoreInfo) { - for (ActionListener listener : listeners) { - try { - listener.onResponse(new RestoreCompletionResponse(snapshot, restoreInfo)); - } catch (Exception e) { - logger.warn((Supplier) () -> new ParameterizedMessage("failed to update snapshot status for [{}]", listener), e); - } - } - } - }); } - private boolean completed(ImmutableOpenMap shards) { + public static RestoreInProgress.Entry restoreInProgress(ClusterState state, Snapshot snapshot) { + final RestoreInProgress restoreInProgress = state.custom(RestoreInProgress.TYPE); + if (restoreInProgress != null) { + for (RestoreInProgress.Entry e : restoreInProgress.entries()) { + if (e.snapshot().equals(snapshot)) { + return e; + } + } + } + return null; + } + + static class CleanRestoreStateTaskExecutor implements ClusterStateTaskExecutor, ClusterStateTaskListener { + + static class Task { + final Snapshot snapshot; + + Task(Snapshot snapshot) { + this.snapshot = snapshot; + } + + @Override + public String toString() { + return "clean restore state for restoring snapshot " + snapshot; + } + } + + private final Logger logger; + + public CleanRestoreStateTaskExecutor(Logger logger) { + this.logger = logger; + } + + @Override + public BatchResult execute(final ClusterState currentState, final List tasks) throws Exception { + final BatchResult.Builder resultBuilder = BatchResult.builder().successes(tasks); + Set completedSnapshots = tasks.stream().map(e -> e.snapshot).collect(Collectors.toSet()); + final List entries = new ArrayList<>(); + final RestoreInProgress restoreInProgress = currentState.custom(RestoreInProgress.TYPE); + boolean changed = false; + if (restoreInProgress != null) { + for (RestoreInProgress.Entry entry : restoreInProgress.entries()) { + if (completedSnapshots.contains(entry.snapshot()) == false) { + entries.add(entry); + } else { + changed = true; + } + } + } + if (changed == false) { + return resultBuilder.build(currentState); + } + RestoreInProgress updatedRestoreInProgress = new RestoreInProgress(entries.toArray(new RestoreInProgress.Entry[entries.size()])); + ImmutableOpenMap.Builder builder = ImmutableOpenMap.builder(currentState.getCustoms()); + builder.put(RestoreInProgress.TYPE, updatedRestoreInProgress); + ImmutableOpenMap customs = builder.build(); + return resultBuilder.build(ClusterState.builder(currentState).customs(customs).build()); + } + + @Override + public void onFailure(final String source, final Exception e) { + logger.error((Supplier) () -> new ParameterizedMessage("unexpected failure during [{}]", source), e); + } + + @Override + public void onNoLongerMaster(String source) { + logger.debug("no longer master while processing restore state update [{}]", source); + } + + } + + private void cleanupRestoreState(ClusterChangedEvent event) { + ClusterState state = event.state(); + + RestoreInProgress restoreInProgress = state.custom(RestoreInProgress.TYPE); + if (restoreInProgress != null) { + for (RestoreInProgress.Entry entry : restoreInProgress.entries()) { + if (entry.state().completed()) { + assert completed(entry.shards()) : "state says completed but restore entries are not"; + clusterService.submitStateUpdateTask( + "clean up snapshot restore state", + new CleanRestoreStateTaskExecutor.Task(entry.snapshot()), + ClusterStateTaskConfig.build(Priority.URGENT), + cleanRestoreStateTaskExecutor, + cleanRestoreStateTaskExecutor); + } + } + } + } + + public static RestoreInProgress.State overallState(RestoreInProgress.State nonCompletedState, + ImmutableOpenMap shards) { + boolean hasFailed = false; + for (ObjectCursor status : shards.values()) { + if (!status.value.state().completed()) { + return nonCompletedState; + } + if (status.value.state() == RestoreInProgress.State.FAILURE) { + hasFailed = true; + } + } + if (hasFailed) { + return RestoreInProgress.State.FAILURE; + } else { + return RestoreInProgress.State.SUCCESS; + } + } + + public static boolean completed(ImmutableOpenMap shards) { for (ObjectCursor status : shards.values()) { if (!status.value.state().completed()) { return false; @@ -683,7 +717,7 @@ public class RestoreService extends AbstractComponent implements ClusterStateLis return true; } - private int failedShards(ImmutableOpenMap shards) { + public static int failedShards(ImmutableOpenMap shards) { int failedShards = 0; for (ObjectCursor status : shards.values()) { if (status.value.state() == RestoreInProgress.State.FAILURE) { @@ -727,53 +761,6 @@ public class RestoreService extends AbstractComponent implements ClusterStateLis } } - /** - * Checks if any of the deleted indices are still recovering and fails recovery on the shards of these indices - * - * @param event cluster changed event - */ - private void processDeletedIndices(ClusterChangedEvent event) { - RestoreInProgress restore = event.state().custom(RestoreInProgress.TYPE); - if (restore == null) { - // Not restoring - nothing to do - return; - } - - if (!event.indicesDeleted().isEmpty()) { - // Some indices were deleted, let's make sure all indices that we are restoring still exist - for (RestoreInProgress.Entry entry : restore.entries()) { - List shardsToFail = null; - for (ObjectObjectCursor shard : entry.shards()) { - if (!shard.value.state().completed()) { - if (!event.state().metaData().hasIndex(shard.key.getIndex().getName())) { - if (shardsToFail == null) { - shardsToFail = new ArrayList<>(); - } - shardsToFail.add(shard.key); - } - } - } - if (shardsToFail != null) { - for (ShardId shardId : shardsToFail) { - logger.trace("[{}] failing running shard restore [{}]", entry.snapshot(), shardId); - updateRestoreStateOnMaster(new UpdateIndexShardRestoreStatusRequest(entry.snapshot(), shardId, new ShardRestoreStatus(null, RestoreInProgress.State.FAILURE, "index was deleted"))); - } - } - } - } - } - - /** - * Fails the given snapshot restore operation for the given shard - */ - public void failRestore(Snapshot snapshot, ShardId shardId) { - logger.debug("[{}] failed to restore shard [{}]", snapshot, shardId); - UpdateIndexShardRestoreStatusRequest request = new UpdateIndexShardRestoreStatusRequest(snapshot, shardId, - new ShardRestoreStatus(clusterService.state().nodes().getLocalNodeId(), RestoreInProgress.State.FAILURE)); - transportService.sendRequest(clusterService.state().nodes().getMasterNode(), - UPDATE_RESTORE_ACTION_NAME, request, EmptyTransportResponseHandler.INSTANCE_SAME); - } - private boolean failed(SnapshotInfo snapshot, String index) { for (SnapshotShardFailure failure : snapshot.shardFailures()) { if (index.equals(failure.index())) { @@ -810,34 +797,11 @@ public class RestoreService extends AbstractComponent implements ClusterStateLis } } - /** - * Adds restore completion listener - *

- * This listener is called for each snapshot that finishes restore operation in the cluster. It's responsibility of - * the listener to decide if it's called for the appropriate snapshot or not. - * - * @param listener restore completion listener - */ - public void addListener(ActionListener listener) { - this.listeners.add(listener); - } - - /** - * Removes restore completion listener - *

- * This listener is called for each snapshot that finishes restore operation in the cluster. - * - * @param listener restore completion listener - */ - public void removeListener(ActionListener listener) { - this.listeners.remove(listener); - } - @Override public void clusterChanged(ClusterChangedEvent event) { try { if (event.localNodeMaster()) { - processDeletedIndices(event); + cleanupRestoreState(event); } } catch (Exception t) { logger.warn("Failed to update restore state ", t); @@ -1061,69 +1025,4 @@ public class RestoreService extends AbstractComponent implements ClusterStateLis } } - - /** - * Internal class that is used to send notifications about finished shard restore operations to master node - */ - public static class UpdateIndexShardRestoreStatusRequest extends TransportRequest { - private Snapshot snapshot; - private ShardId shardId; - private ShardRestoreStatus status; - - volatile boolean processed; // state field, no need to serialize - - public UpdateIndexShardRestoreStatusRequest() { - - } - - private UpdateIndexShardRestoreStatusRequest(Snapshot snapshot, ShardId shardId, ShardRestoreStatus status) { - this.snapshot = snapshot; - this.shardId = shardId; - this.status = status; - } - - @Override - public void readFrom(StreamInput in) throws IOException { - super.readFrom(in); - snapshot = new Snapshot(in); - shardId = ShardId.readShardId(in); - status = ShardRestoreStatus.readShardRestoreStatus(in); - } - - @Override - public void writeTo(StreamOutput out) throws IOException { - super.writeTo(out); - snapshot.writeTo(out); - shardId.writeTo(out); - status.writeTo(out); - } - - public Snapshot snapshot() { - return snapshot; - } - - public ShardId shardId() { - return shardId; - } - - public ShardRestoreStatus status() { - return status; - } - - @Override - public String toString() { - return "" + snapshot + ", shardId [" + shardId + "], status [" + status.state() + "]"; - } - } - - /** - * Internal class that is used to send notifications about finished shard restore operations to master node - */ - class UpdateRestoreStateRequestHandler implements TransportRequestHandler { - @Override - public void messageReceived(UpdateIndexShardRestoreStatusRequest request, final TransportChannel channel) throws Exception { - updateRestoreStateOnMaster(request); - channel.sendResponse(TransportResponse.Empty.INSTANCE); - } - } } diff --git a/core/src/main/java/org/elasticsearch/transport/BindTransportException.java b/core/src/main/java/org/elasticsearch/transport/BindTransportException.java index 4f55c04a1b1..0c60faec3b5 100644 --- a/core/src/main/java/org/elasticsearch/transport/BindTransportException.java +++ b/core/src/main/java/org/elasticsearch/transport/BindTransportException.java @@ -23,9 +23,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class BindTransportException extends TransportException { public BindTransportException(StreamInput in) throws IOException { diff --git a/core/src/main/java/org/elasticsearch/transport/ConnectTransportException.java b/core/src/main/java/org/elasticsearch/transport/ConnectTransportException.java index 0d36733cbbc..7c64db1a63f 100644 --- a/core/src/main/java/org/elasticsearch/transport/ConnectTransportException.java +++ b/core/src/main/java/org/elasticsearch/transport/ConnectTransportException.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.io.stream.StreamOutput; import java.io.IOException; -/** - * - */ public class ConnectTransportException extends ActionTransportException { private final DiscoveryNode node; diff --git a/core/src/main/java/org/elasticsearch/transport/EmptyTransportResponseHandler.java b/core/src/main/java/org/elasticsearch/transport/EmptyTransportResponseHandler.java index 41c2b9b23ed..c5814cf0fef 100644 --- a/core/src/main/java/org/elasticsearch/transport/EmptyTransportResponseHandler.java +++ b/core/src/main/java/org/elasticsearch/transport/EmptyTransportResponseHandler.java @@ -21,9 +21,6 @@ package org.elasticsearch.transport; import org.elasticsearch.threadpool.ThreadPool; -/** - * - */ public class EmptyTransportResponseHandler implements TransportResponseHandler { public static final EmptyTransportResponseHandler INSTANCE_SAME = new EmptyTransportResponseHandler(ThreadPool.Names.SAME); diff --git a/core/src/main/java/org/elasticsearch/transport/NodeDisconnectedException.java b/core/src/main/java/org/elasticsearch/transport/NodeDisconnectedException.java index a5abd21082d..32dcf6700c2 100644 --- a/core/src/main/java/org/elasticsearch/transport/NodeDisconnectedException.java +++ b/core/src/main/java/org/elasticsearch/transport/NodeDisconnectedException.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class NodeDisconnectedException extends ConnectTransportException { public NodeDisconnectedException(DiscoveryNode node, String action) { diff --git a/core/src/main/java/org/elasticsearch/transport/NodeShouldNotConnectException.java b/core/src/main/java/org/elasticsearch/transport/NodeShouldNotConnectException.java index 9ea621bc40d..bcca9e54b33 100644 --- a/core/src/main/java/org/elasticsearch/transport/NodeShouldNotConnectException.java +++ b/core/src/main/java/org/elasticsearch/transport/NodeShouldNotConnectException.java @@ -24,8 +24,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - */ public class NodeShouldNotConnectException extends NodeNotConnectedException { public NodeShouldNotConnectException(DiscoveryNode fromNode, DiscoveryNode node) { diff --git a/core/src/main/java/org/elasticsearch/transport/NotSerializableTransportException.java b/core/src/main/java/org/elasticsearch/transport/NotSerializableTransportException.java index 9a838628aeb..c6b90f61d0c 100644 --- a/core/src/main/java/org/elasticsearch/transport/NotSerializableTransportException.java +++ b/core/src/main/java/org/elasticsearch/transport/NotSerializableTransportException.java @@ -23,9 +23,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class NotSerializableTransportException extends TransportException { public NotSerializableTransportException(Throwable t) { diff --git a/core/src/main/java/org/elasticsearch/transport/PlainTransportFuture.java b/core/src/main/java/org/elasticsearch/transport/PlainTransportFuture.java index 3d0e603195b..fe01a1fdbcc 100644 --- a/core/src/main/java/org/elasticsearch/transport/PlainTransportFuture.java +++ b/core/src/main/java/org/elasticsearch/transport/PlainTransportFuture.java @@ -27,9 +27,6 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; -/** - * - */ public class PlainTransportFuture extends BaseFuture implements TransportFuture, TransportResponseHandler { diff --git a/core/src/main/java/org/elasticsearch/transport/ReceiveTimeoutTransportException.java b/core/src/main/java/org/elasticsearch/transport/ReceiveTimeoutTransportException.java index 6245a1afd22..88cdc52f10a 100644 --- a/core/src/main/java/org/elasticsearch/transport/ReceiveTimeoutTransportException.java +++ b/core/src/main/java/org/elasticsearch/transport/ReceiveTimeoutTransportException.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class ReceiveTimeoutTransportException extends ActionTransportException { public ReceiveTimeoutTransportException(DiscoveryNode node, String action, String msg) { diff --git a/core/src/main/java/org/elasticsearch/transport/RequestHandlerRegistry.java b/core/src/main/java/org/elasticsearch/transport/RequestHandlerRegistry.java index 27342af1bdd..b4a79edbc0b 100644 --- a/core/src/main/java/org/elasticsearch/transport/RequestHandlerRegistry.java +++ b/core/src/main/java/org/elasticsearch/transport/RequestHandlerRegistry.java @@ -25,9 +25,6 @@ import org.elasticsearch.tasks.TaskManager; import java.io.IOException; import java.util.function.Supplier; -/** - * - */ public class RequestHandlerRegistry { private final String action; diff --git a/core/src/main/java/org/elasticsearch/transport/SendRequestTransportException.java b/core/src/main/java/org/elasticsearch/transport/SendRequestTransportException.java index 41c743c775e..08defb38f3b 100644 --- a/core/src/main/java/org/elasticsearch/transport/SendRequestTransportException.java +++ b/core/src/main/java/org/elasticsearch/transport/SendRequestTransportException.java @@ -25,9 +25,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class SendRequestTransportException extends ActionTransportException implements ElasticsearchWrapperException { public SendRequestTransportException(DiscoveryNode node, String action, Throwable cause) { diff --git a/core/src/main/java/org/elasticsearch/transport/TcpTransport.java b/core/src/main/java/org/elasticsearch/transport/TcpTransport.java index b7a082c30df..ab38b120c86 100644 --- a/core/src/main/java/org/elasticsearch/transport/TcpTransport.java +++ b/core/src/main/java/org/elasticsearch/transport/TcpTransport.java @@ -60,6 +60,7 @@ import org.elasticsearch.common.unit.TimeValue; import org.elasticsearch.common.util.BigArrays; import org.elasticsearch.common.util.concurrent.AbstractLifecycleRunnable; import org.elasticsearch.common.util.concurrent.AbstractRunnable; +import org.elasticsearch.common.util.concurrent.EsRejectedExecutionException; import org.elasticsearch.common.util.concurrent.KeyedLock; import org.elasticsearch.common.util.concurrent.ThreadContext; import org.elasticsearch.indices.breaker.CircuitBreakerService; @@ -89,6 +90,7 @@ import java.util.Objects; import java.util.Set; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.CountDownLatch; +import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; @@ -256,7 +258,7 @@ public abstract class TcpTransport extends AbstractLifecycleComponent i NodeChannels channels = entry.getValue(); for (Channel channel : channels.allChannels) { try { - sendMessage(channel, pingHeader, successfulPings::inc, false); + sendMessage(channel, pingHeader, successfulPings::inc); } catch (Exception e) { if (isOpen(channel)) { logger.debug( @@ -282,7 +284,15 @@ public abstract class TcpTransport extends AbstractLifecycleComponent i @Override protected void onAfterInLifecycle() { - threadPool.schedule(pingSchedule, ThreadPool.Names.GENERIC, this); + try { + threadPool.schedule(pingSchedule, ThreadPool.Names.GENERIC, this); + } catch (EsRejectedExecutionException ex) { + if (ex.isExecutorShutdown()) { + logger.debug("couldn't schedule new ping execution, executor is shutting down", ex); + } else { + throw ex; + } + } } @Override @@ -836,7 +846,23 @@ public abstract class TcpTransport extends AbstractLifecycleComponent i } else if (e instanceof TcpTransport.HttpOnTransportException) { // in case we are able to return data, serialize the exception content and sent it back to the client if (isOpen(channel)) { - sendMessage(channel, new BytesArray(e.getMessage().getBytes(StandardCharsets.UTF_8)), () -> {}, true); + final Runnable closeChannel = () -> { + try { + closeChannels(Collections.singletonList(channel)); + } catch (IOException e1) { + logger.debug("failed to close httpOnTransport channel", e1); + } + }; + boolean success = false; + try { + sendMessage(channel, new BytesArray(e.getMessage().getBytes(StandardCharsets.UTF_8)), closeChannel); + success = true; + } finally { + if (success == false) { + // it's fine to call this more than once + closeChannel.run(); + } + } } } else { logger.warn( @@ -870,7 +896,7 @@ public abstract class TcpTransport extends AbstractLifecycleComponent i protected abstract NodeChannels connectToChannelsLight(DiscoveryNode node) throws IOException; - protected abstract void sendMessage(Channel channel, BytesReference reference, Runnable sendListener, boolean close) throws IOException; + protected abstract void sendMessage(Channel channel, BytesReference reference, Runnable sendListener) throws IOException; /** * Connects to the node in a heavy way. @@ -898,6 +924,9 @@ public abstract class TcpTransport extends AbstractLifecycleComponent i byte status = 0; status = TransportStatus.setRequest(status); ReleasableBytesStreamOutput bStream = new ReleasableBytesStreamOutput(bigArrays); + // we wrap this in a release once since if the onRequestSent callback throws an exception + // we might release things twice and this should be prevented + final Releasable toRelease = Releasables.releaseOnce(() -> Releasables.close(bStream.bytes())); boolean addedReleaseListener = false; StreamOutput stream = bStream; try { @@ -918,9 +947,9 @@ public abstract class TcpTransport extends AbstractLifecycleComponent i stream.writeString(action); BytesReference message = buildMessage(requestId, status, node.getVersion(), request, stream, bStream); final TransportRequestOptions finalOptions = options; - Runnable onRequestSent = () -> { + Runnable onRequestSent = () -> { // this might be called in a different thread try { - Releasables.close(bStream.bytes()); + toRelease.close(); } finally { transportServiceAdapter.onRequestSent(node, requestId, action, request, finalOptions); } @@ -929,7 +958,7 @@ public abstract class TcpTransport extends AbstractLifecycleComponent i } finally { IOUtils.close(stream); if (!addedReleaseListener) { - Releasables.close(bStream.bytes()); + toRelease.close(); } } } @@ -943,7 +972,7 @@ public abstract class TcpTransport extends AbstractLifecycleComponent i private boolean internalSendMessage(Channel targetChannel, BytesReference message, Runnable onRequestSent) throws IOException { boolean success; try { - sendMessage(targetChannel, message, onRequestSent, false); + sendMessage(targetChannel, message, onRequestSent); success = true; } catch (IOException ex) { // passing exception handling to deal with this and raise disconnect events and decide the right logging level @@ -975,7 +1004,7 @@ public abstract class TcpTransport extends AbstractLifecycleComponent i final BytesReference bytes = stream.bytes(); final BytesReference header = buildHeader(requestId, status, nodeVersion, bytes.length()); Runnable onRequestSent = () -> transportServiceAdapter.onResponseSent(requestId, action, error); - sendMessage(channel, new CompositeBytesReference(header, bytes), onRequestSent, false); + sendMessage(channel, new CompositeBytesReference(header, bytes), onRequestSent); } } @@ -992,6 +1021,9 @@ public abstract class TcpTransport extends AbstractLifecycleComponent i byte status = 0; status = TransportStatus.setResponse(status); // TODO share some code with sendRequest ReleasableBytesStreamOutput bStream = new ReleasableBytesStreamOutput(bigArrays); + // we wrap this in a release once since if the onRequestSent callback throws an exception + // we might release things twice and this should be prevented + final Releasable toRelease = Releasables.releaseOnce(() -> Releasables.close(bStream.bytes())); boolean addedReleaseListener = false; StreamOutput stream = bStream; try { @@ -1004,19 +1036,24 @@ public abstract class TcpTransport extends AbstractLifecycleComponent i BytesReference reference = buildMessage(requestId, status, nodeVersion, response, stream, bStream); final TransportResponseOptions finalOptions = options; - Runnable onRequestSent = () -> { + Runnable onRequestSent = () -> { // this might be called in a different thread try { - Releasables.close(bStream.bytes()); + toRelease.close(); } finally { transportServiceAdapter.onResponseSent(requestId, action, response, finalOptions); } }; addedReleaseListener = internalSendMessage(channel, reference, onRequestSent); } finally { - IOUtils.close(stream); - if (!addedReleaseListener) { - Releasables.close(bStream.bytes()); + try { + IOUtils.close(stream); + } finally { + if (!addedReleaseListener) { + + toRelease.close(); + } } + } } diff --git a/core/src/main/java/org/elasticsearch/transport/TcpTransportChannel.java b/core/src/main/java/org/elasticsearch/transport/TcpTransportChannel.java index 1fceb5aa1a3..9b09f7f8ed3 100644 --- a/core/src/main/java/org/elasticsearch/transport/TcpTransportChannel.java +++ b/core/src/main/java/org/elasticsearch/transport/TcpTransportChannel.java @@ -66,7 +66,7 @@ public final class TcpTransportChannel implements TransportChannel { try { transport.sendResponse(version, channel, response, requestId, action, options); } finally { - release(); + release(false); } } @@ -75,19 +75,20 @@ public final class TcpTransportChannel implements TransportChannel { try { transport.sendErrorResponse(version, channel, exception, requestId, action); } finally { - release(); + release(true); } } private Exception releaseBy; - private void release() { - // attempt to release once atomically - if (released.compareAndSet(false, true) == false) { - throw new IllegalStateException("reserved bytes are already released", releaseBy); - } else { + private void release(boolean isExceptionResponse) { + if (released.compareAndSet(false, true)) { assert (releaseBy = new Exception()) != null; // easier to debug if it's already closed + transport.getInFlightRequestBreaker().addWithoutBreaking(-reservedBytes); + } else if (isExceptionResponse == false) { + // only fail if we are not sending an error - we might send the error triggered by the previous + // sendResponse call + throw new IllegalStateException("reserved bytes are already released", releaseBy); } - transport.getInFlightRequestBreaker().addWithoutBreaking(-reservedBytes); } @Override diff --git a/core/src/main/java/org/elasticsearch/transport/Transport.java b/core/src/main/java/org/elasticsearch/transport/Transport.java index d0b2edf09bb..9a85a867888 100644 --- a/core/src/main/java/org/elasticsearch/transport/Transport.java +++ b/core/src/main/java/org/elasticsearch/transport/Transport.java @@ -32,9 +32,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - * - */ public interface Transport extends LifecycleComponent { diff --git a/core/src/main/java/org/elasticsearch/transport/TransportConnectionListener.java b/core/src/main/java/org/elasticsearch/transport/TransportConnectionListener.java index ad9c7991fa4..32bb9ca4ec2 100644 --- a/core/src/main/java/org/elasticsearch/transport/TransportConnectionListener.java +++ b/core/src/main/java/org/elasticsearch/transport/TransportConnectionListener.java @@ -21,9 +21,6 @@ package org.elasticsearch.transport; import org.elasticsearch.cluster.node.DiscoveryNode; -/** - * - */ public interface TransportConnectionListener { void onNodeConnected(DiscoveryNode node); diff --git a/core/src/main/java/org/elasticsearch/transport/TransportException.java b/core/src/main/java/org/elasticsearch/transport/TransportException.java index 7cc1c54c236..1d1878e0028 100644 --- a/core/src/main/java/org/elasticsearch/transport/TransportException.java +++ b/core/src/main/java/org/elasticsearch/transport/TransportException.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class TransportException extends ElasticsearchException { public TransportException(Throwable cause) { super(cause); diff --git a/core/src/main/java/org/elasticsearch/transport/TransportFuture.java b/core/src/main/java/org/elasticsearch/transport/TransportFuture.java index 5d34d0c0338..32c5f700da0 100644 --- a/core/src/main/java/org/elasticsearch/transport/TransportFuture.java +++ b/core/src/main/java/org/elasticsearch/transport/TransportFuture.java @@ -22,9 +22,6 @@ package org.elasticsearch.transport; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; -/** - * - */ public interface TransportFuture extends Future { /** diff --git a/core/src/main/java/org/elasticsearch/transport/TransportRequest.java b/core/src/main/java/org/elasticsearch/transport/TransportRequest.java index 83eb7cf0d81..54f3a228a81 100644 --- a/core/src/main/java/org/elasticsearch/transport/TransportRequest.java +++ b/core/src/main/java/org/elasticsearch/transport/TransportRequest.java @@ -26,8 +26,6 @@ import org.elasticsearch.tasks.TaskId; import java.io.IOException; -/** - */ public abstract class TransportRequest extends TransportMessage { public static class Empty extends TransportRequest { public static final Empty INSTANCE = new Empty(); diff --git a/core/src/main/java/org/elasticsearch/transport/TransportRequestHandler.java b/core/src/main/java/org/elasticsearch/transport/TransportRequestHandler.java index 17a3f26f26c..8c90b82fe7c 100644 --- a/core/src/main/java/org/elasticsearch/transport/TransportRequestHandler.java +++ b/core/src/main/java/org/elasticsearch/transport/TransportRequestHandler.java @@ -21,9 +21,6 @@ package org.elasticsearch.transport; import org.elasticsearch.tasks.Task; -/** - * - */ public interface TransportRequestHandler { /** diff --git a/core/src/main/java/org/elasticsearch/transport/TransportResponse.java b/core/src/main/java/org/elasticsearch/transport/TransportResponse.java index b778c6f213d..25ae72a479f 100644 --- a/core/src/main/java/org/elasticsearch/transport/TransportResponse.java +++ b/core/src/main/java/org/elasticsearch/transport/TransportResponse.java @@ -19,8 +19,6 @@ package org.elasticsearch.transport; -/** - */ public abstract class TransportResponse extends TransportMessage { public static class Empty extends TransportResponse { diff --git a/core/src/main/java/org/elasticsearch/transport/TransportResponseHandler.java b/core/src/main/java/org/elasticsearch/transport/TransportResponseHandler.java index 2602a3e1662..9d2c1801240 100644 --- a/core/src/main/java/org/elasticsearch/transport/TransportResponseHandler.java +++ b/core/src/main/java/org/elasticsearch/transport/TransportResponseHandler.java @@ -19,9 +19,6 @@ package org.elasticsearch.transport; -/** - * - */ public interface TransportResponseHandler { /** diff --git a/core/src/main/java/org/elasticsearch/transport/TransportResponseOptions.java b/core/src/main/java/org/elasticsearch/transport/TransportResponseOptions.java index eb163641749..a36793ed5d8 100644 --- a/core/src/main/java/org/elasticsearch/transport/TransportResponseOptions.java +++ b/core/src/main/java/org/elasticsearch/transport/TransportResponseOptions.java @@ -19,9 +19,6 @@ package org.elasticsearch.transport; -/** - * - */ public class TransportResponseOptions { private final boolean compress; diff --git a/core/src/main/java/org/elasticsearch/transport/TransportSerializationException.java b/core/src/main/java/org/elasticsearch/transport/TransportSerializationException.java index ad42af9b048..ae09b23d2a1 100644 --- a/core/src/main/java/org/elasticsearch/transport/TransportSerializationException.java +++ b/core/src/main/java/org/elasticsearch/transport/TransportSerializationException.java @@ -23,9 +23,6 @@ import org.elasticsearch.common.io.stream.StreamInput; import java.io.IOException; -/** - * - */ public class TransportSerializationException extends TransportException { public TransportSerializationException(StreamInput in) throws IOException { diff --git a/core/src/main/java/org/elasticsearch/transport/support/TransportStatus.java b/core/src/main/java/org/elasticsearch/transport/support/TransportStatus.java index 87494456ff9..29c2bfb2781 100644 --- a/core/src/main/java/org/elasticsearch/transport/support/TransportStatus.java +++ b/core/src/main/java/org/elasticsearch/transport/support/TransportStatus.java @@ -19,8 +19,6 @@ package org.elasticsearch.transport.support; -/** - */ public class TransportStatus { private static final byte STATUS_REQRES = 1 << 0; diff --git a/core/src/main/java/org/elasticsearch/watcher/WatcherHandle.java b/core/src/main/java/org/elasticsearch/watcher/WatcherHandle.java index da395c41a0b..0ef80306df2 100644 --- a/core/src/main/java/org/elasticsearch/watcher/WatcherHandle.java +++ b/core/src/main/java/org/elasticsearch/watcher/WatcherHandle.java @@ -19,9 +19,6 @@ package org.elasticsearch.watcher; -/** -* -*/ public class WatcherHandle { private final ResourceWatcherService.ResourceMonitor monitor; diff --git a/core/src/test/java/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilterTests.java b/core/src/test/java/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilterTests.java index 3c77142221d..d1e5cecf76b 100644 --- a/core/src/test/java/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilterTests.java +++ b/core/src/test/java/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilterTests.java @@ -29,8 +29,6 @@ import org.elasticsearch.test.ESTestCase; import java.io.IOException; import static org.hamcrest.Matchers.equalTo; -/** - */ public class TruncateTokenFilterTests extends ESTestCase { public void testSimple() throws IOException { diff --git a/core/src/test/java/org/apache/lucene/analysis/miscellaneous/UniqueTokenFilterTests.java b/core/src/test/java/org/apache/lucene/analysis/miscellaneous/UniqueTokenFilterTests.java index 7756933a781..324e422531b 100644 --- a/core/src/test/java/org/apache/lucene/analysis/miscellaneous/UniqueTokenFilterTests.java +++ b/core/src/test/java/org/apache/lucene/analysis/miscellaneous/UniqueTokenFilterTests.java @@ -30,8 +30,6 @@ import java.io.IOException; import static org.hamcrest.Matchers.equalTo; -/** - */ public class UniqueTokenFilterTests extends ESTestCase { public void testSimple() throws IOException { Analyzer analyzer = new Analyzer() { diff --git a/core/src/test/java/org/apache/lucene/queries/BlendedTermQueryTests.java b/core/src/test/java/org/apache/lucene/queries/BlendedTermQueryTests.java index 94806422c17..3c727ddf6e3 100644 --- a/core/src/test/java/org/apache/lucene/queries/BlendedTermQueryTests.java +++ b/core/src/test/java/org/apache/lucene/queries/BlendedTermQueryTests.java @@ -53,8 +53,6 @@ import java.util.Set; import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.equalTo; -/** - */ public class BlendedTermQueryTests extends ESTestCase { public void testBooleanQuery() throws IOException { Directory dir = newDirectory(); diff --git a/core/src/test/java/org/elasticsearch/action/ListenerActionIT.java b/core/src/test/java/org/elasticsearch/action/ListenerActionIT.java index 93389f898e9..60e4b4d2622 100644 --- a/core/src/test/java/org/elasticsearch/action/ListenerActionIT.java +++ b/core/src/test/java/org/elasticsearch/action/ListenerActionIT.java @@ -28,8 +28,6 @@ import org.elasticsearch.test.ESIntegTestCase; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicReference; -/** - */ public class ListenerActionIT extends ESIntegTestCase { public void testThreadedListeners() throws Throwable { final CountDownLatch latch = new CountDownLatch(1); diff --git a/core/src/test/java/org/elasticsearch/action/RejectionActionIT.java b/core/src/test/java/org/elasticsearch/action/RejectionActionIT.java index 6745906488a..e8db648111c 100644 --- a/core/src/test/java/org/elasticsearch/action/RejectionActionIT.java +++ b/core/src/test/java/org/elasticsearch/action/RejectionActionIT.java @@ -36,8 +36,6 @@ import java.util.concurrent.CountDownLatch; import static org.hamcrest.Matchers.equalTo; -/** - */ @ClusterScope(scope = ESIntegTestCase.Scope.SUITE, numDataNodes = 2) public class RejectionActionIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/action/index/IndexRequestTests.java b/core/src/test/java/org/elasticsearch/action/index/IndexRequestTests.java index 1887277c09e..1b37a73d6f1 100644 --- a/core/src/test/java/org/elasticsearch/action/index/IndexRequestTests.java +++ b/core/src/test/java/org/elasticsearch/action/index/IndexRequestTests.java @@ -37,8 +37,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.notNullValue; -/** - */ public class IndexRequestTests extends ESTestCase { public void testIndexRequestOpTypeFromString() throws Exception { String create = "create"; diff --git a/core/src/test/java/org/elasticsearch/action/update/UpdateRequestTests.java b/core/src/test/java/org/elasticsearch/action/update/UpdateRequestTests.java index cb27a527f63..de0705dcab2 100644 --- a/core/src/test/java/org/elasticsearch/action/update/UpdateRequestTests.java +++ b/core/src/test/java/org/elasticsearch/action/update/UpdateRequestTests.java @@ -28,13 +28,25 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.unit.TimeValue; import org.elasticsearch.common.xcontent.XContentFactory; import org.elasticsearch.common.xcontent.XContentHelper; +import org.elasticsearch.env.Environment; import org.elasticsearch.index.get.GetResult; import org.elasticsearch.index.shard.ShardId; +import org.elasticsearch.script.MockScriptEngine; import org.elasticsearch.script.Script; +import org.elasticsearch.script.ScriptContextRegistry; +import org.elasticsearch.script.ScriptEngineRegistry; +import org.elasticsearch.script.ScriptService; import org.elasticsearch.script.ScriptService.ScriptType; +import org.elasticsearch.script.ScriptSettings; import org.elasticsearch.test.ESTestCase; +import org.elasticsearch.watcher.ResourceWatcherService; +import java.io.IOException; +import java.nio.file.Path; +import java.util.Collections; +import java.util.HashMap; import java.util.Map; +import java.util.function.Function; import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder; import static org.hamcrest.Matchers.arrayContaining; @@ -184,9 +196,10 @@ public class UpdateRequestTests extends ESTestCase { .doc(jsonBuilder().startObject().field("fooz", "baz").endObject()) .upsert(indexRequest); + long nowInMillis = randomPositiveLong(); // We simulate that the document is not existing yet GetResult getResult = new GetResult("test", "type1", "1", 0, false, null, null); - UpdateHelper.Result result = updateHelper.prepare(new ShardId("test", "_na_", 0),updateRequest, getResult); + UpdateHelper.Result result = updateHelper.prepare(new ShardId("test", "_na_", 0),updateRequest, getResult, () -> nowInMillis); Streamable action = result.action(); assertThat(action, instanceOf(IndexRequest.class)); IndexRequest indexAction = (IndexRequest) action; @@ -203,7 +216,7 @@ public class UpdateRequestTests extends ESTestCase { // We simulate that the document is not existing yet getResult = new GetResult("test", "type1", "2", 0, false, null, null); - result = updateHelper.prepare(new ShardId("test", "_na_", 0), updateRequest, getResult); + result = updateHelper.prepare(new ShardId("test", "_na_", 0), updateRequest, getResult, () -> nowInMillis); action = result.action(); assertThat(action, instanceOf(IndexRequest.class)); indexAction = (IndexRequest) action; @@ -276,4 +289,70 @@ public class UpdateRequestTests extends ESTestCase { assertThat(request.fetchSource().includes()[0], equalTo("path.inner.*")); assertThat(request.fetchSource().excludes()[0], equalTo("another.inner.*")); } + + public void testNowInScript() throws IOException { + Path genericConfigFolder = createTempDir(); + Settings baseSettings = Settings.builder() + .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir().toString()) + .put(Environment.PATH_CONF_SETTING.getKey(), genericConfigFolder) + .build(); + Environment environment = new Environment(baseSettings); + Map, Object>> scripts = new HashMap<>(); + scripts.put("ctx._source.update_timestamp = ctx._now", + (vars) -> { + Map ctx = (Map) vars.get("ctx"); + Map source = (Map) ctx.get("_source"); + source.put("update_timestamp", ctx.get("_now")); + return null;}); + scripts.put("ctx._timestamp = ctx._now", + (vars) -> { + Map ctx = (Map) vars.get("ctx"); + ctx.put("_timestamp", ctx.get("_now")); + return null;}); + ScriptContextRegistry scriptContextRegistry = new ScriptContextRegistry(Collections.emptyList()); + ScriptEngineRegistry scriptEngineRegistry = new ScriptEngineRegistry(Collections.singletonList(new MockScriptEngine("mock", + scripts))); + + ScriptSettings scriptSettings = new ScriptSettings(scriptEngineRegistry, scriptContextRegistry); + ScriptService scriptService = new ScriptService(baseSettings, environment, + new ResourceWatcherService(baseSettings, null), scriptEngineRegistry, scriptContextRegistry, scriptSettings); + TimeValue providedTTLValue = TimeValue.parseTimeValue(randomTimeValue(), null, "ttl"); + Settings settings = settings(Version.CURRENT).build(); + + UpdateHelper updateHelper = new UpdateHelper(settings, scriptService); + + // We just upsert one document with now() using a script + IndexRequest indexRequest = new IndexRequest("test", "type1", "2") + .source(jsonBuilder().startObject().field("foo", "bar").endObject()) + .ttl(providedTTLValue); + + { + UpdateRequest updateRequest = new UpdateRequest("test", "type1", "2") + .upsert(indexRequest) + .script(new Script("ctx._source.update_timestamp = ctx._now", ScriptType.INLINE, "mock", Collections.emptyMap())) + .scriptedUpsert(true); + long nowInMillis = randomPositiveLong(); + // We simulate that the document is not existing yet + GetResult getResult = new GetResult("test", "type1", "2", 0, false, null, null); + UpdateHelper.Result result = updateHelper.prepare(new ShardId("test", "_na_", 0), updateRequest, getResult, () -> nowInMillis); + Streamable action = result.action(); + assertThat(action, instanceOf(IndexRequest.class)); + IndexRequest indexAction = (IndexRequest) action; + assertEquals(indexAction.sourceAsMap().get("update_timestamp"), nowInMillis); + } + { + UpdateRequest updateRequest = new UpdateRequest("test", "type1", "2") + .upsert(indexRequest) + .script(new Script("ctx._timestamp = ctx._now", ScriptType.INLINE, "mock", Collections.emptyMap())) + .scriptedUpsert(true); + long nowInMillis = randomPositiveLong(); + // We simulate that the document is not existing yet + GetResult getResult = new GetResult("test", "type1", "2", 0, true, new BytesArray("{}"), null); + UpdateHelper.Result result = updateHelper.prepare(new ShardId("test", "_na_", 0), updateRequest, getResult, () -> nowInMillis); + Streamable action = result.action(); + assertThat(action, instanceOf(IndexRequest.class)); + IndexRequest indexAction = (IndexRequest) action; + assertEquals(indexAction.timestamp(), Long.toString(nowInMillis)); + } + } } diff --git a/core/src/test/java/org/elasticsearch/bwcompat/BasicBackwardsCompatibilityIT.java b/core/src/test/java/org/elasticsearch/bwcompat/BasicBackwardsCompatibilityIT.java index 75f089b3488..7f169ee1d2c 100644 --- a/core/src/test/java/org/elasticsearch/bwcompat/BasicBackwardsCompatibilityIT.java +++ b/core/src/test/java/org/elasticsearch/bwcompat/BasicBackwardsCompatibilityIT.java @@ -82,8 +82,6 @@ import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.lessThanOrEqualTo; import static org.hamcrest.Matchers.notNullValue; -/** - */ public class BasicBackwardsCompatibilityIT extends ESBackcompatTestCase { /** diff --git a/core/src/test/java/org/elasticsearch/client/AbstractClientHeadersTestCase.java b/core/src/test/java/org/elasticsearch/client/AbstractClientHeadersTestCase.java index a82f964c013..ccc72db9d7a 100644 --- a/core/src/test/java/org/elasticsearch/client/AbstractClientHeadersTestCase.java +++ b/core/src/test/java/org/elasticsearch/client/AbstractClientHeadersTestCase.java @@ -48,9 +48,6 @@ import java.util.Map; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.notNullValue; -/** - * - */ public abstract class AbstractClientHeadersTestCase extends ESTestCase { protected static final Settings HEADER_SETTINGS = Settings.builder() diff --git a/core/src/test/java/org/elasticsearch/client/node/NodeClientHeadersTests.java b/core/src/test/java/org/elasticsearch/client/node/NodeClientHeadersTests.java index 04f7b73b1f2..d5d48a12a9c 100644 --- a/core/src/test/java/org/elasticsearch/client/node/NodeClientHeadersTests.java +++ b/core/src/test/java/org/elasticsearch/client/node/NodeClientHeadersTests.java @@ -35,9 +35,6 @@ import org.elasticsearch.threadpool.ThreadPool; import java.util.Collections; import java.util.HashMap; -/** - * - */ public class NodeClientHeadersTests extends AbstractClientHeadersTestCase { private static final ActionFilters EMPTY_FILTERS = new ActionFilters(Collections.emptySet()); diff --git a/core/src/test/java/org/elasticsearch/client/node/NodeClientIT.java b/core/src/test/java/org/elasticsearch/client/node/NodeClientIT.java index 073a2bfc0ae..1cae3a15deb 100644 --- a/core/src/test/java/org/elasticsearch/client/node/NodeClientIT.java +++ b/core/src/test/java/org/elasticsearch/client/node/NodeClientIT.java @@ -26,9 +26,6 @@ import org.elasticsearch.test.ESIntegTestCase.Scope; import static org.hamcrest.Matchers.is; -/** - * - */ @ClusterScope(scope = Scope.SUITE) public class NodeClientIT extends ESIntegTestCase { @Override diff --git a/core/src/test/java/org/elasticsearch/cluster/NoMasterNodeIT.java b/core/src/test/java/org/elasticsearch/cluster/NoMasterNodeIT.java index d730b859113..b3d2725c688 100644 --- a/core/src/test/java/org/elasticsearch/cluster/NoMasterNodeIT.java +++ b/core/src/test/java/org/elasticsearch/cluster/NoMasterNodeIT.java @@ -47,8 +47,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.lessThan; -/** - */ @ClusterScope(scope = Scope.TEST, numDataNodes = 0) public class NoMasterNodeIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/cluster/SimpleDataNodesIT.java b/core/src/test/java/org/elasticsearch/cluster/SimpleDataNodesIT.java index f411e00468e..a0a00256817 100644 --- a/core/src/test/java/org/elasticsearch/cluster/SimpleDataNodesIT.java +++ b/core/src/test/java/org/elasticsearch/cluster/SimpleDataNodesIT.java @@ -34,9 +34,6 @@ import static org.elasticsearch.client.Requests.createIndexRequest; import static org.elasticsearch.common.unit.TimeValue.timeValueSeconds; import static org.hamcrest.Matchers.equalTo; -/** - * - */ @ClusterScope(scope= Scope.TEST, numDataNodes =0) public class SimpleDataNodesIT extends ESIntegTestCase { public void testDataNodes() throws Exception { diff --git a/core/src/test/java/org/elasticsearch/cluster/UpdateSettingsValidationIT.java b/core/src/test/java/org/elasticsearch/cluster/UpdateSettingsValidationIT.java index 89f072e2a35..9613128a00b 100644 --- a/core/src/test/java/org/elasticsearch/cluster/UpdateSettingsValidationIT.java +++ b/core/src/test/java/org/elasticsearch/cluster/UpdateSettingsValidationIT.java @@ -30,8 +30,6 @@ import org.elasticsearch.test.ESIntegTestCase.Scope; import static org.hamcrest.Matchers.equalTo; -/** - */ @ClusterScope(scope= Scope.TEST, numDataNodes =0) public class UpdateSettingsValidationIT extends ESIntegTestCase { public void testUpdateSettingsValidation() throws Exception { diff --git a/core/src/test/java/org/elasticsearch/cluster/allocation/AwarenessAllocationIT.java b/core/src/test/java/org/elasticsearch/cluster/allocation/AwarenessAllocationIT.java index 31e841227b8..d98f9294243 100644 --- a/core/src/test/java/org/elasticsearch/cluster/allocation/AwarenessAllocationIT.java +++ b/core/src/test/java/org/elasticsearch/cluster/allocation/AwarenessAllocationIT.java @@ -41,8 +41,6 @@ import java.util.concurrent.TimeUnit; import static org.hamcrest.Matchers.anyOf; import static org.hamcrest.Matchers.equalTo; -/** - */ @ClusterScope(scope= ESIntegTestCase.Scope.TEST, numDataNodes =0, minNumDataNodes = 2) public class AwarenessAllocationIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/cluster/allocation/ClusterRerouteIT.java b/core/src/test/java/org/elasticsearch/cluster/allocation/ClusterRerouteIT.java index 22d02f51469..9c6a4273a7f 100644 --- a/core/src/test/java/org/elasticsearch/cluster/allocation/ClusterRerouteIT.java +++ b/core/src/test/java/org/elasticsearch/cluster/allocation/ClusterRerouteIT.java @@ -65,8 +65,6 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertBloc import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.hasSize; -/** - */ @ClusterScope(scope = Scope.TEST, numDataNodes = 0) public class ClusterRerouteIT extends ESIntegTestCase { private final Logger logger = Loggers.getLogger(ClusterRerouteIT.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/metadata/IndexNameExpressionResolverTests.java b/core/src/test/java/org/elasticsearch/cluster/metadata/IndexNameExpressionResolverTests.java index 0e0c9fb442b..63b9dc05e7a 100644 --- a/core/src/test/java/org/elasticsearch/cluster/metadata/IndexNameExpressionResolverTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/metadata/IndexNameExpressionResolverTests.java @@ -44,8 +44,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; -/** - */ public class IndexNameExpressionResolverTests extends ESTestCase { private final IndexNameExpressionResolver indexNameExpressionResolver = new IndexNameExpressionResolver(Settings.EMPTY); diff --git a/core/src/test/java/org/elasticsearch/cluster/metadata/MetaDataIndexAliasesServiceTests.java b/core/src/test/java/org/elasticsearch/cluster/metadata/MetaDataIndexAliasesServiceTests.java index a11c74d657b..8a342057dab 100644 --- a/core/src/test/java/org/elasticsearch/cluster/metadata/MetaDataIndexAliasesServiceTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/metadata/MetaDataIndexAliasesServiceTests.java @@ -33,7 +33,7 @@ import java.util.Collection; import static java.util.Collections.singletonList; import static org.hamcrest.Matchers.contains; import static org.mockito.Matchers.any; -import static org.mockito.Matchers.anyCollectionOf; +import static org.mockito.Matchers.anySetOf; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -45,7 +45,7 @@ public class MetaDataIndexAliasesServiceTests extends ESTestCase { public MetaDataIndexAliasesServiceTests() { // Mock any deletes so we don't need to worry about how MetaDataDeleteIndexService does its job - when(deleteIndexService.deleteIndices(any(ClusterState.class), anyCollectionOf(Index.class))).then(i -> { + when(deleteIndexService.deleteIndices(any(ClusterState.class), anySetOf(Index.class))).then(i -> { ClusterState state = (ClusterState) i.getArguments()[0]; @SuppressWarnings("unchecked") Collection indices = (Collection) i.getArguments()[1]; diff --git a/core/src/test/java/org/elasticsearch/cluster/metadata/ToAndFromJsonMetaDataTests.java b/core/src/test/java/org/elasticsearch/cluster/metadata/ToAndFromJsonMetaDataTests.java index 8ad86818614..3d3da02822a 100644 --- a/core/src/test/java/org/elasticsearch/cluster/metadata/ToAndFromJsonMetaDataTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/metadata/ToAndFromJsonMetaDataTests.java @@ -32,9 +32,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class ToAndFromJsonMetaDataTests extends ESTestCase { public void testSimpleJsonFromAndTo() throws IOException { MetaData metaData = MetaData.builder() diff --git a/core/src/test/java/org/elasticsearch/cluster/node/DiscoveryNodeFiltersTests.java b/core/src/test/java/org/elasticsearch/cluster/node/DiscoveryNodeFiltersTests.java index e1b6d0e6ef8..1f226427237 100644 --- a/core/src/test/java/org/elasticsearch/cluster/node/DiscoveryNodeFiltersTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/node/DiscoveryNodeFiltersTests.java @@ -41,8 +41,6 @@ import static org.elasticsearch.cluster.node.DiscoveryNodeFilters.OpType.AND; import static org.elasticsearch.cluster.node.DiscoveryNodeFilters.OpType.OR; import static org.hamcrest.Matchers.equalTo; -/** - */ public class DiscoveryNodeFiltersTests extends ESTestCase { private static TransportAddress localAddress; diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/AllocationIdTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/AllocationIdTests.java index 036c168eee8..173caaab379 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/AllocationIdTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/AllocationIdTests.java @@ -34,8 +34,6 @@ import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; -/** - */ public class AllocationIdTests extends ESTestCase { public void testShardToStarted() { logger.info("-- create unassigned shard"); @@ -122,7 +120,7 @@ public class AllocationIdTests extends ESTestCase { shard = shard.reinitializePrimaryShard(); assertThat(shard.allocationId().getId(), notNullValue()); assertThat(shard.allocationId().getRelocationId(), nullValue()); - assertThat(shard.allocationId().getId(), not(equalTo(allocationId.getId()))); + assertThat(shard.allocationId().getId(), equalTo(allocationId.getId())); } public void testSerialization() throws IOException { diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/DelayedAllocationIT.java b/core/src/test/java/org/elasticsearch/cluster/routing/DelayedAllocationIT.java index 88f09a55c2e..e4321218983 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/DelayedAllocationIT.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/DelayedAllocationIT.java @@ -34,8 +34,6 @@ import java.util.List; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; import static org.hamcrest.Matchers.equalTo; -/** - */ @ESIntegTestCase.ClusterScope(scope = ESIntegTestCase.Scope.TEST, numDataNodes = 0) public class DelayedAllocationIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/DelayedAllocationServiceTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/DelayedAllocationServiceTests.java index a700358384d..a41ecdec79e 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/DelayedAllocationServiceTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/DelayedAllocationServiceTests.java @@ -57,8 +57,6 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; -/** - */ public class DelayedAllocationServiceTests extends ESAllocationTestCase { private TestDelayAllocationService delayedAllocationService; diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/RoutingServiceTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/RoutingServiceTests.java index 04277ba1eb4..211071c9555 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/RoutingServiceTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/RoutingServiceTests.java @@ -27,8 +27,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import static org.hamcrest.Matchers.equalTo; -/** - */ public class RoutingServiceTests extends ESAllocationTestCase { private TestRoutingService routingService; diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/UnassignedInfoTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/UnassignedInfoTests.java index 5eff8a0a53d..60f1688ad3d 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/UnassignedInfoTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/UnassignedInfoTests.java @@ -53,8 +53,6 @@ import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; -/** - */ public class UnassignedInfoTests extends ESAllocationTestCase { public void testReasonOrdinalOrder() { UnassignedInfo.Reason[] order = new UnassignedInfo.Reason[]{ diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/AllocationCommandsTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/AllocationCommandsTests.java index 7dfa49455b8..5cae5d3d928 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/AllocationCommandsTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/AllocationCommandsTests.java @@ -64,8 +64,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; -/** - */ public class AllocationCommandsTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(AllocationCommandsTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/AwarenessAllocationTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/AwarenessAllocationTests.java index e7eacf94f9d..fec0a33b917 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/AwarenessAllocationTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/AwarenessAllocationTests.java @@ -45,8 +45,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.sameInstance; -/** - */ public class AwarenessAllocationTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(AwarenessAllocationTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/DeadNodesAllocationTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/DeadNodesAllocationTests.java index 9076dde19fc..81c6685ca14 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/DeadNodesAllocationTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/DeadNodesAllocationTests.java @@ -39,8 +39,6 @@ import static org.elasticsearch.cluster.routing.ShardRoutingState.STARTED; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.not; -/** - */ public class DeadNodesAllocationTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(DeadNodesAllocationTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ElectReplicaAsPrimaryDuringRelocationTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ElectReplicaAsPrimaryDuringRelocationTests.java index 77e83fd6654..37e8d83592f 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ElectReplicaAsPrimaryDuringRelocationTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ElectReplicaAsPrimaryDuringRelocationTests.java @@ -37,9 +37,6 @@ import static org.elasticsearch.cluster.routing.ShardRoutingState.STARTED; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.not; -/** - * - */ public class ElectReplicaAsPrimaryDuringRelocationTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(ElectReplicaAsPrimaryDuringRelocationTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ExpectedShardSizeAllocationTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ExpectedShardSizeAllocationTests.java index 873c71f19b5..f73f97b61a3 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ExpectedShardSizeAllocationTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ExpectedShardSizeAllocationTests.java @@ -41,8 +41,6 @@ import static org.elasticsearch.cluster.routing.ShardRoutingState.INITIALIZING; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.not; -/** - */ public class ExpectedShardSizeAllocationTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(ExpectedShardSizeAllocationTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/FailedShardsRoutingTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/FailedShardsRoutingTests.java index 667ae850bfa..6063faba156 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/FailedShardsRoutingTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/FailedShardsRoutingTests.java @@ -52,9 +52,6 @@ import static org.hamcrest.Matchers.lessThan; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class FailedShardsRoutingTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(FailedShardsRoutingTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/FilterRoutingTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/FilterRoutingTests.java index 430809e6726..79473759f8f 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/FilterRoutingTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/FilterRoutingTests.java @@ -41,8 +41,6 @@ import static org.elasticsearch.cluster.routing.ShardRoutingState.INITIALIZING; import static org.elasticsearch.cluster.routing.ShardRoutingState.STARTED; import static org.hamcrest.Matchers.equalTo; -/** - */ public class FilterRoutingTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(FilterRoutingTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/IndexBalanceTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/IndexBalanceTests.java index 986d08843ad..d6e54b6e3b3 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/IndexBalanceTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/IndexBalanceTests.java @@ -39,9 +39,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class IndexBalanceTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(IndexBalanceTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/NodeVersionAllocationDeciderTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/NodeVersionAllocationDeciderTests.java index b1c64d872dc..a56af9f2b39 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/NodeVersionAllocationDeciderTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/NodeVersionAllocationDeciderTests.java @@ -69,9 +69,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class NodeVersionAllocationDeciderTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(NodeVersionAllocationDeciderTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PreferLocalPrimariesToRelocatingPrimariesTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PreferLocalPrimariesToRelocatingPrimariesTests.java index 7e528e601d3..cf26df90002 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PreferLocalPrimariesToRelocatingPrimariesTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PreferLocalPrimariesToRelocatingPrimariesTests.java @@ -35,8 +35,6 @@ import static org.elasticsearch.cluster.routing.ShardRoutingState.STARTED; import static org.elasticsearch.cluster.routing.ShardRoutingState.UNASSIGNED; import static org.hamcrest.Matchers.equalTo; -/** - */ public class PreferLocalPrimariesToRelocatingPrimariesTests extends ESAllocationTestCase { public void testPreferLocalPrimaryAllocationOverFiltered() { diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PreferPrimaryAllocationTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PreferPrimaryAllocationTests.java index 1c209157b13..d4e032f4761 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PreferPrimaryAllocationTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PreferPrimaryAllocationTests.java @@ -34,8 +34,6 @@ import org.elasticsearch.common.settings.Settings; import static org.elasticsearch.cluster.routing.ShardRoutingState.INITIALIZING; import static org.hamcrest.Matchers.equalTo; -/** - */ public class PreferPrimaryAllocationTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(PreferPrimaryAllocationTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PrimaryElectionRoutingTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PrimaryElectionRoutingTests.java index d789e6c4ec6..a634d32d71d 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PrimaryElectionRoutingTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PrimaryElectionRoutingTests.java @@ -37,9 +37,6 @@ import static org.elasticsearch.cluster.routing.ShardRoutingState.UNASSIGNED; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class PrimaryElectionRoutingTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(PrimaryElectionRoutingTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PrimaryNotRelocatedWhileBeingRecoveredTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PrimaryNotRelocatedWhileBeingRecoveredTests.java index f2673805fa1..e5725ed61ef 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PrimaryNotRelocatedWhileBeingRecoveredTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/PrimaryNotRelocatedWhileBeingRecoveredTests.java @@ -35,9 +35,6 @@ import static org.elasticsearch.cluster.routing.ShardRoutingState.INITIALIZING; import static org.elasticsearch.cluster.routing.ShardRoutingState.STARTED; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class PrimaryNotRelocatedWhileBeingRecoveredTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(PrimaryNotRelocatedWhileBeingRecoveredTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/RebalanceAfterActiveTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/RebalanceAfterActiveTests.java index ff2020d6844..ea8cbe19b7f 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/RebalanceAfterActiveTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/RebalanceAfterActiveTests.java @@ -43,9 +43,6 @@ import static org.elasticsearch.cluster.routing.ShardRoutingState.UNASSIGNED; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class RebalanceAfterActiveTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(RebalanceAfterActiveTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ReplicaAllocatedAfterPrimaryTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ReplicaAllocatedAfterPrimaryTests.java index cf9db4ec542..ab64d0131ec 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ReplicaAllocatedAfterPrimaryTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ReplicaAllocatedAfterPrimaryTests.java @@ -38,9 +38,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class ReplicaAllocatedAfterPrimaryTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(ReplicaAllocatedAfterPrimaryTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/RoutingNodesIntegrityTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/RoutingNodesIntegrityTests.java index 6c837ed2b20..9401cc1ca6f 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/RoutingNodesIntegrityTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/RoutingNodesIntegrityTests.java @@ -39,9 +39,6 @@ import static org.elasticsearch.cluster.routing.ShardRoutingState.STARTED; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.not; -/** - * - */ public class RoutingNodesIntegrityTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(IndexBalanceTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/RoutingNodesUtils.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/RoutingNodesUtils.java index 74106e91dbc..794b8220511 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/RoutingNodesUtils.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/RoutingNodesUtils.java @@ -22,8 +22,6 @@ import org.elasticsearch.cluster.routing.RoutingNode; import org.elasticsearch.cluster.routing.RoutingNodes; import org.elasticsearch.cluster.routing.ShardRoutingState; -/** - */ public class RoutingNodesUtils { public static int numberOfShardsOfType(RoutingNodes nodes, ShardRoutingState state) { diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/SameShardRoutingTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/SameShardRoutingTests.java index e69d01ef5f2..ae87fe5332e 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/SameShardRoutingTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/SameShardRoutingTests.java @@ -40,8 +40,6 @@ import static org.elasticsearch.cluster.routing.ShardRoutingState.INITIALIZING; import static org.elasticsearch.cluster.routing.allocation.RoutingNodesUtils.numberOfShardsOfType; import static org.hamcrest.Matchers.equalTo; -/** - */ public class SameShardRoutingTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(SameShardRoutingTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ShardsLimitAllocationTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ShardsLimitAllocationTests.java index 85948f3c52c..7530e34cb83 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ShardsLimitAllocationTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ShardsLimitAllocationTests.java @@ -40,8 +40,6 @@ import static org.elasticsearch.cluster.routing.ShardRoutingState.STARTED; import static org.elasticsearch.cluster.routing.allocation.RoutingNodesUtils.numberOfShardsOfType; import static org.hamcrest.Matchers.equalTo; -/** - */ public class ShardsLimitAllocationTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(ShardsLimitAllocationTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/SingleShardNoReplicasRoutingTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/SingleShardNoReplicasRoutingTests.java index dd89d6b6a52..8bd4b39d076 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/SingleShardNoReplicasRoutingTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/SingleShardNoReplicasRoutingTests.java @@ -52,9 +52,6 @@ import static org.hamcrest.Matchers.lessThan; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class SingleShardNoReplicasRoutingTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(SingleShardNoReplicasRoutingTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/SingleShardOneReplicaRoutingTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/SingleShardOneReplicaRoutingTests.java index 0990850acae..44c8d5ac4d3 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/SingleShardOneReplicaRoutingTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/SingleShardOneReplicaRoutingTests.java @@ -38,9 +38,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class SingleShardOneReplicaRoutingTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(SingleShardOneReplicaRoutingTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/TenShardsOneReplicaRoutingTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/TenShardsOneReplicaRoutingTests.java index 5907232b5f2..0239ee6235e 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/TenShardsOneReplicaRoutingTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/TenShardsOneReplicaRoutingTests.java @@ -41,9 +41,6 @@ import static org.hamcrest.Matchers.lessThan; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class TenShardsOneReplicaRoutingTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(TenShardsOneReplicaRoutingTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ThrottlingAllocationTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ThrottlingAllocationTests.java index 894b5b42f0c..5cafe410d56 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ThrottlingAllocationTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/ThrottlingAllocationTests.java @@ -55,9 +55,6 @@ import static org.elasticsearch.cluster.routing.ShardRoutingState.STARTED; import static org.elasticsearch.cluster.routing.ShardRoutingState.UNASSIGNED; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class ThrottlingAllocationTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(ThrottlingAllocationTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/UpdateNumberOfReplicasTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/UpdateNumberOfReplicasTests.java index e711354b181..167172ec9bd 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/UpdateNumberOfReplicasTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/UpdateNumberOfReplicasTests.java @@ -39,9 +39,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class UpdateNumberOfReplicasTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(UpdateNumberOfReplicasTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/decider/EnableAllocationTests.java b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/decider/EnableAllocationTests.java index 4230504f538..5be51ceb3ae 100644 --- a/core/src/test/java/org/elasticsearch/cluster/routing/allocation/decider/EnableAllocationTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/routing/allocation/decider/EnableAllocationTests.java @@ -47,8 +47,6 @@ import static org.elasticsearch.cluster.routing.allocation.decider.EnableAllocat import static org.elasticsearch.cluster.routing.allocation.decider.EnableAllocationDecider.INDEX_ROUTING_ALLOCATION_ENABLE_SETTING; import static org.hamcrest.Matchers.equalTo; -/** - */ public class EnableAllocationTests extends ESAllocationTestCase { private final Logger logger = Loggers.getLogger(EnableAllocationTests.class); diff --git a/core/src/test/java/org/elasticsearch/cluster/serialization/ClusterStateToStringTests.java b/core/src/test/java/org/elasticsearch/cluster/serialization/ClusterStateToStringTests.java index 0dff5dc3998..69d18933e6c 100644 --- a/core/src/test/java/org/elasticsearch/cluster/serialization/ClusterStateToStringTests.java +++ b/core/src/test/java/org/elasticsearch/cluster/serialization/ClusterStateToStringTests.java @@ -35,9 +35,6 @@ import static java.util.Collections.emptyMap; import static java.util.Collections.emptySet; import static org.hamcrest.Matchers.containsString; -/** - * - */ public class ClusterStateToStringTests extends ESAllocationTestCase { public void testClusterStateSerialization() throws Exception { MetaData metaData = MetaData.builder() diff --git a/core/src/test/java/org/elasticsearch/cluster/shards/ClusterSearchShardsIT.java b/core/src/test/java/org/elasticsearch/cluster/shards/ClusterSearchShardsIT.java index a88c24873f9..7c2c789c770 100644 --- a/core/src/test/java/org/elasticsearch/cluster/shards/ClusterSearchShardsIT.java +++ b/core/src/test/java/org/elasticsearch/cluster/shards/ClusterSearchShardsIT.java @@ -36,8 +36,6 @@ import static org.elasticsearch.cluster.metadata.IndexMetaData.SETTING_READ_ONLY import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertBlocked; import static org.hamcrest.Matchers.equalTo; -/** - */ @ClusterScope(scope= Scope.SUITE, numDataNodes = 2) public class ClusterSearchShardsIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/common/ReleasablesTests.java b/core/src/test/java/org/elasticsearch/common/ReleasablesTests.java new file mode 100644 index 00000000000..62686354913 --- /dev/null +++ b/core/src/test/java/org/elasticsearch/common/ReleasablesTests.java @@ -0,0 +1,38 @@ +/* + * Licensed to Elasticsearch under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.elasticsearch.common; + +import org.elasticsearch.common.lease.Releasable; +import org.elasticsearch.common.lease.Releasables; +import org.elasticsearch.test.ESTestCase; + +import java.util.concurrent.atomic.AtomicInteger; + +public class ReleasablesTests extends ESTestCase { + + public void testReleaseOnce() { + AtomicInteger count = new AtomicInteger(0); + Releasable releasable = Releasables.releaseOnce(count::incrementAndGet, count::incrementAndGet); + assertEquals(0, count.get()); + releasable.close(); + assertEquals(2, count.get()); + releasable.close(); + assertEquals(2, count.get()); + } +} diff --git a/core/src/test/java/org/elasticsearch/common/TableTests.java b/core/src/test/java/org/elasticsearch/common/TableTests.java index 7e624cb749d..39b5801d7ff 100644 --- a/core/src/test/java/org/elasticsearch/common/TableTests.java +++ b/core/src/test/java/org/elasticsearch/common/TableTests.java @@ -200,6 +200,19 @@ public class TableTests extends ESTestCase { } + public void testAliasMap() { + Table table = new Table(); + table.startHeaders(); + table.addCell("asdf", "alias:a"); + table.addCell("ghij", "alias:g,h"); + table.endHeaders(); + Map aliasMap = table.getAliasMap(); + assertEquals(5, aliasMap.size()); + assertEquals("asdf", aliasMap.get("a")); + assertEquals("ghij", aliasMap.get("g")); + assertEquals("ghij", aliasMap.get("h")); + } + private Table getTableWithHeaders() { Table table = new Table(); table.startHeaders(); diff --git a/core/src/test/java/org/elasticsearch/common/compress/DeflateCompressedXContentTests.java b/core/src/test/java/org/elasticsearch/common/compress/DeflateCompressedXContentTests.java index 0ce95077965..f2c1f853e2a 100644 --- a/core/src/test/java/org/elasticsearch/common/compress/DeflateCompressedXContentTests.java +++ b/core/src/test/java/org/elasticsearch/common/compress/DeflateCompressedXContentTests.java @@ -32,9 +32,6 @@ import java.util.Random; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.not; -/** - * - */ public class DeflateCompressedXContentTests extends ESTestCase { private final Compressor compressor = new DeflateCompressor(); diff --git a/core/src/test/java/org/elasticsearch/common/lucene/all/SimpleAllTests.java b/core/src/test/java/org/elasticsearch/common/lucene/all/SimpleAllTests.java index 7c1aaf3a3c7..ff8b25c796d 100644 --- a/core/src/test/java/org/elasticsearch/common/lucene/all/SimpleAllTests.java +++ b/core/src/test/java/org/elasticsearch/common/lucene/all/SimpleAllTests.java @@ -44,9 +44,6 @@ import java.io.IOException; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class SimpleAllTests extends ESTestCase { private FieldType getAllFieldType() { FieldType ft = new FieldType(); diff --git a/core/src/test/java/org/elasticsearch/common/lucene/index/FreqTermsEnumTests.java b/core/src/test/java/org/elasticsearch/common/lucene/index/FreqTermsEnumTests.java index 3d1b0fdb842..546d62a0e1f 100644 --- a/core/src/test/java/org/elasticsearch/common/lucene/index/FreqTermsEnumTests.java +++ b/core/src/test/java/org/elasticsearch/common/lucene/index/FreqTermsEnumTests.java @@ -54,8 +54,6 @@ import java.util.Set; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; -/** - */ public class FreqTermsEnumTests extends ESTestCase { private String[] terms; diff --git a/core/src/test/java/org/elasticsearch/common/lucene/search/MatchNoDocsQueryTests.java b/core/src/test/java/org/elasticsearch/common/lucene/search/MatchNoDocsQueryTests.java deleted file mode 100644 index b328fd2ee9b..00000000000 --- a/core/src/test/java/org/elasticsearch/common/lucene/search/MatchNoDocsQueryTests.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to Elasticsearch under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.elasticsearch.common.lucene.search; - -import org.apache.lucene.document.Document; -import org.apache.lucene.document.Field; -import org.apache.lucene.document.TextField; -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.DirectoryReader; -import org.apache.lucene.index.IndexWriter; -import org.apache.lucene.index.IndexWriterConfig; -import org.apache.lucene.index.Term; -import org.apache.lucene.search.Query; -import org.apache.lucene.search.TermQuery; -import org.apache.lucene.search.BooleanQuery; -import org.apache.lucene.search.BooleanClause; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.store.RAMDirectory; -import org.elasticsearch.common.lucene.Lucene; -import org.elasticsearch.test.ESTestCase; - -import static org.hamcrest.Matchers.equalTo; - -public class MatchNoDocsQueryTests extends ESTestCase { - public void testSimple() throws Exception { - MatchNoDocsQuery query = new MatchNoDocsQuery("field 'title' not found"); - assertThat(query.toString(), equalTo("MatchNoDocsQuery[\"field 'title' not found\"]")); - Query rewrite = query.rewrite(null); - assertTrue(rewrite instanceof MatchNoDocsQuery); - assertThat(rewrite.toString(), equalTo("MatchNoDocsQuery[\"field 'title' not found\"]")); - } - - public void testSearch() throws Exception { - IndexWriter writer = new IndexWriter(new RAMDirectory(), new IndexWriterConfig(Lucene.STANDARD_ANALYZER)); - Document doc = new Document(); - doc.add(new Field("field", "aaa bbb ccc ddd", TextField.TYPE_NOT_STORED)); - writer.addDocument(doc); - IndexReader reader = DirectoryReader.open(writer); - IndexSearcher searcher = new IndexSearcher(reader); - - Query query = new MatchNoDocsQuery("field not found"); - assertThat(searcher.count(query), equalTo(0)); - - BooleanQuery.Builder bq = new BooleanQuery.Builder(); - bq.add(new BooleanClause(new TermQuery(new Term("field", "aaa")), BooleanClause.Occur.SHOULD)); - bq.add(new BooleanClause(new MatchNoDocsQuery("field not found"), BooleanClause.Occur.MUST)); - query = bq.build(); - assertThat(searcher.count(query), equalTo(0)); - assertThat(query.toString(), equalTo("field:aaa +MatchNoDocsQuery[\"field not found\"]")); - - - bq = new BooleanQuery.Builder(); - bq.add(new BooleanClause(new TermQuery(new Term("field", "aaa")), BooleanClause.Occur.SHOULD)); - bq.add(new BooleanClause(new MatchNoDocsQuery("field not found"), BooleanClause.Occur.SHOULD)); - query = bq.build(); - assertThat(query.toString(), equalTo("field:aaa MatchNoDocsQuery[\"field not found\"]")); - assertThat(searcher.count(query), equalTo(1)); - Query rewrite = query.rewrite(reader); - assertThat(rewrite.toString(), equalTo("field:aaa MatchNoDocsQuery[\"field not found\"]")); - } -} diff --git a/core/src/test/java/org/elasticsearch/common/lucene/search/morelikethis/MoreLikeThisQueryTests.java b/core/src/test/java/org/elasticsearch/common/lucene/search/morelikethis/MoreLikeThisQueryTests.java index 0dcce74c1d2..fb09ceb839c 100644 --- a/core/src/test/java/org/elasticsearch/common/lucene/search/morelikethis/MoreLikeThisQueryTests.java +++ b/core/src/test/java/org/elasticsearch/common/lucene/search/morelikethis/MoreLikeThisQueryTests.java @@ -35,9 +35,6 @@ import org.elasticsearch.test.ESTestCase; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class MoreLikeThisQueryTests extends ESTestCase { public void testSimple() throws Exception { Directory dir = new RAMDirectory(); diff --git a/core/src/test/java/org/elasticsearch/common/lucene/store/InputStreamIndexInputTests.java b/core/src/test/java/org/elasticsearch/common/lucene/store/InputStreamIndexInputTests.java index e8d8b914a4d..74de6b77f77 100644 --- a/core/src/test/java/org/elasticsearch/common/lucene/store/InputStreamIndexInputTests.java +++ b/core/src/test/java/org/elasticsearch/common/lucene/store/InputStreamIndexInputTests.java @@ -30,9 +30,6 @@ import java.io.IOException; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.lessThan; -/** - * - */ public class InputStreamIndexInputTests extends ESTestCase { public void testSingleReadSingleByteLimit() throws IOException { RAMDirectory dir = new RAMDirectory(); diff --git a/core/src/test/java/org/elasticsearch/common/path/PathTrieTests.java b/core/src/test/java/org/elasticsearch/common/path/PathTrieTests.java index 0121b855068..f20935406a0 100644 --- a/core/src/test/java/org/elasticsearch/common/path/PathTrieTests.java +++ b/core/src/test/java/org/elasticsearch/common/path/PathTrieTests.java @@ -28,9 +28,6 @@ import java.util.Map; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class PathTrieTests extends ESTestCase { public static final PathTrie.Decoder NO_DECODER = new PathTrie.Decoder() { diff --git a/core/src/test/java/org/elasticsearch/common/rounding/TimeZoneRoundingTests.java b/core/src/test/java/org/elasticsearch/common/rounding/TimeZoneRoundingTests.java index ff83ddfa57d..9e85db5f18e 100644 --- a/core/src/test/java/org/elasticsearch/common/rounding/TimeZoneRoundingTests.java +++ b/core/src/test/java/org/elasticsearch/common/rounding/TimeZoneRoundingTests.java @@ -42,8 +42,6 @@ import static org.hamcrest.Matchers.greaterThanOrEqualTo; import static org.hamcrest.Matchers.lessThan; import static org.hamcrest.Matchers.lessThanOrEqualTo; -/** - */ public class TimeZoneRoundingTests extends ESTestCase { public void testUTCTimeUnitRounding() { diff --git a/core/src/test/java/org/elasticsearch/common/unit/ByteSizeValueTests.java b/core/src/test/java/org/elasticsearch/common/unit/ByteSizeValueTests.java index 5296e226faa..814183281ce 100644 --- a/core/src/test/java/org/elasticsearch/common/unit/ByteSizeValueTests.java +++ b/core/src/test/java/org/elasticsearch/common/unit/ByteSizeValueTests.java @@ -31,9 +31,6 @@ import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; -/** - * - */ public class ByteSizeValueTests extends ESTestCase { public void testActualPeta() { MatcherAssert.assertThat(new ByteSizeValue(4, ByteSizeUnit.PB).getBytes(), equalTo(4503599627370496L)); @@ -170,13 +167,52 @@ public class ByteSizeValueTests extends ESTestCase { } } + public void testCompareEquality() { + long firstRandom = randomPositiveLong(); + ByteSizeUnit randomUnit = randomFrom(ByteSizeUnit.values()); + ByteSizeValue firstByteValue = new ByteSizeValue(firstRandom, randomUnit); + ByteSizeValue secondByteValue = new ByteSizeValue(firstRandom, randomUnit); + assertEquals(0, firstByteValue.compareTo(secondByteValue)); + } + + public void testCompareValue() { + long firstRandom = randomPositiveLong(); + long secondRandom = randomValueOtherThan(firstRandom, ESTestCase::randomPositiveLong); + ByteSizeUnit unit = randomFrom(ByteSizeUnit.values()); + ByteSizeValue firstByteValue = new ByteSizeValue(firstRandom, unit); + ByteSizeValue secondByteValue = new ByteSizeValue(secondRandom, unit); + assertEquals(firstRandom > secondRandom, firstByteValue.compareTo(secondByteValue) > 0); + assertEquals(secondRandom > firstRandom, secondByteValue.compareTo(firstByteValue) > 0); + } + + public void testCompareUnits() { + long number = randomPositiveLong(); + ByteSizeUnit randomUnit = randomValueOtherThan(ByteSizeUnit.PB, ()->randomFrom(ByteSizeUnit.values())); + ByteSizeValue firstByteValue = new ByteSizeValue(number, randomUnit); + ByteSizeValue secondByteValue = new ByteSizeValue(number, ByteSizeUnit.PB); + assertTrue(firstByteValue.compareTo(secondByteValue) < 0); + assertTrue(secondByteValue.compareTo(firstByteValue) > 0); + } + + public void testEdgeCompare() { + ByteSizeValue maxLongValuePB = new ByteSizeValue(Long.MAX_VALUE, ByteSizeUnit.PB); + ByteSizeValue maxLongValueB = new ByteSizeValue(Long.MAX_VALUE, ByteSizeUnit.BYTES); + assertTrue(maxLongValuePB.compareTo(maxLongValueB) > 0); + } + + public void testConversionHashCode() { + ByteSizeValue firstValue = new ByteSizeValue(randomIntBetween(0, Integer.MAX_VALUE), ByteSizeUnit.GB); + ByteSizeValue secondValue = new ByteSizeValue(firstValue.getBytes(), ByteSizeUnit.BYTES); + assertEquals(firstValue.hashCode(), secondValue.hashCode()); + } + public void testSerialization() throws IOException { ByteSizeValue byteSizeValue = new ByteSizeValue(randomPositiveLong(), randomFrom(ByteSizeUnit.values())); try (BytesStreamOutput out = new BytesStreamOutput()) { byteSizeValue.writeTo(out); try (StreamInput in = out.bytes().streamInput()) { ByteSizeValue deserializedByteSizeValue = new ByteSizeValue(in); - assertEquals(byteSizeValue, deserializedByteSizeValue); + assertEquals(byteSizeValue.getBytes(), deserializedByteSizeValue.getBytes()); } } } diff --git a/core/src/test/java/org/elasticsearch/common/unit/DistanceUnitTests.java b/core/src/test/java/org/elasticsearch/common/unit/DistanceUnitTests.java index 7c5463baed2..3d8ecdba424 100644 --- a/core/src/test/java/org/elasticsearch/common/unit/DistanceUnitTests.java +++ b/core/src/test/java/org/elasticsearch/common/unit/DistanceUnitTests.java @@ -28,9 +28,6 @@ import org.elasticsearch.test.ESTestCase; import static org.hamcrest.Matchers.closeTo; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class DistanceUnitTests extends ESTestCase { public void testSimpleDistanceUnit() { assertThat(DistanceUnit.KILOMETERS.convert(10, DistanceUnit.MILES), closeTo(16.09344, 0.001)); diff --git a/core/src/test/java/org/elasticsearch/common/unit/SizeValueTests.java b/core/src/test/java/org/elasticsearch/common/unit/SizeValueTests.java index b5fc54de7d0..3a97a11308b 100644 --- a/core/src/test/java/org/elasticsearch/common/unit/SizeValueTests.java +++ b/core/src/test/java/org/elasticsearch/common/unit/SizeValueTests.java @@ -23,9 +23,6 @@ import org.elasticsearch.test.ESTestCase; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.is; -/** - * - */ public class SizeValueTests extends ESTestCase { public void testThatConversionWorks() { SizeValue sizeValue = new SizeValue(1000); @@ -67,4 +64,37 @@ public class SizeValueTests extends ESTestCase { assertThat(e.getMessage(), containsString("may not be negative")); } } + + public void testCompareEquality() { + long randomValue = randomPositiveLong(); + SizeUnit randomUnit = randomFrom(SizeUnit.values()); + SizeValue firstValue = new SizeValue(randomValue, randomUnit); + SizeValue secondValue = new SizeValue(randomValue, randomUnit); + assertEquals(0, firstValue.compareTo(secondValue)); + } + + public void testCompareValue() { + long firstRandom = randomPositiveLong(); + long secondRandom = randomValueOtherThan(firstRandom, ESTestCase::randomPositiveLong); + SizeUnit unit = randomFrom(SizeUnit.values()); + SizeValue firstSizeValue = new SizeValue(firstRandom, unit); + SizeValue secondSizeValue = new SizeValue(secondRandom, unit); + assertEquals(firstRandom > secondRandom, firstSizeValue.compareTo(secondSizeValue) > 0); + assertEquals(secondRandom > firstRandom, secondSizeValue.compareTo(firstSizeValue) > 0); + } + + public void testCompareUnits() { + long number = randomPositiveLong(); + SizeUnit randomUnit = randomValueOtherThan(SizeUnit.PETA, ()->randomFrom(SizeUnit.values())); + SizeValue firstValue = new SizeValue(number, randomUnit); + SizeValue secondValue = new SizeValue(number, SizeUnit.PETA); + assertTrue(firstValue.compareTo(secondValue) < 0); + assertTrue(secondValue.compareTo(firstValue) > 0); + } + + public void testConversionHashCode() { + SizeValue firstValue = new SizeValue(randomIntBetween(0, Integer.MAX_VALUE), SizeUnit.GIGA); + SizeValue secondValue = new SizeValue(firstValue.getSingles(), SizeUnit.SINGLE); + assertEquals(firstValue.hashCode(), secondValue.hashCode()); + } } diff --git a/core/src/test/java/org/elasticsearch/common/unit/TimeValueTests.java b/core/src/test/java/org/elasticsearch/common/unit/TimeValueTests.java index 4d0ac5257a3..1f7e876f856 100644 --- a/core/src/test/java/org/elasticsearch/common/unit/TimeValueTests.java +++ b/core/src/test/java/org/elasticsearch/common/unit/TimeValueTests.java @@ -224,4 +224,37 @@ public class TimeValueTests extends ESTestCase { assertEquals("36h", new TimeValue(36, TimeUnit.HOURS).getStringRep()); assertEquals("1000d", new TimeValue(1000, TimeUnit.DAYS).getStringRep()); } + + public void testCompareEquality() { + long randomLong = randomPositiveLong(); + TimeUnit randomUnit = randomFrom(TimeUnit.values()); + TimeValue firstValue = new TimeValue(randomLong, randomUnit); + TimeValue secondValue = new TimeValue(randomLong, randomUnit); + assertEquals(0, firstValue.compareTo(secondValue)); + } + + public void testCompareValue() { + long firstRandom = randomPositiveLong(); + long secondRandom = randomValueOtherThan(firstRandom, ESTestCase::randomPositiveLong); + TimeUnit unit = randomFrom(TimeUnit.values()); + TimeValue firstValue = new TimeValue(firstRandom, unit); + TimeValue secondValue = new TimeValue(secondRandom, unit); + assertEquals(firstRandom > secondRandom, firstValue.compareTo(secondValue) > 0); + assertEquals(secondRandom > firstRandom, secondValue.compareTo(firstValue) > 0); + } + + public void testCompareUnits() { + long number = randomPositiveLong(); + TimeUnit randomUnit = randomValueOtherThan(TimeUnit.DAYS, ()->randomFrom(TimeUnit.values())); + TimeValue firstValue = new TimeValue(number, randomUnit); + TimeValue secondValue = new TimeValue(number, TimeUnit.DAYS); + assertTrue(firstValue.compareTo(secondValue) < 0); + assertTrue(secondValue.compareTo(firstValue) > 0); + } + + public void testConversionHashCode() { + TimeValue firstValue = new TimeValue(randomIntBetween(0, Integer.MAX_VALUE), TimeUnit.MINUTES); + TimeValue secondValue = new TimeValue(firstValue.getSeconds(), TimeUnit.SECONDS); + assertEquals(firstValue.hashCode(), secondValue.hashCode()); + } } diff --git a/core/src/test/java/org/elasticsearch/common/util/ArrayUtilsTests.java b/core/src/test/java/org/elasticsearch/common/util/ArrayUtilsTests.java index 172a064b698..8a346ed4fbe 100644 --- a/core/src/test/java/org/elasticsearch/common/util/ArrayUtilsTests.java +++ b/core/src/test/java/org/elasticsearch/common/util/ArrayUtilsTests.java @@ -27,9 +27,6 @@ import java.util.BitSet; import static org.hamcrest.Matchers.is; -/** - * - */ public class ArrayUtilsTests extends ESTestCase { public void testBinarySearch() throws Exception { for (int j = 0; j < 100; j++) { diff --git a/core/src/test/java/org/elasticsearch/common/util/BigArraysTests.java b/core/src/test/java/org/elasticsearch/common/util/BigArraysTests.java index 6fadb6e5506..301f48f9b04 100644 --- a/core/src/test/java/org/elasticsearch/common/util/BigArraysTests.java +++ b/core/src/test/java/org/elasticsearch/common/util/BigArraysTests.java @@ -27,14 +27,14 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.unit.ByteSizeUnit; import org.elasticsearch.indices.breaker.HierarchyCircuitBreakerService; import org.elasticsearch.indices.breaker.NoneCircuitBreakerService; -import org.elasticsearch.test.ESSingleNodeTestCase; +import org.elasticsearch.test.ESTestCase; import org.junit.Before; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Arrays; -public class BigArraysTests extends ESSingleNodeTestCase { +public class BigArraysTests extends ESTestCase { private BigArrays randombigArrays() { return new MockBigArrays(Settings.EMPTY, new NoneCircuitBreakerService()); diff --git a/core/src/test/java/org/elasticsearch/common/util/concurrent/RefCountedTests.java b/core/src/test/java/org/elasticsearch/common/util/concurrent/RefCountedTests.java index c5d0ec4257e..ed4c7c9f7bb 100644 --- a/core/src/test/java/org/elasticsearch/common/util/concurrent/RefCountedTests.java +++ b/core/src/test/java/org/elasticsearch/common/util/concurrent/RefCountedTests.java @@ -30,8 +30,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; -/** - */ public class RefCountedTests extends ESTestCase { public void testRefCount() throws IOException { MyRefCounted counted = new MyRefCounted(); diff --git a/core/src/test/java/org/elasticsearch/common/xcontent/BaseXContentTestCase.java b/core/src/test/java/org/elasticsearch/common/xcontent/BaseXContentTestCase.java index 227918ff971..e1311483777 100644 --- a/core/src/test/java/org/elasticsearch/common/xcontent/BaseXContentTestCase.java +++ b/core/src/test/java/org/elasticsearch/common/xcontent/BaseXContentTestCase.java @@ -47,15 +47,18 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.math.BigInteger; import java.nio.file.Path; +import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Collections; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Locale; import java.util.Map; import java.util.concurrent.TimeUnit; +import static java.util.Collections.emptyMap; import static java.util.Collections.singletonMap; import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.containsString; @@ -846,6 +849,140 @@ public abstract class BaseXContentTestCase extends ESTestCase { XContentBuilder.ensureNotNull("foo", "No exception must be thrown"); } + public void testEnsureNoSelfReferences() throws IOException { + XContentBuilder.ensureNoSelfReferences(emptyMap()); + XContentBuilder.ensureNoSelfReferences(null); + + Map map = new HashMap<>(); + map.put("field", map); + + IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> builder().map(map)); + assertThat(e.getMessage(), containsString("Object has already been built and is self-referencing itself")); + } + + /** + * Test that the same map written multiple times do not trigger the self-reference check in + * {@link XContentBuilder#ensureNoSelfReferences(Object)} + */ + public void testRepeatedMapsAndNoSelfReferences() throws Exception { + Map mapB = singletonMap("b", "B"); + Map mapC = singletonMap("c", "C"); + Map mapD = singletonMap("d", "D"); + Map mapA = new HashMap<>(); + mapA.put("a", 0); + mapA.put("b1", mapB); + mapA.put("b2", mapB); + mapA.put("c", Arrays.asList(mapC, mapC)); + mapA.put("d1", mapD); + mapA.put("d2", singletonMap("d3", mapD)); + + final String expected = + "{'map':{'b2':{'b':'B'},'a':0,'c':[{'c':'C'},{'c':'C'}],'d1':{'d':'D'},'d2':{'d3':{'d':'D'}},'b1':{'b':'B'}}}"; + + assertResult(expected, () -> builder().startObject().field("map", mapA).endObject()); + assertResult(expected, () -> builder().startObject().field("map").value(mapA).endObject()); + assertResult(expected, () -> builder().startObject().field("map").map(mapA).endObject()); + } + + public void testSelfReferencingMapsOneLevel() throws IOException { + Map map0 = new HashMap<>(); + Map map1 = new HashMap<>(); + + map0.put("foo", 0); + map0.put("map1", map1); // map 0 -> map 1 + + map1.put("bar", 1); + map1.put("map0", map0); // map 1 -> map 0 loop + + IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> builder().map(map0)); + assertThat(e.getMessage(), containsString("Object has already been built and is self-referencing itself")); + } + + public void testSelfReferencingMapsTwoLevels() throws IOException { + Map map0 = new HashMap<>(); + Map map1 = new HashMap<>(); + Map map2 = new HashMap<>(); + + map0.put("foo", 0); + map0.put("map1", map1); // map 0 -> map 1 + + map1.put("bar", 1); + map1.put("map2", map2); // map 1 -> map 2 + + map2.put("baz", 2); + map2.put("map0", map0); // map 2 -> map 0 loop + + IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> builder().map(map0)); + assertThat(e.getMessage(), containsString("Object has already been built and is self-referencing itself")); + } + + public void testSelfReferencingObjectsArray() throws IOException { + Object[] values = new Object[3]; + values[0] = 0; + values[1] = 1; + values[2] = values; + + IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> builder() + .startObject() + .field("field", values) + .endObject()); + assertThat(e.getMessage(), containsString("Object has already been built and is self-referencing itself")); + + e = expectThrows(IllegalArgumentException.class, () -> builder() + .startObject() + .array("field", values) + .endObject()); + assertThat(e.getMessage(), containsString("Object has already been built and is self-referencing itself")); + } + + public void testSelfReferencingIterable() throws IOException { + List values = new ArrayList<>(); + values.add("foo"); + values.add("bar"); + values.add(values); + + IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> builder() + .startObject() + .field("field", (Iterable) values) + .endObject()); + assertThat(e.getMessage(), containsString("Object has already been built and is self-referencing itself")); + } + + public void testSelfReferencingIterableOneLevel() throws IOException { + Map map = new HashMap<>(); + map.put("foo", 0); + map.put("bar", 1); + + Iterable values = Arrays.asList("one", "two", map); + map.put("baz", values); + + IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> builder() + .startObject() + .field("field", (Iterable) values) + .endObject()); + assertThat(e.getMessage(), containsString("Object has already been built and is self-referencing itself")); + } + + public void testSelfReferencingIterableTwoLevels() throws IOException { + Map map0 = new HashMap<>(); + Map map1 = new HashMap<>(); + Map map2 = new HashMap<>(); + + List it1 = new ArrayList<>(); + + map0.put("foo", 0); + map0.put("it1", (Iterable) it1); // map 0 -> it1 + + it1.add(map1); + it1.add(map2); // it 1 -> map 1, map 2 + + map2.put("baz", 2); + map2.put("map0", map0); // map 2 -> map 0 loop + + IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> builder().map(map0)); + assertThat(e.getMessage(), containsString("Object has already been built and is self-referencing itself")); + } + private static void expectUnclosedException(ThrowingRunnable runnable) { IllegalStateException e = expectThrows(IllegalStateException.class, runnable); assertThat(e.getMessage(), containsString("Failed to close the XContentBuilder")); diff --git a/core/src/test/java/org/elasticsearch/common/xcontent/XContentFactoryTests.java b/core/src/test/java/org/elasticsearch/common/xcontent/XContentFactoryTests.java index 8319873878a..8a3d0ef9ccf 100644 --- a/core/src/test/java/org/elasticsearch/common/xcontent/XContentFactoryTests.java +++ b/core/src/test/java/org/elasticsearch/common/xcontent/XContentFactoryTests.java @@ -30,9 +30,6 @@ import java.io.IOException; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class XContentFactoryTests extends ESTestCase { public void testGuessJson() throws IOException { testGuessType(XContentType.JSON); diff --git a/core/src/test/java/org/elasticsearch/common/xcontent/cbor/JsonVsCborTests.java b/core/src/test/java/org/elasticsearch/common/xcontent/cbor/JsonVsCborTests.java index fb726b97e3e..8852f090ef6 100644 --- a/core/src/test/java/org/elasticsearch/common/xcontent/cbor/JsonVsCborTests.java +++ b/core/src/test/java/org/elasticsearch/common/xcontent/cbor/JsonVsCborTests.java @@ -31,9 +31,6 @@ import java.io.IOException; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class JsonVsCborTests extends ESTestCase { public void testCompareParsingTokens() throws IOException { BytesStreamOutput xsonOs = new BytesStreamOutput(); diff --git a/core/src/test/java/org/elasticsearch/common/xcontent/smile/JsonVsSmileTests.java b/core/src/test/java/org/elasticsearch/common/xcontent/smile/JsonVsSmileTests.java index ecf49be6629..9f2910bc11f 100644 --- a/core/src/test/java/org/elasticsearch/common/xcontent/smile/JsonVsSmileTests.java +++ b/core/src/test/java/org/elasticsearch/common/xcontent/smile/JsonVsSmileTests.java @@ -31,9 +31,6 @@ import java.io.IOException; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class JsonVsSmileTests extends ESTestCase { public void testCompareParsingTokens() throws IOException { BytesStreamOutput xsonOs = new BytesStreamOutput(); diff --git a/core/src/test/java/org/elasticsearch/common/xcontent/support/XContentMapValuesTests.java b/core/src/test/java/org/elasticsearch/common/xcontent/support/XContentMapValuesTests.java index d7e363b3274..7e757c0bbc4 100644 --- a/core/src/test/java/org/elasticsearch/common/xcontent/support/XContentMapValuesTests.java +++ b/core/src/test/java/org/elasticsearch/common/xcontent/support/XContentMapValuesTests.java @@ -44,8 +44,6 @@ import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.nullValue; import static org.hamcrest.core.IsEqual.equalTo; -/** - */ public class XContentMapValuesTests extends ESTestCase { public void testFilter() throws Exception { XContentBuilder builder = XContentFactory.jsonBuilder().startObject() diff --git a/core/src/test/java/org/elasticsearch/deps/jackson/JacksonLocationTests.java b/core/src/test/java/org/elasticsearch/deps/jackson/JacksonLocationTests.java index c25a0a6503b..4c84d7c6722 100644 --- a/core/src/test/java/org/elasticsearch/deps/jackson/JacksonLocationTests.java +++ b/core/src/test/java/org/elasticsearch/deps/jackson/JacksonLocationTests.java @@ -30,9 +30,6 @@ import java.io.IOException; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class JacksonLocationTests extends ESTestCase { public void testLocationExtraction() throws IOException { // { diff --git a/core/src/test/java/org/elasticsearch/deps/joda/SimpleJodaTests.java b/core/src/test/java/org/elasticsearch/deps/joda/SimpleJodaTests.java index 442a566a77e..9ed433918d1 100644 --- a/core/src/test/java/org/elasticsearch/deps/joda/SimpleJodaTests.java +++ b/core/src/test/java/org/elasticsearch/deps/joda/SimpleJodaTests.java @@ -42,9 +42,6 @@ import static org.hamcrest.Matchers.endsWith; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; -/** - * - */ public class SimpleJodaTests extends ESTestCase { public void testMultiParsers() { DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder(); diff --git a/core/src/test/java/org/elasticsearch/deps/lucene/SimpleLuceneTests.java b/core/src/test/java/org/elasticsearch/deps/lucene/SimpleLuceneTests.java index 1455b397e74..2b08213ab43 100644 --- a/core/src/test/java/org/elasticsearch/deps/lucene/SimpleLuceneTests.java +++ b/core/src/test/java/org/elasticsearch/deps/lucene/SimpleLuceneTests.java @@ -60,9 +60,6 @@ import java.util.ArrayList; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class SimpleLuceneTests extends ESTestCase { public void testSortValues() throws Exception { Directory dir = new RAMDirectory(); diff --git a/core/src/test/java/org/elasticsearch/deps/lucene/VectorHighlighterTests.java b/core/src/test/java/org/elasticsearch/deps/lucene/VectorHighlighterTests.java index fbb5115903c..5e02da294c8 100644 --- a/core/src/test/java/org/elasticsearch/deps/lucene/VectorHighlighterTests.java +++ b/core/src/test/java/org/elasticsearch/deps/lucene/VectorHighlighterTests.java @@ -44,9 +44,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class VectorHighlighterTests extends ESTestCase { public void testVectorHighlighter() throws Exception { Directory dir = new RAMDirectory(); diff --git a/core/src/test/java/org/elasticsearch/discovery/DiscoveryModuleTests.java b/core/src/test/java/org/elasticsearch/discovery/DiscoveryModuleTests.java index 3b436f45410..ec5a20c83e6 100644 --- a/core/src/test/java/org/elasticsearch/discovery/DiscoveryModuleTests.java +++ b/core/src/test/java/org/elasticsearch/discovery/DiscoveryModuleTests.java @@ -24,8 +24,6 @@ import org.elasticsearch.discovery.zen.ElectMasterService; import org.elasticsearch.discovery.zen.ZenDiscovery; import org.elasticsearch.test.NoopDiscovery; -/** - */ public class DiscoveryModuleTests extends ModuleTestCase { public static class DummyMasterElectionService extends ElectMasterService { diff --git a/core/src/test/java/org/elasticsearch/document/AliasedIndexDocumentActionsIT.java b/core/src/test/java/org/elasticsearch/document/AliasedIndexDocumentActionsIT.java index d9371df09ae..8d9cacd5f0e 100644 --- a/core/src/test/java/org/elasticsearch/document/AliasedIndexDocumentActionsIT.java +++ b/core/src/test/java/org/elasticsearch/document/AliasedIndexDocumentActionsIT.java @@ -23,9 +23,6 @@ import org.elasticsearch.action.admin.indices.alias.Alias; import static org.elasticsearch.client.Requests.createIndexRequest; -/** - * - */ public class AliasedIndexDocumentActionsIT extends DocumentActionsIT { @Override diff --git a/core/src/test/java/org/elasticsearch/document/ShardInfoIT.java b/core/src/test/java/org/elasticsearch/document/ShardInfoIT.java index 0ba97bee899..814a861139e 100644 --- a/core/src/test/java/org/elasticsearch/document/ShardInfoIT.java +++ b/core/src/test/java/org/elasticsearch/document/ShardInfoIT.java @@ -39,8 +39,6 @@ import static org.hamcrest.Matchers.greaterThanOrEqualTo; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; -/** - */ public class ShardInfoIT extends ESIntegTestCase { private int numCopies; private int numNodes; diff --git a/core/src/test/java/org/elasticsearch/explain/ExplainActionIT.java b/core/src/test/java/org/elasticsearch/explain/ExplainActionIT.java index 528b03bc831..30ae9a7b6f7 100644 --- a/core/src/test/java/org/elasticsearch/explain/ExplainActionIT.java +++ b/core/src/test/java/org/elasticsearch/explain/ExplainActionIT.java @@ -46,8 +46,6 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcke import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.notNullValue; -/** - */ public class ExplainActionIT extends ESIntegTestCase { public void testSimple() throws Exception { assertAcked(prepareCreate("test") diff --git a/core/src/test/java/org/elasticsearch/fieldstats/FieldStatsTests.java b/core/src/test/java/org/elasticsearch/fieldstats/FieldStatsTests.java index 8cd1b479416..a9134c9ba4e 100644 --- a/core/src/test/java/org/elasticsearch/fieldstats/FieldStatsTests.java +++ b/core/src/test/java/org/elasticsearch/fieldstats/FieldStatsTests.java @@ -48,8 +48,6 @@ import static org.elasticsearch.action.fieldstats.IndexConstraint.Property.MIN; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; -/** - */ public class FieldStatsTests extends ESSingleNodeTestCase { public void testByte() { testNumberRange("field1", "byte", 12, 18); diff --git a/core/src/test/java/org/elasticsearch/gateway/AsyncShardFetchTests.java b/core/src/test/java/org/elasticsearch/gateway/AsyncShardFetchTests.java index 1f2dbd608bb..13e39a342dc 100644 --- a/core/src/test/java/org/elasticsearch/gateway/AsyncShardFetchTests.java +++ b/core/src/test/java/org/elasticsearch/gateway/AsyncShardFetchTests.java @@ -41,8 +41,6 @@ import static java.util.Collections.emptySet; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.sameInstance; -/** - */ public class AsyncShardFetchTests extends ESTestCase { private final DiscoveryNode node1 = new DiscoveryNode("node1", buildNewFakeTransportAddress(), Collections.emptyMap(), Collections.singleton(DiscoveryNode.Role.DATA), Version.CURRENT); diff --git a/core/src/test/java/org/elasticsearch/gateway/DanglingIndicesStateTests.java b/core/src/test/java/org/elasticsearch/gateway/DanglingIndicesStateTests.java index 74df2f33fc0..581ef0f99a3 100644 --- a/core/src/test/java/org/elasticsearch/gateway/DanglingIndicesStateTests.java +++ b/core/src/test/java/org/elasticsearch/gateway/DanglingIndicesStateTests.java @@ -35,8 +35,6 @@ import java.util.Map; import static org.hamcrest.Matchers.equalTo; -/** - */ public class DanglingIndicesStateTests extends ESTestCase { private static Settings indexSettings = Settings.builder() diff --git a/core/src/test/java/org/elasticsearch/gateway/MetaStateServiceTests.java b/core/src/test/java/org/elasticsearch/gateway/MetaStateServiceTests.java index 82c38748a48..62f040c0163 100644 --- a/core/src/test/java/org/elasticsearch/gateway/MetaStateServiceTests.java +++ b/core/src/test/java/org/elasticsearch/gateway/MetaStateServiceTests.java @@ -30,8 +30,6 @@ import org.elasticsearch.test.ESTestCase; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.nullValue; -/** - */ public class MetaStateServiceTests extends ESTestCase { private static Settings indexSettings = Settings.builder() .put(IndexMetaData.SETTING_NUMBER_OF_SHARDS, 1) diff --git a/core/src/test/java/org/elasticsearch/gateway/PrimaryShardAllocatorTests.java b/core/src/test/java/org/elasticsearch/gateway/PrimaryShardAllocatorTests.java index 0fd89ec8898..2af4d49f742 100644 --- a/core/src/test/java/org/elasticsearch/gateway/PrimaryShardAllocatorTests.java +++ b/core/src/test/java/org/elasticsearch/gateway/PrimaryShardAllocatorTests.java @@ -65,8 +65,6 @@ import static org.hamcrest.Matchers.anyOf; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.lessThanOrEqualTo; -/** - */ public class PrimaryShardAllocatorTests extends ESAllocationTestCase { private final ShardId shardId = new ShardId("test", "_na_", 0); diff --git a/core/src/test/java/org/elasticsearch/gateway/QuorumGatewayIT.java b/core/src/test/java/org/elasticsearch/gateway/QuorumGatewayIT.java index c820bccae51..226b1422b4d 100644 --- a/core/src/test/java/org/elasticsearch/gateway/QuorumGatewayIT.java +++ b/core/src/test/java/org/elasticsearch/gateway/QuorumGatewayIT.java @@ -37,9 +37,6 @@ import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures; -/** - * - */ @ClusterScope(numDataNodes =0, scope= Scope.TEST) public class QuorumGatewayIT extends ESIntegTestCase { @Override diff --git a/core/src/test/java/org/elasticsearch/gateway/ReplicaShardAllocatorTests.java b/core/src/test/java/org/elasticsearch/gateway/ReplicaShardAllocatorTests.java index 188f10c588e..22f7fe2498f 100644 --- a/core/src/test/java/org/elasticsearch/gateway/ReplicaShardAllocatorTests.java +++ b/core/src/test/java/org/elasticsearch/gateway/ReplicaShardAllocatorTests.java @@ -63,8 +63,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import static java.util.Collections.unmodifiableMap; import static org.hamcrest.Matchers.equalTo; -/** - */ public class ReplicaShardAllocatorTests extends ESAllocationTestCase { private final ShardId shardId = new ShardId("test", "_na_", 0); private final DiscoveryNode node1 = newNode("node1"); diff --git a/core/src/test/java/org/elasticsearch/index/IndexWithShadowReplicasIT.java b/core/src/test/java/org/elasticsearch/index/IndexWithShadowReplicasIT.java index 143fdc9fc28..7bae67f5b2f 100644 --- a/core/src/test/java/org/elasticsearch/index/IndexWithShadowReplicasIT.java +++ b/core/src/test/java/org/elasticsearch/index/IndexWithShadowReplicasIT.java @@ -599,7 +599,7 @@ public class IndexWithShadowReplicasIT extends ESIntegTestCase { // deleting the index and hence, deleting all the shard data for the index, the test // failure still showed some Lucene files in the data directory for that index. Not sure // why that is, so turning on more logging here. - @TestLogging("org.elasticsearch.indices:TRACE,org.elasticsearch.env:TRACE") + @TestLogging("org.elasticsearch.indices:TRACE,org.elasticsearch.env:TRACE,_root:DEBUG") public void testShadowReplicaNaturalRelocation() throws Exception { Path dataPath = createTempDir(); Settings nodeSettings = nodeSettings(dataPath); diff --git a/core/src/test/java/org/elasticsearch/index/analysis/CharFilterTests.java b/core/src/test/java/org/elasticsearch/index/analysis/CharFilterTests.java index 206dffd0fb7..f993cc1490c 100644 --- a/core/src/test/java/org/elasticsearch/index/analysis/CharFilterTests.java +++ b/core/src/test/java/org/elasticsearch/index/analysis/CharFilterTests.java @@ -28,8 +28,6 @@ import org.elasticsearch.test.IndexSettingsModule; import static org.elasticsearch.test.ESTestCase.createTestAnalysis; -/** - */ public class CharFilterTests extends ESTokenStreamTestCase { public void testMappingCharFilter() throws Exception { Settings settings = Settings.builder() diff --git a/core/src/test/java/org/elasticsearch/index/analysis/CompoundAnalysisTests.java b/core/src/test/java/org/elasticsearch/index/analysis/CompoundAnalysisTests.java index ede42404558..e8734331167 100644 --- a/core/src/test/java/org/elasticsearch/index/analysis/CompoundAnalysisTests.java +++ b/core/src/test/java/org/elasticsearch/index/analysis/CompoundAnalysisTests.java @@ -49,8 +49,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.hasItems; import static org.hamcrest.Matchers.instanceOf; -/** - */ public class CompoundAnalysisTests extends ESTestCase { public void testDefaultsCompoundAnalysis() throws Exception { Settings settings = getJsonSettings(); diff --git a/core/src/test/java/org/elasticsearch/index/analysis/PreBuiltAnalyzerTests.java b/core/src/test/java/org/elasticsearch/index/analysis/PreBuiltAnalyzerTests.java index b1dcdec646b..7dc55b43700 100644 --- a/core/src/test/java/org/elasticsearch/index/analysis/PreBuiltAnalyzerTests.java +++ b/core/src/test/java/org/elasticsearch/index/analysis/PreBuiltAnalyzerTests.java @@ -39,9 +39,6 @@ import static org.elasticsearch.test.VersionUtils.randomVersion; import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.is; -/** - * - */ public class PreBuiltAnalyzerTests extends ESSingleNodeTestCase { @Override diff --git a/core/src/test/java/org/elasticsearch/index/analysis/StemmerTokenFilterFactoryTests.java b/core/src/test/java/org/elasticsearch/index/analysis/StemmerTokenFilterFactoryTests.java index 7c4818c63b3..c4632e57490 100644 --- a/core/src/test/java/org/elasticsearch/index/analysis/StemmerTokenFilterFactoryTests.java +++ b/core/src/test/java/org/elasticsearch/index/analysis/StemmerTokenFilterFactoryTests.java @@ -37,9 +37,6 @@ import static com.carrotsearch.randomizedtesting.RandomizedTest.scaledRandomIntB import static org.elasticsearch.cluster.metadata.IndexMetaData.SETTING_VERSION_CREATED; import static org.hamcrest.Matchers.instanceOf; -/** - * - */ public class StemmerTokenFilterFactoryTests extends ESTokenStreamTestCase { public void testEnglishFilterFactory() throws IOException { int iters = scaledRandomIntBetween(20, 100); diff --git a/core/src/test/java/org/elasticsearch/index/analysis/commongrams/CommonGramsTokenFilterFactoryTests.java b/core/src/test/java/org/elasticsearch/index/analysis/commongrams/CommonGramsTokenFilterFactoryTests.java index ed6866e6a81..19c6bf64dcc 100644 --- a/core/src/test/java/org/elasticsearch/index/analysis/commongrams/CommonGramsTokenFilterFactoryTests.java +++ b/core/src/test/java/org/elasticsearch/index/analysis/commongrams/CommonGramsTokenFilterFactoryTests.java @@ -36,6 +36,7 @@ import java.io.InputStream; import java.io.StringReader; import java.nio.file.Files; import java.nio.file.Path; + public class CommonGramsTokenFilterFactoryTests extends ESTokenStreamTestCase { public void testDefault() throws IOException { Settings settings = Settings.builder() diff --git a/core/src/test/java/org/elasticsearch/index/analysis/synonyms/SynonymsAnalysisTests.java b/core/src/test/java/org/elasticsearch/index/analysis/synonyms/SynonymsAnalysisTests.java index c6dfdc1a413..c4842e497ef 100644 --- a/core/src/test/java/org/elasticsearch/index/analysis/synonyms/SynonymsAnalysisTests.java +++ b/core/src/test/java/org/elasticsearch/index/analysis/synonyms/SynonymsAnalysisTests.java @@ -42,8 +42,6 @@ import java.nio.file.Path; import static org.hamcrest.Matchers.equalTo; -/** - */ public class SynonymsAnalysisTests extends ESTestCase { protected final Logger logger = Loggers.getLogger(getClass()); private IndexAnalyzers indexAnalyzers; diff --git a/core/src/test/java/org/elasticsearch/index/engine/EngineSearcherTotalHitsMatcher.java b/core/src/test/java/org/elasticsearch/index/engine/EngineSearcherTotalHitsMatcher.java index 362ee9c5332..767b0511ddf 100644 --- a/core/src/test/java/org/elasticsearch/index/engine/EngineSearcherTotalHitsMatcher.java +++ b/core/src/test/java/org/elasticsearch/index/engine/EngineSearcherTotalHitsMatcher.java @@ -27,9 +27,6 @@ import org.hamcrest.TypeSafeMatcher; import java.io.IOException; -/** - * - */ public final class EngineSearcherTotalHitsMatcher extends TypeSafeMatcher { private final Query query; diff --git a/core/src/test/java/org/elasticsearch/index/fielddata/AbstractGeoFieldDataTestCase.java b/core/src/test/java/org/elasticsearch/index/fielddata/AbstractGeoFieldDataTestCase.java index 4e4d638d355..b1a3c9c0886 100644 --- a/core/src/test/java/org/elasticsearch/index/fielddata/AbstractGeoFieldDataTestCase.java +++ b/core/src/test/java/org/elasticsearch/index/fielddata/AbstractGeoFieldDataTestCase.java @@ -33,9 +33,6 @@ import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.greaterThanOrEqualTo; import static org.hamcrest.Matchers.lessThanOrEqualTo; -/** - * - */ public abstract class AbstractGeoFieldDataTestCase extends AbstractFieldDataImplTestCase { @Override protected abstract String getFieldDataType(); diff --git a/core/src/test/java/org/elasticsearch/index/fielddata/AbstractStringFieldDataTestCase.java b/core/src/test/java/org/elasticsearch/index/fielddata/AbstractStringFieldDataTestCase.java index 741a1b54526..13f194a23ba 100644 --- a/core/src/test/java/org/elasticsearch/index/fielddata/AbstractStringFieldDataTestCase.java +++ b/core/src/test/java/org/elasticsearch/index/fielddata/AbstractStringFieldDataTestCase.java @@ -67,8 +67,6 @@ import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.nullValue; import static org.hamcrest.Matchers.sameInstance; -/** - */ public abstract class AbstractStringFieldDataTestCase extends AbstractFieldDataImplTestCase { private void addField(Document d, String name, String value) { d.add(new StringField(name, value, Field.Store.YES)); diff --git a/core/src/test/java/org/elasticsearch/index/fielddata/BinaryDVFieldDataTests.java b/core/src/test/java/org/elasticsearch/index/fielddata/BinaryDVFieldDataTests.java index 5f8beb12424..eb5b1f2b874 100644 --- a/core/src/test/java/org/elasticsearch/index/fielddata/BinaryDVFieldDataTests.java +++ b/core/src/test/java/org/elasticsearch/index/fielddata/BinaryDVFieldDataTests.java @@ -32,9 +32,6 @@ import org.elasticsearch.index.mapper.ParsedDocument; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class BinaryDVFieldDataTests extends AbstractFieldDataTestCase { @Override protected boolean hasDocValues() { diff --git a/core/src/test/java/org/elasticsearch/index/fielddata/FieldDataLoadingIT.java b/core/src/test/java/org/elasticsearch/index/fielddata/FieldDataLoadingIT.java index bbc3a03f0a3..6a96fd01f0a 100644 --- a/core/src/test/java/org/elasticsearch/index/fielddata/FieldDataLoadingIT.java +++ b/core/src/test/java/org/elasticsearch/index/fielddata/FieldDataLoadingIT.java @@ -26,8 +26,6 @@ import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; import static org.hamcrest.Matchers.greaterThan; -/** - */ public class FieldDataLoadingIT extends ESIntegTestCase { public void testEagerGlobalOrdinalsFieldDataLoading() throws Exception { diff --git a/core/src/test/java/org/elasticsearch/index/fielddata/PagedBytesStringFieldDataTests.java b/core/src/test/java/org/elasticsearch/index/fielddata/PagedBytesStringFieldDataTests.java index 25a232f68f9..a23456ce7ef 100644 --- a/core/src/test/java/org/elasticsearch/index/fielddata/PagedBytesStringFieldDataTests.java +++ b/core/src/test/java/org/elasticsearch/index/fielddata/PagedBytesStringFieldDataTests.java @@ -19,8 +19,6 @@ package org.elasticsearch.index.fielddata; -/** - */ public class PagedBytesStringFieldDataTests extends AbstractStringFieldDataTestCase { @Override diff --git a/core/src/test/java/org/elasticsearch/index/fielddata/ParentChildFieldDataTests.java b/core/src/test/java/org/elasticsearch/index/fielddata/ParentChildFieldDataTests.java index e722e29bc42..1f23f726ef6 100644 --- a/core/src/test/java/org/elasticsearch/index/fielddata/ParentChildFieldDataTests.java +++ b/core/src/test/java/org/elasticsearch/index/fielddata/ParentChildFieldDataTests.java @@ -54,8 +54,6 @@ import java.util.concurrent.atomic.AtomicReference; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.nullValue; -/** - */ public class ParentChildFieldDataTests extends AbstractFieldDataTestCase { private final String parentType = "parent"; private final String childType = "child"; diff --git a/core/src/test/java/org/elasticsearch/index/fielddata/ordinals/MultiOrdinalsTests.java b/core/src/test/java/org/elasticsearch/index/fielddata/ordinals/MultiOrdinalsTests.java index 3f1e367952e..c594427b7e8 100644 --- a/core/src/test/java/org/elasticsearch/index/fielddata/ordinals/MultiOrdinalsTests.java +++ b/core/src/test/java/org/elasticsearch/index/fielddata/ordinals/MultiOrdinalsTests.java @@ -36,8 +36,6 @@ import java.util.Set; import static org.hamcrest.Matchers.equalTo; -/** - */ public class MultiOrdinalsTests extends ESTestCase { protected Ordinals creationMultiOrdinals(OrdinalsBuilder builder) { diff --git a/core/src/test/java/org/elasticsearch/index/fielddata/ordinals/SingleOrdinalsTests.java b/core/src/test/java/org/elasticsearch/index/fielddata/ordinals/SingleOrdinalsTests.java index b699bb278c9..9eb73e93324 100644 --- a/core/src/test/java/org/elasticsearch/index/fielddata/ordinals/SingleOrdinalsTests.java +++ b/core/src/test/java/org/elasticsearch/index/fielddata/ordinals/SingleOrdinalsTests.java @@ -31,8 +31,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.not; -/** - */ public class SingleOrdinalsTests extends ESTestCase { public void testSvValues() throws IOException { int numDocs = 1000000; diff --git a/core/src/test/java/org/elasticsearch/index/mapper/BinaryFieldMapperTests.java b/core/src/test/java/org/elasticsearch/index/mapper/BinaryFieldMapperTests.java index a294a291a6a..989f1fa6835 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/BinaryFieldMapperTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/BinaryFieldMapperTests.java @@ -44,8 +44,6 @@ import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.instanceOf; -/** - */ public class BinaryFieldMapperTests extends ESSingleNodeTestCase { @Override diff --git a/core/src/test/java/org/elasticsearch/index/mapper/CamelCaseFieldNameTests.java b/core/src/test/java/org/elasticsearch/index/mapper/CamelCaseFieldNameTests.java index d8894139cfa..7bf23fa4184 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/CamelCaseFieldNameTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/CamelCaseFieldNameTests.java @@ -25,9 +25,6 @@ import org.elasticsearch.index.mapper.DocumentMapper; import org.elasticsearch.index.mapper.ParsedDocument; import org.elasticsearch.test.ESSingleNodeTestCase; -/** - * - */ public class CamelCaseFieldNameTests extends ESSingleNodeTestCase { public void testCamelCaseFieldNameStaysAsIs() throws Exception { String mapping = XContentFactory.jsonBuilder().startObject().startObject("type") diff --git a/core/src/test/java/org/elasticsearch/index/mapper/CopyToMapperIntegrationIT.java b/core/src/test/java/org/elasticsearch/index/mapper/CopyToMapperIntegrationIT.java index 11f8512fd25..3cf9527c627 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/CopyToMapperIntegrationIT.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/CopyToMapperIntegrationIT.java @@ -34,8 +34,6 @@ import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; import static org.hamcrest.Matchers.equalTo; -/** - */ public class CopyToMapperIntegrationIT extends ESIntegTestCase { public void testDynamicTemplateCopyTo() throws Exception { assertAcked( diff --git a/core/src/test/java/org/elasticsearch/index/mapper/CopyToMapperTests.java b/core/src/test/java/org/elasticsearch/index/mapper/CopyToMapperTests.java index cd08ba98a88..0133e7e86c5 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/CopyToMapperTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/CopyToMapperTests.java @@ -40,9 +40,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.startsWith; -/** - * - */ public class CopyToMapperTests extends ESSingleNodeTestCase { @SuppressWarnings("unchecked") public void testCopyToFieldsParsing() throws Exception { diff --git a/core/src/test/java/org/elasticsearch/index/mapper/DoubleIndexingDocTests.java b/core/src/test/java/org/elasticsearch/index/mapper/DoubleIndexingDocTests.java index 61d79925899..b434b41242f 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/DoubleIndexingDocTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/DoubleIndexingDocTests.java @@ -34,9 +34,6 @@ import org.elasticsearch.test.ESSingleNodeTestCase; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class DoubleIndexingDocTests extends ESSingleNodeTestCase { public void testDoubleIndexingSameDoc() throws Exception { Directory dir = newDirectory(); diff --git a/core/src/test/java/org/elasticsearch/index/mapper/DynamicTemplatesTests.java b/core/src/test/java/org/elasticsearch/index/mapper/DynamicTemplatesTests.java index 9e4eb14e378..9eb5a78529f 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/DynamicTemplatesTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/DynamicTemplatesTests.java @@ -38,9 +38,6 @@ import static org.elasticsearch.test.StreamsUtils.copyToBytesFromClasspath; import static org.elasticsearch.test.StreamsUtils.copyToStringFromClasspath; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class DynamicTemplatesTests extends ESSingleNodeTestCase { public void testMatchTypeOnly() throws Exception { XContentBuilder builder = JsonXContent.contentBuilder(); diff --git a/core/src/test/java/org/elasticsearch/index/mapper/ExternalFieldMapperTests.java b/core/src/test/java/org/elasticsearch/index/mapper/ExternalFieldMapperTests.java index 6be11ced1e6..44c973748d0 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/ExternalFieldMapperTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/ExternalFieldMapperTests.java @@ -44,8 +44,6 @@ import static org.hamcrest.Matchers.closeTo; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; -/** - */ public class ExternalFieldMapperTests extends ESSingleNodeTestCase { @Override diff --git a/core/src/test/java/org/elasticsearch/index/mapper/FieldLevelBoostTests.java b/core/src/test/java/org/elasticsearch/index/mapper/FieldLevelBoostTests.java index 2d451a36df8..42089752842 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/FieldLevelBoostTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/FieldLevelBoostTests.java @@ -39,8 +39,6 @@ import static org.hamcrest.Matchers.closeTo; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.instanceOf; -/** - */ public class FieldLevelBoostTests extends ESSingleNodeTestCase { private static final Settings BW_SETTINGS = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.V_2_0_0).build(); diff --git a/core/src/test/java/org/elasticsearch/index/mapper/GenericStoreDynamicTemplateTests.java b/core/src/test/java/org/elasticsearch/index/mapper/GenericStoreDynamicTemplateTests.java index 65ed7845af7..ec12a628f5f 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/GenericStoreDynamicTemplateTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/GenericStoreDynamicTemplateTests.java @@ -32,9 +32,6 @@ import static org.elasticsearch.test.StreamsUtils.copyToBytesFromClasspath; import static org.elasticsearch.test.StreamsUtils.copyToStringFromClasspath; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class GenericStoreDynamicTemplateTests extends ESSingleNodeTestCase { public void testSimple() throws Exception { String mapping = copyToStringFromClasspath("/org/elasticsearch/index/mapper/dynamictemplate/genericstore/test-mapping.json"); diff --git a/core/src/test/java/org/elasticsearch/index/mapper/JavaMultiFieldMergeTests.java b/core/src/test/java/org/elasticsearch/index/mapper/JavaMultiFieldMergeTests.java index 817480db3d3..f43bf73a3d7 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/JavaMultiFieldMergeTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/JavaMultiFieldMergeTests.java @@ -34,9 +34,6 @@ import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class JavaMultiFieldMergeTests extends ESSingleNodeTestCase { public void testMergeMultiField() throws Exception { String mapping = copyToStringFromClasspath("/org/elasticsearch/index/mapper/multifield/merge/test-mapping1.json"); diff --git a/core/src/test/java/org/elasticsearch/index/mapper/LegacyGeohashMappingGeoPointTests.java b/core/src/test/java/org/elasticsearch/index/mapper/LegacyGeohashMappingGeoPointTests.java index 426114cb389..a4d61956a6c 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/LegacyGeohashMappingGeoPointTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/LegacyGeohashMappingGeoPointTests.java @@ -39,9 +39,6 @@ import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class LegacyGeohashMappingGeoPointTests extends ESSingleNodeTestCase { @Override diff --git a/core/src/test/java/org/elasticsearch/index/mapper/LegacyIpFieldMapperTests.java b/core/src/test/java/org/elasticsearch/index/mapper/LegacyIpFieldMapperTests.java index af525318640..a78cb7a7177 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/LegacyIpFieldMapperTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/LegacyIpFieldMapperTests.java @@ -40,9 +40,6 @@ import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class LegacyIpFieldMapperTests extends ESSingleNodeTestCase { private static final Settings BW_SETTINGS = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.V_2_3_0).build(); diff --git a/core/src/test/java/org/elasticsearch/index/mapper/LegacyNumberFieldMapperTests.java b/core/src/test/java/org/elasticsearch/index/mapper/LegacyNumberFieldMapperTests.java index 46bd89f83e0..1ce13d5137a 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/LegacyNumberFieldMapperTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/LegacyNumberFieldMapperTests.java @@ -55,8 +55,6 @@ import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; -/** - */ public class LegacyNumberFieldMapperTests extends ESSingleNodeTestCase { private static final Settings BW_SETTINGS = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.V_2_3_0).build(); diff --git a/core/src/test/java/org/elasticsearch/index/mapper/LegacyStringMappingTests.java b/core/src/test/java/org/elasticsearch/index/mapper/LegacyStringMappingTests.java index 3c07ec4b90c..a1583098292 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/LegacyStringMappingTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/LegacyStringMappingTests.java @@ -60,8 +60,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; -/** - */ public class LegacyStringMappingTests extends ESSingleNodeTestCase { @Override diff --git a/core/src/test/java/org/elasticsearch/index/mapper/MultiFieldTests.java b/core/src/test/java/org/elasticsearch/index/mapper/MultiFieldTests.java index 4bf1995722b..5c70465d77f 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/MultiFieldTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/MultiFieldTests.java @@ -52,9 +52,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.notNullValue; -/** - * - */ public class MultiFieldTests extends ESSingleNodeTestCase { public void testMultiFieldMultiFields() throws Exception { diff --git a/core/src/test/java/org/elasticsearch/index/mapper/MultiFieldsIntegrationIT.java b/core/src/test/java/org/elasticsearch/index/mapper/MultiFieldsIntegrationIT.java index 8711ead6edf..1df01218a50 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/MultiFieldsIntegrationIT.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/MultiFieldsIntegrationIT.java @@ -42,8 +42,6 @@ import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; -/** - */ public class MultiFieldsIntegrationIT extends ESIntegTestCase { public void testMultiFields() throws Exception { assertAcked( diff --git a/core/src/test/java/org/elasticsearch/index/mapper/NullValueObjectMappingTests.java b/core/src/test/java/org/elasticsearch/index/mapper/NullValueObjectMappingTests.java index 774e122e13f..d48fc3c0b6c 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/NullValueObjectMappingTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/NullValueObjectMappingTests.java @@ -29,9 +29,6 @@ import java.io.IOException; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class NullValueObjectMappingTests extends ESSingleNodeTestCase { public void testNullValueObject() throws IOException { String mapping = XContentFactory.jsonBuilder().startObject().startObject("type") diff --git a/core/src/test/java/org/elasticsearch/index/mapper/NullValueTests.java b/core/src/test/java/org/elasticsearch/index/mapper/NullValueTests.java index 0880833716e..bc054564a68 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/NullValueTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/NullValueTests.java @@ -30,8 +30,6 @@ import org.elasticsearch.test.ESSingleNodeTestCase; import static org.hamcrest.Matchers.equalTo; -/** - */ public class NullValueTests extends ESSingleNodeTestCase { public void testNullNullValue() throws Exception { IndexService indexService = createIndex("test", Settings.builder().build()); diff --git a/core/src/test/java/org/elasticsearch/index/mapper/PathMapperTests.java b/core/src/test/java/org/elasticsearch/index/mapper/PathMapperTests.java index 1f6fb29e4c1..271501281cd 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/PathMapperTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/PathMapperTests.java @@ -29,9 +29,6 @@ import static org.elasticsearch.test.StreamsUtils.copyToStringFromClasspath; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class PathMapperTests extends ESSingleNodeTestCase { public void testPathMapping() throws IOException { String mapping = copyToStringFromClasspath("/org/elasticsearch/index/mapper/path/test-mapping.json"); diff --git a/core/src/test/java/org/elasticsearch/index/mapper/PathMatchDynamicTemplateTests.java b/core/src/test/java/org/elasticsearch/index/mapper/PathMatchDynamicTemplateTests.java index 584ba2daf1d..98056871017 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/PathMatchDynamicTemplateTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/PathMatchDynamicTemplateTests.java @@ -32,9 +32,6 @@ import static org.elasticsearch.test.StreamsUtils.copyToBytesFromClasspath; import static org.elasticsearch.test.StreamsUtils.copyToStringFromClasspath; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class PathMatchDynamicTemplateTests extends ESSingleNodeTestCase { public void testSimple() throws Exception { String mapping = copyToStringFromClasspath("/org/elasticsearch/index/mapper/dynamictemplate/pathmatch/test-mapping.json"); diff --git a/core/src/test/java/org/elasticsearch/index/mapper/StoredNumericValuesTests.java b/core/src/test/java/org/elasticsearch/index/mapper/StoredNumericValuesTests.java index 4bfdd07d455..47b062a42df 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/StoredNumericValuesTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/StoredNumericValuesTests.java @@ -38,9 +38,6 @@ import java.util.Collections; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class StoredNumericValuesTests extends ESSingleNodeTestCase { public void testBytesAndNumericRepresentation() throws Exception { IndexWriter writer = new IndexWriter(new RAMDirectory(), new IndexWriterConfig(Lucene.STANDARD_ANALYZER)); diff --git a/core/src/test/java/org/elasticsearch/index/mapper/TimestampFieldMapperTests.java b/core/src/test/java/org/elasticsearch/index/mapper/TimestampFieldMapperTests.java index 2b87bb10b54..33f7db973d3 100644 --- a/core/src/test/java/org/elasticsearch/index/mapper/TimestampFieldMapperTests.java +++ b/core/src/test/java/org/elasticsearch/index/mapper/TimestampFieldMapperTests.java @@ -67,8 +67,6 @@ import static org.hamcrest.Matchers.lessThanOrEqualTo; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.startsWith; -/** - */ public class TimestampFieldMapperTests extends ESSingleNodeTestCase { private static final Settings BW_SETTINGS = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.V_2_3_0).build(); diff --git a/core/src/test/java/org/elasticsearch/index/query/DisMaxQueryBuilderTests.java b/core/src/test/java/org/elasticsearch/index/query/DisMaxQueryBuilderTests.java index cf7be462199..ec542d7ccb1 100644 --- a/core/src/test/java/org/elasticsearch/index/query/DisMaxQueryBuilderTests.java +++ b/core/src/test/java/org/elasticsearch/index/query/DisMaxQueryBuilderTests.java @@ -22,10 +22,10 @@ package org.elasticsearch.index.query; import org.apache.lucene.index.Term; import org.apache.lucene.search.BoostQuery; import org.apache.lucene.search.DisjunctionMaxQuery; +import org.apache.lucene.search.MatchNoDocsQuery; import org.apache.lucene.search.PrefixQuery; import org.apache.lucene.search.Query; import org.elasticsearch.common.ParseFieldMatcher; -import org.elasticsearch.common.lucene.search.MatchNoDocsQuery; import org.elasticsearch.search.internal.SearchContext; import org.elasticsearch.test.AbstractQueryTestCase; @@ -98,7 +98,7 @@ public class DisMaxQueryBuilderTests extends AbstractQueryTestCase resetSettings.putNull(s.getKey())); assertAcked(client().admin().cluster().prepareUpdateSettings().setTransientSettings(resetSettings)); } @@ -409,6 +407,26 @@ public class CircuitBreakerServiceIT extends ESIntegTestCase { assertThat(breaks, greaterThanOrEqualTo(1)); } + public void testCanResetUnreasonableSettings() { + if (noopBreakerUsed()) { + logger.info("--> noop breakers used, skipping test"); + return; + } + Settings insane = Settings.builder() + .put(IN_FLIGHT_REQUESTS_CIRCUIT_BREAKER_LIMIT_SETTING.getKey(), "5b") + .build(); + client().admin().cluster().prepareUpdateSettings().setTransientSettings(insane).get(); + + // calls updates settings to reset everything to default, checking that the request + // is not blocked by the above inflight circuit breaker + reset(); + + assertThat(client().admin().cluster().prepareState().get() + .getState().metaData().transientSettings().get(HierarchyCircuitBreakerService.TOTAL_CIRCUIT_BREAKER_LIMIT_SETTING.getKey()), + nullValue()); + + } + public void testLimitsRequestSize() throws Exception { ByteSizeValue inFlightRequestsLimit = new ByteSizeValue(8, ByteSizeUnit.KB); if (noopBreakerUsed()) { @@ -452,7 +470,7 @@ public class CircuitBreakerServiceIT extends ESIntegTestCase { } Settings limitSettings = Settings.builder() - .put(HierarchyCircuitBreakerService.IN_FLIGHT_REQUESTS_CIRCUIT_BREAKER_LIMIT_SETTING.getKey(), inFlightRequestsLimit) + .put(IN_FLIGHT_REQUESTS_CIRCUIT_BREAKER_LIMIT_SETTING.getKey(), inFlightRequestsLimit) .build(); assertAcked(client().admin().cluster().prepareUpdateSettings().setTransientSettings(limitSettings)); diff --git a/core/src/test/java/org/elasticsearch/indices/recovery/IndexRecoveryIT.java b/core/src/test/java/org/elasticsearch/indices/recovery/IndexRecoveryIT.java index 666a1689080..dfe9a09fb2a 100644 --- a/core/src/test/java/org/elasticsearch/indices/recovery/IndexRecoveryIT.java +++ b/core/src/test/java/org/elasticsearch/indices/recovery/IndexRecoveryIT.java @@ -85,9 +85,6 @@ import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.lessThanOrEqualTo; import static org.hamcrest.Matchers.not; -/** - * - */ @ClusterScope(scope = Scope.TEST, numDataNodes = 0) public class IndexRecoveryIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/indices/recovery/StartRecoveryRequestTests.java b/core/src/test/java/org/elasticsearch/indices/recovery/StartRecoveryRequestTests.java index 8fa6e3d03a6..691b043e86a 100644 --- a/core/src/test/java/org/elasticsearch/indices/recovery/StartRecoveryRequestTests.java +++ b/core/src/test/java/org/elasticsearch/indices/recovery/StartRecoveryRequestTests.java @@ -35,8 +35,6 @@ import static java.util.Collections.emptySet; import static org.elasticsearch.test.VersionUtils.randomVersion; import static org.hamcrest.Matchers.equalTo; -/** - */ public class StartRecoveryRequestTests extends ESTestCase { public void testSerialization() throws Exception { Version targetNodeVersion = randomVersion(random()); diff --git a/core/src/test/java/org/elasticsearch/indices/state/RareClusterStateIT.java b/core/src/test/java/org/elasticsearch/indices/state/RareClusterStateIT.java index df73e11b731..5a257cc64fd 100644 --- a/core/src/test/java/org/elasticsearch/indices/state/RareClusterStateIT.java +++ b/core/src/test/java/org/elasticsearch/indices/state/RareClusterStateIT.java @@ -72,8 +72,6 @@ import static org.hamcrest.Matchers.hasItem; import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.instanceOf; -/** - */ @ESIntegTestCase.ClusterScope(scope = ESIntegTestCase.Scope.TEST, numDataNodes = 0, numClientNodes = 0, transportClientRatio = 0) @TestLogging("_root:DEBUG") public class RareClusterStateIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/indices/state/SimpleIndexStateIT.java b/core/src/test/java/org/elasticsearch/indices/state/SimpleIndexStateIT.java index 0515887a550..5ec6d82117a 100644 --- a/core/src/test/java/org/elasticsearch/indices/state/SimpleIndexStateIT.java +++ b/core/src/test/java/org/elasticsearch/indices/state/SimpleIndexStateIT.java @@ -38,9 +38,6 @@ import org.elasticsearch.test.ESIntegTestCase; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.nullValue; -/** - * - */ @ESIntegTestCase.ClusterScope(minNumDataNodes = 2) public class SimpleIndexStateIT extends ESIntegTestCase { private final Logger logger = Loggers.getLogger(SimpleIndexStateIT.class); diff --git a/core/src/test/java/org/elasticsearch/indices/store/IndicesStoreIntegrationIT.java b/core/src/test/java/org/elasticsearch/indices/store/IndicesStoreIntegrationIT.java index b248fc811f6..a6420034c42 100644 --- a/core/src/test/java/org/elasticsearch/indices/store/IndicesStoreIntegrationIT.java +++ b/core/src/test/java/org/elasticsearch/indices/store/IndicesStoreIntegrationIT.java @@ -74,9 +74,6 @@ import static java.lang.Thread.sleep; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; import static org.hamcrest.Matchers.equalTo; -/** - * - */ @ClusterScope(scope = Scope.TEST, numDataNodes = 0) public class IndicesStoreIntegrationIT extends ESIntegTestCase { @Override diff --git a/core/src/test/java/org/elasticsearch/indices/store/IndicesStoreTests.java b/core/src/test/java/org/elasticsearch/indices/store/IndicesStoreTests.java index f67d81f7a97..74370b711d6 100644 --- a/core/src/test/java/org/elasticsearch/indices/store/IndicesStoreTests.java +++ b/core/src/test/java/org/elasticsearch/indices/store/IndicesStoreTests.java @@ -53,8 +53,6 @@ import static org.elasticsearch.Version.CURRENT; import static org.elasticsearch.test.ClusterServiceUtils.createClusterService; import static org.elasticsearch.test.VersionUtils.randomVersion; -/** - */ public class IndicesStoreTests extends ESTestCase { private static final ShardRoutingState[] NOT_STARTED_STATES; diff --git a/core/src/test/java/org/elasticsearch/indices/template/SimpleIndexTemplateIT.java b/core/src/test/java/org/elasticsearch/indices/template/SimpleIndexTemplateIT.java index e40361e94f2..b1a4d19894e 100644 --- a/core/src/test/java/org/elasticsearch/indices/template/SimpleIndexTemplateIT.java +++ b/core/src/test/java/org/elasticsearch/indices/template/SimpleIndexTemplateIT.java @@ -63,9 +63,6 @@ import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class SimpleIndexTemplateIT extends ESIntegTestCase { @After diff --git a/core/src/test/java/org/elasticsearch/mget/SimpleMgetIT.java b/core/src/test/java/org/elasticsearch/mget/SimpleMgetIT.java index e022bd75213..c8e14867d32 100644 --- a/core/src/test/java/org/elasticsearch/mget/SimpleMgetIT.java +++ b/core/src/test/java/org/elasticsearch/mget/SimpleMgetIT.java @@ -60,7 +60,8 @@ public class SimpleMgetIT extends ESIntegTestCase { assertThat(mgetResponse.getResponses()[1].getIndex(), is("nonExistingIndex")); assertThat(mgetResponse.getResponses()[1].isFailed(), is(true)); assertThat(mgetResponse.getResponses()[1].getFailure().getMessage(), is("no such index")); - assertThat(((ElasticsearchException) mgetResponse.getResponses()[1].getFailure().getFailure()).getIndex().getName(), is("nonExistingIndex")); + assertThat(((ElasticsearchException) mgetResponse.getResponses()[1].getFailure().getFailure()).getIndex().getName(), + is("nonExistingIndex")); mgetResponse = client().prepareMultiGet() @@ -70,7 +71,8 @@ public class SimpleMgetIT extends ESIntegTestCase { assertThat(mgetResponse.getResponses()[0].getIndex(), is("nonExistingIndex")); assertThat(mgetResponse.getResponses()[0].isFailed(), is(true)); assertThat(mgetResponse.getResponses()[0].getFailure().getMessage(), is("no such index")); - assertThat(((ElasticsearchException) mgetResponse.getResponses()[0].getFailure().getFailure()).getIndex().getName(), is("nonExistingIndex")); + assertThat(((ElasticsearchException) mgetResponse.getResponses()[0].getFailure().getFailure()).getIndex().getName(), + is("nonExistingIndex")); } @@ -119,9 +121,11 @@ public class SimpleMgetIT extends ESIntegTestCase { MultiGetRequestBuilder request = client().prepareMultiGet(); for (int i = 0; i < 100; i++) { if (i % 2 == 0) { - request.add(new MultiGetRequest.Item(indexOrAlias(), "type", Integer.toString(i)).fetchSourceContext(new FetchSourceContext("included", "*.hidden_field"))); + request.add(new MultiGetRequest.Item(indexOrAlias(), "type", Integer.toString(i)) + .fetchSourceContext(new FetchSourceContext(true, new String[] {"included"}, new String[] {"*.hidden_field"}))); } else { - request.add(new MultiGetRequest.Item(indexOrAlias(), "type", Integer.toString(i)).fetchSourceContext(new FetchSourceContext(false))); + request.add(new MultiGetRequest.Item(indexOrAlias(), "type", Integer.toString(i)) + .fetchSourceContext(new FetchSourceContext(false))); } } diff --git a/core/src/test/java/org/elasticsearch/nodesinfo/SimpleNodesInfoIT.java b/core/src/test/java/org/elasticsearch/nodesinfo/SimpleNodesInfoIT.java index 8a4c50f8a9d..2147cea696d 100644 --- a/core/src/test/java/org/elasticsearch/nodesinfo/SimpleNodesInfoIT.java +++ b/core/src/test/java/org/elasticsearch/nodesinfo/SimpleNodesInfoIT.java @@ -36,9 +36,6 @@ import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; -/** - * - */ @ClusterScope(scope= Scope.TEST, numDataNodes = 0) public class SimpleNodesInfoIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/operateAllIndices/DestructiveOperationsIntegrationIT.java b/core/src/test/java/org/elasticsearch/operateAllIndices/DestructiveOperationsIntegrationIT.java index 83f600a8c2f..28852d74696 100644 --- a/core/src/test/java/org/elasticsearch/operateAllIndices/DestructiveOperationsIntegrationIT.java +++ b/core/src/test/java/org/elasticsearch/operateAllIndices/DestructiveOperationsIntegrationIT.java @@ -26,8 +26,6 @@ import org.elasticsearch.test.ESIntegTestCase; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; import static org.hamcrest.Matchers.equalTo; -/** - */ @ESIntegTestCase.ClusterScope(scope = ESIntegTestCase.Scope.TEST) public class DestructiveOperationsIntegrationIT extends ESIntegTestCase { // One test for test performance, since cluster scope is test diff --git a/core/src/test/java/org/elasticsearch/recovery/FullRollingRestartIT.java b/core/src/test/java/org/elasticsearch/recovery/FullRollingRestartIT.java index 75904e69c25..a180d6feb8e 100644 --- a/core/src/test/java/org/elasticsearch/recovery/FullRollingRestartIT.java +++ b/core/src/test/java/org/elasticsearch/recovery/FullRollingRestartIT.java @@ -39,9 +39,6 @@ import org.elasticsearch.test.ESIntegTestCase.Scope; import static org.elasticsearch.index.query.QueryBuilders.matchAllQuery; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount; -/** - * - */ @ClusterScope(scope = Scope.TEST, numDataNodes = 0, transportClientRatio = 0.0) public class FullRollingRestartIT extends ESIntegTestCase { protected void assertTimeout(ClusterHealthRequestBuilder requestBuilder) { diff --git a/core/src/test/java/org/elasticsearch/recovery/RelocationIT.java b/core/src/test/java/org/elasticsearch/recovery/RelocationIT.java index b661761e522..8a59b7460b3 100644 --- a/core/src/test/java/org/elasticsearch/recovery/RelocationIT.java +++ b/core/src/test/java/org/elasticsearch/recovery/RelocationIT.java @@ -87,8 +87,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.startsWith; -/** - */ @ClusterScope(scope = Scope.TEST, numDataNodes = 0) @TestLogging("_root:DEBUG,org.elasticsearch.indices.recovery:TRACE,org.elasticsearch.index.shard.service:TRACE") public class RelocationIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/rest/action/cat/RestTableTests.java b/core/src/test/java/org/elasticsearch/rest/action/cat/RestTableTests.java index f7dc6149052..ba3ec55ab2a 100644 --- a/core/src/test/java/org/elasticsearch/rest/action/cat/RestTableTests.java +++ b/core/src/test/java/org/elasticsearch/rest/action/cat/RestTableTests.java @@ -23,12 +23,12 @@ import org.elasticsearch.common.Table; import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.rest.AbstractRestChannel; import org.elasticsearch.rest.RestResponse; -import org.elasticsearch.rest.action.cat.RestTable; import org.elasticsearch.test.ESTestCase; import org.elasticsearch.test.rest.FakeRestRequest; import org.junit.Before; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Map; @@ -62,11 +62,13 @@ public class RestTableTests extends ESTestCase { " invalidAliasesBulk: \"foo\"\n" + " timestamp: \"foo\"\n" + " epoch: \"foo\"\n"; - private Table table = new Table(); - private FakeRestRequest restRequest = new FakeRestRequest(); + private Table table; + private FakeRestRequest restRequest; @Before public void setup() { + restRequest = new FakeRestRequest(); + table = new Table(); table.startHeaders(); table.addCell("bulk.foo", "alias:f;desc:foo"); table.addCell("bulk.bar", "alias:b;desc:bar"); @@ -146,6 +148,110 @@ public class RestTableTests extends ESTestCase { assertThat(headerNames, not(hasItem("epoch"))); } + public void testCompareRow() { + Table table = new Table(); + table.startHeaders(); + table.addCell("compare"); + table.endHeaders(); + + for (Integer i : Arrays.asList(1,2,1)) { + table.startRow(); + table.addCell(i); + table.endRow(); + } + + RestTable.TableIndexComparator comparator = new RestTable.TableIndexComparator(table, + Collections.singletonList(new RestTable.ColumnOrderElement("compare", false))); + assertTrue(comparator.compare(0,1) < 0); + assertTrue(comparator.compare(0,2) == 0); + assertTrue(comparator.compare(1,2) > 0); + + RestTable.TableIndexComparator reverseComparator = new RestTable.TableIndexComparator(table, + Collections.singletonList(new RestTable.ColumnOrderElement("compare", true))); + + assertTrue(reverseComparator.compare(0,1) > 0); + assertTrue(reverseComparator.compare(0,2) == 0); + assertTrue(reverseComparator.compare(1,2) < 0); + } + + public void testRowOutOfBounds() { + Table table = new Table(); + table.startHeaders(); + table.addCell("compare"); + table.endHeaders(); + RestTable.TableIndexComparator comparator = new RestTable.TableIndexComparator(table, + Collections.singletonList(new RestTable.ColumnOrderElement("compare", false))); + Error e = expectThrows(AssertionError.class, () -> { + comparator.compare(0,1); + }); + assertEquals("Invalid comparison of indices (0, 1): Table has 0 rows.", e.getMessage()); + } + + public void testUnknownHeader() { + Table table = new Table(); + table.startHeaders(); + table.addCell("compare"); + table.endHeaders(); + restRequest.params().put("s", "notaheader"); + Exception e = expectThrows(UnsupportedOperationException.class, () -> RestTable.getRowOrder(table, restRequest)); + assertEquals("Unable to sort by unknown sort key `notaheader`", e.getMessage()); + } + + public void testAliasSort() { + Table table = new Table(); + table.startHeaders(); + table.addCell("compare", "alias:c;"); + table.endHeaders(); + List comparisonList = Arrays.asList(3,1,2); + for (int i = 0; i < comparisonList.size(); i++) { + table.startRow(); + table.addCell(comparisonList.get(i)); + table.endRow(); + } + restRequest.params().put("s", "c"); + List rowOrder = RestTable.getRowOrder(table, restRequest); + assertEquals(Arrays.asList(1,2,0), rowOrder); + } + + public void testReversedSort() { + Table table = new Table(); + table.startHeaders(); + table.addCell("reversed"); + table.endHeaders(); + List comparisonList = Arrays.asList(0, 1, 2); + for (int i = 0; i < comparisonList.size(); i++) { + table.startRow(); + table.addCell(comparisonList.get(i)); + table.endRow(); + } + restRequest.params().put("s", "reversed:desc"); + List rowOrder = RestTable.getRowOrder(table, restRequest); + assertEquals(Arrays.asList(2,1,0), rowOrder); + } + + public void testMultiSort() { + Table table = new Table(); + table.startHeaders(); + table.addCell("compare"); + table.addCell("second.compare"); + table.endHeaders(); + List comparisonList = Arrays.asList(3, 3, 2); + List secondComparisonList = Arrays.asList(2, 1, 3); + for (int i = 0; i < comparisonList.size(); i++) { + table.startRow(); + table.addCell(comparisonList.get(i)); + table.addCell(secondComparisonList.get(i)); + table.endRow(); + } + restRequest.params().put("s", "compare,second.compare"); + List rowOrder = RestTable.getRowOrder(table, restRequest); + assertEquals(Arrays.asList(2,1,0), rowOrder); + + restRequest.params().put("s", "compare:desc,second.compare"); + rowOrder = RestTable.getRowOrder(table, restRequest); + assertEquals(Arrays.asList(1,0,2), rowOrder); + } + private RestResponse assertResponseContentType(Map headers, String mediaType) throws Exception { FakeRestRequest requestWithAcceptHeader = new FakeRestRequest.Builder().withHeaders(headers).build(); table.startRow(); diff --git a/core/src/test/java/org/elasticsearch/routing/AliasResolveRoutingIT.java b/core/src/test/java/org/elasticsearch/routing/AliasResolveRoutingIT.java index c60e9e06d16..fdfcc4fcb91 100644 --- a/core/src/test/java/org/elasticsearch/routing/AliasResolveRoutingIT.java +++ b/core/src/test/java/org/elasticsearch/routing/AliasResolveRoutingIT.java @@ -37,9 +37,6 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitC import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class AliasResolveRoutingIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/search/AbstractSearchTestCase.java b/core/src/test/java/org/elasticsearch/search/AbstractSearchTestCase.java index 048416c25ef..e98b469f955 100644 --- a/core/src/test/java/org/elasticsearch/search/AbstractSearchTestCase.java +++ b/core/src/test/java/org/elasticsearch/search/AbstractSearchTestCase.java @@ -153,19 +153,20 @@ public abstract class AbstractSearchTestCase extends ESTestCase { fetchSourceContext = new FetchSourceContext(randomBoolean()); break; case 1: - fetchSourceContext = new FetchSourceContext(includes, excludes); + fetchSourceContext = new FetchSourceContext(true, includes, excludes); break; case 2: - fetchSourceContext = new FetchSourceContext(randomAsciiOfLengthBetween(5, 20), randomAsciiOfLengthBetween(5, 20)); + fetchSourceContext = new FetchSourceContext(true, new String[]{randomAsciiOfLengthBetween(5, 20)}, + new String[]{randomAsciiOfLengthBetween(5, 20)}); break; case 3: fetchSourceContext = new FetchSourceContext(true, includes, excludes); break; case 4: - fetchSourceContext = new FetchSourceContext(includes); + fetchSourceContext = new FetchSourceContext(true, includes, null); break; case 5: - fetchSourceContext = new FetchSourceContext(randomAsciiOfLengthBetween(5, 20)); + fetchSourceContext = new FetchSourceContext(true, new String[] {randomAsciiOfLengthBetween(5, 20)}, null); break; default: throw new IllegalStateException(); diff --git a/core/src/test/java/org/elasticsearch/search/SearchTimeoutIT.java b/core/src/test/java/org/elasticsearch/search/SearchTimeoutIT.java index 168574059f6..a8acb172daa 100644 --- a/core/src/test/java/org/elasticsearch/search/SearchTimeoutIT.java +++ b/core/src/test/java/org/elasticsearch/search/SearchTimeoutIT.java @@ -42,8 +42,6 @@ import static org.elasticsearch.action.support.WriteRequest.RefreshPolicy.IMMEDI import static org.elasticsearch.index.query.QueryBuilders.scriptQuery; import static org.hamcrest.Matchers.equalTo; -/** - */ @ESIntegTestCase.ClusterScope(scope = ESIntegTestCase.Scope.SUITE) public class SearchTimeoutIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/CombiIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/CombiIT.java index f72ecdb8b1c..7517e98ff27 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/CombiIT.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/CombiIT.java @@ -41,9 +41,6 @@ import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.core.IsNull.notNullValue; -/** - * - */ public class CombiIT extends ESIntegTestCase { /** diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/BooleanTermsIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/BooleanTermsIT.java index cfb290284ae..a7182ca56a6 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/BooleanTermsIT.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/BooleanTermsIT.java @@ -30,9 +30,6 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertSear import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.core.IsNull.notNullValue; -/** - * - */ @ESIntegTestCase.SuiteScopeTestCase public class BooleanTermsIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/ChildrenIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/ChildrenIT.java index f4234423531..d57e2774b55 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/ChildrenIT.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/ChildrenIT.java @@ -56,8 +56,6 @@ import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.sameInstance; -/** - */ @ESIntegTestCase.SuiteScopeTestCase public class ChildrenIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/DateHistogramIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/DateHistogramIT.java index 68b443f40ff..9eb21e89df1 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/DateHistogramIT.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/DateHistogramIT.java @@ -68,9 +68,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; import static org.hamcrest.core.IsNull.notNullValue; -/** - * - */ @ESIntegTestCase.SuiteScopeTestCase public class DateHistogramIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/DateRangeIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/DateRangeIT.java index a6e0273beff..6534658c9cd 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/DateRangeIT.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/DateRangeIT.java @@ -54,9 +54,6 @@ import static org.hamcrest.Matchers.is; import static org.hamcrest.core.IsNull.notNullValue; import static org.hamcrest.core.IsNull.nullValue; -/** - * - */ @ESIntegTestCase.SuiteScopeTestCase public class DateRangeIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/GeoDistanceIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/GeoDistanceIT.java index 288e9d4dcc5..32dcb1a4eb3 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/GeoDistanceIT.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/GeoDistanceIT.java @@ -56,9 +56,6 @@ import static org.hamcrest.Matchers.sameInstance; import static org.hamcrest.core.IsNull.notNullValue; import static org.hamcrest.core.IsNull.nullValue; -/** - * - */ @ESIntegTestCase.SuiteScopeTestCase public class GeoDistanceIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/GlobalIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/GlobalIT.java index 9cebfeb9824..b226c6dbd2d 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/GlobalIT.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/GlobalIT.java @@ -38,9 +38,6 @@ import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.sameInstance; import static org.hamcrest.core.IsNull.notNullValue; -/** - * - */ @ESIntegTestCase.SuiteScopeTestCase public class GlobalIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/SignificantTermsIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/SignificantTermsIT.java index 7284901e94c..3de40c16c28 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/SignificantTermsIT.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/SignificantTermsIT.java @@ -58,9 +58,6 @@ import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; import static org.hamcrest.core.IsNull.notNullValue; -/** - * - */ @ESIntegTestCase.SuiteScopeTestCase public class SignificantTermsIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/SignificantTermsSignificanceScoreIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/SignificantTermsSignificanceScoreIT.java index 150f4a74a96..aa5cc79ab5e 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/SignificantTermsSignificanceScoreIT.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/SignificantTermsSignificanceScoreIT.java @@ -75,9 +75,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.is; -/** - * - */ @ESIntegTestCase.ClusterScope(scope = ESIntegTestCase.Scope.SUITE) public class SignificantTermsSignificanceScoreIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/TermsShardMinDocCountIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/TermsShardMinDocCountIT.java index 2ea319daa9c..764ed3ba73b 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/TermsShardMinDocCountIT.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/TermsShardMinDocCountIT.java @@ -39,9 +39,6 @@ import static org.elasticsearch.search.aggregations.AggregationBuilders.signific import static org.elasticsearch.search.aggregations.AggregationBuilders.terms; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class TermsShardMinDocCountIT extends ESIntegTestCase { private static final String index = "someindex"; private static final String type = "testtype"; diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/nested/NestedAggregatorTests.java b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/nested/NestedAggregatorTests.java index a3bb846c3e1..d658a36c07d 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/bucket/nested/NestedAggregatorTests.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/bucket/nested/NestedAggregatorTests.java @@ -55,8 +55,6 @@ import java.util.List; import static org.hamcrest.Matchers.equalTo; -/** - */ public class NestedAggregatorTests extends ESSingleNodeTestCase { public void testResetRootDocId() throws Exception { Directory directory = newDirectory(); diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AbstractGeoTestCase.java b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AbstractGeoTestCase.java index 7cca4baadea..6a4eec89f23 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AbstractGeoTestCase.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AbstractGeoTestCase.java @@ -46,9 +46,6 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcke import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertSearchResponse; import static org.hamcrest.Matchers.equalTo; -/** - * - */ @ESIntegTestCase.SuiteScopeTestCase public abstract class AbstractGeoTestCase extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgIT.java index 37a3d126e3f..1d9f5484877 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgIT.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/AvgIT.java @@ -63,9 +63,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; -/** - * - */ public class AvgIT extends AbstractNumericTestCase { @Override diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/MaxIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/MaxIT.java index c3e693b5307..df65deb3696 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/MaxIT.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/MaxIT.java @@ -51,9 +51,6 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertSear import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.notNullValue; -/** - * - */ public class MaxIT extends AbstractNumericTestCase { @Override protected Collection> nodePlugins() { diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/MinIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/MinIT.java index 93402534619..7eddcd7b53a 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/MinIT.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/MinIT.java @@ -51,9 +51,6 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertSear import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.notNullValue; -/** - * - */ public class MinIT extends AbstractNumericTestCase { @Override protected Collection> nodePlugins() { diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/SumIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/SumIT.java index 3ff00529655..f4cad82b16f 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/SumIT.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/SumIT.java @@ -61,9 +61,6 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertSear import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.notNullValue; -/** - * - */ public class SumIT extends AbstractNumericTestCase { @Override diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/TopHitsIT.java b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/TopHitsIT.java index 383d25c4011..76b4d831020 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/TopHitsIT.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/TopHitsIT.java @@ -86,9 +86,6 @@ import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; import static org.hamcrest.Matchers.sameInstance; -/** - * - */ @ESIntegTestCase.SuiteScopeTestCase() public class TopHitsIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/TopHitsTests.java b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/TopHitsTests.java index 3f2b4c44620..98e28339036 100644 --- a/core/src/test/java/org/elasticsearch/search/aggregations/metrics/TopHitsTests.java +++ b/core/src/test/java/org/elasticsearch/search/aggregations/metrics/TopHitsTests.java @@ -107,26 +107,27 @@ public class TopHitsTests extends BaseAggregationTestCasebrown")); } + + public void testSynonyms() throws IOException { + Builder builder = Settings.builder() + .put(indexSettings()) + .put("index.analysis.analyzer.synonym.tokenizer", "whitespace") + .putArray("index.analysis.analyzer.synonym.filter", "synonym", "lowercase") + .put("index.analysis.filter.synonym.type", "synonym") + .putArray("index.analysis.filter.synonym.synonyms", "fast,quick"); + + assertAcked(prepareCreate("test").setSettings(builder.build()) + .addMapping("type1", "field1", + "type=text,term_vector=with_positions_offsets,search_analyzer=synonym," + + "analyzer=english,index_options=offsets")); + ensureGreen(); + + client().prepareIndex("test", "type1", "0").setSource( + "field1", "The quick brown fox jumps over the lazy dog").get(); + refresh(); + for (String highlighterType : new String[] {"plain", "postings", "fvh"}) { + logger.info("--> highlighting (type=" + highlighterType + ") and searching on field1"); + SearchSourceBuilder source = searchSource() + .query(matchQuery("field1", "quick brown fox").operator(Operator.AND)) + .highlighter( + highlight() + .field("field1") + .order("score") + .preTags("") + .postTags("") + .highlighterType(highlighterType)); + SearchResponse searchResponse = client().search(searchRequest("test").source(source)).actionGet(); + assertHighlight(searchResponse, 0, "field1", 0, 1, + equalTo("The quick brown fox jumps over the lazy dog")); + + source = searchSource() + .query(matchQuery("field1", "fast brown fox").operator(Operator.AND)) + .highlighter(highlight().field("field1").order("score").preTags("").postTags("")); + searchResponse = client().search(searchRequest("test").source(source)).actionGet(); + assertHighlight(searchResponse, 0, "field1", 0, 1, + equalTo("The quick brown fox jumps over the lazy dog")); + } + } } diff --git a/core/src/test/java/org/elasticsearch/search/functionscore/FunctionScoreBackwardCompatibilityIT.java b/core/src/test/java/org/elasticsearch/search/functionscore/FunctionScoreBackwardCompatibilityIT.java index 655aecd8fb5..7ef8cfe78d1 100644 --- a/core/src/test/java/org/elasticsearch/search/functionscore/FunctionScoreBackwardCompatibilityIT.java +++ b/core/src/test/java/org/elasticsearch/search/functionscore/FunctionScoreBackwardCompatibilityIT.java @@ -43,8 +43,6 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcke import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertOrderedSearchHits; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertSearchResponse; -/** - */ public class FunctionScoreBackwardCompatibilityIT extends ESBackcompatTestCase { /** * Simple upgrade test for function score. diff --git a/core/src/test/java/org/elasticsearch/search/functionscore/FunctionScorePluginIT.java b/core/src/test/java/org/elasticsearch/search/functionscore/FunctionScorePluginIT.java index 5fbfbba46db..21622d0e4ae 100644 --- a/core/src/test/java/org/elasticsearch/search/functionscore/FunctionScorePluginIT.java +++ b/core/src/test/java/org/elasticsearch/search/functionscore/FunctionScorePluginIT.java @@ -52,9 +52,6 @@ import static org.elasticsearch.index.query.QueryBuilders.termQuery; import static org.elasticsearch.search.builder.SearchSourceBuilder.searchSource; import static org.hamcrest.Matchers.equalTo; -/** - * - */ @ClusterScope(scope = Scope.SUITE, supportsDedicatedMasters = false, numDataNodes = 1) public class FunctionScorePluginIT extends ESIntegTestCase { @Override diff --git a/core/src/test/java/org/elasticsearch/search/functionscore/QueryRescorerIT.java b/core/src/test/java/org/elasticsearch/search/functionscore/QueryRescorerIT.java index 364186572d9..0fb85ea4990 100644 --- a/core/src/test/java/org/elasticsearch/search/functionscore/QueryRescorerIT.java +++ b/core/src/test/java/org/elasticsearch/search/functionscore/QueryRescorerIT.java @@ -69,9 +69,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.lessThanOrEqualTo; import static org.hamcrest.Matchers.notNullValue; -/** - * - */ public class QueryRescorerIT extends ESIntegTestCase { public void testEnforceWindowSize() { createIndex("test"); diff --git a/core/src/test/java/org/elasticsearch/search/geo/GeoBoundingBoxIT.java b/core/src/test/java/org/elasticsearch/search/geo/GeoBoundingBoxIT.java index 1ac9147e53a..97615f63c9d 100644 --- a/core/src/test/java/org/elasticsearch/search/geo/GeoBoundingBoxIT.java +++ b/core/src/test/java/org/elasticsearch/search/geo/GeoBoundingBoxIT.java @@ -44,9 +44,6 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcke import static org.hamcrest.Matchers.anyOf; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class GeoBoundingBoxIT extends ESIntegTestCase { @Override protected Collection> nodePlugins() { diff --git a/core/src/test/java/org/elasticsearch/search/geo/GeoDistanceIT.java b/core/src/test/java/org/elasticsearch/search/geo/GeoDistanceIT.java index 4ea143ed7f9..8297b5e0187 100644 --- a/core/src/test/java/org/elasticsearch/search/geo/GeoDistanceIT.java +++ b/core/src/test/java/org/elasticsearch/search/geo/GeoDistanceIT.java @@ -20,30 +20,40 @@ package org.elasticsearch.search.geo; import org.elasticsearch.Version; +import org.elasticsearch.action.search.SearchRequestBuilder; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.cluster.metadata.IndexMetaData; import org.elasticsearch.common.geo.GeoHashUtils; +import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.common.geo.GeoUtils; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.unit.DistanceUnit; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentFactory; import org.elasticsearch.index.fielddata.ScriptDocValues; +import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.plugins.Plugin; import org.elasticsearch.script.MockScriptPlugin; import org.elasticsearch.script.Script; +import org.elasticsearch.script.ScriptService.ScriptType; +import org.elasticsearch.search.aggregations.AggregationBuilders; +import org.elasticsearch.search.aggregations.Aggregations; +import org.elasticsearch.search.aggregations.bucket.range.Range; +import org.elasticsearch.search.aggregations.bucket.range.geodistance.InternalGeoDistance; import org.elasticsearch.test.ESIntegTestCase; import org.elasticsearch.test.InternalSettingsPlugin; import org.elasticsearch.test.VersionUtils; +import org.junit.Before; +import java.io.IOException; import java.util.Arrays; import java.util.Collection; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.function.Function; import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder; -import static org.elasticsearch.script.ScriptService.ScriptType; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked; import static org.hamcrest.Matchers.closeTo; @@ -63,7 +73,6 @@ public class GeoDistanceIT extends ESIntegTestCase { public static class CustomScriptPlugin extends MockScriptPlugin { @Override - @SuppressWarnings("unchecked") protected Map, Object>> pluginScripts() { Map, Object>> scripts = new HashMap<>(); @@ -83,15 +92,14 @@ public class GeoDistanceIT extends ESIntegTestCase { return scripts; } - @SuppressWarnings("unchecked") static Double distanceScript(Map vars, Function distance) { Map doc = (Map) vars.get("doc"); return distance.apply((ScriptDocValues.GeoPoints) doc.get("location")); } } - public void testDistanceScript() throws Exception { - + @Before + public void setupTestIndex() throws IOException { Version version = VersionUtils.randomVersionBetween(random(), Version.V_2_0_0, Version.CURRENT); Settings settings = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, version).build(); XContentBuilder xContentBuilder = XContentFactory.jsonBuilder().startObject().startObject("type1") @@ -102,7 +110,9 @@ public class GeoDistanceIT extends ESIntegTestCase { xContentBuilder.endObject().endObject().endObject().endObject(); assertAcked(prepareCreate("test").setSettings(settings).addMapping("type1", xContentBuilder)); ensureGreen(); + } + public void testDistanceScript() throws Exception { client().prepareIndex("test", "type1", "1") .setSource(jsonBuilder().startObject() .field("name", "TestPosition") @@ -156,4 +166,41 @@ public class GeoDistanceIT extends ESIntegTestCase { assertThat(resultArcDistance6, closeTo(GeoUtils.arcDistance(src_lat, src_lon, tgt_lat, tgt_lon)/1000d, 0.01d)); } + + public void testGeoDistanceAggregation() throws IOException { + client().prepareIndex("test", "type1", "1") + .setSource(jsonBuilder().startObject() + .field("name", "TestPosition") + .startObject("location") + .field("lat", src_lat) + .field("lon", src_lon) + .endObject() + .endObject()) + .get(); + + refresh(); + + SearchRequestBuilder search = client().prepareSearch("test"); + String name = "TestPosition"; + + search.setQuery(QueryBuilders.matchAllQuery()) + .setTypes("type1") + .addAggregation(AggregationBuilders.geoDistance(name, new GeoPoint(tgt_lat, tgt_lon)) + .field("location") + .unit(DistanceUnit.MILES) + .addRange(0, 25000)); + + search.setSize(0); // no hits please + + SearchResponse response = search.get(); + Aggregations aggregations = response.getAggregations(); + assertNotNull(aggregations); + InternalGeoDistance geoDistance = aggregations.get(name); + assertNotNull(geoDistance); + + List buckets = ((Range) geoDistance).getBuckets(); + assertNotNull("Buckets should not be null", buckets); + assertEquals("Unexpected number of buckets", 1, buckets.size()); + assertEquals("Unexpected doc count for geo distance", 1, buckets.get(0).getDocCount()); + } } diff --git a/core/src/test/java/org/elasticsearch/search/geo/GeoFilterIT.java b/core/src/test/java/org/elasticsearch/search/geo/GeoFilterIT.java index cc832f8a7d1..7f880211c3b 100644 --- a/core/src/test/java/org/elasticsearch/search/geo/GeoFilterIT.java +++ b/core/src/test/java/org/elasticsearch/search/geo/GeoFilterIT.java @@ -93,9 +93,6 @@ import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.lessThanOrEqualTo; -/** - * - */ public class GeoFilterIT extends ESIntegTestCase { @Override diff --git a/core/src/test/java/org/elasticsearch/search/indicesboost/SimpleIndicesBoostSearchIT.java b/core/src/test/java/org/elasticsearch/search/indicesboost/SimpleIndicesBoostSearchIT.java index 606e9a18f2d..168729d5c0b 100644 --- a/core/src/test/java/org/elasticsearch/search/indicesboost/SimpleIndicesBoostSearchIT.java +++ b/core/src/test/java/org/elasticsearch/search/indicesboost/SimpleIndicesBoostSearchIT.java @@ -31,9 +31,6 @@ import static org.elasticsearch.search.builder.SearchSourceBuilder.searchSource; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class SimpleIndicesBoostSearchIT extends ESIntegTestCase { public void testIndicesBoost() throws Exception { assertHitCount(client().prepareSearch().setQuery(termQuery("test", "value")).get(), 0); diff --git a/core/src/test/java/org/elasticsearch/search/morelikethis/MoreLikeThisIT.java b/core/src/test/java/org/elasticsearch/search/morelikethis/MoreLikeThisIT.java index 21f15860759..1fd51966c2b 100644 --- a/core/src/test/java/org/elasticsearch/search/morelikethis/MoreLikeThisIT.java +++ b/core/src/test/java/org/elasticsearch/search/morelikethis/MoreLikeThisIT.java @@ -56,9 +56,6 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertThro import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.notNullValue; -/** - * - */ public class MoreLikeThisIT extends ESIntegTestCase { public void testSimpleMoreLikeThis() throws Exception { logger.info("Creating index test"); diff --git a/core/src/test/java/org/elasticsearch/search/scroll/DuelScrollIT.java b/core/src/test/java/org/elasticsearch/search/scroll/DuelScrollIT.java index 0ece1e5d83e..f05f9206836 100644 --- a/core/src/test/java/org/elasticsearch/search/scroll/DuelScrollIT.java +++ b/core/src/test/java/org/elasticsearch/search/scroll/DuelScrollIT.java @@ -41,8 +41,6 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcke import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures; import static org.hamcrest.Matchers.equalTo; -/** - */ public class DuelScrollIT extends ESIntegTestCase { public void testDuelQueryThenFetch() throws Exception { TestContext context = create(SearchType.DFS_QUERY_THEN_FETCH, SearchType.QUERY_THEN_FETCH); diff --git a/core/src/test/java/org/elasticsearch/search/scroll/SearchScrollWithFailingNodesIT.java b/core/src/test/java/org/elasticsearch/search/scroll/SearchScrollWithFailingNodesIT.java index 2a42ec3530b..5b34dbc55af 100644 --- a/core/src/test/java/org/elasticsearch/search/scroll/SearchScrollWithFailingNodesIT.java +++ b/core/src/test/java/org/elasticsearch/search/scroll/SearchScrollWithFailingNodesIT.java @@ -37,8 +37,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.lessThan; -/** - */ @ESIntegTestCase.ClusterScope(scope = ESIntegTestCase.Scope.TEST, numDataNodes = 0, numClientNodes = 0) public class SearchScrollWithFailingNodesIT extends ESIntegTestCase { @Override diff --git a/core/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java b/core/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java index 695c926976b..53eedad0cc0 100644 --- a/core/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java +++ b/core/src/test/java/org/elasticsearch/search/slice/SliceBuilderTests.java @@ -25,21 +25,19 @@ import org.apache.lucene.index.DocValuesType; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.search.MatchAllDocsQuery; +import org.apache.lucene.search.MatchNoDocsQuery; import org.apache.lucene.search.Query; import org.apache.lucene.store.Directory; import org.apache.lucene.store.RAMDirectory; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.ParseFieldMatcher; import org.elasticsearch.common.io.stream.BytesStreamOutput; -import org.elasticsearch.common.io.stream.NamedWriteableAwareStreamInput; -import org.elasticsearch.common.io.stream.NamedWriteableRegistry; import org.elasticsearch.common.io.stream.StreamInput; -import org.elasticsearch.common.lucene.search.MatchNoDocsQuery; -import org.elasticsearch.common.xcontent.XContentParser; -import org.elasticsearch.common.xcontent.XContentType; +import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.common.xcontent.XContentFactory; import org.elasticsearch.common.xcontent.XContentHelper; -import org.elasticsearch.common.xcontent.XContentBuilder; +import org.elasticsearch.common.xcontent.XContentParser; +import org.elasticsearch.common.xcontent.XContentType; import org.elasticsearch.index.fielddata.IndexNumericFieldData; import org.elasticsearch.index.mapper.MappedFieldType; import org.elasticsearch.index.mapper.UidFieldMapper; @@ -53,16 +51,16 @@ import org.junit.AfterClass; import org.junit.BeforeClass; import java.io.IOException; -import java.util.List; import java.util.ArrayList; -import java.util.Map; import java.util.HashMap; import java.util.HashSet; +import java.util.List; +import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; +import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.instanceOf; -import static org.hamcrest.Matchers.containsString; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; diff --git a/core/src/test/java/org/elasticsearch/search/suggest/phrase/DirectCandidateGeneratorTests.java b/core/src/test/java/org/elasticsearch/search/suggest/phrase/DirectCandidateGeneratorTests.java index 846d3193f6d..da15c9c1b8d 100644 --- a/core/src/test/java/org/elasticsearch/search/suggest/phrase/DirectCandidateGeneratorTests.java +++ b/core/src/test/java/org/elasticsearch/search/suggest/phrase/DirectCandidateGeneratorTests.java @@ -35,6 +35,7 @@ import org.elasticsearch.search.suggest.phrase.PhraseSuggestionContext.DirectCan import org.elasticsearch.test.ESTestCase; import java.io.IOException; + import static org.hamcrest.Matchers.equalTo; public class DirectCandidateGeneratorTests extends ESTestCase{ @@ -151,12 +152,12 @@ public class DirectCandidateGeneratorTests extends ESTestCase{ // test missing fieldname String directGenerator = "{ }"; assertIllegalXContent(directGenerator, IllegalArgumentException.class, - "[direct_generator] expects exactly one field parameter, but found []"); + "Required [field]"); // test two fieldnames directGenerator = "{ \"field\" : \"f1\", \"field\" : \"f2\" }"; - assertIllegalXContent(directGenerator, IllegalArgumentException.class, - "[direct_generator] expects exactly one field parameter, but found [f2, f1]"); + assertIllegalXContent(directGenerator, ParsingException.class, + "[direct_generator] failed to parse field [field]"); // test unknown field directGenerator = "{ \"unknown_param\" : \"f1\" }"; diff --git a/core/src/test/java/org/elasticsearch/snapshots/DedicatedClusterSnapshotRestoreIT.java b/core/src/test/java/org/elasticsearch/snapshots/DedicatedClusterSnapshotRestoreIT.java index a987aa7f9cc..fd57a1198e0 100644 --- a/core/src/test/java/org/elasticsearch/snapshots/DedicatedClusterSnapshotRestoreIT.java +++ b/core/src/test/java/org/elasticsearch/snapshots/DedicatedClusterSnapshotRestoreIT.java @@ -90,8 +90,6 @@ import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.notNullValue; import static org.hamcrest.Matchers.nullValue; -/** - */ @ClusterScope(scope = Scope.TEST, numDataNodes = 0, transportClientRatio = 0) public class DedicatedClusterSnapshotRestoreIT extends AbstractSnapshotIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/snapshots/SharedClusterSnapshotRestoreIT.java b/core/src/test/java/org/elasticsearch/snapshots/SharedClusterSnapshotRestoreIT.java index 3e43cc83045..fb55f5bb767 100644 --- a/core/src/test/java/org/elasticsearch/snapshots/SharedClusterSnapshotRestoreIT.java +++ b/core/src/test/java/org/elasticsearch/snapshots/SharedClusterSnapshotRestoreIT.java @@ -686,6 +686,46 @@ public class SharedClusterSnapshotRestoreIT extends AbstractSnapshotIntegTestCas logger.info("--> total number of simulated failures during restore: [{}]", getFailureCount("test-repo")); } + public void testDataFileCorruptionDuringRestore() throws Exception { + Path repositoryLocation = randomRepoPath(); + Client client = client(); + logger.info("--> creating repository"); + assertAcked(client.admin().cluster().preparePutRepository("test-repo") + .setType("fs").setSettings(Settings.builder().put("location", repositoryLocation))); + + prepareCreate("test-idx").setSettings(Settings.builder().put("index.allocation.max_retries", Integer.MAX_VALUE)).get(); + ensureGreen(); + + logger.info("--> indexing some data"); + for (int i = 0; i < 100; i++) { + index("test-idx", "doc", Integer.toString(i), "foo", "bar" + i); + } + refresh(); + assertThat(client.prepareSearch("test-idx").setSize(0).get().getHits().totalHits(), equalTo(100L)); + + logger.info("--> snapshot"); + CreateSnapshotResponse createSnapshotResponse = client.admin().cluster().prepareCreateSnapshot("test-repo", "test-snap").setWaitForCompletion(true).setIndices("test-idx").get(); + assertThat(createSnapshotResponse.getSnapshotInfo().state(), equalTo(SnapshotState.SUCCESS)); + assertThat(createSnapshotResponse.getSnapshotInfo().totalShards(), equalTo(createSnapshotResponse.getSnapshotInfo().successfulShards())); + + logger.info("--> update repository with mock version"); + assertAcked(client.admin().cluster().preparePutRepository("test-repo") + .setType("mock").setSettings( + Settings.builder() + .put("location", repositoryLocation) + .put("random", randomAsciiOfLength(10)) + .put("use_lucene_corruption", true) + .put("random_data_file_io_exception_rate", 1.0))); + + // Test restore after index deletion + logger.info("--> delete index"); + cluster().wipeIndices("test-idx"); + logger.info("--> restore corrupt index"); + RestoreSnapshotResponse restoreSnapshotResponse = client.admin().cluster().prepareRestoreSnapshot("test-repo", "test-snap").setWaitForCompletion(true).execute().actionGet(); + assertThat(restoreSnapshotResponse.getRestoreInfo().totalShards(), greaterThan(0)); + assertThat(restoreSnapshotResponse.getRestoreInfo().failedShards(), equalTo(restoreSnapshotResponse.getRestoreInfo().totalShards())); + } + public void testDeletionOfFailingToRecoverIndexShouldStopRestore() throws Exception { Path repositoryLocation = randomRepoPath(); Client client = client(); @@ -2199,32 +2239,6 @@ public class SharedClusterSnapshotRestoreIT extends AbstractSnapshotIntegTestCas assertFalse(snapshotListener.timedOut()); // Check that cluster state update task was called only once assertEquals(1, snapshotListener.count()); - - logger.info("--> close indices"); - client.admin().indices().prepareClose("test-idx").get(); - - BlockingClusterStateListener restoreListener = new BlockingClusterStateListener(clusterService, "restore_snapshot[", "update snapshot state", Priority.HIGH); - - try { - clusterService.addFirst(restoreListener); - logger.info("--> restore snapshot"); - ListenableActionFuture futureRestore = client.admin().cluster().prepareRestoreSnapshot("test-repo", "test-snap").setWaitForCompletion(true).execute(); - - // Await until shard updates are in pending state. - assertBusyPendingTasks("update snapshot state", numberOfShards); - restoreListener.unblock(); - - RestoreSnapshotResponse restoreSnapshotResponse = futureRestore.actionGet(); - assertThat(restoreSnapshotResponse.getRestoreInfo().totalShards(), equalTo(numberOfShards)); - - } finally { - clusterService.remove(restoreListener); - } - - // Check that we didn't timeout - assertFalse(restoreListener.timedOut()); - // Check that cluster state update task was called only once - assertEquals(1, restoreListener.count()); } public void testSnapshotName() throws Exception { diff --git a/core/src/test/java/org/elasticsearch/snapshots/SnapshotUtilsTests.java b/core/src/test/java/org/elasticsearch/snapshots/SnapshotUtilsTests.java index 1763ec1a3e0..5b4b295d408 100644 --- a/core/src/test/java/org/elasticsearch/snapshots/SnapshotUtilsTests.java +++ b/core/src/test/java/org/elasticsearch/snapshots/SnapshotUtilsTests.java @@ -26,8 +26,6 @@ import java.util.List; import static org.hamcrest.Matchers.containsInAnyOrder; -/** - */ public class SnapshotUtilsTests extends ESTestCase { public void testIndexNameFiltering() { assertIndexNameFiltering(new String[]{"foo", "bar", "baz"}, new String[]{}, new String[]{"foo", "bar", "baz"}); diff --git a/core/src/test/java/org/elasticsearch/snapshots/mockstore/BlobContainerWrapper.java b/core/src/test/java/org/elasticsearch/snapshots/mockstore/BlobContainerWrapper.java index 72f17039f26..56a4a279cab 100644 --- a/core/src/test/java/org/elasticsearch/snapshots/mockstore/BlobContainerWrapper.java +++ b/core/src/test/java/org/elasticsearch/snapshots/mockstore/BlobContainerWrapper.java @@ -26,9 +26,6 @@ import java.io.IOException; import java.io.InputStream; import java.util.Map; -/** - * - */ public class BlobContainerWrapper implements BlobContainer { private BlobContainer delegate; diff --git a/core/src/test/java/org/elasticsearch/snapshots/mockstore/BlobStoreWrapper.java b/core/src/test/java/org/elasticsearch/snapshots/mockstore/BlobStoreWrapper.java index 5ac1e82dba4..08e0c6fdcfa 100644 --- a/core/src/test/java/org/elasticsearch/snapshots/mockstore/BlobStoreWrapper.java +++ b/core/src/test/java/org/elasticsearch/snapshots/mockstore/BlobStoreWrapper.java @@ -24,9 +24,6 @@ import org.elasticsearch.common.blobstore.BlobStore; import java.io.IOException; -/** - * - */ public class BlobStoreWrapper implements BlobStore { private BlobStore delegate; diff --git a/core/src/test/java/org/elasticsearch/snapshots/mockstore/MockRepository.java b/core/src/test/java/org/elasticsearch/snapshots/mockstore/MockRepository.java index 06c4ec10af0..ca3aeb674bd 100644 --- a/core/src/test/java/org/elasticsearch/snapshots/mockstore/MockRepository.java +++ b/core/src/test/java/org/elasticsearch/snapshots/mockstore/MockRepository.java @@ -33,6 +33,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicLong; +import org.apache.lucene.index.CorruptIndexException; import org.elasticsearch.ElasticsearchException; import org.elasticsearch.cluster.metadata.MetaData; import org.elasticsearch.cluster.metadata.RepositoryMetaData; @@ -81,6 +82,8 @@ public class MockRepository extends FsRepository { private final double randomDataFileIOExceptionRate; + private final boolean useLuceneCorruptionException; + private final long maximumNumberOfFailures; private final long waitAfterUnblock; @@ -101,6 +104,7 @@ public class MockRepository extends FsRepository { super(overrideSettings(metadata, environment), environment); randomControlIOExceptionRate = metadata.settings().getAsDouble("random_control_io_exception_rate", 0.0); randomDataFileIOExceptionRate = metadata.settings().getAsDouble("random_data_file_io_exception_rate", 0.0); + useLuceneCorruptionException = metadata.settings().getAsBoolean("use_lucene_corruption", false); maximumNumberOfFailures = metadata.settings().getAsLong("max_failure_number", 100L); blockOnControlFiles = metadata.settings().getAsBoolean("block_on_control", false); blockOnDataFiles = metadata.settings().getAsBoolean("block_on_data", false); @@ -245,7 +249,11 @@ public class MockRepository extends FsRepository { if (blobName.startsWith("__")) { if (shouldFail(blobName, randomDataFileIOExceptionRate) && (incrementAndGetFailureCount() < maximumNumberOfFailures)) { logger.info("throwing random IOException for file [{}] at path [{}]", blobName, path()); - throw new IOException("Random IOException"); + if (useLuceneCorruptionException) { + throw new CorruptIndexException("Random corruption", "random file"); + } else { + throw new IOException("Random IOException"); + } } else if (blockOnDataFiles) { logger.info("blocking I/O operation for file [{}] at path [{}]", blobName, path()); if (blockExecution() && waitAfterUnblock > 0) { diff --git a/core/src/test/java/org/elasticsearch/threadpool/SimpleThreadPoolIT.java b/core/src/test/java/org/elasticsearch/threadpool/SimpleThreadPoolIT.java index 56e18d5335e..1b5202762c6 100644 --- a/core/src/test/java/org/elasticsearch/threadpool/SimpleThreadPoolIT.java +++ b/core/src/test/java/org/elasticsearch/threadpool/SimpleThreadPoolIT.java @@ -49,8 +49,6 @@ import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder; import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures; import static org.hamcrest.Matchers.containsString; -/** - */ @ClusterScope(scope = Scope.TEST, numDataNodes = 0, numClientNodes = 0) public class SimpleThreadPoolIT extends ESIntegTestCase { @Override diff --git a/core/src/test/java/org/elasticsearch/timestamp/SimpleTimestampIT.java b/core/src/test/java/org/elasticsearch/timestamp/SimpleTimestampIT.java index 2fb63335873..e64a695d888 100644 --- a/core/src/test/java/org/elasticsearch/timestamp/SimpleTimestampIT.java +++ b/core/src/test/java/org/elasticsearch/timestamp/SimpleTimestampIT.java @@ -45,8 +45,6 @@ import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.lessThanOrEqualTo; import static org.hamcrest.Matchers.notNullValue; -/** - */ public class SimpleTimestampIT extends ESIntegTestCase { private static final Settings BW_SETTINGS = Settings.builder().put(IndexMetaData.SETTING_VERSION_CREATED, Version.V_2_3_0).build(); diff --git a/core/src/test/java/org/elasticsearch/update/UpdateByNativeScriptIT.java b/core/src/test/java/org/elasticsearch/update/UpdateByNativeScriptIT.java index 31ce9861e45..b8c78f5e311 100644 --- a/core/src/test/java/org/elasticsearch/update/UpdateByNativeScriptIT.java +++ b/core/src/test/java/org/elasticsearch/update/UpdateByNativeScriptIT.java @@ -42,9 +42,6 @@ import java.util.Map; import static org.hamcrest.Matchers.hasKey; import static org.hamcrest.Matchers.is; -/** - * - */ @ClusterScope(scope= Scope.SUITE, numDataNodes =1) public class UpdateByNativeScriptIT extends ESIntegTestCase { diff --git a/core/src/test/java/org/elasticsearch/validate/SimpleValidateQueryIT.java b/core/src/test/java/org/elasticsearch/validate/SimpleValidateQueryIT.java index 79ee4389527..0a26ce32e6d 100644 --- a/core/src/test/java/org/elasticsearch/validate/SimpleValidateQueryIT.java +++ b/core/src/test/java/org/elasticsearch/validate/SimpleValidateQueryIT.java @@ -49,9 +49,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.nullValue; -/** - * - */ @ClusterScope(randomDynamicTemplates = false, scope = Scope.SUITE) public class SimpleValidateQueryIT extends ESIntegTestCase { public void testSimpleValidateQuery() throws Exception { diff --git a/core/src/test/java/org/elasticsearch/versioning/ConcurrentDocumentOperationIT.java b/core/src/test/java/org/elasticsearch/versioning/ConcurrentDocumentOperationIT.java index e2c572f783a..8edcbd45a8c 100644 --- a/core/src/test/java/org/elasticsearch/versioning/ConcurrentDocumentOperationIT.java +++ b/core/src/test/java/org/elasticsearch/versioning/ConcurrentDocumentOperationIT.java @@ -32,9 +32,6 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcke import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.nullValue; -/** - * - */ public class ConcurrentDocumentOperationIT extends ESIntegTestCase { public void testConcurrentOperationOnSameDoc() throws Exception { logger.info("--> create an index with 1 shard and max replicas based on nodes"); diff --git a/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java b/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java index c5d0129644a..3aaaafe5fa4 100644 --- a/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java +++ b/core/src/test/java/org/elasticsearch/versioning/SimpleVersioningIT.java @@ -47,9 +47,6 @@ import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertThro import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.lessThanOrEqualTo; -/** - * - */ public class SimpleVersioningIT extends ESIntegTestCase { public void testExternalVersioningInitialDelete() throws Exception { createIndex("test"); diff --git a/core/src/test/java/org/elasticsearch/watcher/ResourceWatcherServiceTests.java b/core/src/test/java/org/elasticsearch/watcher/ResourceWatcherServiceTests.java index 82a3a55868a..86bad44fbf1 100644 --- a/core/src/test/java/org/elasticsearch/watcher/ResourceWatcherServiceTests.java +++ b/core/src/test/java/org/elasticsearch/watcher/ResourceWatcherServiceTests.java @@ -29,9 +29,6 @@ import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; -/** - * - */ public class ResourceWatcherServiceTests extends ESTestCase { public void testSettings() throws Exception { ThreadPool threadPool = new TestThreadPool("test"); diff --git a/docs/build.gradle b/docs/build.gradle index 83fea920d2b..5a65065a639 100644 --- a/docs/build.gradle +++ b/docs/build.gradle @@ -93,7 +93,6 @@ buildRestTests.expectedUnconvertedCandidates = [ 'reference/analysis/tokenfilters/stop-tokenfilter.asciidoc', 'reference/analysis/tokenfilters/synonym-tokenfilter.asciidoc', 'reference/analysis/tokenfilters/word-delimiter-tokenfilter.asciidoc', - 'reference/cat/indices.asciidoc', 'reference/cat/master.asciidoc', 'reference/cat/nodeattrs.asciidoc', 'reference/cat/nodes.asciidoc', @@ -138,7 +137,6 @@ buildRestTests.expectedUnconvertedCandidates = [ 'reference/indices/shadow-replicas.asciidoc', 'reference/indices/shard-stores.asciidoc', 'reference/indices/update-settings.asciidoc', - 'reference/indices/upgrade.asciidoc', 'reference/ingest/ingest-node.asciidoc', 'reference/mapping/dynamic/templates.asciidoc', 'reference/mapping/fields/all-field.asciidoc', diff --git a/docs/reference/aggregations/bucket/diversified-sampler-aggregation.asciidoc b/docs/reference/aggregations/bucket/diversified-sampler-aggregation.asciidoc index 70412d2680a..ac6dff5a248 100644 --- a/docs/reference/aggregations/bucket/diversified-sampler-aggregation.asciidoc +++ b/docs/reference/aggregations/bucket/diversified-sampler-aggregation.asciidoc @@ -63,7 +63,7 @@ Response: } -------------------------------------------------- -<1> 1000 documents were sampled in total becase we asked for a maximum of 200 from an index with 5 shards. The cost of performing the nested significant_terms aggregation was therefore limited rather than unbounded. +<1> 1000 documents were sampled in total because we asked for a maximum of 200 from an index with 5 shards. The cost of performing the nested significant_terms aggregation was therefore limited rather than unbounded. <2> The results of the significant_terms aggregation are not skewed by any single over-active Twitter user because we asked for a maximum of one tweet from any one user in our sample. @@ -92,7 +92,7 @@ Controlling diversity using a field: { "aggs" : { "sample" : { - "diverisfied_sampler" : { + "diversified_sampler" : { "field" : "author", "max_docs_per_value" : 3 } diff --git a/docs/reference/aggregations/bucket/terms-aggregation.asciidoc b/docs/reference/aggregations/bucket/terms-aggregation.asciidoc index 68b2e8511f9..fb3baca0967 100644 --- a/docs/reference/aggregations/bucket/terms-aggregation.asciidoc +++ b/docs/reference/aggregations/bucket/terms-aggregation.asciidoc @@ -499,7 +499,7 @@ TIP: for indexed scripts replace the `file` parameter with an `id` parameter. "aggs" : { "genres" : { "terms" : { - "field" : "gendre", + "field" : "gender", "script" : { "inline" : "'Genre: ' +_value" "lang" : "painless" diff --git a/docs/reference/analysis/tokenizers/lowercase-tokenizer.asciidoc b/docs/reference/analysis/tokenizers/lowercase-tokenizer.asciidoc index 5aad28b4394..b175267296d 100644 --- a/docs/reference/analysis/tokenizers/lowercase-tokenizer.asciidoc +++ b/docs/reference/analysis/tokenizers/lowercase-tokenizer.asciidoc @@ -2,7 +2,7 @@ === Lowercase Tokenizer -The `lowercase` toknenizer, like the +The `lowercase` tokenizer, like the <> breaks text into terms whenever it encounters a character which is not a letter, but it also lowecases all terms. It is functionally equivalent to the diff --git a/docs/reference/cat.asciidoc b/docs/reference/cat.asciidoc index a611cdc97f9..e037907435d 100644 --- a/docs/reference/cat.asciidoc +++ b/docs/reference/cat.asciidoc @@ -175,6 +175,36 @@ For example: -------------------------------------------------- // NOTCONSOLE +[float] +[[sort]] +=== Sort + +Each of the commands accepts a query string parameter `s` which sorts the table by +the columns specified as the parameter value. Columns are specified either by name or by +alias, and are provided as a comma separated string. By default, sorting is done in +ascending fashion. Appending `:desc` to a column will invert the ordering for +that column. `:asc` is also accepted but exhibits the same behavior as the default sort order. + +For example, with a sort string `s=column1,column2:desc,column3`, the table will be +sorted in ascending order by column1, in descending order by column2, and in ascending +order by column3. + +[source,sh] +-------------------------------------------------- +GET _cat/templates?v&s=order:desc,template +-------------------------------------------------- +//CONSOLE + +returns: + +[source,sh] +-------------------------------------------------- +name template order version +pizza_pepperoni *pepperoni* 2 +sushi_california_roll *avocado* 1 1 +pizza_hawaiian *pineapples* 1 +-------------------------------------------------- + -- include::cat/alias.asciidoc[] diff --git a/docs/reference/cat/health.asciidoc b/docs/reference/cat/health.asciidoc index 53afa7700b9..662e8c84835 100644 --- a/docs/reference/cat/health.asciidoc +++ b/docs/reference/cat/health.asciidoc @@ -13,10 +13,10 @@ GET /_cat/health?v [source,js] -------------------------------------------------- -epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent -1475871424 16:17:04 docs_integTest green 1 1 5 5 0 0 0 0 - 100.0% +epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent +1475871424 16:17:04 elasticsearch green 1 1 5 5 0 0 0 0 - 100.0% -------------------------------------------------- -// TESTRESPONSE[s/1475871424 16:17:04/\\d+ \\d+:\\d+:\\d+/ s/elasticsearch/[^ ]+/ _cat] +// TESTRESPONSE[s/1475871424 16:17:04/\\d+ \\d+:\\d+:\\d+/ s/elasticsearch/[^ ]+/ s/0 -/\\d+ -/ _cat] It has one option `ts` to disable the timestamping: @@ -31,10 +31,10 @@ which looks like: [source,js] -------------------------------------------------- -cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent +cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent elasticsearch green 1 1 5 5 0 0 0 0 - 100.0% -------------------------------------------------- -// TESTRESPONSE[s/elasticsearch/[^ ]+/ _cat] +// TESTRESPONSE[s/elasticsearch/[^ ]+/ s/0 -/\\d+ -/ _cat] A common use of this command is to verify the health is consistent across nodes: diff --git a/docs/reference/cat/indices.asciidoc b/docs/reference/cat/indices.asciidoc index 22be4067f8a..91965f7b6fc 100644 --- a/docs/reference/cat/indices.asciidoc +++ b/docs/reference/cat/indices.asciidoc @@ -2,19 +2,30 @@ == cat indices The `indices` command provides a cross-section of each index. This -information *spans nodes*. +information *spans nodes*. For example: -[source,sh] +[source,js] -------------------------------------------------- -% curl 'localhost:9200/_cat/indices/twi*?v' -health status index pri rep docs.count docs.deleted store.size pri.store.size -green open twitter 5 1 11434 0 64mb 32mb -green open twitter2 2 0 2030 0 5.8mb 5.8mb +GET /_cat/indices/twi*?v&s=index -------------------------------------------------- +// CONSOLE +// TEST[setup:huge_twitter] +// TEST[s/^/PUT twitter2\n{"settings": {"number_of_replicas": 0}}\n/] + +Might respond with: + +[source,js] +-------------------------------------------------- +health status index uuid pri rep docs.count docs.deleted store.size pri.store.size +yellow open twitter u8FNjxh8Rfy_awN11oDKYQ 1 1 1200 0 88.1kb 88.1kb +green open twitter2 nYFWZEO7TUiOjLQXBaYJpA 5 0 0 0 260b 260b +-------------------------------------------------- +// TESTRESPONSE[s/\d+(\.\d+)?[tgmk]?b/\\d+(\\.\\d+)?[tgmk]?b/] +// TESTRESPONSE[s/u8FNjxh8Rfy_awN11oDKYQ|nYFWZEO7TUiOjLQXBaYJpA/.+/ _cat] We can tell quickly how many shards make up an index, the number of -docs at the Lucene level, including hidden docs (e.g., from nested types), -deleted docs, primary store size, and total store size (all shards including replicas). +docs at the Lucene level, including hidden docs (e.g., from nested types), +deleted docs, primary store size, and total store size (all shards including replicas). All these exposed metrics come directly from Lucene APIs. [float] @@ -31,39 +42,77 @@ the view of relevant stats in the context of only the primaries. Which indices are yellow? -[source,sh] +[source,js] -------------------------------------------------- -% curl localhost:9200/_cat/indices?health=yellow -yellow open wiki 2 1 6401 1115 151.4mb 151.4mb -yellow open twitter 5 1 11434 0 32mb 32mb +GET /_cat/indices?v&health=yellow -------------------------------------------------- +// CONSOLE +// TEST[continued] + +Which looks like: + +[source,js] +-------------------------------------------------- +health status index uuid pri rep docs.count docs.deleted store.size pri.store.size +yellow open twitter u8FNjxh8Rfy_awN11oDKYQ 1 1 1200 0 88.1kb 88.1kb +-------------------------------------------------- +// TESTRESPONSE[s/\d+(\.\d+)?[tgmk]?b/\\d+(\\.\\d+)?[tgmk]?b/] +// TESTRESPONSE[s/u8FNjxh8Rfy_awN11oDKYQ/.+/ _cat] What's my largest index by disk usage not including replicas? -[source,sh] +[source,js] -------------------------------------------------- -% curl 'localhost:9200/_cat/indices?bytes=b' | sort -rnk8 -green open wiki 2 0 6401 1115 158843725 158843725 -green open twitter 5 1 11434 0 67155614 33577857 -green open twitter2 2 0 2030 0 6125085 6125085 +GET /_cat/indices?v&s=store.size:desc -------------------------------------------------- +// CONSOLE +// TEST[continued] -How many merge operations have the shards for the `wiki` completed? +Which looks like: -[source,sh] +[source,js] -------------------------------------------------- -% curl 'localhost:9200/_cat/indices/wiki?pri&v&h=health,index,pri,rep,docs.count,mt' -health index docs.count mt pri.mt -green wiki 9646 16 16 +health status index uuid pri rep docs.count docs.deleted store.size pri.store.size +yellow open twitter u8FNjxh8Rfy_awN11oDKYQ 1 1 1200 0 88.1kb 88.1kb +green open twitter2 nYFWZEO7TUiOjLQXBaYJpA 5 0 0 0 260b 260b -------------------------------------------------- +// TESTRESPONSE[s/\d+(\.\d+)?[tgmk]?b/\\d+(\\.\\d+)?[tgmk]?b/] +// TESTRESPONSE[s/u8FNjxh8Rfy_awN11oDKYQ|nYFWZEO7TUiOjLQXBaYJpA/.+/ _cat] + +How many merge operations have the shards for the `twitter` completed? + +[source,js] +-------------------------------------------------- +GET /_cat/indices/twitter?pri&v&h=health,index,pri,rep,docs.count,mt +-------------------------------------------------- +// CONSOLE +// TEST[continued] + +Might look like: + +[source,js] +-------------------------------------------------- +health index pri rep docs.count mt pri.mt +yellow twitter 1 1 1200 16 16 +-------------------------------------------------- +// TESTRESPONSE[s/16/\\d+/ _cat] How much memory is used per index? -[source,sh] +[source,js] -------------------------------------------------- -% curl 'localhost:9200/_cat/indices?v&h=i,tm' -i tm -wiki 8.1gb -test 30.5kb -user 1.9mb +GET /_cat/indices?v&h=i,tm&s=tm:desc -------------------------------------------------- +// CONSOLE +// TEST[continued] + +Might look like: + +[source,js] +-------------------------------------------------- +i tm +twitter 8.1gb +twitter2 30.5kb +-------------------------------------------------- +// TESTRESPONSE[s/\d+(\.\d+)?[tgmk]?b/\\d+(\\.\\d+)?[tgmk]?b/] +// TESTRESPONSE[_cat] diff --git a/docs/reference/docs/index_.asciidoc b/docs/reference/docs/index_.asciidoc index 57453b546ac..4fc4182505b 100644 --- a/docs/reference/docs/index_.asciidoc +++ b/docs/reference/docs/index_.asciidoc @@ -155,12 +155,10 @@ than the version of the stored document. If there is no existing document the operation will succeed as well. The given version will be used as the new version and will be stored with the new document. The supplied version must be a non-negative long number. -`force`:: the document will be indexed regardless of the version of the stored document or if there -is no existing document. The given version will be used as the new version and will be stored -with the new document. This version type is typically used for correcting errors. - -*NOTE*: The `external_gte` & `force` version types are meant for special use cases and should be used -with care. If used incorrectly, they can result in loss of data. +*NOTE*: The `external_gte` version type is meant for special use cases and +should be used with care. If used incorrectly, it can result in loss of data. +There is another option, `force`, which is deprecated because it can cause +primary and replica shards to diverge. [float] [[operation-type]] diff --git a/docs/reference/docs/reindex.asciidoc b/docs/reference/docs/reindex.asciidoc index b57bb1be845..3c5b0bbfc92 100644 --- a/docs/reference/docs/reindex.asciidoc +++ b/docs/reference/docs/reindex.asciidoc @@ -367,6 +367,7 @@ POST _reindex // TEST[s/^/PUT source\n/] [float] +[[reindex-from-remote]] === Reindex from Remote Reindex supports reindexing from a remote Elasticsearch cluster: diff --git a/docs/reference/docs/update.asciidoc b/docs/reference/docs/update.asciidoc index ff4c4c657d7..6cb95f406a8 100644 --- a/docs/reference/docs/update.asciidoc +++ b/docs/reference/docs/update.asciidoc @@ -67,7 +67,7 @@ POST test/type1/1/_update In addition to `_source`, the following variables are available through the `ctx` map: `_index`, `_type`, `_id`, `_version`, `_routing`, -`_parent`. +`_parent`, and `_now` (the current timestamp). We can also add a new field to the document: diff --git a/docs/reference/getting-started.asciidoc b/docs/reference/getting-started.asciidoc index 48e579cdd27..d6b1aa12daf 100755 --- a/docs/reference/getting-started.asciidoc +++ b/docs/reference/getting-started.asciidoc @@ -219,7 +219,7 @@ We can see that our cluster named "elasticsearch" is up with a green status. Whenever we ask for the cluster health, we either get green, yellow, or red. Green means everything is good (cluster is fully functional), yellow means all data is available but some replicas are not yet allocated (cluster is fully functional), and red means some data is not available for whatever reason. Note that even if a cluster is red, it still is partially functional (i.e. it will continue to serve search requests from the available shards) but you will likely need to fix it ASAP since you have missing data. -Also from the above response, we can see and total of 1 node and that we have 0 shards since we have no data in it yet. Note that since we are using the default cluster name (elasticsearch) and since Elasticsearch uses unicast network discovery by default to find other nodes on the same machine, it is possible that you could accidentally start up more than one node on your computer and have them all join a single cluster. In this scenario, you may see more than 1 node in the above response. +Also from the above response, we can see a total of 1 node and that we have 0 shards since we have no data in it yet. Note that since we are using the default cluster name (elasticsearch) and since Elasticsearch uses unicast network discovery by default to find other nodes on the same machine, it is possible that you could accidentally start up more than one node on your computer and have them all join a single cluster. In this scenario, you may see more than 1 node in the above response. We can also get a list of nodes in our cluster as follows: diff --git a/docs/reference/how-to/indexing-speed.asciidoc b/docs/reference/how-to/indexing-speed.asciidoc index 50187af5b28..b0bd5fef802 100644 --- a/docs/reference/how-to/indexing-speed.asciidoc +++ b/docs/reference/how-to/indexing-speed.asciidoc @@ -5,7 +5,7 @@ === Use bulk requests Bulk requests will yield much better performance than single-document index -requests. In order to know the optimal size of a bulk request, you shoud run +requests. In order to know the optimal size of a bulk request, you should run a benchmark on a single node with a single shard. First try to index 100 documents at once, then 200, then 400, etc. doubling the number of documents in a bulk request in every benchmark run. When the indexing speed starts to @@ -32,7 +32,7 @@ When it happens, you should pause indexing a bit before trying again, ideally with randomized exponential backoff. Similarly to sizing bulk requests, only testing can tell what the optimal -number of workers is. This can be tested by progressivily increasing the +number of workers is. This can be tested by progressively increasing the number of workers until either I/O or CPU is saturated on the cluster. [float] @@ -58,7 +58,7 @@ original values. === Disable swapping You should make sure that the operating system is not swapping out the java -process by <>. +process by <>. [float] === Give memory to the filesystem cache diff --git a/docs/reference/index-modules/store.asciidoc b/docs/reference/index-modules/store.asciidoc index ee7fd8766fd..8d552ae078f 100644 --- a/docs/reference/index-modules/store.asciidoc +++ b/docs/reference/index-modules/store.asciidoc @@ -79,7 +79,7 @@ By default, elasticsearch completely relies on the operating system file system cache for caching I/O operations. It is possible to set `index.store.preload` in order to tell the operating system to load the content of hot index files into memory upon opening. This setting accept a comma-separated list of -files extensions: all files whose extenion is in the list will be pre-loaded +files extensions: all files whose extension is in the list will be pre-loaded upon opening. This can be useful to improve search performance of an index, especially when the host operating system is restarted, since this causes the file system cache to be trashed. However note that this may slow down the diff --git a/docs/reference/indices.asciidoc b/docs/reference/indices.asciidoc index 3c1eadfa07e..afb5088d85e 100644 --- a/docs/reference/indices.asciidoc +++ b/docs/reference/indices.asciidoc @@ -60,7 +60,6 @@ index settings, aliases, mappings, and index templates. * <> * <> * <> -* <> -- @@ -114,5 +113,3 @@ include::indices/refresh.asciidoc[] include::indices/forcemerge.asciidoc[] -include::indices/upgrade.asciidoc[] - diff --git a/docs/reference/indices/upgrade.asciidoc b/docs/reference/indices/upgrade.asciidoc deleted file mode 100644 index 1b8e99f2125..00000000000 --- a/docs/reference/indices/upgrade.asciidoc +++ /dev/null @@ -1,123 +0,0 @@ -[[indices-upgrade]] -== Upgrade - -The upgrade API allows to upgrade one or more indices to the latest Lucene -format through an API. The upgrade process converts any segments written with -older formats. - -[IMPORTANT] -=================================================== - -**The upgrade API in its current form will not help you to migrate indices -created in Elasticsearch 1.x to 5.x.** - -The upgrade API rewrites an index in the latest Lucene format, but it still -retains the original data structures that were used when the index was first -created. For instance: - -* Doc-values on numeric fields used to use BinaryDocValues, but now use dedicated NumericDocValues. -* The parent-child feature has been completely rewritten to use a new data structure. -* Geo-point fields now require doc values and the Lucene index where, previously, they relied on in-memory calculations. - -**Migrating 1.x indices to 5.x** - -The only way to prepare an index created in 1.x for use in 5.x is to **reindex -your data** in a cluster running Elasticsearch 2.3.x, which you can do with -the new <>. - -The steps to do this are as follows: - -1. Create a new index (e.g. `new_index`) with the correct settings and - mappings. These can be retrieved from the old index with the - <> API. - -2. Reindex from `old_index` to `new_index` with the - <>. - -3. Retrieve a list of any aliases associated with the `old_index` using the - <>. - -4. Delete the `old_index` using the <>. - -5. Add an alias called `old_index` to the `new_index` along with any aliases - returned in step 3, using the <>. - -In the future, we plan to change the upgrade API to perform a reindex-in- -place. In other words, it would reindex data from `old_index` to `.old_index` -then atomically delete `old_index` and rename `.old_index` to `old_index`. - -=================================================== - - -[float] -=== Start an upgrade - -[source,sh] --------------------------------------------------- -$ curl -XPOST 'http://localhost:9200/twitter/_upgrade' --------------------------------------------------- - -NOTE: Upgrading is an I/O intensive operation, and is limited to processing a -single shard per node at a time. It also is not allowed to run at the same -time as an optimize/force-merge. - -This call will block until the upgrade is complete. If the http connection -is lost, the request will continue in the background, and -any new requests will block until the previous upgrade is complete. - -[float] -[[upgrade-parameters]] -==== Request Parameters - -The `upgrade` API accepts the following request parameters: - -[horizontal] -`only_ancient_segments`:: If true, only very old segments (from a -previous Lucene major release) will be upgraded. While this will do -the minimal work to ensure the next major release of Elasticsearch can -read the segments, it's dangerous because it can leave other very old -segments in sub-optimal formats. Defaults to `false`. - -[float] -=== Check upgrade status - -Use a `GET` request to monitor how much of an index is upgraded. This -can also be used prior to starting an upgrade to identify which -indices you want to upgrade at the same time. - -The `ancient` byte values that are returned indicate total bytes of -segments whose version is extremely old (Lucene major version is -different from the current version), showing how much upgrading is -necessary when you run with `only_ancient_segments=true`. - -[source,sh] --------------------------------------------------- -curl 'http://localhost:9200/twitter/_upgrade?pretty&human' --------------------------------------------------- - -[source,js] --------------------------------------------------- -{ - "size": "21gb", - "size_in_bytes": "21000000000", - "size_to_upgrade": "10gb", - "size_to_upgrade_in_bytes": "10000000000" - "size_to_upgrade_ancient": "1gb", - "size_to_upgrade_ancient_in_bytes": "1000000000" - "indices": { - "twitter": { - "size": "21gb", - "size_in_bytes": "21000000000", - "size_to_upgrade": "10gb", - "size_to_upgrade_in_bytes": "10000000000" - "size_to_upgrade_ancient": "1gb", - "size_to_upgrade_ancient_in_bytes": "1000000000" - } - } -} --------------------------------------------------- - -The level of details in the upgrade status command can be controlled by -setting `level` parameter to `cluster`, `index` (default) or `shard` levels. -For example, you can run the upgrade status command with `level=shard` to -get detailed upgrade information of each individual shard. diff --git a/docs/reference/ingest/ingest-node.asciidoc b/docs/reference/ingest/ingest-node.asciidoc index 48a0bc67e6b..013275c0466 100644 --- a/docs/reference/ingest/ingest-node.asciidoc +++ b/docs/reference/ingest/ingest-node.asciidoc @@ -660,7 +660,7 @@ A node will not start if either of these plugins are not available. The <> can be used to fetch ingest usage statistics, globally and on a per pipeline basis. Useful to find out which pipelines are used the most or spent the most time on preprocessing. -[[append-procesesor]] +[[append-processor]] === Append Processor Appends one or more values to an existing array if the field already exists and it is an array. Converts a scalar to an array and appends one or more values to it if the field exists and it is a scalar. diff --git a/docs/reference/mapping/dynamic/templates.asciidoc b/docs/reference/mapping/dynamic/templates.asciidoc index 21b0eadf683..468df64b1d4 100644 --- a/docs/reference/mapping/dynamic/templates.asciidoc +++ b/docs/reference/mapping/dynamic/templates.asciidoc @@ -353,7 +353,7 @@ remove it as described in the previous section. ===== Time-series -When doing time series analysis with elastisearch, it is common to have many +When doing time series analysis with elasticsearch, it is common to have many numeric fields that you will often aggregate on but never filter on. In such a case, you could disable indexing on those fields to save disk space and also maybe gain some indexing speed: diff --git a/docs/reference/migration/migrate_6_0/plugins.asciidoc b/docs/reference/migration/migrate_6_0/plugins.asciidoc index ff8a75ab448..bf73dc10e94 100644 --- a/docs/reference/migration/migrate_6_0/plugins.asciidoc +++ b/docs/reference/migration/migrate_6_0/plugins.asciidoc @@ -3,5 +3,5 @@ ==== Mapper attachments plugin -* The mapper attachments plugin has been depecated in elasticsearch 5.0 and is now removed. +* The mapper attachments plugin has been deprecated in elasticsearch 5.0 and is now removed. You can use {plugins}/ingest-attachment.html[ingest attachment plugin] instead. diff --git a/docs/reference/migration/migrate_6_0/rest.asciidoc b/docs/reference/migration/migrate_6_0/rest.asciidoc index 1e02df1f61f..a0ac594e3fc 100644 --- a/docs/reference/migration/migrate_6_0/rest.asciidoc +++ b/docs/reference/migration/migrate_6_0/rest.asciidoc @@ -4,6 +4,6 @@ ==== Unquoted JSON In previous versions of Elasticsearch, JSON documents were allowed to contain unquoted field names. -This feature was removed in the 5.x series, but a backwards-compability layer was added via the -system property `elasticsearch.json.allow_unquoted_field_names`. This backwards-compability layer +This feature was removed in the 5.x series, but a backwards-compatibility layer was added via the +system property `elasticsearch.json.allow_unquoted_field_names`. This backwards-compatibility layer has been removed in Elasticsearch 6.0.0. diff --git a/docs/reference/modules/node.asciidoc b/docs/reference/modules/node.asciidoc index e1cc3e0b866..b921edca731 100644 --- a/docs/reference/modules/node.asciidoc +++ b/docs/reference/modules/node.asciidoc @@ -287,7 +287,7 @@ machine. In production, however, it is recommended to run only one node of Elast By default, Elasticsearch is configured to prevent more than one node from sharing the same data path. To allow for more than one node (e.g., on your development machine), use the setting -`node.max_local_storage_nodes` and set this to a positve integer larger than one. +`node.max_local_storage_nodes` and set this to a positive integer larger than one. WARNING: Never run different node types (i.e. master, data) from the same data directory. This can lead to unexpected data loss. diff --git a/docs/reference/modules/scripting/using.asciidoc b/docs/reference/modules/scripting/using.asciidoc index 17ab4a8180a..c3af5861879 100644 --- a/docs/reference/modules/scripting/using.asciidoc +++ b/docs/reference/modules/scripting/using.asciidoc @@ -13,7 +13,7 @@ the same pattern: } ------------------------------------- <1> The language the script is written in, which defaults to `painless`. -<2> The script itself which may be specfied as `inline`, `id`, or `file`. +<2> The script itself which may be specified as `inline`, `id`, or `file`. <3> Any named parameters that should be passed into the script. For example, the following script is used in a search request to return a diff --git a/docs/reference/modules/snapshots.asciidoc b/docs/reference/modules/snapshots.asciidoc index 9fd8e069480..4d74500d68e 100644 --- a/docs/reference/modules/snapshots.asciidoc +++ b/docs/reference/modules/snapshots.asciidoc @@ -277,7 +277,7 @@ GET /_snapshot/my_backup/_all ----------------------------------- // CONSOLE -The command fails if some of the snapshots are unavailable. The boolean parameter `ignore_unvailable` can be used to +The command fails if some of the snapshots are unavailable. The boolean parameter `ignore_unavailable` can be used to return all snapshots that are currently available. A currently running snapshot can be retrieved using the following command: diff --git a/docs/reference/query-dsl/function-score-query.asciidoc b/docs/reference/query-dsl/function-score-query.asciidoc index 3072372d179..6e83dd927e0 100644 --- a/docs/reference/query-dsl/function-score-query.asciidoc +++ b/docs/reference/query-dsl/function-score-query.asciidoc @@ -318,7 +318,7 @@ In the above example, the field is a <> and origin can be math (for example `now-1h`) is supported for origin. `scale`:: - Required for all types. Defines the distance from origin + offest at which the computed + Required for all types. Defines the distance from origin + offset at which the computed score will equal `decay` parameter. For geo fields: Can be defined as number+unit (1km, 12m,...). Default unit is meters. For date fields: Can to be defined as a number+unit ("1h", "10d",...). Default unit is milliseconds. For numeric field: Any number. diff --git a/docs/reference/redirects.asciidoc b/docs/reference/redirects.asciidoc index 570568b43a0..d6870f81a10 100644 --- a/docs/reference/redirects.asciidoc +++ b/docs/reference/redirects.asciidoc @@ -10,6 +10,12 @@ The `_shutdown` API has been removed. Instead, setup Elasticsearch to run as a service (see <>, <>, or <>) or use the `-p` command line option to <>. +[role="exclude",id="indices-upgrade"] +=== Upgrade API + +The `_upgrade` API is no longer useful and will be removed. Instead, see +<>. + [role="exclude",id="docs-bulk-udp"] === Bulk UDP API diff --git a/docs/reference/setup/bootstrap-checks.asciidoc b/docs/reference/setup/bootstrap-checks.asciidoc index 0f88d03401c..8c1bab474c8 100644 --- a/docs/reference/setup/bootstrap-checks.asciidoc +++ b/docs/reference/setup/bootstrap-checks.asciidoc @@ -101,7 +101,7 @@ process has unlimited address space and is enforced only on Linux. To pass the maximum size virtual memory check, you must configure your system to allow the Elasticsearch process the ability to have unlimited address space. This can be done via `/etc/security/limits.conf` using -the `as` setting to `unlimited` (note that you might have to increaes +the `as` setting to `unlimited` (note that you might have to increase the limits for the `root` user too). === Maximum map count check diff --git a/docs/reference/setup/cluster_restart.asciidoc b/docs/reference/setup/cluster_restart.asciidoc index 7f9f8f89afa..15048319554 100644 --- a/docs/reference/setup/cluster_restart.asciidoc +++ b/docs/reference/setup/cluster_restart.asciidoc @@ -8,7 +8,9 @@ required. The process to perform an upgrade with a full cluster restart is as follows: -==== Step 1: Disable shard allocation +. *Disable shard allocation* ++ +-- When you shut down a node, the allocation process will immediately try to replicate the shards that were on that node to other nodes in the cluster, @@ -26,8 +28,11 @@ PUT _cluster/settings -------------------------------------------------- // CONSOLE // TEST[skip:indexes don't assign] +-- -==== Step 2: Perform a synced flush +. *Perform a synced flush* ++ +-- Shard recovery will be much faster if you stop indexing and issue a <> request: @@ -41,19 +46,28 @@ POST _flush/synced A synced flush request is a ``best effort'' operation. It will fail if there are any pending indexing operations, but it is safe to reissue the request multiple times if necessary. +-- -==== Step 3: Shutdown and upgrade all nodes +. *Shutdown and upgrade all nodes* ++ +-- Stop all Elasticsearch services on all nodes in the cluster. Each node can be upgraded following the same procedure described in <>. +-- -==== Step 4: Upgrade any plugins +. *Upgrade any plugins* ++ +-- Elasticsearch plugins must be upgraded when upgrading a node. Use the `elasticsearch-plugin` script to install the correct version of any plugins that you need. +-- -==== Step 5: Start the cluster +. *Start the cluster* ++ +-- If you have dedicated master nodes -- nodes with `node.master` set to `true`(the default) and `node.data` set to `false` -- then it is a good idea @@ -75,8 +89,11 @@ GET _cat/nodes // CONSOLE Use these APIs to check that all nodes have successfully joined the cluster. +-- -==== Step 6: Wait for yellow +. *Wait for yellow* ++ +-- As soon as each node has joined the cluster, it will start to recover any primary shards that are stored locally. Initially, the @@ -87,8 +104,11 @@ Once each node has recovered its local shards, the `status` will become `yellow`, meaning all primary shards have been recovered, but not all replica shards are allocated. This is to be expected because allocation is still disabled. +-- -==== Step 7: Reenable allocation +. *Reenable allocation* ++ +-- Delaying the allocation of replicas until all nodes have joined the cluster allows the master to allocate replicas to nodes which already have local shard @@ -124,3 +144,4 @@ GET _cat/recovery Once the `status` column in the `_cat/health` output has reached `green`, all primary and replica shards have been successfully allocated. +-- diff --git a/docs/reference/setup/important-settings.asciidoc b/docs/reference/setup/important-settings.asciidoc index aecd205b613..cd957addef1 100644 --- a/docs/reference/setup/important-settings.asciidoc +++ b/docs/reference/setup/important-settings.asciidoc @@ -70,7 +70,7 @@ environments, otherwise you might end up with nodes joining the wrong cluster. [[node.name]] === `node.name` -By default, Elasticsearch will take the 7 first charachter of the randomly generated uuid used as the node id. +By default, Elasticsearch will take the 7 first character of the randomly generated uuid used as the node id. Note that the node id is persisted and does not change when a node restarts and therefore the default node name will also not change. diff --git a/docs/reference/setup/install/init-systemd.asciidoc b/docs/reference/setup/install/init-systemd.asciidoc index 3e252ca94cd..1532c5313ae 100644 --- a/docs/reference/setup/install/init-systemd.asciidoc +++ b/docs/reference/setup/install/init-systemd.asciidoc @@ -1,7 +1,7 @@ ==== SysV `init` vs `systemd` Elasticsearch is not started automatically after installation. How to start -and stop Elasticsearch depends on whether your sytem uses SysV `init` or +and stop Elasticsearch depends on whether your system uses SysV `init` or `systemd` (used by newer distributions). You can tell which is being used by running this command: diff --git a/docs/reference/setup/install/zip-targz.asciidoc b/docs/reference/setup/install/zip-targz.asciidoc index 826d94a4289..fc47214615f 100644 --- a/docs/reference/setup/install/zip-targz.asciidoc +++ b/docs/reference/setup/install/zip-targz.asciidoc @@ -21,7 +21,7 @@ endif::[] ifeval::["{release-state}"!="unreleased"] -The `.zip` archive for Elastisearch v{version} can be downloaded and installed as follows: +The `.zip` archive for Elasticsearch v{version} can be downloaded and installed as follows: ["source","sh",subs="attributes"] @@ -49,7 +49,7 @@ endif::[] ifeval::["{release-state}"!="unreleased"] -The `.tar.gz` archive for Elastisearch v{version} can be downloaded and installed as follows: +The `.tar.gz` archive for Elasticsearch v{version} can be downloaded and installed as follows: ["source","sh",subs="attributes"] -------------------------------------------- diff --git a/docs/reference/setup/reindex_upgrade.asciidoc b/docs/reference/setup/reindex_upgrade.asciidoc new file mode 100644 index 00000000000..8ee9c61e424 --- /dev/null +++ b/docs/reference/setup/reindex_upgrade.asciidoc @@ -0,0 +1,92 @@ +[[reindex-upgrade]] +=== Reindex to upgrade + +Elasticsearch is able to use indices created in the previous major version +only. For instance, Elasticsearch 6.x can use indices created in +Elasticsearch 5.x, but not those created in Elasticsearch 2.x or before. + +NOTE: Elasticsearch 6.x nodes will fail to start in the presence of too old indices. + +If you are running an Elasticsearch 5.x cluster which contains indices that +were created before 5.x, you will either need to delete those old indices or +to reindex them before upgrading to 6.x. See <>. + +If you are running an Elasticsearch 2.x cluster or older, you have two options: + +* First upgrade to Elasticsearch 5.x, reindex the old indices, then upgrade + to 6.x. See <>. + +* Create a new 6.x cluster and use reindex-from-remote to import indices + directly from the 2.x cluster. See <>. + +[[reindex-upgrade-inplace]] +==== Reindex in place + +If you are running a 5.x cluster which contains indices created in +Elasticsearch 2.x, you will need to reindex (or delete) those indices before +upgrading to Elasticsearch 6.x. + +The reindex process works as follows: + +* Create a new index, copying the mappings and settings from the old index. + Set the `refresh_interval` to `-1` and the `number_of_replicas` to `0` for + efficient reindexing. + +* Reindex all documents from the old index to the new index using the + <>. + +* Reset the `refresh_interval` and `number_of_replicas` to the values + used in the old index, and wait for the index to become green. + +* In a single <> request: + + * Delete the old index. + * Add an alias with the old index name to the new index. + * Add any aliases that existed on the old index to the new index. + +At the end of this process, you will have a new 5.x index which can be used +by an Elasticsearch 6.x cluster. + +[[reindex-upgrade-remote]] +==== Upgrading with reindex-from-remote + +If you are running a 1.x or 2.x cluster and would like to migrate directly to 6.x +without first migrating to 5.x, you can do so using +<>. + +[WARNING] +============================================= + +Elasticsearch includes backwards compatibility code that allows indices from +the previous major version to be upgraded to the current major version. By +moving directly from Elasticsearch 2.x or before to 6.x, you will have to solve any +backwards compatibility issues yourself. + +============================================= + +You will need to set up a 6.x cluster alongside your existing old cluster. +The 6.x cluster needs to have access to the REST API of the old cluster. + +For each old index that you want to transfer to the 6.x cluster, you will need +to: + +* Create a new index in 6.x with the appropriate mappings and settings. Set + the `refresh_interval` to `-1` and set `number_of_replicas` to `0` for + faster reindexing. + +* Use <> to pull documents from the + old index into the new 6.x index. + +* If you run the reindex job in the background (with `wait_for_completion` set + to `false`), the reindex request will return a `task_id` which can be used to + monitor progress of the reindex job in the <>: + `GET _tasks/TASK_ID`. + +* Once reindex has completed, set the `refresh_interval` and + `number_of_replicas` to the desired values (the defaults are `30s` and `1` + respectively). + +* Once the new index has finished replication, you can delete the old index. + +The 6.x cluster can start out small, and you can gradually move nodes from the +old cluster to the 6.x cluster as you migrate indices across. diff --git a/docs/reference/setup/rolling_upgrade.asciidoc b/docs/reference/setup/rolling_upgrade.asciidoc index 5ba578ce768..981f2c240d3 100644 --- a/docs/reference/setup/rolling_upgrade.asciidoc +++ b/docs/reference/setup/rolling_upgrade.asciidoc @@ -12,7 +12,9 @@ supported for your version of Elasticsearch. To perform a rolling upgrade: -==== Step 1: Disable shard allocation +. *Disable shard allocation* ++ +-- When you shut down a node, the allocation process will wait for one minute before starting to replicate the shards that were on that node to other nodes @@ -30,8 +32,11 @@ PUT _cluster/settings -------------------------------------------------- // CONSOLE // TEST[skip:indexes don't assign] +-- -==== Step 2: Stop non-essential indexing and perform a synced flush (Optional) +. *Stop non-essential indexing and perform a synced flush (Optional)* ++ +-- You may happily continue indexing during the upgrade. However, shard recovery will be much faster if you temporarily stop non-essential indexing and issue a @@ -46,9 +51,11 @@ POST _flush/synced A synced flush request is a ``best effort'' operation. It will fail if there are any pending indexing operations, but it is safe to reissue the request multiple times if necessary. +-- -[[upgrade-node]] -==== Step 3: Stop and upgrade a single node +. [[upgrade-node]] *Stop and upgrade a single node* ++ +-- Shut down one of the nodes in the cluster *before* starting the upgrade. @@ -87,14 +94,20 @@ To upgrade using a zip or compressed tarball: * Either copy the files in the `data` directory from your old installation to your new installation, or configure the location of the data directory in the `config/elasticsearch.yml` file, with the `path.data` setting. +-- -==== Step 4: Upgrade any plugins +. *Upgrade any plugins* ++ +-- Elasticsearch plugins must be upgraded when upgrading a node. Use the `elasticsearch-plugin` script to install the correct version of any plugins that you need. +-- -==== Step 5: Start the upgraded node +. *Start the upgraded node* ++ +-- Start the now upgraded node and confirm that it joins the cluster by checking the log file or by checking the output of this request: @@ -104,8 +117,11 @@ the log file or by checking the output of this request: GET _cat/nodes -------------------------------------------------- // CONSOLE +-- -==== Step 6: Reenable shard allocation +. *Reenable shard allocation* ++ +-- Once the node has joined the cluster, reenable shard allocation to start using the node: @@ -120,8 +136,11 @@ PUT _cluster/settings } -------------------------------------------------- // CONSOLE +-- -==== Step 7: Wait for the node to recover +. *Wait for the node to recover* ++ +-- You should wait for the cluster to finish shard allocation before upgrading the next node. You can check on progress with the <> @@ -168,8 +187,12 @@ GET _cat/recovery If you stopped indexing, then it is safe to resume indexing as soon as recovery has completed. +-- -==== Step 8: Repeat +. *Repeat* ++ +-- When the cluster is stable and the node has recovered, repeat the above steps for all remaining nodes. +-- diff --git a/docs/reference/setup/sysconfig/file-descriptors.asciidoc b/docs/reference/setup/sysconfig/file-descriptors.asciidoc index b60dd3ce61c..f4bc95749ae 100644 --- a/docs/reference/setup/sysconfig/file-descriptors.asciidoc +++ b/docs/reference/setup/sysconfig/file-descriptors.asciidoc @@ -2,8 +2,10 @@ === File Descriptors [NOTE] -This is only a problem for Linux and macOS and can be safely ignored if running -Elasticsearch on Windows. +This is only relevant for Linux and macOS and can be safely ignored if running +Elasticsearch on Windows. On Windows that JVM uses an +https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx[API] +limited only by available resources. Elasticsearch uses a lot of file descriptors or file handles. Running out of file descriptors can be disastrous and will most probably lead to data loss. diff --git a/docs/reference/setup/sysconfig/heap_size.asciidoc b/docs/reference/setup/sysconfig/heap_size.asciidoc index f54ca7813a2..55fb95bc7e6 100644 --- a/docs/reference/setup/sysconfig/heap_size.asciidoc +++ b/docs/reference/setup/sysconfig/heap_size.asciidoc @@ -67,7 +67,7 @@ ES_JAVA_OPTS="-Xms4000m -Xmx4000m" ./bin/elasticsearch <2> <2> Set the minimum and maximum heap size to 4000 MB. NOTE: Configuring the heap for the <> -is different than the above. The values initiallly populated for the +is different than the above. The values initially populated for the Windows service can be configured as above but are different after the service has been installed. Consult the <> for additional diff --git a/docs/reference/setup/upgrade.asciidoc b/docs/reference/setup/upgrade.asciidoc index 03bce8a91fb..d5c649e9992 100644 --- a/docs/reference/setup/upgrade.asciidoc +++ b/docs/reference/setup/upgrade.asciidoc @@ -1,5 +1,5 @@ [[setup-upgrade]] -== Upgrading +== Upgrading Elasticsearch [IMPORTANT] =========================================== @@ -22,14 +22,34 @@ consult this table: [cols="1> (where `y > x`) +|< 5.x |6.x |<> |5.x |5.y |<> (where `y > x`) -|2.x |5.x |<> -|5.0.0-alpha1 |5.y |<> -|5.0.0-alpha2 |5.y |<> -|5.0.0-beta1 |5.y |<> +|5.x |6.x |<> +|6.0.0 pre GA |6.x |<> +|6.x |6.y |<> (where `y > x`) |======================================================================= +[IMPORTANT] +.Indices created in Elasticsearch 2.x or before +=============================================== + +Elasticsearch is able to read indices created in the *previous major version +only*. For instance, Elasticsearch 6.x can use indices created in +Elasticsearch 5.x, but not those created in Elasticsearch 2.x or before. + +This condition also applies to indices backed up with +<>. If an index was originally +created in 2.x, it cannot be restored into a 6.x cluster even if the +snapshot was made by a 5.x cluster. + +Elasticsearch 6.x nodes will fail to start in the presence of too old indices. + +See <> for more information about how to upgrade old indices. +=============================================== + + include::rolling_upgrade.asciidoc[] include::cluster_restart.asciidoc[] + +include::reindex_upgrade.asciidoc[] \ No newline at end of file diff --git a/docs/reference/testing/testing-framework.asciidoc b/docs/reference/testing/testing-framework.asciidoc index 0bf99b2fafa..60ea506a502 100644 --- a/docs/reference/testing/testing-framework.asciidoc +++ b/docs/reference/testing/testing-framework.asciidoc @@ -253,7 +253,7 @@ Usually, you would combine assertions and matchers in your test like this [source,java] ---------------------------- -SearchResponse seearchResponse = client().prepareSearch() ...; +SearchResponse searchResponse = client().prepareSearch() ...; assertHitCount(searchResponse, 4); assertFirstHit(searchResponse, hasId("4")); assertSearchHits(searchResponse, "1", "2", "3", "4"); diff --git a/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/MatrixStatsAggregationBuilders.java b/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/MatrixStatsAggregationBuilders.java index 10758979ed9..38c412738fc 100644 --- a/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/MatrixStatsAggregationBuilders.java +++ b/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/MatrixStatsAggregationBuilders.java @@ -21,8 +21,6 @@ package org.elasticsearch.search.aggregations; import org.elasticsearch.search.aggregations.matrix.stats.MatrixStats; import org.elasticsearch.search.aggregations.matrix.stats.MatrixStatsAggregationBuilder; -/** - */ public class MatrixStatsAggregationBuilders { /** * Create a new {@link MatrixStats} aggregation with the given name. diff --git a/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/matrix/stats/MatrixStatsAggregatorFactory.java b/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/matrix/stats/MatrixStatsAggregatorFactory.java index 26e7910dcac..2ad23417956 100644 --- a/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/matrix/stats/MatrixStatsAggregatorFactory.java +++ b/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/matrix/stats/MatrixStatsAggregatorFactory.java @@ -33,8 +33,6 @@ import java.io.IOException; import java.util.List; import java.util.Map; -/** - */ public class MatrixStatsAggregatorFactory extends MultiValuesSourceAggregatorFactory { diff --git a/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/matrix/stats/MatrixStatsParser.java b/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/matrix/stats/MatrixStatsParser.java index ea383b642c2..6e7eef863cb 100644 --- a/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/matrix/stats/MatrixStatsParser.java +++ b/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/matrix/stats/MatrixStatsParser.java @@ -31,8 +31,6 @@ import java.util.Map; import static org.elasticsearch.search.aggregations.support.MultiValuesSourceAggregationBuilder.MULTIVALUE_MODE_FIELD; -/** - */ public class MatrixStatsParser extends NumericValuesSourceParser { public MatrixStatsParser() { diff --git a/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceAggregationBuilder.java b/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceAggregationBuilder.java index e3aa171fe3d..8524f7d79b4 100644 --- a/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceAggregationBuilder.java +++ b/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceAggregationBuilder.java @@ -44,9 +44,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; -/** - * - */ public abstract class MultiValuesSourceAggregationBuilder> extends AbstractAggregationBuilder { diff --git a/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceParser.java b/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceParser.java index 0de5e13c058..c99d51c0e8e 100644 --- a/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceParser.java +++ b/modules/aggs-matrix-stats/src/main/java/org/elasticsearch/search/aggregations/support/MultiValuesSourceParser.java @@ -35,9 +35,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -/** - * - */ public abstract class MultiValuesSourceParser implements Aggregator.Parser { public abstract static class AnyValuesSourceParser extends MultiValuesSourceParser { diff --git a/modules/aggs-matrix-stats/src/test/java/org/elasticsearch/search/aggregations/matrix/stats/BaseMatrixStatsTestCase.java b/modules/aggs-matrix-stats/src/test/java/org/elasticsearch/search/aggregations/matrix/stats/BaseMatrixStatsTestCase.java index 2e4fa4313bd..81c9d514636 100644 --- a/modules/aggs-matrix-stats/src/test/java/org/elasticsearch/search/aggregations/matrix/stats/BaseMatrixStatsTestCase.java +++ b/modules/aggs-matrix-stats/src/test/java/org/elasticsearch/search/aggregations/matrix/stats/BaseMatrixStatsTestCase.java @@ -26,9 +26,6 @@ import java.util.HashMap; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public abstract class BaseMatrixStatsTestCase extends ESTestCase { protected final int numObs = atLeast(10000); protected final ArrayList fieldA = new ArrayList<>(numObs); diff --git a/modules/aggs-matrix-stats/src/test/java/org/elasticsearch/search/aggregations/matrix/stats/RunningStatsTests.java b/modules/aggs-matrix-stats/src/test/java/org/elasticsearch/search/aggregations/matrix/stats/RunningStatsTests.java index f90f00d2a79..ca22e33e6bc 100644 --- a/modules/aggs-matrix-stats/src/test/java/org/elasticsearch/search/aggregations/matrix/stats/RunningStatsTests.java +++ b/modules/aggs-matrix-stats/src/test/java/org/elasticsearch/search/aggregations/matrix/stats/RunningStatsTests.java @@ -20,9 +20,6 @@ package org.elasticsearch.search.aggregations.matrix.stats; import java.util.List; -/** - * - */ public class RunningStatsTests extends BaseMatrixStatsTestCase { /** test running stats */ diff --git a/modules/lang-painless/src/test/resources/rest-api-spec/test/plan_a/15_update.yaml b/modules/lang-painless/src/test/resources/rest-api-spec/test/plan_a/15_update.yaml index 8e7e3d787e2..a031cea86e5 100644 --- a/modules/lang-painless/src/test/resources/rest-api-spec/test/plan_a/15_update.yaml +++ b/modules/lang-painless/src/test/resources/rest-api-spec/test/plan_a/15_update.yaml @@ -58,4 +58,30 @@ - match: { _source.foo: yyy } - match: { _source.count: 1 } - + +--- +"Update Script with script error": + - do: + index: + index: test_1 + type: test + id: 2 + body: + foo: bar + count: 1 + + - do: + catch: request + update: + index: test_1 + type: test + id: 2 + body: + script: + lang: painless + inline: "for (def key : params.keySet()) { ctx._source[key] = params[key]}" + params: { bar: 'xxx' } + + - match: { error.root_cause.0.type: "remote_transport_exception" } + - match: { error.type: "illegal_argument_exception" } + - match: { error.reason: "Object has already been built and is self-referencing itself" } diff --git a/modules/lang-painless/src/test/resources/rest-api-spec/test/plan_a/20_scriptfield.yaml b/modules/lang-painless/src/test/resources/rest-api-spec/test/plan_a/20_scriptfield.yaml index b92012959d1..cf2e9eb4133 100644 --- a/modules/lang-painless/src/test/resources/rest-api-spec/test/plan_a/20_scriptfield.yaml +++ b/modules/lang-painless/src/test/resources/rest-api-spec/test/plan_a/20_scriptfield.yaml @@ -20,7 +20,6 @@ setup: indices.refresh: {} --- - "Scripted Field": - do: search: @@ -34,3 +33,22 @@ setup: x: "bbb" - match: { hits.hits.0.fields.bar.0: "aaabbb"} + +--- +"Scripted Field with script error": + - do: + catch: request + search: + body: + script_fields: + bar: + script: + lang: painless + inline: "while (true) {}" + + - match: { error.root_cause.0.type: "script_exception" } + - match: { error.root_cause.0.reason: "compile error" } + - match: { error.caused_by.type: "script_exception" } + - match: { error.caused_by.reason: "compile error" } + - match: { error.caused_by.caused_by.type: "illegal_argument_exception" } + - match: { error.caused_by.caused_by.reason: "While loop has no escape." } diff --git a/modules/lang-painless/src/test/resources/rest-api-spec/test/plan_a/25_script_upsert.yaml b/modules/lang-painless/src/test/resources/rest-api-spec/test/plan_a/25_script_upsert.yaml index 2adf0de747f..3be567f2acb 100644 --- a/modules/lang-painless/src/test/resources/rest-api-spec/test/plan_a/25_script_upsert.yaml +++ b/modules/lang-painless/src/test/resources/rest-api-spec/test/plan_a/25_script_upsert.yaml @@ -63,4 +63,24 @@ - match: { _source.foo: xxx } + - do: + update: + index: test_1 + type: test + id: 3 + body: + script: + inline: "ctx._source.has_now = ctx._now > 0" + lang: "painless" + upsert: { has_now: false } + scripted_upsert: true + + - do: + get: + index: test_1 + type: test + id: 3 + + - match: { _source.has_now: true } + diff --git a/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java b/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java index 4a0d8383f55..4236e9e0c0b 100644 --- a/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java +++ b/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java @@ -33,6 +33,7 @@ import org.apache.lucene.index.memory.MemoryIndex; import org.apache.lucene.search.BooleanClause; import org.apache.lucene.search.BooleanQuery; import org.apache.lucene.search.IndexSearcher; +import org.apache.lucene.search.MatchNoDocsQuery; import org.apache.lucene.search.Query; import org.apache.lucene.search.TermQuery; import org.apache.lucene.search.Weight; @@ -50,7 +51,6 @@ import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.bytes.BytesReference; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.io.stream.StreamOutput; -import org.elasticsearch.common.lucene.search.MatchNoDocsQuery; import org.elasticsearch.common.lucene.search.Queries; import org.elasticsearch.common.xcontent.XContent; import org.elasticsearch.common.xcontent.XContentBuilder; diff --git a/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolatorFieldMapper.java b/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolatorFieldMapper.java index a502e92402b..8fcf40d8dcc 100644 --- a/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolatorFieldMapper.java +++ b/modules/percolator/src/main/java/org/elasticsearch/percolator/PercolatorFieldMapper.java @@ -29,13 +29,13 @@ import org.apache.lucene.index.Terms; import org.apache.lucene.index.TermsEnum; import org.apache.lucene.queries.TermsQuery; import org.apache.lucene.search.IndexSearcher; +import org.apache.lucene.search.MatchNoDocsQuery; import org.apache.lucene.search.Query; import org.apache.lucene.search.TermQuery; import org.apache.lucene.util.BytesRef; import org.apache.lucene.util.BytesRefBuilder; import org.elasticsearch.common.ParsingException; import org.elasticsearch.common.bytes.BytesReference; -import org.elasticsearch.common.lucene.search.MatchNoDocsQuery; import org.elasticsearch.common.settings.Setting; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.xcontent.XContentBuilder; diff --git a/modules/percolator/src/main/java/org/elasticsearch/percolator/QueryAnalyzer.java b/modules/percolator/src/main/java/org/elasticsearch/percolator/QueryAnalyzer.java index c30a988a4f2..9564601627f 100644 --- a/modules/percolator/src/main/java/org/elasticsearch/percolator/QueryAnalyzer.java +++ b/modules/percolator/src/main/java/org/elasticsearch/percolator/QueryAnalyzer.java @@ -28,6 +28,7 @@ import org.apache.lucene.search.BooleanQuery; import org.apache.lucene.search.BoostQuery; import org.apache.lucene.search.ConstantScoreQuery; import org.apache.lucene.search.DisjunctionMaxQuery; +import org.apache.lucene.search.MatchNoDocsQuery; import org.apache.lucene.search.PhraseQuery; import org.apache.lucene.search.Query; import org.apache.lucene.search.SynonymQuery; @@ -40,7 +41,6 @@ import org.apache.lucene.search.spans.SpanQuery; import org.apache.lucene.search.spans.SpanTermQuery; import org.apache.lucene.util.BytesRef; import org.elasticsearch.common.logging.LoggerMessageFormat; -import org.elasticsearch.common.lucene.search.MatchNoDocsQuery; import org.elasticsearch.common.lucene.search.function.FunctionScoreQuery; import java.util.ArrayList; @@ -48,7 +48,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; -import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.function.Function; diff --git a/modules/percolator/src/test/java/org/elasticsearch/percolator/CandidateQueryTests.java b/modules/percolator/src/test/java/org/elasticsearch/percolator/CandidateQueryTests.java index 8ac9890afa8..1526823369f 100644 --- a/modules/percolator/src/test/java/org/elasticsearch/percolator/CandidateQueryTests.java +++ b/modules/percolator/src/test/java/org/elasticsearch/percolator/CandidateQueryTests.java @@ -47,6 +47,7 @@ import org.apache.lucene.search.FilterScorer; import org.apache.lucene.search.FilteredDocIdSetIterator; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.MatchAllDocsQuery; +import org.apache.lucene.search.MatchNoDocsQuery; import org.apache.lucene.search.PrefixQuery; import org.apache.lucene.search.Query; import org.apache.lucene.search.Scorer; @@ -61,7 +62,6 @@ import org.apache.lucene.search.spans.SpanTermQuery; import org.apache.lucene.store.Directory; import org.elasticsearch.common.bytes.BytesArray; import org.elasticsearch.common.compress.CompressedXContent; -import org.elasticsearch.common.lucene.search.MatchNoDocsQuery; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.xcontent.XContentFactory; import org.elasticsearch.index.IndexService; diff --git a/modules/percolator/src/test/java/org/elasticsearch/percolator/PercolateQueryTests.java b/modules/percolator/src/test/java/org/elasticsearch/percolator/PercolateQueryTests.java index eda9ce15c73..c5588ed312f 100644 --- a/modules/percolator/src/test/java/org/elasticsearch/percolator/PercolateQueryTests.java +++ b/modules/percolator/src/test/java/org/elasticsearch/percolator/PercolateQueryTests.java @@ -35,6 +35,7 @@ import org.apache.lucene.search.ConstantScoreQuery; import org.apache.lucene.search.Explanation; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.MatchAllDocsQuery; +import org.apache.lucene.search.MatchNoDocsQuery; import org.apache.lucene.search.PhraseQuery; import org.apache.lucene.search.Query; import org.apache.lucene.search.TermQuery; @@ -43,7 +44,6 @@ import org.apache.lucene.search.spans.SpanNearQuery; import org.apache.lucene.search.spans.SpanTermQuery; import org.apache.lucene.store.Directory; import org.elasticsearch.common.bytes.BytesArray; -import org.elasticsearch.common.lucene.search.MatchNoDocsQuery; import org.elasticsearch.test.ESTestCase; import org.junit.After; import org.junit.Before; diff --git a/modules/percolator/src/test/java/org/elasticsearch/percolator/QueryAnalyzerTests.java b/modules/percolator/src/test/java/org/elasticsearch/percolator/QueryAnalyzerTests.java index 1b8b123aa13..4410ac8012b 100644 --- a/modules/percolator/src/test/java/org/elasticsearch/percolator/QueryAnalyzerTests.java +++ b/modules/percolator/src/test/java/org/elasticsearch/percolator/QueryAnalyzerTests.java @@ -28,6 +28,7 @@ import org.apache.lucene.search.BoostQuery; import org.apache.lucene.search.ConstantScoreQuery; import org.apache.lucene.search.DisjunctionMaxQuery; import org.apache.lucene.search.MatchAllDocsQuery; +import org.apache.lucene.search.MatchNoDocsQuery; import org.apache.lucene.search.PhraseQuery; import org.apache.lucene.search.SynonymQuery; import org.apache.lucene.search.TermQuery; @@ -38,7 +39,6 @@ import org.apache.lucene.search.spans.SpanNotQuery; import org.apache.lucene.search.spans.SpanOrQuery; import org.apache.lucene.search.spans.SpanTermQuery; import org.apache.lucene.util.BytesRef; -import org.elasticsearch.common.lucene.search.MatchNoDocsQuery; import org.elasticsearch.common.lucene.search.function.FunctionScoreQuery; import org.elasticsearch.common.lucene.search.function.RandomScoreFunction; import org.elasticsearch.percolator.QueryAnalyzer.Result; diff --git a/modules/transport-netty3/src/main/java/org/elasticsearch/transport/netty3/Netty3InternalESLogger.java b/modules/transport-netty3/src/main/java/org/elasticsearch/transport/netty3/Netty3InternalESLogger.java index 03c9671ad78..667d0c60887 100644 --- a/modules/transport-netty3/src/main/java/org/elasticsearch/transport/netty3/Netty3InternalESLogger.java +++ b/modules/transport-netty3/src/main/java/org/elasticsearch/transport/netty3/Netty3InternalESLogger.java @@ -23,9 +23,6 @@ import org.apache.logging.log4j.Logger; import org.elasticsearch.common.SuppressLoggerChecks; import org.jboss.netty.logging.AbstractInternalLogger; -/** - * - */ @SuppressLoggerChecks(reason = "safely delegates to logger") final class Netty3InternalESLogger extends AbstractInternalLogger { diff --git a/modules/transport-netty3/src/main/java/org/elasticsearch/transport/netty3/Netty3Transport.java b/modules/transport-netty3/src/main/java/org/elasticsearch/transport/netty3/Netty3Transport.java index 4531811b983..eb8d14b08fc 100644 --- a/modules/transport-netty3/src/main/java/org/elasticsearch/transport/netty3/Netty3Transport.java +++ b/modules/transport-netty3/src/main/java/org/elasticsearch/transport/netty3/Netty3Transport.java @@ -33,7 +33,6 @@ import org.elasticsearch.common.network.NetworkUtils; import org.elasticsearch.common.settings.Setting; import org.elasticsearch.common.settings.Setting.Property; import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.common.transport.TransportAddress; import org.elasticsearch.common.unit.ByteSizeValue; import org.elasticsearch.common.util.BigArrays; import org.elasticsearch.common.util.concurrent.EsExecutors; @@ -491,19 +490,9 @@ public class Netty3Transport extends TcpTransport { } @Override - protected void sendMessage(Channel channel, BytesReference reference, Runnable sendListener, boolean close) { + protected void sendMessage(Channel channel, BytesReference reference, Runnable sendListener) { final ChannelFuture future = channel.write(Netty3Utils.toChannelBuffer(reference)); - if (close) { - future.addListener(f -> { - try { - sendListener.run(); - } finally { - f.getChannel().close(); - } - }); - } else { - future.addListener(future1 -> sendListener.run()); - } + future.addListener(future1 -> sendListener.run()); } @Override diff --git a/modules/transport-netty3/src/main/java/org/elasticsearch/transport/netty3/Netty3Utils.java b/modules/transport-netty3/src/main/java/org/elasticsearch/transport/netty3/Netty3Utils.java index 2cbf92997b4..aea5b31f457 100644 --- a/modules/transport-netty3/src/main/java/org/elasticsearch/transport/netty3/Netty3Utils.java +++ b/modules/transport-netty3/src/main/java/org/elasticsearch/transport/netty3/Netty3Utils.java @@ -37,8 +37,6 @@ import java.security.AccessController; import java.security.PrivilegedAction; import java.util.ArrayList; -/** - */ public class Netty3Utils { /** diff --git a/modules/transport-netty3/src/test/java/org/elasticsearch/http/netty3/Netty3PipeliningDisabledIT.java b/modules/transport-netty3/src/test/java/org/elasticsearch/http/netty3/Netty3PipeliningDisabledIT.java index ab30e5bc902..946be263c7a 100644 --- a/modules/transport-netty3/src/test/java/org/elasticsearch/http/netty3/Netty3PipeliningDisabledIT.java +++ b/modules/transport-netty3/src/test/java/org/elasticsearch/http/netty3/Netty3PipeliningDisabledIT.java @@ -36,9 +36,6 @@ import static org.elasticsearch.http.netty3.Netty3HttpClient.returnOpaqueIds; import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.hasSize; -/** - * - */ @ClusterScope(scope = Scope.TEST, supportsDedicatedMasters = false, numDataNodes = 1) public class Netty3PipeliningDisabledIT extends ESNetty3IntegTestCase { @Override diff --git a/modules/transport-netty3/src/test/java/org/elasticsearch/http/netty3/pipelining/HttpPipeliningHandlerTests.java b/modules/transport-netty3/src/test/java/org/elasticsearch/http/netty3/pipelining/HttpPipeliningHandlerTests.java index 7db2368d344..a97bd57b5a2 100644 --- a/modules/transport-netty3/src/test/java/org/elasticsearch/http/netty3/pipelining/HttpPipeliningHandlerTests.java +++ b/modules/transport-netty3/src/test/java/org/elasticsearch/http/netty3/pipelining/HttpPipeliningHandlerTests.java @@ -68,9 +68,6 @@ import static org.jboss.netty.handler.codec.http.HttpResponseStatus.OK; import static org.jboss.netty.handler.codec.http.HttpVersion.HTTP_1_1; import static org.jboss.netty.util.CharsetUtil.UTF_8; -/** - * - */ public class HttpPipeliningHandlerTests extends ESTestCase { private static final long RESPONSE_TIMEOUT = 10000L; diff --git a/modules/transport-netty4/src/main/java/org/elasticsearch/transport/netty4/Netty4Transport.java b/modules/transport-netty4/src/main/java/org/elasticsearch/transport/netty4/Netty4Transport.java index ee43a790d7f..3787b29ab63 100644 --- a/modules/transport-netty4/src/main/java/org/elasticsearch/transport/netty4/Netty4Transport.java +++ b/modules/transport-netty4/src/main/java/org/elasticsearch/transport/netty4/Netty4Transport.java @@ -54,7 +54,6 @@ import org.elasticsearch.common.network.NetworkService.TcpSettings; import org.elasticsearch.common.settings.Setting; import org.elasticsearch.common.settings.Setting.Property; import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.common.transport.TransportAddress; import org.elasticsearch.common.unit.ByteSizeValue; import org.elasticsearch.common.util.BigArrays; import org.elasticsearch.common.util.concurrent.EsExecutors; @@ -445,19 +444,9 @@ public class Netty4Transport extends TcpTransport { } @Override - protected void sendMessage(Channel channel, BytesReference reference, Runnable sendListener, boolean close) { + protected void sendMessage(Channel channel, BytesReference reference, Runnable sendListener) { final ChannelFuture future = channel.writeAndFlush(Netty4Utils.toByteBuf(reference)); - if (close) { - future.addListener(f -> { - try { - sendListener.run(); - } finally { - future.channel().close(); - } - }); - } else { - future.addListener(f -> sendListener.run()); - } + future.addListener(f -> sendListener.run()); } @Override diff --git a/plugins/analysis-icu/src/main/java/org/elasticsearch/index/analysis/IcuTransformTokenFilterFactory.java b/plugins/analysis-icu/src/main/java/org/elasticsearch/index/analysis/IcuTransformTokenFilterFactory.java index 9cc42e726a5..3adced6ffab 100644 --- a/plugins/analysis-icu/src/main/java/org/elasticsearch/index/analysis/IcuTransformTokenFilterFactory.java +++ b/plugins/analysis-icu/src/main/java/org/elasticsearch/index/analysis/IcuTransformTokenFilterFactory.java @@ -26,9 +26,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; - -/** - */ public class IcuTransformTokenFilterFactory extends AbstractTokenFilterFactory implements MultiTermAwareComponent { private final String id; diff --git a/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/IcuTokenizerFactoryTests.java b/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/IcuTokenizerFactoryTests.java index 716d07385b8..ffc6cab6a25 100644 --- a/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/IcuTokenizerFactoryTests.java +++ b/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/IcuTokenizerFactoryTests.java @@ -37,8 +37,6 @@ import java.nio.file.Path; import static org.apache.lucene.analysis.BaseTokenStreamTestCase.assertTokenStreamContents; -/** - */ public class IcuTokenizerFactoryTests extends ESTestCase { public void testSimpleIcuTokenizer() throws IOException { diff --git a/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuAnalysisTests.java b/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuAnalysisTests.java index 86338e0670d..3cd675c221a 100644 --- a/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuAnalysisTests.java +++ b/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuAnalysisTests.java @@ -27,8 +27,7 @@ import org.elasticsearch.test.ESTestCase; import java.io.IOException; import static org.hamcrest.Matchers.instanceOf; -/** - */ + public class SimpleIcuAnalysisTests extends ESTestCase { public void testDefaultsIcuAnalysis() throws IOException { TestAnalysis analysis = createTestAnalysis(new Index("test", "_na_"), Settings.EMPTY, new AnalysisICUPlugin()); diff --git a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiAnalyzerProvider.java b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiAnalyzerProvider.java index 0c6ab2d3ea6..1776977c8e2 100644 --- a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiAnalyzerProvider.java +++ b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiAnalyzerProvider.java @@ -29,8 +29,6 @@ import org.elasticsearch.index.IndexSettings; import java.util.Set; -/** - */ public class KuromojiAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final JapaneseAnalyzer analyzer; diff --git a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiTokenizerFactory.java b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiTokenizerFactory.java index 9e41621525a..2f00e68a75e 100644 --- a/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiTokenizerFactory.java +++ b/plugins/analysis-kuromoji/src/main/java/org/elasticsearch/index/analysis/KuromojiTokenizerFactory.java @@ -31,8 +31,6 @@ import org.elasticsearch.index.IndexSettings; import java.io.IOException; import java.io.Reader; -/** - */ public class KuromojiTokenizerFactory extends AbstractTokenizerFactory { private static final String USER_DICT_OPTION = "user_dictionary"; diff --git a/plugins/analysis-kuromoji/src/test/java/org/elasticsearch/index/analysis/KuromojiAnalysisTests.java b/plugins/analysis-kuromoji/src/test/java/org/elasticsearch/index/analysis/KuromojiAnalysisTests.java index 2da9416fbdc..c0271c99784 100644 --- a/plugins/analysis-kuromoji/src/test/java/org/elasticsearch/index/analysis/KuromojiAnalysisTests.java +++ b/plugins/analysis-kuromoji/src/test/java/org/elasticsearch/index/analysis/KuromojiAnalysisTests.java @@ -44,8 +44,6 @@ import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.notNullValue; -/** - */ public class KuromojiAnalysisTests extends ESTestCase { public void testDefaultsKuromojiAnalysis() throws IOException { TestAnalysis analysis = createTestAnalysis(); diff --git a/plugins/analysis-phonetic/src/main/java/org/elasticsearch/index/analysis/PhoneticTokenFilterFactory.java b/plugins/analysis-phonetic/src/main/java/org/elasticsearch/index/analysis/PhoneticTokenFilterFactory.java index 75da19c0a3c..ff4ab4943e3 100644 --- a/plugins/analysis-phonetic/src/main/java/org/elasticsearch/index/analysis/PhoneticTokenFilterFactory.java +++ b/plugins/analysis-phonetic/src/main/java/org/elasticsearch/index/analysis/PhoneticTokenFilterFactory.java @@ -45,9 +45,6 @@ import org.elasticsearch.index.analysis.phonetic.HaasePhonetik; import org.elasticsearch.index.analysis.phonetic.KoelnerPhonetik; import org.elasticsearch.index.analysis.phonetic.Nysiis; -/** - * - */ public class PhoneticTokenFilterFactory extends AbstractTokenFilterFactory { private final Encoder encoder; diff --git a/plugins/analysis-phonetic/src/test/java/org/elasticsearch/index/analysis/SimplePhoneticAnalysisTests.java b/plugins/analysis-phonetic/src/test/java/org/elasticsearch/index/analysis/SimplePhoneticAnalysisTests.java index b0c23e29abd..127a258f75a 100644 --- a/plugins/analysis-phonetic/src/test/java/org/elasticsearch/index/analysis/SimplePhoneticAnalysisTests.java +++ b/plugins/analysis-phonetic/src/test/java/org/elasticsearch/index/analysis/SimplePhoneticAnalysisTests.java @@ -31,8 +31,6 @@ import java.io.IOException; import static org.hamcrest.Matchers.instanceOf; -/** - */ public class SimplePhoneticAnalysisTests extends ESTestCase { public void testPhoneticTokenFilterFactory() throws IOException { String yaml = "/org/elasticsearch/index/analysis/phonetic-1.yml"; diff --git a/plugins/analysis-smartcn/src/main/java/org/elasticsearch/index/analysis/SmartChineseAnalyzerProvider.java b/plugins/analysis-smartcn/src/main/java/org/elasticsearch/index/analysis/SmartChineseAnalyzerProvider.java index 591912b8fa3..3d619c2d306 100644 --- a/plugins/analysis-smartcn/src/main/java/org/elasticsearch/index/analysis/SmartChineseAnalyzerProvider.java +++ b/plugins/analysis-smartcn/src/main/java/org/elasticsearch/index/analysis/SmartChineseAnalyzerProvider.java @@ -24,8 +24,6 @@ import org.elasticsearch.common.settings.Settings; import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; -/** - */ public class SmartChineseAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final SmartChineseAnalyzer analyzer; diff --git a/plugins/analysis-stempel/src/main/java/org/elasticsearch/index/analysis/pl/PolishAnalyzerProvider.java b/plugins/analysis-stempel/src/main/java/org/elasticsearch/index/analysis/pl/PolishAnalyzerProvider.java index d80939cea04..fa5f82ccd30 100644 --- a/plugins/analysis-stempel/src/main/java/org/elasticsearch/index/analysis/pl/PolishAnalyzerProvider.java +++ b/plugins/analysis-stempel/src/main/java/org/elasticsearch/index/analysis/pl/PolishAnalyzerProvider.java @@ -25,8 +25,6 @@ import org.elasticsearch.env.Environment; import org.elasticsearch.index.IndexSettings; import org.elasticsearch.index.analysis.AbstractIndexAnalyzerProvider; -/** - */ public class PolishAnalyzerProvider extends AbstractIndexAnalyzerProvider { private final PolishAnalyzer analyzer; diff --git a/plugins/analysis-stempel/src/test/java/org/elasticsearch/index/analysis/PolishAnalysisTests.java b/plugins/analysis-stempel/src/test/java/org/elasticsearch/index/analysis/PolishAnalysisTests.java index d0b81f01d01..2e606321f60 100644 --- a/plugins/analysis-stempel/src/test/java/org/elasticsearch/index/analysis/PolishAnalysisTests.java +++ b/plugins/analysis-stempel/src/test/java/org/elasticsearch/index/analysis/PolishAnalysisTests.java @@ -32,8 +32,6 @@ import java.io.IOException; import static org.hamcrest.Matchers.instanceOf; -/** - */ public class PolishAnalysisTests extends ESTestCase { public void testDefaultsPolishAnalysis() throws IOException { final TestAnalysis analysis = createTestAnalysis(new Index("test", "_na_"), Settings.EMPTY, diff --git a/plugins/discovery-azure-classic/src/main/java/org/elasticsearch/cloud/azure/classic/management/AzureComputeServiceImpl.java b/plugins/discovery-azure-classic/src/main/java/org/elasticsearch/cloud/azure/classic/management/AzureComputeServiceImpl.java index 2375db2502b..08fe95045b6 100644 --- a/plugins/discovery-azure-classic/src/main/java/org/elasticsearch/cloud/azure/classic/management/AzureComputeServiceImpl.java +++ b/plugins/discovery-azure-classic/src/main/java/org/elasticsearch/cloud/azure/classic/management/AzureComputeServiceImpl.java @@ -36,9 +36,6 @@ import org.elasticsearch.common.settings.Settings; import java.io.IOException; import java.util.ServiceLoader; -/** - * - */ public class AzureComputeServiceImpl extends AbstractLifecycleComponent implements AzureComputeService { diff --git a/plugins/discovery-azure-classic/src/main/java/org/elasticsearch/discovery/azure/classic/AzureUnicastHostsProvider.java b/plugins/discovery-azure-classic/src/main/java/org/elasticsearch/discovery/azure/classic/AzureUnicastHostsProvider.java index ed327a3a727..4172ddc2bb7 100644 --- a/plugins/discovery-azure-classic/src/main/java/org/elasticsearch/discovery/azure/classic/AzureUnicastHostsProvider.java +++ b/plugins/discovery-azure-classic/src/main/java/org/elasticsearch/discovery/azure/classic/AzureUnicastHostsProvider.java @@ -51,9 +51,6 @@ import java.util.List; import static java.util.Collections.emptyMap; import static java.util.Collections.emptySet; -/** - * - */ public class AzureUnicastHostsProvider extends AbstractComponent implements UnicastHostsProvider { public enum HostType { diff --git a/plugins/discovery-azure-classic/src/test/java/org/elasticsearch/cloud/azure/classic/management/AzureComputeServiceAbstractMock.java b/plugins/discovery-azure-classic/src/test/java/org/elasticsearch/cloud/azure/classic/management/AzureComputeServiceAbstractMock.java index 02de9db6d69..de63d0d77e6 100644 --- a/plugins/discovery-azure-classic/src/test/java/org/elasticsearch/cloud/azure/classic/management/AzureComputeServiceAbstractMock.java +++ b/plugins/discovery-azure-classic/src/test/java/org/elasticsearch/cloud/azure/classic/management/AzureComputeServiceAbstractMock.java @@ -23,9 +23,6 @@ import org.elasticsearch.ElasticsearchException; import org.elasticsearch.common.component.AbstractLifecycleComponent; import org.elasticsearch.common.settings.Settings; -/** - * - */ public abstract class AzureComputeServiceAbstractMock extends AbstractLifecycleComponent implements AzureComputeService { diff --git a/plugins/discovery-ec2/src/main/java/org/elasticsearch/cloud/aws/AwsEc2ServiceImpl.java b/plugins/discovery-ec2/src/main/java/org/elasticsearch/cloud/aws/AwsEc2ServiceImpl.java index 1a4bf278f3a..4f49a0db1f1 100644 --- a/plugins/discovery-ec2/src/main/java/org/elasticsearch/cloud/aws/AwsEc2ServiceImpl.java +++ b/plugins/discovery-ec2/src/main/java/org/elasticsearch/cloud/aws/AwsEc2ServiceImpl.java @@ -40,9 +40,6 @@ import org.elasticsearch.common.settings.Settings; import java.util.Random; -/** - * - */ public class AwsEc2ServiceImpl extends AbstractLifecycleComponent implements AwsEc2Service { public static final String EC2_METADATA_URL = "http://169.254.169.254/latest/meta-data/"; diff --git a/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/AwsEc2UnicastHostsProvider.java b/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/AwsEc2UnicastHostsProvider.java index 6d4fcdc4c8d..0fd6a0bea99 100644 --- a/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/AwsEc2UnicastHostsProvider.java +++ b/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/AwsEc2UnicastHostsProvider.java @@ -52,9 +52,6 @@ import static java.util.Collections.disjoint; import static java.util.Collections.emptyMap; import static java.util.Collections.emptySet; -/** - * - */ public class AwsEc2UnicastHostsProvider extends AbstractComponent implements UnicastHostsProvider { private final TransportService transportService; diff --git a/plugins/discovery-ec2/src/main/java/org/elasticsearch/plugin/discovery/ec2/Ec2DiscoveryPlugin.java b/plugins/discovery-ec2/src/main/java/org/elasticsearch/plugin/discovery/ec2/Ec2DiscoveryPlugin.java index 7f8e983e52b..715f6e278f7 100644 --- a/plugins/discovery-ec2/src/main/java/org/elasticsearch/plugin/discovery/ec2/Ec2DiscoveryPlugin.java +++ b/plugins/discovery-ec2/src/main/java/org/elasticsearch/plugin/discovery/ec2/Ec2DiscoveryPlugin.java @@ -53,9 +53,6 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; -/** - * - */ public class Ec2DiscoveryPlugin extends Plugin implements DiscoveryPlugin { private static Logger logger = Loggers.getLogger(Ec2DiscoveryPlugin.class); diff --git a/plugins/discovery-ec2/src/test/java/org/elasticsearch/discovery/ec2/Ec2DiscoveryTests.java b/plugins/discovery-ec2/src/test/java/org/elasticsearch/discovery/ec2/Ec2DiscoveryTests.java index b6479f1fdcb..055d9df8465 100644 --- a/plugins/discovery-ec2/src/test/java/org/elasticsearch/discovery/ec2/Ec2DiscoveryTests.java +++ b/plugins/discovery-ec2/src/test/java/org/elasticsearch/discovery/ec2/Ec2DiscoveryTests.java @@ -52,9 +52,6 @@ import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; -/** - * - */ public class Ec2DiscoveryTests extends ESTestCase { protected static ThreadPool threadPool; diff --git a/plugins/discovery-gce/src/main/java/org/elasticsearch/discovery/gce/GceUnicastHostsProvider.java b/plugins/discovery-gce/src/main/java/org/elasticsearch/discovery/gce/GceUnicastHostsProvider.java index 3426e74d4a4..fe0eb005532 100644 --- a/plugins/discovery-gce/src/main/java/org/elasticsearch/discovery/gce/GceUnicastHostsProvider.java +++ b/plugins/discovery-gce/src/main/java/org/elasticsearch/discovery/gce/GceUnicastHostsProvider.java @@ -51,9 +51,6 @@ import static java.util.Collections.emptyList; import static java.util.Collections.emptyMap; import static java.util.Collections.emptySet; -/** - * - */ public class GceUnicastHostsProvider extends AbstractComponent implements UnicastHostsProvider { /** diff --git a/plugins/discovery-gce/src/test/java/org/elasticsearch/discovery/gce/GceInstancesServiceMock.java b/plugins/discovery-gce/src/test/java/org/elasticsearch/discovery/gce/GceInstancesServiceMock.java index 91a37a4d106..d2612ca75ab 100644 --- a/plugins/discovery-gce/src/test/java/org/elasticsearch/discovery/gce/GceInstancesServiceMock.java +++ b/plugins/discovery-gce/src/test/java/org/elasticsearch/discovery/gce/GceInstancesServiceMock.java @@ -26,9 +26,6 @@ import org.elasticsearch.common.settings.Settings; import java.io.IOException; import java.security.GeneralSecurityException; -/** - * - */ public class GceInstancesServiceMock extends GceInstancesServiceImpl { protected HttpTransport mockHttpTransport; diff --git a/plugins/ingest-attachment/build.gradle b/plugins/ingest-attachment/build.gradle index 3d9545d7aed..f22e0fdfeae 100644 --- a/plugins/ingest-attachment/build.gradle +++ b/plugins/ingest-attachment/build.gradle @@ -24,9 +24,9 @@ esplugin { versions << [ 'tika': '1.13', - 'pdfbox': '2.0.1', - 'bouncycastle': '1.54', - 'poi': '3.15-beta1' + 'pdfbox': '2.0.3', + 'bouncycastle': '1.55', + 'poi': '3.15' ] dependencies { @@ -216,7 +216,6 @@ thirdPartyAudit.excludes = [ 'com.microsoft.schemas.office.excel.impl.CTClientDataImpl$1VTEditList', 'com.microsoft.schemas.office.excel.impl.CTClientDataImpl$1ValList', 'com.microsoft.schemas.office.excel.impl.CTClientDataImpl$1ValidIdsList', - 'com.microsoft.schemas.office.excel.impl.CTClientDataImpl$1VisibleList', 'com.microsoft.schemas.office.excel.impl.CTClientDataImpl$1WidthMinList', 'com.microsoft.schemas.office.excel.impl.CTClientDataImpl$2Accel2List', 'com.microsoft.schemas.office.excel.impl.CTClientDataImpl$2AccelList', @@ -506,6 +505,8 @@ thirdPartyAudit.excludes = [ 'opennlp.tools.namefind.TokenNameFinderModel', 'opennlp.tools.util.Span', 'org.apache.avalon.framework.logger.Logger', + 'org.apache.commons.collections4.ListValuedMap', + 'org.apache.commons.collections4.multimap.ArrayListValuedHashMap', 'org.apache.commons.csv.CSVFormat', 'org.apache.commons.csv.CSVParser', 'org.apache.commons.csv.CSVRecord', @@ -630,8 +631,6 @@ thirdPartyAudit.excludes = [ 'org.etsi.uri.x01903.v13.impl.UnsignedSignaturePropertiesTypeImpl$1RevocationValuesList', 'org.etsi.uri.x01903.v13.impl.UnsignedSignaturePropertiesTypeImpl$1SigAndRefsTimeStampList', 'org.etsi.uri.x01903.v13.impl.UnsignedSignaturePropertiesTypeImpl$1SignatureTimeStampList', - 'org.etsi.uri.x01903.v14.ValidationDataType$Factory', - 'org.etsi.uri.x01903.v14.ValidationDataType', 'org.json.JSONArray', 'org.json.JSONObject', 'org.json.XML', @@ -785,17 +784,16 @@ thirdPartyAudit.excludes = [ 'org.openxmlformats.schemas.drawingml.x2006.main.CTGlowEffect', 'org.openxmlformats.schemas.drawingml.x2006.main.CTGrayscaleEffect', 'org.openxmlformats.schemas.drawingml.x2006.main.CTGrayscaleTransform', - 'org.openxmlformats.schemas.drawingml.x2006.main.CTGroupFillProperties', 'org.openxmlformats.schemas.drawingml.x2006.main.CTGroupLocking', 'org.openxmlformats.schemas.drawingml.x2006.main.CTHSLEffect', 'org.openxmlformats.schemas.drawingml.x2006.main.CTInnerShadowEffect', 'org.openxmlformats.schemas.drawingml.x2006.main.CTInverseGammaTransform', 'org.openxmlformats.schemas.drawingml.x2006.main.CTInverseTransform', 'org.openxmlformats.schemas.drawingml.x2006.main.CTLineJoinBevel', + 'org.openxmlformats.schemas.drawingml.x2006.main.CTLineJoinMiterProperties', 'org.openxmlformats.schemas.drawingml.x2006.main.CTLuminanceEffect', 'org.openxmlformats.schemas.drawingml.x2006.main.CTObjectStyleDefaults', 'org.openxmlformats.schemas.drawingml.x2006.main.CTPath2DArcTo', - 'org.openxmlformats.schemas.drawingml.x2006.main.CTPatternFillProperties', 'org.openxmlformats.schemas.drawingml.x2006.main.CTPolarAdjustHandle', 'org.openxmlformats.schemas.drawingml.x2006.main.CTPositiveFixedAngle', 'org.openxmlformats.schemas.drawingml.x2006.main.CTPresetShadowEffect', @@ -808,7 +806,7 @@ thirdPartyAudit.excludes = [ 'org.openxmlformats.schemas.drawingml.x2006.main.CTSoftEdgesEffect', 'org.openxmlformats.schemas.drawingml.x2006.main.CTSupplementalFont', 'org.openxmlformats.schemas.drawingml.x2006.main.CTTableBackgroundStyle', - 'org.openxmlformats.schemas.drawingml.x2006.main.CTTablePartStyle', + 'org.openxmlformats.schemas.drawingml.x2006.main.CTTableCellBorderStyle', 'org.openxmlformats.schemas.drawingml.x2006.main.CTTextBlipBullet', 'org.openxmlformats.schemas.drawingml.x2006.main.CTTextBulletColorFollowText', 'org.openxmlformats.schemas.drawingml.x2006.main.CTTextBulletSizeFollowText', @@ -823,9 +821,10 @@ thirdPartyAudit.excludes = [ 'org.openxmlformats.schemas.drawingml.x2006.main.STBlackWhiteMode', 'org.openxmlformats.schemas.drawingml.x2006.main.STBlipCompression', 'org.openxmlformats.schemas.drawingml.x2006.main.STFixedAngle', - 'org.openxmlformats.schemas.drawingml.x2006.main.STGuid', 'org.openxmlformats.schemas.drawingml.x2006.main.STPanose', 'org.openxmlformats.schemas.drawingml.x2006.main.STPathFillMode', + 'org.openxmlformats.schemas.drawingml.x2006.main.STPresetPatternVal', + 'org.openxmlformats.schemas.drawingml.x2006.main.STPresetPatternVal$Enum', 'org.openxmlformats.schemas.drawingml.x2006.main.STRectAlignment', 'org.openxmlformats.schemas.drawingml.x2006.main.STTextColumnCount', 'org.openxmlformats.schemas.drawingml.x2006.main.STTextNonNegativePoint', @@ -933,6 +932,34 @@ thirdPartyAudit.excludes = [ 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTPresetColorImpl$1SatOffList', 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTPresetColorImpl$1ShadeList', 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTPresetColorImpl$1TintList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1AlphaList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1AlphaModList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1AlphaOffList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1BlueList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1BlueModList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1BlueOffList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1CompList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1GammaList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1GrayList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1GreenList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1GreenModList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1GreenOffList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1HueList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1HueModList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1HueOffList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1InvGammaList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1InvList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1LumList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1LumModList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1LumOffList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1RedList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1RedModList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1RedOffList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1SatList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1SatModList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1SatOffList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1ShadeList', + 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTScRgbColorImpl$1TintList', 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTSRgbColorImpl$1AlphaList', 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTSRgbColorImpl$1AlphaModList', 'org.openxmlformats.schemas.drawingml.x2006.main.impl.CTSRgbColorImpl$1AlphaOffList', @@ -1184,6 +1211,8 @@ thirdPartyAudit.excludes = [ 'org.openxmlformats.schemas.spreadsheetml.x2006.main.CTOleObjects', 'org.openxmlformats.schemas.spreadsheetml.x2006.main.CTOleSize', 'org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPCDKPIs', + 'org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageField', + 'org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageFields', 'org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPhoneticRun', 'org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPivotFilters', 'org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPivotHierarchies', @@ -1269,7 +1298,6 @@ thirdPartyAudit.excludes = [ 'org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTMergeCellsImpl$1MergeCellList', 'org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTNumFmtsImpl$1NumFmtList', 'org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTPageBreakImpl$1BrkList', - 'org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTPageFieldsImpl$1PageFieldList', 'org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTPivotCacheRecordsImpl$1RList', 'org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTPivotCachesImpl$1PivotCacheList', 'org.openxmlformats.schemas.spreadsheetml.x2006.main.impl.CTPivotFieldsImpl$1PivotFieldList', diff --git a/plugins/ingest-attachment/licenses/bcmail-jdk15on-1.54.jar.sha1 b/plugins/ingest-attachment/licenses/bcmail-jdk15on-1.54.jar.sha1 deleted file mode 100644 index 79da45c5c42..00000000000 --- a/plugins/ingest-attachment/licenses/bcmail-jdk15on-1.54.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -9d9b5432b4b29ef4a853223bc6e19379ef116cca \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/bcmail-jdk15on-1.55.jar.sha1 b/plugins/ingest-attachment/licenses/bcmail-jdk15on-1.55.jar.sha1 new file mode 100644 index 00000000000..8fdfb8f5807 --- /dev/null +++ b/plugins/ingest-attachment/licenses/bcmail-jdk15on-1.55.jar.sha1 @@ -0,0 +1 @@ +5cea2dada69b98698ea975a5c1dd3c91ac8ffbb6 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/bcpkix-jdk15on-1.54.jar.sha1 b/plugins/ingest-attachment/licenses/bcpkix-jdk15on-1.54.jar.sha1 deleted file mode 100644 index 2d0c3cf4e27..00000000000 --- a/plugins/ingest-attachment/licenses/bcpkix-jdk15on-1.54.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -b11bfee99bb11eea344de6e4a07fe89212c55c02 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/bcpkix-jdk15on-1.55.jar.sha1 b/plugins/ingest-attachment/licenses/bcpkix-jdk15on-1.55.jar.sha1 new file mode 100644 index 00000000000..a4d546be04f --- /dev/null +++ b/plugins/ingest-attachment/licenses/bcpkix-jdk15on-1.55.jar.sha1 @@ -0,0 +1 @@ +6392d8cba22b722c6570d660ca0b3921ff1bae4f \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/bcprov-jdk15on-1.54.jar.sha1 b/plugins/ingest-attachment/licenses/bcprov-jdk15on-1.54.jar.sha1 deleted file mode 100644 index fcda646b42a..00000000000 --- a/plugins/ingest-attachment/licenses/bcprov-jdk15on-1.54.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -1acdedeb89f1d950d67b73d481eb7736df65eedb \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/bcprov-jdk15on-1.55.jar.sha1 b/plugins/ingest-attachment/licenses/bcprov-jdk15on-1.55.jar.sha1 new file mode 100644 index 00000000000..1c507e17b88 --- /dev/null +++ b/plugins/ingest-attachment/licenses/bcprov-jdk15on-1.55.jar.sha1 @@ -0,0 +1 @@ +935f2e57a00ec2c489cbd2ad830d4a399708f979 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/fontbox-2.0.1.jar.sha1 b/plugins/ingest-attachment/licenses/fontbox-2.0.1.jar.sha1 deleted file mode 100644 index 0668199b242..00000000000 --- a/plugins/ingest-attachment/licenses/fontbox-2.0.1.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -b9d4f0993e015f3f1ce0be9e7300cf62dd7a7f15 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/fontbox-2.0.3.jar.sha1 b/plugins/ingest-attachment/licenses/fontbox-2.0.3.jar.sha1 new file mode 100644 index 00000000000..e3ff3d39459 --- /dev/null +++ b/plugins/ingest-attachment/licenses/fontbox-2.0.3.jar.sha1 @@ -0,0 +1 @@ +448ee588d0136121cf5c4dd397384cccb9db1ad7 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/pdfbox-2.0.1.jar.sha1 b/plugins/ingest-attachment/licenses/pdfbox-2.0.1.jar.sha1 deleted file mode 100644 index 1014db34044..00000000000 --- a/plugins/ingest-attachment/licenses/pdfbox-2.0.1.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -dbc69649118b7eff278f228c070a40ee559e1f62 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/pdfbox-2.0.3.jar.sha1 b/plugins/ingest-attachment/licenses/pdfbox-2.0.3.jar.sha1 new file mode 100644 index 00000000000..807e2482ac2 --- /dev/null +++ b/plugins/ingest-attachment/licenses/pdfbox-2.0.3.jar.sha1 @@ -0,0 +1 @@ +be7b09de93f7c7795c57f4fbf14db60ab93806b4 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-3.15-beta1.jar.sha1 b/plugins/ingest-attachment/licenses/poi-3.15-beta1.jar.sha1 deleted file mode 100644 index 6049604dd97..00000000000 --- a/plugins/ingest-attachment/licenses/poi-3.15-beta1.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -048bb8326b81323631d9ceb4236cfbd382e56da2 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-3.15.jar.sha1 b/plugins/ingest-attachment/licenses/poi-3.15.jar.sha1 new file mode 100644 index 00000000000..5405d32cd01 --- /dev/null +++ b/plugins/ingest-attachment/licenses/poi-3.15.jar.sha1 @@ -0,0 +1 @@ +965bba8899988008bb2341e300347de62aad5391 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-ooxml-3.15-beta1.jar.sha1 b/plugins/ingest-attachment/licenses/poi-ooxml-3.15-beta1.jar.sha1 deleted file mode 100644 index c3cf49d9246..00000000000 --- a/plugins/ingest-attachment/licenses/poi-ooxml-3.15-beta1.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -81085a47fdf0d74d473d605c6b3784e26731842e \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-ooxml-3.15.jar.sha1 b/plugins/ingest-attachment/licenses/poi-ooxml-3.15.jar.sha1 new file mode 100644 index 00000000000..4362223dac4 --- /dev/null +++ b/plugins/ingest-attachment/licenses/poi-ooxml-3.15.jar.sha1 @@ -0,0 +1 @@ +e2800856735b07b8edd417aee07685470216a00f \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-ooxml-schemas-3.15-beta1.jar.sha1 b/plugins/ingest-attachment/licenses/poi-ooxml-schemas-3.15-beta1.jar.sha1 deleted file mode 100644 index afd3b676d08..00000000000 --- a/plugins/ingest-attachment/licenses/poi-ooxml-schemas-3.15-beta1.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -f8bc979ad79908a99483337f1ca2edf78558ac20 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-ooxml-schemas-3.15.jar.sha1 b/plugins/ingest-attachment/licenses/poi-ooxml-schemas-3.15.jar.sha1 new file mode 100644 index 00000000000..393e6f885d9 --- /dev/null +++ b/plugins/ingest-attachment/licenses/poi-ooxml-schemas-3.15.jar.sha1 @@ -0,0 +1 @@ +de4a50ca39de48a19606b35644ecadb2f733c479 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-scratchpad-3.15-beta1.jar.sha1 b/plugins/ingest-attachment/licenses/poi-scratchpad-3.15-beta1.jar.sha1 deleted file mode 100644 index 7056a9fa49e..00000000000 --- a/plugins/ingest-attachment/licenses/poi-scratchpad-3.15-beta1.jar.sha1 +++ /dev/null @@ -1 +0,0 @@ -f4e276aaf97a60a1156388c9e38069122b7ea914 \ No newline at end of file diff --git a/plugins/ingest-attachment/licenses/poi-scratchpad-3.15.jar.sha1 b/plugins/ingest-attachment/licenses/poi-scratchpad-3.15.jar.sha1 new file mode 100644 index 00000000000..d08f475a3f6 --- /dev/null +++ b/plugins/ingest-attachment/licenses/poi-scratchpad-3.15.jar.sha1 @@ -0,0 +1 @@ +f1db76ae4a9389fa4339dc3b7f8208aa82c72b04 \ No newline at end of file diff --git a/plugins/ingest-attachment/src/test/java/org/elasticsearch/ingest/attachment/AttachmentProcessorTests.java b/plugins/ingest-attachment/src/test/java/org/elasticsearch/ingest/attachment/AttachmentProcessorTests.java index 4e051d05724..3708a290dec 100644 --- a/plugins/ingest-attachment/src/test/java/org/elasticsearch/ingest/attachment/AttachmentProcessorTests.java +++ b/plugins/ingest-attachment/src/test/java/org/elasticsearch/ingest/attachment/AttachmentProcessorTests.java @@ -21,8 +21,8 @@ package org.elasticsearch.ingest.attachment; import org.apache.commons.io.IOUtils; import org.elasticsearch.ElasticsearchParseException; -import org.elasticsearch.ingest.RandomDocumentPicks; import org.elasticsearch.ingest.IngestDocument; +import org.elasticsearch.ingest.RandomDocumentPicks; import org.elasticsearch.test.ESTestCase; import org.junit.Before; @@ -38,6 +38,7 @@ import java.util.Set; import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.greaterThan; import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.not; @@ -125,12 +126,17 @@ public class AttachmentProcessorTests extends ESTestCase { is("application/vnd.openxmlformats-officedocument.wordprocessingml.document")); } + public void testPdf() throws Exception { + Map attachmentData = parseDocument("test.pdf", processor); + assertThat(attachmentData.get("content"), + is("This is a test, with umlauts, from München\n\nAlso contains newlines for testing.\n\nAnd one more.")); + assertThat(attachmentData.get("content_type").toString(), is("application/pdf")); + assertThat(attachmentData.get("content_length"), is(notNullValue())); + } + public void testEncryptedPdf() throws Exception { - try { - parseDocument("encrypted.pdf", processor); - } catch (ElasticsearchParseException e) { - assertThat(e.getDetailedMessage(), containsString("document is encrypted")); - } + ElasticsearchParseException e = expectThrows(ElasticsearchParseException.class, () -> parseDocument("encrypted.pdf", processor)); + assertThat(e.getDetailedMessage(), containsString("document is encrypted")); } public void testHtmlDocument() throws Exception { diff --git a/plugins/ingest-attachment/src/test/resources/org/elasticsearch/ingest/attachment/test/sample-files/test.pdf b/plugins/ingest-attachment/src/test/resources/org/elasticsearch/ingest/attachment/test/sample-files/test.pdf new file mode 100644 index 00000000000..c6e47d74e66 Binary files /dev/null and b/plugins/ingest-attachment/src/test/resources/org/elasticsearch/ingest/attachment/test/sample-files/test.pdf differ diff --git a/plugins/lang-javascript/src/main/java/org/elasticsearch/script/javascript/JavaScriptScriptEngineService.java b/plugins/lang-javascript/src/main/java/org/elasticsearch/script/javascript/JavaScriptScriptEngineService.java index da3d14cd02b..946a15755c8 100644 --- a/plugins/lang-javascript/src/main/java/org/elasticsearch/script/javascript/JavaScriptScriptEngineService.java +++ b/plugins/lang-javascript/src/main/java/org/elasticsearch/script/javascript/JavaScriptScriptEngineService.java @@ -61,9 +61,6 @@ import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicLong; -/** - * - */ public class JavaScriptScriptEngineService extends AbstractComponent implements ScriptEngineService { public static final String NAME = "javascript"; diff --git a/plugins/lang-javascript/src/main/java/org/elasticsearch/script/javascript/support/NativeList.java b/plugins/lang-javascript/src/main/java/org/elasticsearch/script/javascript/support/NativeList.java index dc533e5881e..4ef7f9177c5 100644 --- a/plugins/lang-javascript/src/main/java/org/elasticsearch/script/javascript/support/NativeList.java +++ b/plugins/lang-javascript/src/main/java/org/elasticsearch/script/javascript/support/NativeList.java @@ -27,9 +27,6 @@ import org.mozilla.javascript.Wrapper; import java.util.Arrays; import java.util.List; -/** - * - */ public class NativeList extends NativeJavaObject implements Scriptable, Wrapper { private static final String LENGTH_PROPERTY = "length"; diff --git a/plugins/lang-javascript/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptEngineTests.java b/plugins/lang-javascript/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptEngineTests.java index 84bc97abfbe..7a57005eb33 100644 --- a/plugins/lang-javascript/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptEngineTests.java +++ b/plugins/lang-javascript/src/test/java/org/elasticsearch/script/javascript/JavaScriptScriptEngineTests.java @@ -39,9 +39,6 @@ import org.junit.Before; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.instanceOf; -/** - * - */ public class JavaScriptScriptEngineTests extends ESTestCase { private JavaScriptScriptEngineService se; diff --git a/plugins/lang-python/src/main/java/org/elasticsearch/script/python/PythonScriptEngineService.java b/plugins/lang-python/src/main/java/org/elasticsearch/script/python/PythonScriptEngineService.java index d31e691b994..3674a280a6e 100644 --- a/plugins/lang-python/src/main/java/org/elasticsearch/script/python/PythonScriptEngineService.java +++ b/plugins/lang-python/src/main/java/org/elasticsearch/script/python/PythonScriptEngineService.java @@ -48,9 +48,6 @@ import java.security.PrivilegedAction; import java.security.ProtectionDomain; import java.util.Map; -/** - * - */ //TODO we can optimize the case for Map similar to PyStringMap public class PythonScriptEngineService extends AbstractComponent implements ScriptEngineService { diff --git a/plugins/lang-python/src/test/java/org/elasticsearch/script/python/PythonScriptEngineTests.java b/plugins/lang-python/src/test/java/org/elasticsearch/script/python/PythonScriptEngineTests.java index b96071e3848..7d771db3051 100644 --- a/plugins/lang-python/src/test/java/org/elasticsearch/script/python/PythonScriptEngineTests.java +++ b/plugins/lang-python/src/test/java/org/elasticsearch/script/python/PythonScriptEngineTests.java @@ -36,9 +36,6 @@ import org.junit.Before; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.instanceOf; -/** - * - */ public class PythonScriptEngineTests extends ESTestCase { private PythonScriptEngineService se; diff --git a/plugins/lang-python/src/test/java/org/elasticsearch/script/python/PythonScriptMultiThreadedTests.java b/plugins/lang-python/src/test/java/org/elasticsearch/script/python/PythonScriptMultiThreadedTests.java index 0a887bc9a7e..4bd645ac81a 100644 --- a/plugins/lang-python/src/test/java/org/elasticsearch/script/python/PythonScriptMultiThreadedTests.java +++ b/plugins/lang-python/src/test/java/org/elasticsearch/script/python/PythonScriptMultiThreadedTests.java @@ -35,9 +35,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import static org.hamcrest.Matchers.equalTo; -/** - * - */ public class PythonScriptMultiThreadedTests extends ESTestCase { public void testExecutableNoRuntimeParams() throws Exception { diff --git a/plugins/repository-azure/src/main/java/org/elasticsearch/cloud/azure/blobstore/AzureBlobContainer.java b/plugins/repository-azure/src/main/java/org/elasticsearch/cloud/azure/blobstore/AzureBlobContainer.java index 05bb911476a..66671931683 100644 --- a/plugins/repository-azure/src/main/java/org/elasticsearch/cloud/azure/blobstore/AzureBlobContainer.java +++ b/plugins/repository-azure/src/main/java/org/elasticsearch/cloud/azure/blobstore/AzureBlobContainer.java @@ -38,9 +38,6 @@ import java.nio.file.FileAlreadyExistsException; import java.nio.file.NoSuchFileException; import java.util.Map; -/** - * - */ public class AzureBlobContainer extends AbstractBlobContainer { protected final Logger logger = Loggers.getLogger(AzureBlobContainer.class); diff --git a/plugins/repository-s3/src/main/java/org/elasticsearch/cloud/aws/AwsS3Service.java b/plugins/repository-s3/src/main/java/org/elasticsearch/cloud/aws/AwsS3Service.java index 59c3d3445a2..cc8d43868d5 100644 --- a/plugins/repository-s3/src/main/java/org/elasticsearch/cloud/aws/AwsS3Service.java +++ b/plugins/repository-s3/src/main/java/org/elasticsearch/cloud/aws/AwsS3Service.java @@ -29,9 +29,6 @@ import org.elasticsearch.common.settings.Settings; import java.util.Locale; import java.util.function.Function; -/** - * - */ public interface AwsS3Service extends LifecycleComponent { // Global AWS settings (shared between discovery-ec2 and repository-s3) diff --git a/plugins/repository-s3/src/main/java/org/elasticsearch/cloud/aws/InternalAwsS3Service.java b/plugins/repository-s3/src/main/java/org/elasticsearch/cloud/aws/InternalAwsS3Service.java index a9091788f28..5a8e83b33e6 100644 --- a/plugins/repository-s3/src/main/java/org/elasticsearch/cloud/aws/InternalAwsS3Service.java +++ b/plugins/repository-s3/src/main/java/org/elasticsearch/cloud/aws/InternalAwsS3Service.java @@ -42,9 +42,6 @@ import java.util.Map; import static org.elasticsearch.repositories.s3.S3Repository.getValue; -/** - * - */ public class InternalAwsS3Service extends AbstractLifecycleComponent implements AwsS3Service { /** diff --git a/plugins/repository-s3/src/main/java/org/elasticsearch/cloud/aws/blobstore/S3BlobStore.java b/plugins/repository-s3/src/main/java/org/elasticsearch/cloud/aws/blobstore/S3BlobStore.java index 991e5f9707f..6a03b4bcea5 100644 --- a/plugins/repository-s3/src/main/java/org/elasticsearch/cloud/aws/blobstore/S3BlobStore.java +++ b/plugins/repository-s3/src/main/java/org/elasticsearch/cloud/aws/blobstore/S3BlobStore.java @@ -41,9 +41,6 @@ import org.elasticsearch.common.unit.ByteSizeValue; import java.util.ArrayList; import java.util.Locale; -/** - * - */ public class S3BlobStore extends AbstractComponent implements BlobStore { private final AmazonS3 client; diff --git a/plugins/repository-s3/src/main/java/org/elasticsearch/repositories/s3/S3Repository.java b/plugins/repository-s3/src/main/java/org/elasticsearch/repositories/s3/S3Repository.java index b1471e417f9..34e4d78f8cf 100644 --- a/plugins/repository-s3/src/main/java/org/elasticsearch/repositories/s3/S3Repository.java +++ b/plugins/repository-s3/src/main/java/org/elasticsearch/repositories/s3/S3Repository.java @@ -306,11 +306,12 @@ public class S3Repository extends BlobStoreRepository { String basePath = getValue(metadata.settings(), settings, Repository.BASE_PATH_SETTING, Repositories.BASE_PATH_SETTING); if (Strings.hasLength(basePath)) { - BlobPath path = new BlobPath(); - for(String elem : basePath.split("/")) { - path = path.add(elem); + if (basePath.startsWith("/")) { + basePath = basePath.substring(1); + deprecationLogger.deprecated("S3 repository base_path trimming the leading `/`, and " + + "leading `/` will not be supported for the S3 repository in future releases"); } - this.basePath = path; + this.basePath = new BlobPath().add(basePath); } else { this.basePath = BlobPath.cleanPath(); } diff --git a/plugins/repository-s3/src/test/java/org/elasticsearch/cloud/aws/AmazonS3Wrapper.java b/plugins/repository-s3/src/test/java/org/elasticsearch/cloud/aws/AmazonS3Wrapper.java index 7cda9ee0947..23c6755652e 100644 --- a/plugins/repository-s3/src/test/java/org/elasticsearch/cloud/aws/AmazonS3Wrapper.java +++ b/plugins/repository-s3/src/test/java/org/elasticsearch/cloud/aws/AmazonS3Wrapper.java @@ -117,9 +117,6 @@ import java.net.URL; import java.util.Date; import java.util.List; -/** - * - */ @SuppressForbidden(reason = "implements AWS api that uses java.io.File!") public class AmazonS3Wrapper implements AmazonS3 { diff --git a/plugins/repository-s3/src/test/java/org/elasticsearch/cloud/aws/TestAmazonS3.java b/plugins/repository-s3/src/test/java/org/elasticsearch/cloud/aws/TestAmazonS3.java index 37087db386b..33458c0ab7c 100644 --- a/plugins/repository-s3/src/test/java/org/elasticsearch/cloud/aws/TestAmazonS3.java +++ b/plugins/repository-s3/src/test/java/org/elasticsearch/cloud/aws/TestAmazonS3.java @@ -44,9 +44,6 @@ import java.util.concurrent.atomic.AtomicLong; import static com.carrotsearch.randomizedtesting.RandomizedTest.randomDouble; -/** - * - */ public class TestAmazonS3 extends AmazonS3Wrapper { protected final Logger logger = Loggers.getLogger(getClass()); diff --git a/plugins/repository-s3/src/test/java/org/elasticsearch/repositories/s3/S3RepositoryTests.java b/plugins/repository-s3/src/test/java/org/elasticsearch/repositories/s3/S3RepositoryTests.java index f8940c6158c..915183888b6 100644 --- a/plugins/repository-s3/src/test/java/org/elasticsearch/repositories/s3/S3RepositoryTests.java +++ b/plugins/repository-s3/src/test/java/org/elasticsearch/repositories/s3/S3RepositoryTests.java @@ -104,4 +104,17 @@ public class S3RepositoryTests extends ESTestCase { Exception e = expectThrows(clazz, () -> new S3Repository(metadata, Settings.EMPTY, new DummyS3Service())); assertThat(e.getMessage(), containsString(msg)); } + + public void testBasePathSetting() throws IOException { + RepositoryMetaData metadata = new RepositoryMetaData("dummy-repo", "mock", Settings.builder() + .put(Repository.BASE_PATH_SETTING.getKey(), "/foo/bar").build()); + S3Repository s3repo = new S3Repository(metadata, Settings.EMPTY, new DummyS3Service()); + assertEquals("foo/bar/", s3repo.basePath().buildAsString()); // make sure leading `/` is removed and trailing is added + + metadata = new RepositoryMetaData("dummy-repo", "mock", Settings.EMPTY); + Settings settings = Settings.builder().put(Repositories.BASE_PATH_SETTING.getKey(), "/foo/bar").build(); + s3repo = new S3Repository(metadata, settings, new DummyS3Service()); + assertEquals("foo/bar/", s3repo.basePath().buildAsString()); // make sure leading `/` is removed and trailing is added + } + } diff --git a/plugins/repository-s3/src/test/java/org/elasticsearch/repositories/s3/S3SnapshotRestoreOverHttpTests.java b/plugins/repository-s3/src/test/java/org/elasticsearch/repositories/s3/S3SnapshotRestoreOverHttpTests.java index bcc430e840c..1c1a3457d7a 100644 --- a/plugins/repository-s3/src/test/java/org/elasticsearch/repositories/s3/S3SnapshotRestoreOverHttpTests.java +++ b/plugins/repository-s3/src/test/java/org/elasticsearch/repositories/s3/S3SnapshotRestoreOverHttpTests.java @@ -21,8 +21,6 @@ package org.elasticsearch.repositories.s3; import org.elasticsearch.common.settings.Settings; -/** - */ public class S3SnapshotRestoreOverHttpTests extends AbstractS3SnapshotRestoreTest { @Override public Settings nodeSettings(int nodeOrdinal) { diff --git a/plugins/repository-s3/src/test/java/org/elasticsearch/repositories/s3/S3SnapshotRestoreOverHttpsTests.java b/plugins/repository-s3/src/test/java/org/elasticsearch/repositories/s3/S3SnapshotRestoreOverHttpsTests.java index 8bb53edce54..b888d015836 100644 --- a/plugins/repository-s3/src/test/java/org/elasticsearch/repositories/s3/S3SnapshotRestoreOverHttpsTests.java +++ b/plugins/repository-s3/src/test/java/org/elasticsearch/repositories/s3/S3SnapshotRestoreOverHttpsTests.java @@ -21,8 +21,6 @@ package org.elasticsearch.repositories.s3; import org.elasticsearch.common.settings.Settings; -/** - */ public class S3SnapshotRestoreOverHttpsTests extends AbstractS3SnapshotRestoreTest { @Override public Settings nodeSettings(int nodeOrdinal) { diff --git a/qa/evil-tests/src/test/java/org/elasticsearch/plugins/ListPluginsCommandTests.java b/qa/evil-tests/src/test/java/org/elasticsearch/plugins/ListPluginsCommandTests.java index ddac8f66209..1422280165c 100644 --- a/qa/evil-tests/src/test/java/org/elasticsearch/plugins/ListPluginsCommandTests.java +++ b/qa/evil-tests/src/test/java/org/elasticsearch/plugins/ListPluginsCommandTests.java @@ -59,7 +59,7 @@ public class ListPluginsCommandTests extends ESTestCase { static MockTerminal listPlugins(Path home) throws Exception { return listPlugins(home, new String[0]); } - + static MockTerminal listPlugins(Path home, String[] args) throws Exception { String[] argsAndHome = new String[args.length + 1]; System.arraycopy(args, 0, argsAndHome, 0, args.length); @@ -69,16 +69,16 @@ public class ListPluginsCommandTests extends ESTestCase { assertEquals(ExitCodes.OK, status); return terminal; } - + static String buildMultiline(String... args){ return Arrays.asList(args).stream().collect(Collectors.joining("\n", "", "\n")); } - - static void buildFakePlugin(Environment env, String description, String name, String classname, String version) throws IOException { + + static void buildFakePlugin(Environment env, String description, String name, String classname) throws IOException { PluginTestUtil.writeProperties(env.pluginsFile().resolve(name), "description", description, "name", name, - "version", version, + "version", "1.0", "elasticsearch.version", Version.CURRENT.toString(), "java.version", System.getProperty("java.specification.version"), "classname", classname); @@ -97,51 +97,51 @@ public class ListPluginsCommandTests extends ESTestCase { } public void testOnePlugin() throws Exception { - buildFakePlugin(env, "fake desc", "fake", "org.fake", "1.0.0"); + buildFakePlugin(env, "fake desc", "fake", "org.fake"); MockTerminal terminal = listPlugins(home); - assertEquals(terminal.getOutput(), buildMultiline("fake@1.0.0")); + assertEquals(terminal.getOutput(), buildMultiline("fake")); } public void testTwoPlugins() throws Exception { - buildFakePlugin(env, "fake desc", "fake1", "org.fake", "1.2.3"); - buildFakePlugin(env, "fake desc 2", "fake2", "org.fake", "6.5.4"); + buildFakePlugin(env, "fake desc", "fake1", "org.fake"); + buildFakePlugin(env, "fake desc 2", "fake2", "org.fake"); MockTerminal terminal = listPlugins(home); - assertEquals(terminal.getOutput(), buildMultiline("fake1@1.2.3", "fake2@6.5.4")); + assertEquals(terminal.getOutput(), buildMultiline("fake1", "fake2")); } - + public void testPluginWithVerbose() throws Exception { - buildFakePlugin(env, "fake desc", "fake_plugin", "org.fake", "1.0.0"); + buildFakePlugin(env, "fake desc", "fake_plugin", "org.fake"); String[] params = { "-v" }; MockTerminal terminal = listPlugins(home, params); - assertEquals(terminal.getOutput(), buildMultiline("Plugins directory: " + env.pluginsFile(), "fake_plugin@1.0.0", - "- Plugin information:", "Name: fake_plugin", "Description: fake desc", "Version: 1.0.0", " * Classname: org.fake")); + assertEquals(terminal.getOutput(), buildMultiline("Plugins directory: " + env.pluginsFile(), "fake_plugin", + "- Plugin information:", "Name: fake_plugin", "Description: fake desc", "Version: 1.0", " * Classname: org.fake")); } - + public void testPluginWithVerboseMultiplePlugins() throws Exception { - buildFakePlugin(env, "fake desc 1", "fake_plugin1", "org.fake", "1.2.3"); - buildFakePlugin(env, "fake desc 2", "fake_plugin2", "org.fake2", "6.5.4"); + buildFakePlugin(env, "fake desc 1", "fake_plugin1", "org.fake"); + buildFakePlugin(env, "fake desc 2", "fake_plugin2", "org.fake2"); String[] params = { "-v" }; MockTerminal terminal = listPlugins(home, params); assertEquals(terminal.getOutput(), buildMultiline("Plugins directory: " + env.pluginsFile(), - "fake_plugin1@1.2.3", "- Plugin information:", "Name: fake_plugin1", "Description: fake desc 1", "Version: 1.2.3", - " * Classname: org.fake", "fake_plugin2@6.5.4", "- Plugin information:", "Name: fake_plugin2", - "Description: fake desc 2", "Version: 6.5.4", " * Classname: org.fake2")); + "fake_plugin1", "- Plugin information:", "Name: fake_plugin1", "Description: fake desc 1", "Version: 1.0", + " * Classname: org.fake", "fake_plugin2", "- Plugin information:", "Name: fake_plugin2", + "Description: fake desc 2", "Version: 1.0", " * Classname: org.fake2")); } - + public void testPluginWithoutVerboseMultiplePlugins() throws Exception { - buildFakePlugin(env, "fake desc 1", "fake_plugin1", "org.fake", "1.0.0"); - buildFakePlugin(env, "fake desc 2", "fake_plugin2", "org.fake2", "1.0.0"); + buildFakePlugin(env, "fake desc 1", "fake_plugin1", "org.fake"); + buildFakePlugin(env, "fake desc 2", "fake_plugin2", "org.fake2"); MockTerminal terminal = listPlugins(home, new String[0]); String output = terminal.getOutput(); - assertEquals(output, buildMultiline("fake_plugin1@1.0.0", "fake_plugin2@1.0.0")); + assertEquals(output, buildMultiline("fake_plugin1", "fake_plugin2")); } - + public void testPluginWithoutDescriptorFile() throws Exception{ Files.createDirectories(env.pluginsFile().resolve("fake1")); NoSuchFileException e = expectThrows(NoSuchFileException.class, () -> listPlugins(home)); assertEquals(e.getFile(), env.pluginsFile().resolve("fake1").resolve(PluginInfo.ES_PLUGIN_PROPERTIES).toString()); } - + public void testPluginWithWrongDescriptorFile() throws Exception{ PluginTestUtil.writeProperties(env.pluginsFile().resolve("fake1"), "description", "fake desc"); @@ -149,5 +149,5 @@ public class ListPluginsCommandTests extends ESTestCase { assertEquals(e.getMessage(), "Property [name] is missing in [" + env.pluginsFile().resolve("fake1").resolve(PluginInfo.ES_PLUGIN_PROPERTIES).toString() + "]"); } - + } diff --git a/qa/vagrant/src/test/resources/packaging/scripts/module_and_plugin_test_cases.bash b/qa/vagrant/src/test/resources/packaging/scripts/module_and_plugin_test_cases.bash index b5a494fd084..d5dc095e70f 100644 --- a/qa/vagrant/src/test/resources/packaging/scripts/module_and_plugin_test_cases.bash +++ b/qa/vagrant/src/test/resources/packaging/scripts/module_and_plugin_test_cases.bash @@ -222,10 +222,10 @@ fi } @test "[$GROUP] install ingest-attachment plugin" { - # we specify the version on the poi-3.15-beta1.jar so that the test does + # we specify the version on the poi-3.15.jar so that the test does # not spuriously pass if the jar is missing but the other poi jars # are present - install_and_check_plugin ingest attachment bcprov-jdk15on-*.jar tika-core-*.jar pdfbox-*.jar poi-3.15-beta1.jar poi-ooxml-3.15-beta1.jar poi-ooxml-schemas-*.jar poi-scratchpad-*.jar + install_and_check_plugin ingest attachment bcprov-jdk15on-*.jar tika-core-*.jar pdfbox-*.jar poi-3.15.jar poi-ooxml-3.15.jar poi-ooxml-schemas-*.jar poi-scratchpad-*.jar } @test "[$GROUP] install ingest-geoip plugin" { diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.aliases.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.aliases.json index 4bc93460b75..d30c6ace6f7 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.aliases.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.aliases.json @@ -33,6 +33,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.allocation.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.allocation.json index 6799a67bae8..7c826890607 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.allocation.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.allocation.json @@ -38,6 +38,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.count.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.count.json index 73803bac867..4311d9a3be1 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.count.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.count.json @@ -33,6 +33,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.fielddata.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.fielddata.json index b9776ab5881..88c7eee1262 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.fielddata.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.fielddata.json @@ -38,6 +38,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.health.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.health.json index 349bf37aa06..e858e83b465 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.health.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.health.json @@ -29,6 +29,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "ts": { "type": "boolean", "description": "Set to false to disable timestamping", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.help.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.help.json index f21e6485d58..e893fb1b044 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.help.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.help.json @@ -12,6 +12,10 @@ "type": "boolean", "description": "Return help information", "default": false + }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" } } }, diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.indices.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.indices.json index 03b67fd14c2..42a47253de7 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.indices.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.indices.json @@ -49,6 +49,10 @@ "description": "Set to true to return stats only for primary shards", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.master.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.master.json index bdf474c7a02..ab87b2adb7e 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.master.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.master.json @@ -29,6 +29,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.nodeattrs.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.nodeattrs.json index 4e44eb820f1..3d8a4a77a77 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.nodeattrs.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.nodeattrs.json @@ -29,6 +29,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.nodes.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.nodes.json index f0fcf390102..c4d0dcd5f49 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.nodes.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.nodes.json @@ -29,6 +29,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.pending_tasks.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.pending_tasks.json index 74fc54b9604..983b82482ae 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.pending_tasks.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.pending_tasks.json @@ -29,6 +29,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.plugins.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.plugins.json index 5822f64c8e2..93c7feababa 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.plugins.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.plugins.json @@ -27,6 +27,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.recovery.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.recovery.json index b220a5eda74..42f91cedfdd 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.recovery.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.recovery.json @@ -34,6 +34,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.repositories.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.repositories.json index ace0a1ea3c9..c640a568fde 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.repositories.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.repositories.json @@ -30,6 +30,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.segments.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.segments.json index eed4a627736..118f8b6bf96 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.segments.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.segments.json @@ -25,6 +25,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.shards.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.shards.json index a9a1a30770f..db46ce909ff 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.shards.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.shards.json @@ -33,6 +33,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.snapshots.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.snapshots.json index dc743893b5f..90f4ca32730 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.snapshots.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.snapshots.json @@ -37,6 +37,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.tasks.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.tasks.json index 73f1281ff5f..d7b7acd5a4f 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.tasks.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.tasks.json @@ -41,6 +41,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.templates.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.templates.json index f8aaa72723a..f0757c2d652 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.templates.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.templates.json @@ -33,6 +33,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.thread_pool.json b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.thread_pool.json index d6ba5ebc6b1..0a16f176613 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/api/cat.thread_pool.json +++ b/rest-api-spec/src/main/resources/rest-api-spec/api/cat.thread_pool.json @@ -34,6 +34,10 @@ "description": "Return help information", "default": false }, + "s": { + "type": "list", + "description" : "Comma-separated list of column names or column aliases to sort by" + }, "v": { "type": "boolean", "description": "Verbose mode. Display column headers", diff --git a/rest-api-spec/src/main/resources/rest-api-spec/test/cat.aliases/10_basic.yaml b/rest-api-spec/src/main/resources/rest-api-spec/test/cat.aliases/10_basic.yaml index 770c5c8b441..63670061b6d 100755 --- a/rest-api-spec/src/main/resources/rest-api-spec/test/cat.aliases/10_basic.yaml +++ b/rest-api-spec/src/main/resources/rest-api-spec/test/cat.aliases/10_basic.yaml @@ -216,3 +216,46 @@ - \s+ $/ +--- +"Alias sorting": + + - do: + indices.create: + index: test_index + body: + aliases: + test_alias: {} + my_alias: {} + + - do: + indices.create: + index: other_index + body: + aliases: + other_alias: {} + + - do: + cat.aliases: + h: [alias, index] + s: [index, alias] + + - match: + $body: | + /^ + other_alias \s+ other_index\n + my_alias \s+ test_index\n + test_alias \s+ test_index\n + $/ + + - do: + cat.aliases: + h: [alias, index] + s: [index, "a:desc"] + + - match: + $body: | + /^ + other_alias \s+ other_index\n + test_alias \s+ test_index\n + my_alias \s+ test_index\n + $/ diff --git a/rest-api-spec/src/main/resources/rest-api-spec/test/cat.indices/10_basic.yaml b/rest-api-spec/src/main/resources/rest-api-spec/test/cat.indices/10_basic.yaml index 24619e53353..0b3cdba46a4 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/test/cat.indices/10_basic.yaml +++ b/rest-api-spec/src/main/resources/rest-api-spec/test/cat.indices/10_basic.yaml @@ -157,3 +157,57 @@ - match: $body: | /^(ba(r|z) \n?){2}$/ + +--- +"Test cat indices sort": + - do: + indices.create: + index: foo + body: + settings: + number_of_shards: "1" + number_of_replicas: "0" + + - do: + indices.create: + index: bar + body: + settings: + number_of_shards: "1" + number_of_replicas: "0" + + - do: + indices.create: + index: baz + body: + settings: + number_of_shards: "1" + number_of_replicas: "0" + + - do: + indices.close: + index: bar + + - do: + cat.indices: + h: [status, index] + s: [status, index] + + - match: + $body: | + /^ close \s+ bar\n + open \s+ baz\n + open \s+ foo\n + $/ + + - do: + cat.indices: + h: [status, index] + s: [status, "index:desc"] + + - match: + $body: | + /^ close \s+ bar\n + open \s+ foo\n + open \s+ baz\n + $/ diff --git a/rest-api-spec/src/main/resources/rest-api-spec/test/cat.repositories/10_basic.yaml b/rest-api-spec/src/main/resources/rest-api-spec/test/cat.repositories/10_basic.yaml index c7eb9c1f930..2345df9732e 100755 --- a/rest-api-spec/src/main/resources/rest-api-spec/test/cat.repositories/10_basic.yaml +++ b/rest-api-spec/src/main/resources/rest-api-spec/test/cat.repositories/10_basic.yaml @@ -43,3 +43,42 @@ /^ test_cat_repo_1\s+ fs\s*\n test_cat_repo_2\s+ fs\s*\n $/ + +--- +"Test cat repositories sort": + + - do: + snapshot.create_repository: + repository: test_cat_repo_1 + body: + type: fs + settings: + location: "test_cat_repo_1_loc" + + - do: + snapshot.create_repository: + repository: test_cat_repo_2 + body: + type: fs + settings: + location: "test_cat_repo_2_loc" + + - do: + cat.repositories: + s: [type, id] + + - match: + $body: | + /^ test_cat_repo_1 \s+ fs \n + test_cat_repo_2 \s+ fs \n + $/ + + - do: + cat.repositories: + s: [type, "id:desc"] + + - match: + $body: | + /^ test_cat_repo_2 \s+ fs \n + test_cat_repo_1 \s+ fs \n + $/ diff --git a/rest-api-spec/src/main/resources/rest-api-spec/test/cat.shards/10_basic.yaml b/rest-api-spec/src/main/resources/rest-api-spec/test/cat.shards/10_basic.yaml index a95314c57d5..fc077ba6529 100755 --- a/rest-api-spec/src/main/resources/rest-api-spec/test/cat.shards/10_basic.yaml +++ b/rest-api-spec/src/main/resources/rest-api-spec/test/cat.shards/10_basic.yaml @@ -224,3 +224,40 @@ - match: $body: | /^(ba(r|z) \n?){2}$/ + +--- +"Test cat shards sort": + + - do: + indices.create: + index: foo + body: + settings: + number_of_shards: "1" + number_of_replicas: "0" + + - do: + indices.create: + index: bar + body: + settings: + number_of_shards: "1" + number_of_replicas: "0" + + - do: + index: + index: bar + type: type + body: { test: bar } + refresh: true + + - do: + cat.shards: + h: [index, store] + s: [store] + + - match: + $body: | + /^ foo \s+ (\d+|\d+[.]\d+)(kb|b)\n + bar \s+ (\d+|\d+[.]\d+)(kb|b)\n + $/ diff --git a/rest-api-spec/src/main/resources/rest-api-spec/test/cat.templates/10_basic.yaml b/rest-api-spec/src/main/resources/rest-api-spec/test/cat.templates/10_basic.yaml index 6758bec39da..28a7e1f3bee 100644 --- a/rest-api-spec/src/main/resources/rest-api-spec/test/cat.templates/10_basic.yaml +++ b/rest-api-spec/src/main/resources/rest-api-spec/test/cat.templates/10_basic.yaml @@ -174,3 +174,50 @@ \n $/ +--- +"Sort templates": + + - do: + indices.put_template: + name: test + body: + order: 0 + template: t* + settings: + number_of_shards: 1 + number_of_replicas: 0 + + - do: + indices.put_template: + name: test_1 + body: + order: 0 + version: 1 + template: te* + settings: + number_of_shards: 1 + number_of_replicas: 0 + + - do: + cat.templates: + h: [name, template, version] + s: [version] + + - match: + $body: | + /^ + test \s+ t\* \s+\n + test_1 \s+ te\* \s+ 1\n + $/ + + - do: + cat.templates: + h: [name, template, version] + s: ["version:desc"] + + - match: + $body: | + /^ + test_1 \s+ te\* \s+ 1\n + test \s+ t\* \s+\n + $/ diff --git a/rest-api-spec/src/main/resources/rest-api-spec/test/mget/14_alias_to_multiple_indices.yaml b/rest-api-spec/src/main/resources/rest-api-spec/test/mget/14_alias_to_multiple_indices.yaml new file mode 100644 index 00000000000..ff4bcbe97cb --- /dev/null +++ b/rest-api-spec/src/main/resources/rest-api-spec/test/mget/14_alias_to_multiple_indices.yaml @@ -0,0 +1,42 @@ +--- +"Multi Get with alias that resolves to multiple indices": + + - do: + bulk: + refresh: true + body: | + {"index": {"_index": "test_1", "_type": "test", "_id": 1}} + { "foo": "bar" } + {"index": {"_index": "test_2", "_type": "test", "_id": 2}} + { "foo": "bar" } + {"index": {"_index": "test_3", "_type": "test", "_id": 3}} + { "foo": "bar" } + + - do: + indices.put_alias: + index: test_2 + name: test_two_and_three + + - do: + indices.put_alias: + index: test_3 + name: test_two_and_three + + - do: + mget: + body: + docs: + - { _index: test_1, _type: test, _id: 1} + - { _index: test_two_and_three, _type: test, _id: 2} + + - is_true: docs.0.found + - match: { docs.0._index: test_1 } + - match: { docs.0._type: test } + - match: { docs.0._id: "1" } + + - is_false: docs.1.found + - match: { docs.1._index: test_two_and_three } + - match: { docs.1._type: test } + - match: { docs.1._id: "2" } + - match: { docs.1.error.root_cause.0.type: "illegal_argument_exception" } + - match: { docs.1.error.root_cause.0.reason: "/Alias.\\[test_two_and_three\\].has.more.than.one.index.associated.with.it.\\[\\[test_[23]{1},.test_[23]{1}\\]\\],.can't.execute.a.single.index.op/" } diff --git a/test/framework/src/main/java/org/elasticsearch/cluster/ESAllocationTestCase.java b/test/framework/src/main/java/org/elasticsearch/cluster/ESAllocationTestCase.java index af774c8f29f..739371d76df 100644 --- a/test/framework/src/main/java/org/elasticsearch/cluster/ESAllocationTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/cluster/ESAllocationTestCase.java @@ -53,8 +53,6 @@ import static java.util.Collections.emptyMap; import static org.elasticsearch.cluster.routing.ShardRoutingState.INITIALIZING; import static org.elasticsearch.common.util.CollectionUtils.arrayAsArrayList; -/** - */ public abstract class ESAllocationTestCase extends ESTestCase { private static final ClusterSettings EMPTY_CLUSTER_SETTINGS = new ClusterSettings(Settings.EMPTY, ClusterSettings.BUILT_IN_CLUSTER_SETTINGS); diff --git a/test/framework/src/main/java/org/elasticsearch/common/util/MockBigArrays.java b/test/framework/src/main/java/org/elasticsearch/common/util/MockBigArrays.java index 22a1e2660b6..8d1f42d5b57 100644 --- a/test/framework/src/main/java/org/elasticsearch/common/util/MockBigArrays.java +++ b/test/framework/src/main/java/org/elasticsearch/common/util/MockBigArrays.java @@ -24,7 +24,6 @@ import com.carrotsearch.randomizedtesting.SeedUtils; import org.apache.lucene.util.Accountable; import org.apache.lucene.util.Accountables; import org.apache.lucene.util.BytesRef; -import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.common.util.set.Sets; import org.elasticsearch.indices.breaker.CircuitBreakerService; @@ -39,7 +38,7 @@ import java.util.Set; import java.util.WeakHashMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicReference; public class MockBigArrays extends BigArrays { @@ -250,13 +249,13 @@ public class MockBigArrays extends BigArrays { final BigArray in; boolean clearOnResize; - AtomicBoolean released; + AtomicReference originalRelease; AbstractArrayWrapper(BigArray in, boolean clearOnResize) { ACQUIRED_ARRAYS.put(this, TRACK_ALLOCATIONS ? new RuntimeException() : Boolean.TRUE); this.in = in; this.clearOnResize = clearOnResize; - released = new AtomicBoolean(false); + originalRelease = new AtomicReference<>(); } protected abstract BigArray getDelegate(); @@ -272,8 +271,8 @@ public class MockBigArrays extends BigArrays { } public void close() { - if (!released.compareAndSet(false, true)) { - throw new IllegalStateException("Double release"); + if (originalRelease.compareAndSet(null, new AssertionError()) == false) { + throw new IllegalStateException("Double release. Original release attached as cause", originalRelease.get()); } ACQUIRED_ARRAYS.remove(this); randomizeContent(0, size()); diff --git a/test/framework/src/main/java/org/elasticsearch/search/aggregations/metrics/AbstractNumericTestCase.java b/test/framework/src/main/java/org/elasticsearch/search/aggregations/metrics/AbstractNumericTestCase.java index 703119a7a14..29457603c1c 100644 --- a/test/framework/src/main/java/org/elasticsearch/search/aggregations/metrics/AbstractNumericTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/search/aggregations/metrics/AbstractNumericTestCase.java @@ -26,9 +26,6 @@ import java.util.List; import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder; -/** - * - */ @ESIntegTestCase.SuiteScopeTestCase public abstract class AbstractNumericTestCase extends ESIntegTestCase { protected static long minValue, maxValue, minValues, maxValues; diff --git a/test/framework/src/main/java/org/elasticsearch/test/AbstractQueryTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/AbstractQueryTestCase.java index ba1df48e634..9cb8af9f74b 100644 --- a/test/framework/src/main/java/org/elasticsearch/test/AbstractQueryTestCase.java +++ b/test/framework/src/main/java/org/elasticsearch/test/AbstractQueryTestCase.java @@ -572,6 +572,13 @@ public abstract class AbstractQueryTestCase> return parseInnerQueryBuilder; } + /** + * Whether the queries produced by this builder are expected to be cacheable. + */ + protected boolean builderGeneratesCacheableQueries() { + return true; + } + /** * Test creates the {@link Query} from the {@link QueryBuilder} under test and delegates the * assertions being made on the result to the implementing subclass. @@ -583,8 +590,8 @@ public abstract class AbstractQueryTestCase> context.setAllowUnmappedFields(true); QB firstQuery = createTestQueryBuilder(); QB controlQuery = copyQuery(firstQuery); - SearchContext searchContext = getSearchContext(randomTypes, context);// only set search context for toQuery to be more realistic -/* we use a private rewrite context here since we want the most realistic way of asserting that we are cachabel or not. + SearchContext searchContext = getSearchContext(randomTypes, context); + /* we use a private rewrite context here since we want the most realistic way of asserting that we are cacheable or not. * We do it this way in SearchService where * we first rewrite the query with a private context, then reset the context and then build the actual lucene query*/ QueryBuilder rewritten = rewriteQuery(firstQuery, new QueryShardContext(context)); @@ -618,8 +625,10 @@ public abstract class AbstractQueryTestCase> assertNotNull("toQuery should not return null", secondLuceneQuery); assertLuceneQuery(secondQuery, secondLuceneQuery, searchContext); - assertEquals("two equivalent query builders lead to different lucene queries", - rewrite(secondLuceneQuery), rewrite(firstLuceneQuery)); + if (builderGeneratesCacheableQueries()) { + assertEquals("two equivalent query builders lead to different lucene queries", + rewrite(secondLuceneQuery), rewrite(firstLuceneQuery)); + } if (supportsBoostAndQueryName()) { secondQuery.boost(firstQuery.boost() + 1f + randomFloat()); diff --git a/test/framework/src/main/java/org/elasticsearch/transport/MockTcpTransport.java b/test/framework/src/main/java/org/elasticsearch/transport/MockTcpTransport.java index 96145fc6fca..84d0bed8c04 100644 --- a/test/framework/src/main/java/org/elasticsearch/transport/MockTcpTransport.java +++ b/test/framework/src/main/java/org/elasticsearch/transport/MockTcpTransport.java @@ -29,7 +29,6 @@ import org.elasticsearch.common.io.stream.NamedWriteableRegistry; import org.elasticsearch.common.io.stream.StreamInput; import org.elasticsearch.common.network.NetworkService; import org.elasticsearch.common.settings.Settings; -import org.elasticsearch.common.transport.TransportAddress; import org.elasticsearch.common.unit.ByteSizeValue; import org.elasticsearch.common.util.BigArrays; import org.elasticsearch.common.util.CancellableThreads; @@ -226,7 +225,7 @@ public class MockTcpTransport extends TcpTransport } @Override - protected void sendMessage(MockChannel mockChannel, BytesReference reference, Runnable sendListener, boolean close) throws IOException { + protected void sendMessage(MockChannel mockChannel, BytesReference reference, Runnable sendListener) throws IOException { synchronized (mockChannel) { final Socket socket = mockChannel.activeChannel; OutputStream outputStream = new BufferedOutputStream(socket.getOutputStream()); @@ -236,9 +235,6 @@ public class MockTcpTransport extends TcpTransport if (sendListener != null) { sendListener.run(); } - if (close) { - IOUtils.closeWhileHandlingException(mockChannel); - } } @Override