diff --git a/core/src/main/java/org/elasticsearch/ElasticsearchException.java b/core/src/main/java/org/elasticsearch/ElasticsearchException.java index c95b907098e..5282ea88a3a 100644 --- a/core/src/main/java/org/elasticsearch/ElasticsearchException.java +++ b/core/src/main/java/org/elasticsearch/ElasticsearchException.java @@ -463,153 +463,150 @@ public class ElasticsearchException extends RuntimeException implements ToXConte // change due to refactorings etc. like renaming we have to keep the ordinal <--> class mapping // to deserialize the exception coming from another node or from an corruption marker on // a corrupted index. + // NOTE: ONLY APPEND TO THE END and NEVER REMOVE EXCEPTIONS IN MINOR VERSIONS final Map, Integer> exceptions = new HashMap<>(); - exceptions.put(org.elasticsearch.index.snapshots.IndexShardSnapshotFailedException.class, 0); - exceptions.put(org.elasticsearch.search.dfs.DfsPhaseExecutionException.class, 1); - exceptions.put(org.elasticsearch.common.util.CancellableThreads.ExecutionCancelledException.class, 2); - exceptions.put(org.elasticsearch.discovery.MasterNotDiscoveredException.class, 3); - exceptions.put(org.elasticsearch.ElasticsearchSecurityException.class, 4); - exceptions.put(org.elasticsearch.index.snapshots.IndexShardRestoreException.class, 5); - exceptions.put(org.elasticsearch.indices.IndexClosedException.class, 6); - exceptions.put(org.elasticsearch.http.BindHttpException.class, 7); - exceptions.put(org.elasticsearch.action.search.ReduceSearchPhaseException.class, 8); - exceptions.put(org.elasticsearch.node.NodeClosedException.class, 9); - exceptions.put(org.elasticsearch.index.engine.SnapshotFailedEngineException.class, 10); - exceptions.put(org.elasticsearch.index.shard.ShardNotFoundException.class, 11); - exceptions.put(org.elasticsearch.transport.ConnectTransportException.class, 12); - exceptions.put(org.elasticsearch.transport.NotSerializableTransportException.class, 13); - exceptions.put(org.elasticsearch.transport.ResponseHandlerFailureTransportException.class, 14); - exceptions.put(org.elasticsearch.indices.IndexCreationException.class, 15); - exceptions.put(org.elasticsearch.index.IndexNotFoundException.class, 16); - exceptions.put(org.elasticsearch.cluster.routing.IllegalShardRoutingStateException.class, 17); - exceptions.put(org.elasticsearch.action.support.broadcast.BroadcastShardOperationFailedException.class, 18); - exceptions.put(org.elasticsearch.ResourceNotFoundException.class, 19); - exceptions.put(org.elasticsearch.transport.ActionTransportException.class, 20); - exceptions.put(org.elasticsearch.ElasticsearchGenerationException.class, 21); - exceptions.put(org.elasticsearch.index.engine.CreateFailedEngineException.class, 22); - exceptions.put(org.elasticsearch.index.shard.IndexShardStartedException.class, 23); - exceptions.put(org.elasticsearch.search.SearchContextMissingException.class, 24); - exceptions.put(org.elasticsearch.script.ScriptException.class, 25); - exceptions.put(org.elasticsearch.index.shard.TranslogRecoveryPerformer.BatchOperationException.class, 26); - exceptions.put(org.elasticsearch.snapshots.SnapshotCreationException.class, 27); - exceptions.put(org.elasticsearch.index.engine.DeleteFailedEngineException.class, 28); - exceptions.put(org.elasticsearch.index.engine.DocumentMissingException.class, 29); - exceptions.put(org.elasticsearch.snapshots.SnapshotException.class, 30); - exceptions.put(org.elasticsearch.indices.InvalidAliasNameException.class, 31); - exceptions.put(org.elasticsearch.indices.InvalidIndexNameException.class, 32); - exceptions.put(org.elasticsearch.indices.IndexPrimaryShardNotAllocatedException.class, 33); - exceptions.put(org.elasticsearch.transport.TransportException.class, 34); - exceptions.put(org.elasticsearch.ElasticsearchParseException.class, 35); - exceptions.put(org.elasticsearch.search.SearchException.class, 36); - exceptions.put(org.elasticsearch.index.mapper.MapperException.class, 37); - exceptions.put(org.elasticsearch.indices.InvalidTypeNameException.class, 38); - exceptions.put(org.elasticsearch.snapshots.SnapshotRestoreException.class, 39); - exceptions.put(org.elasticsearch.common.ParsingException.class, 40); - exceptions.put(org.elasticsearch.index.shard.IndexShardClosedException.class, 41); - exceptions.put(org.elasticsearch.script.expression.ExpressionScriptCompilationException.class, 42); - exceptions.put(org.elasticsearch.indices.recovery.RecoverFilesRecoveryException.class, 43); - exceptions.put(org.elasticsearch.index.translog.TruncatedTranslogException.class, 44); - exceptions.put(org.elasticsearch.indices.recovery.RecoveryFailedException.class, 45); - exceptions.put(org.elasticsearch.index.shard.IndexShardRelocatedException.class, 46); - exceptions.put(org.elasticsearch.transport.NodeShouldNotConnectException.class, 47); - exceptions.put(org.elasticsearch.indices.IndexTemplateAlreadyExistsException.class, 48); - exceptions.put(org.elasticsearch.index.translog.TranslogCorruptedException.class, 49); - exceptions.put(org.elasticsearch.cluster.block.ClusterBlockException.class, 50); - exceptions.put(org.elasticsearch.search.fetch.FetchPhaseExecutionException.class, 51); - exceptions.put(org.elasticsearch.index.IndexShardAlreadyExistsException.class, 52); - exceptions.put(org.elasticsearch.index.engine.VersionConflictEngineException.class, 53); - exceptions.put(org.elasticsearch.index.engine.EngineException.class, 54); - exceptions.put(org.elasticsearch.index.engine.DocumentAlreadyExistsException.class, 55); - exceptions.put(org.elasticsearch.action.NoSuchNodeException.class, 56); - exceptions.put(org.elasticsearch.common.settings.SettingsException.class, 57); - exceptions.put(org.elasticsearch.indices.IndexTemplateMissingException.class, 58); - exceptions.put(org.elasticsearch.transport.SendRequestTransportException.class, 59); - exceptions.put(org.elasticsearch.common.util.concurrent.EsRejectedExecutionException.class, 60); - exceptions.put(org.elasticsearch.common.lucene.Lucene.EarlyTerminationException.class, 61); - exceptions.put(org.elasticsearch.cluster.routing.RoutingValidationException.class, 62); - exceptions.put(org.elasticsearch.common.io.stream.NotSerializableExceptionWrapper.class, 63); - exceptions.put(org.elasticsearch.indices.AliasFilterParsingException.class, 64); - exceptions.put(org.elasticsearch.index.engine.DeleteByQueryFailedEngineException.class, 65); - exceptions.put(org.elasticsearch.gateway.GatewayException.class, 66); - exceptions.put(org.elasticsearch.index.shard.IndexShardNotRecoveringException.class, 67); - exceptions.put(org.elasticsearch.http.HttpException.class, 68); - exceptions.put(org.elasticsearch.ElasticsearchException.class, 69); - exceptions.put(org.elasticsearch.snapshots.SnapshotMissingException.class, 70); - exceptions.put(org.elasticsearch.action.PrimaryMissingActionException.class, 71); - exceptions.put(org.elasticsearch.action.FailedNodeException.class, 72); - exceptions.put(org.elasticsearch.search.SearchParseException.class, 73); - exceptions.put(org.elasticsearch.snapshots.ConcurrentSnapshotExecutionException.class, 74); - exceptions.put(org.elasticsearch.common.blobstore.BlobStoreException.class, 75); - exceptions.put(org.elasticsearch.cluster.IncompatibleClusterStateVersionException.class, 76); - exceptions.put(org.elasticsearch.index.engine.RecoveryEngineException.class, 77); - exceptions.put(org.elasticsearch.common.util.concurrent.UncategorizedExecutionException.class, 78); - exceptions.put(org.elasticsearch.action.TimestampParsingException.class, 79); - exceptions.put(org.elasticsearch.action.RoutingMissingException.class, 80); - exceptions.put(org.elasticsearch.index.engine.IndexFailedEngineException.class, 81); - exceptions.put(org.elasticsearch.index.snapshots.IndexShardRestoreFailedException.class, 82); - exceptions.put(org.elasticsearch.repositories.RepositoryException.class, 83); - exceptions.put(org.elasticsearch.transport.ReceiveTimeoutTransportException.class, 84); - exceptions.put(org.elasticsearch.transport.NodeDisconnectedException.class, 85); - exceptions.put(org.elasticsearch.index.AlreadyExpiredException.class, 86); - exceptions.put(org.elasticsearch.search.aggregations.AggregationExecutionException.class, 87); - exceptions.put(org.elasticsearch.index.mapper.MergeMappingException.class, 88); - exceptions.put(org.elasticsearch.indices.InvalidIndexTemplateException.class, 89); - exceptions.put(org.elasticsearch.percolator.PercolateException.class, 90); - exceptions.put(org.elasticsearch.index.engine.RefreshFailedEngineException.class, 91); - exceptions.put(org.elasticsearch.search.aggregations.AggregationInitializationException.class, 92); - exceptions.put(org.elasticsearch.indices.recovery.DelayRecoveryException.class, 93); - exceptions.put(org.elasticsearch.search.warmer.IndexWarmerMissingException.class, 94); - exceptions.put(org.elasticsearch.client.transport.NoNodeAvailableException.class, 95); - exceptions.put(org.elasticsearch.script.groovy.GroovyScriptCompilationException.class, 96); - exceptions.put(org.elasticsearch.snapshots.InvalidSnapshotNameException.class, 97); - exceptions.put(org.elasticsearch.index.shard.IllegalIndexShardStateException.class, 98); - exceptions.put(org.elasticsearch.index.snapshots.IndexShardSnapshotException.class, 99); - exceptions.put(org.elasticsearch.index.shard.IndexShardNotStartedException.class, 100); - exceptions.put(org.elasticsearch.action.search.SearchPhaseExecutionException.class, 101); - exceptions.put(org.elasticsearch.transport.ActionNotFoundTransportException.class, 102); - exceptions.put(org.elasticsearch.transport.TransportSerializationException.class, 103); - exceptions.put(org.elasticsearch.transport.RemoteTransportException.class, 104); - exceptions.put(org.elasticsearch.index.engine.EngineCreationFailureException.class, 105); - exceptions.put(org.elasticsearch.cluster.routing.RoutingException.class, 106); - exceptions.put(org.elasticsearch.index.shard.IndexShardRecoveryException.class, 107); - exceptions.put(org.elasticsearch.repositories.RepositoryMissingException.class, 108); - exceptions.put(org.elasticsearch.script.expression.ExpressionScriptExecutionException.class, 109); - exceptions.put(org.elasticsearch.index.percolator.PercolatorException.class, 110); - exceptions.put(org.elasticsearch.index.engine.DocumentSourceMissingException.class, 111); - exceptions.put(org.elasticsearch.index.engine.FlushNotAllowedEngineException.class, 112); - exceptions.put(org.elasticsearch.common.settings.NoClassSettingsException.class, 113); - exceptions.put(org.elasticsearch.transport.BindTransportException.class, 114); - exceptions.put(org.elasticsearch.rest.action.admin.indices.alias.delete.AliasesNotFoundException.class, 115); - exceptions.put(org.elasticsearch.index.shard.IndexShardRecoveringException.class, 116); - exceptions.put(org.elasticsearch.index.translog.TranslogException.class, 117); - exceptions.put(org.elasticsearch.cluster.metadata.ProcessClusterEventTimeoutException.class, 118); - exceptions.put(org.elasticsearch.action.support.replication.TransportReplicationAction.RetryOnPrimaryException.class, 119); - exceptions.put(org.elasticsearch.ElasticsearchTimeoutException.class, 120); - exceptions.put(org.elasticsearch.search.query.QueryPhaseExecutionException.class, 121); - exceptions.put(org.elasticsearch.repositories.RepositoryVerificationException.class, 122); - exceptions.put(org.elasticsearch.search.aggregations.InvalidAggregationPathException.class, 123); - exceptions.put(org.elasticsearch.script.groovy.GroovyScriptExecutionException.class, 124); - exceptions.put(org.elasticsearch.indices.IndexAlreadyExistsException.class, 125); - exceptions.put(org.elasticsearch.script.Script.ScriptParseException.class, 126); - exceptions.put(org.elasticsearch.transport.netty.SizeHeaderFrameDecoder.HttpOnTransportException.class, 127); - exceptions.put(org.elasticsearch.index.mapper.MapperParsingException.class, 128); - exceptions.put(org.elasticsearch.search.SearchContextException.class, 129); - exceptions.put(org.elasticsearch.search.builder.SearchSourceBuilderException.class, 130); - exceptions.put(org.elasticsearch.index.engine.EngineClosedException.class, 131); - exceptions.put(org.elasticsearch.action.NoShardAvailableActionException.class, 132); - exceptions.put(org.elasticsearch.action.UnavailableShardsException.class, 133); - exceptions.put(org.elasticsearch.index.engine.FlushFailedEngineException.class, 134); - exceptions.put(org.elasticsearch.common.breaker.CircuitBreakingException.class, 135); - exceptions.put(org.elasticsearch.transport.NodeNotConnectedException.class, 136); - exceptions.put(org.elasticsearch.index.mapper.StrictDynamicMappingException.class, 137); - exceptions.put(org.elasticsearch.action.support.replication.TransportReplicationAction.RetryOnReplicaException.class, 138); - exceptions.put(org.elasticsearch.indices.TypeMissingException.class, 139); + exceptions.put(org.elasticsearch.index.snapshots.IndexShardSnapshotFailedException.class, exceptions.size()); + exceptions.put(org.elasticsearch.search.dfs.DfsPhaseExecutionException.class, exceptions.size()); + exceptions.put(org.elasticsearch.common.util.CancellableThreads.ExecutionCancelledException.class, exceptions.size()); + exceptions.put(org.elasticsearch.discovery.MasterNotDiscoveredException.class, exceptions.size()); + exceptions.put(org.elasticsearch.ElasticsearchSecurityException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.snapshots.IndexShardRestoreException.class, exceptions.size()); + exceptions.put(org.elasticsearch.indices.IndexClosedException.class, exceptions.size()); + exceptions.put(org.elasticsearch.http.BindHttpException.class, exceptions.size()); + exceptions.put(org.elasticsearch.action.search.ReduceSearchPhaseException.class, exceptions.size()); + exceptions.put(org.elasticsearch.node.NodeClosedException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.SnapshotFailedEngineException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.shard.ShardNotFoundException.class, exceptions.size()); + exceptions.put(org.elasticsearch.transport.ConnectTransportException.class, exceptions.size()); + exceptions.put(org.elasticsearch.transport.NotSerializableTransportException.class, exceptions.size()); + exceptions.put(org.elasticsearch.transport.ResponseHandlerFailureTransportException.class, exceptions.size()); + exceptions.put(org.elasticsearch.indices.IndexCreationException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.IndexNotFoundException.class, exceptions.size()); + exceptions.put(org.elasticsearch.cluster.routing.IllegalShardRoutingStateException.class, exceptions.size()); + exceptions.put(org.elasticsearch.action.support.broadcast.BroadcastShardOperationFailedException.class, exceptions.size()); + exceptions.put(org.elasticsearch.ResourceNotFoundException.class, exceptions.size()); + exceptions.put(org.elasticsearch.transport.ActionTransportException.class, exceptions.size()); + exceptions.put(org.elasticsearch.ElasticsearchGenerationException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.CreateFailedEngineException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.shard.IndexShardStartedException.class, exceptions.size()); + exceptions.put(org.elasticsearch.search.SearchContextMissingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.script.ScriptException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.shard.TranslogRecoveryPerformer.BatchOperationException.class, exceptions.size()); + exceptions.put(org.elasticsearch.snapshots.SnapshotCreationException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.DeleteFailedEngineException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.DocumentMissingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.snapshots.SnapshotException.class, exceptions.size()); + exceptions.put(org.elasticsearch.indices.InvalidAliasNameException.class, exceptions.size()); + exceptions.put(org.elasticsearch.indices.InvalidIndexNameException.class, exceptions.size()); + exceptions.put(org.elasticsearch.indices.IndexPrimaryShardNotAllocatedException.class, exceptions.size()); + exceptions.put(org.elasticsearch.transport.TransportException.class, exceptions.size()); + exceptions.put(org.elasticsearch.ElasticsearchParseException.class, exceptions.size()); + exceptions.put(org.elasticsearch.search.SearchException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.mapper.MapperException.class, exceptions.size()); + exceptions.put(org.elasticsearch.indices.InvalidTypeNameException.class, exceptions.size()); + exceptions.put(org.elasticsearch.snapshots.SnapshotRestoreException.class, exceptions.size()); + exceptions.put(org.elasticsearch.common.ParsingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.shard.IndexShardClosedException.class, exceptions.size()); + exceptions.put(org.elasticsearch.indices.recovery.RecoverFilesRecoveryException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.translog.TruncatedTranslogException.class, exceptions.size()); + exceptions.put(org.elasticsearch.indices.recovery.RecoveryFailedException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.shard.IndexShardRelocatedException.class, exceptions.size()); + exceptions.put(org.elasticsearch.transport.NodeShouldNotConnectException.class, exceptions.size()); + exceptions.put(org.elasticsearch.indices.IndexTemplateAlreadyExistsException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.translog.TranslogCorruptedException.class, exceptions.size()); + exceptions.put(org.elasticsearch.cluster.block.ClusterBlockException.class, exceptions.size()); + exceptions.put(org.elasticsearch.search.fetch.FetchPhaseExecutionException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.IndexShardAlreadyExistsException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.VersionConflictEngineException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.EngineException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.DocumentAlreadyExistsException.class, exceptions.size()); + exceptions.put(org.elasticsearch.action.NoSuchNodeException.class, exceptions.size()); + exceptions.put(org.elasticsearch.common.settings.SettingsException.class, exceptions.size()); + exceptions.put(org.elasticsearch.indices.IndexTemplateMissingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.transport.SendRequestTransportException.class, exceptions.size()); + exceptions.put(org.elasticsearch.common.util.concurrent.EsRejectedExecutionException.class, exceptions.size()); + exceptions.put(org.elasticsearch.common.lucene.Lucene.EarlyTerminationException.class, exceptions.size()); + exceptions.put(org.elasticsearch.cluster.routing.RoutingValidationException.class, exceptions.size()); + exceptions.put(org.elasticsearch.common.io.stream.NotSerializableExceptionWrapper.class, exceptions.size()); + exceptions.put(org.elasticsearch.indices.AliasFilterParsingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.DeleteByQueryFailedEngineException.class, exceptions.size()); + exceptions.put(org.elasticsearch.gateway.GatewayException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.shard.IndexShardNotRecoveringException.class, exceptions.size()); + exceptions.put(org.elasticsearch.http.HttpException.class, exceptions.size()); + exceptions.put(org.elasticsearch.ElasticsearchException.class, exceptions.size()); + exceptions.put(org.elasticsearch.snapshots.SnapshotMissingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.action.PrimaryMissingActionException.class, exceptions.size()); + exceptions.put(org.elasticsearch.action.FailedNodeException.class, exceptions.size()); + exceptions.put(org.elasticsearch.search.SearchParseException.class, exceptions.size()); + exceptions.put(org.elasticsearch.snapshots.ConcurrentSnapshotExecutionException.class, exceptions.size()); + exceptions.put(org.elasticsearch.common.blobstore.BlobStoreException.class, exceptions.size()); + exceptions.put(org.elasticsearch.cluster.IncompatibleClusterStateVersionException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.RecoveryEngineException.class, exceptions.size()); + exceptions.put(org.elasticsearch.common.util.concurrent.UncategorizedExecutionException.class, exceptions.size()); + exceptions.put(org.elasticsearch.action.TimestampParsingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.action.RoutingMissingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.IndexFailedEngineException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.snapshots.IndexShardRestoreFailedException.class, exceptions.size()); + exceptions.put(org.elasticsearch.repositories.RepositoryException.class, exceptions.size()); + exceptions.put(org.elasticsearch.transport.ReceiveTimeoutTransportException.class, exceptions.size()); + exceptions.put(org.elasticsearch.transport.NodeDisconnectedException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.AlreadyExpiredException.class, exceptions.size()); + exceptions.put(org.elasticsearch.search.aggregations.AggregationExecutionException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.mapper.MergeMappingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.indices.InvalidIndexTemplateException.class, exceptions.size()); + exceptions.put(org.elasticsearch.percolator.PercolateException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.RefreshFailedEngineException.class, exceptions.size()); + exceptions.put(org.elasticsearch.search.aggregations.AggregationInitializationException.class, exceptions.size()); + exceptions.put(org.elasticsearch.indices.recovery.DelayRecoveryException.class, exceptions.size()); + exceptions.put(org.elasticsearch.search.warmer.IndexWarmerMissingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.client.transport.NoNodeAvailableException.class, exceptions.size()); + exceptions.put(org.elasticsearch.script.groovy.GroovyScriptCompilationException.class, exceptions.size()); + exceptions.put(org.elasticsearch.snapshots.InvalidSnapshotNameException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.shard.IllegalIndexShardStateException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.snapshots.IndexShardSnapshotException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.shard.IndexShardNotStartedException.class, exceptions.size()); + exceptions.put(org.elasticsearch.action.search.SearchPhaseExecutionException.class, exceptions.size()); + exceptions.put(org.elasticsearch.transport.ActionNotFoundTransportException.class, exceptions.size()); + exceptions.put(org.elasticsearch.transport.TransportSerializationException.class, exceptions.size()); + exceptions.put(org.elasticsearch.transport.RemoteTransportException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.EngineCreationFailureException.class, exceptions.size()); + exceptions.put(org.elasticsearch.cluster.routing.RoutingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.shard.IndexShardRecoveryException.class, exceptions.size()); + exceptions.put(org.elasticsearch.repositories.RepositoryMissingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.percolator.PercolatorException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.DocumentSourceMissingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.FlushNotAllowedEngineException.class, exceptions.size()); + exceptions.put(org.elasticsearch.common.settings.NoClassSettingsException.class, exceptions.size()); + exceptions.put(org.elasticsearch.transport.BindTransportException.class, exceptions.size()); + exceptions.put(org.elasticsearch.rest.action.admin.indices.alias.delete.AliasesNotFoundException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.shard.IndexShardRecoveringException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.translog.TranslogException.class, exceptions.size()); + exceptions.put(org.elasticsearch.cluster.metadata.ProcessClusterEventTimeoutException.class, exceptions.size()); + exceptions.put(org.elasticsearch.action.support.replication.TransportReplicationAction.RetryOnPrimaryException.class, exceptions.size()); + exceptions.put(org.elasticsearch.ElasticsearchTimeoutException.class, exceptions.size()); + exceptions.put(org.elasticsearch.search.query.QueryPhaseExecutionException.class, exceptions.size()); + exceptions.put(org.elasticsearch.repositories.RepositoryVerificationException.class, exceptions.size()); + exceptions.put(org.elasticsearch.search.aggregations.InvalidAggregationPathException.class, exceptions.size()); + exceptions.put(org.elasticsearch.script.groovy.GroovyScriptExecutionException.class, exceptions.size()); + exceptions.put(org.elasticsearch.indices.IndexAlreadyExistsException.class, exceptions.size()); + exceptions.put(org.elasticsearch.script.Script.ScriptParseException.class, exceptions.size()); + exceptions.put(org.elasticsearch.transport.netty.SizeHeaderFrameDecoder.HttpOnTransportException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.mapper.MapperParsingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.search.SearchContextException.class, exceptions.size()); + exceptions.put(org.elasticsearch.search.builder.SearchSourceBuilderException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.EngineClosedException.class, exceptions.size()); + exceptions.put(org.elasticsearch.action.NoShardAvailableActionException.class, exceptions.size()); + exceptions.put(org.elasticsearch.action.UnavailableShardsException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.engine.FlushFailedEngineException.class, exceptions.size()); + exceptions.put(org.elasticsearch.common.breaker.CircuitBreakingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.transport.NodeNotConnectedException.class, exceptions.size()); + exceptions.put(org.elasticsearch.index.mapper.StrictDynamicMappingException.class, exceptions.size()); + exceptions.put(org.elasticsearch.action.support.replication.TransportReplicationAction.RetryOnReplicaException.class, exceptions.size()); + exceptions.put(org.elasticsearch.indices.TypeMissingException.class, exceptions.size()); // added in 3.x - exceptions.put(org.elasticsearch.discovery.Discovery.FailedToCommitClusterStateException.class, 140); - - final int maxOrd = 140; - assert exceptions.size() == maxOrd + 1; - Constructor[] idToSupplier = new Constructor[maxOrd + 1]; + exceptions.put(org.elasticsearch.discovery.Discovery.FailedToCommitClusterStateException.class, exceptions.size()); + // NOTE: ONLY APPEND TO THE END and NEVER REMOVE EXCEPTIONS IN MINOR VERSIONS + Constructor[] idToSupplier = new Constructor[exceptions.size()]; for (Map.Entry, Integer> e : exceptions.entrySet()) { try { Constructor constructor = e.getKey().getDeclaredConstructor(StreamInput.class); diff --git a/core/src/main/java/org/elasticsearch/script/expression/ExpressionScriptCompilationException.java b/core/src/main/java/org/elasticsearch/script/expression/ExpressionScriptCompilationException.java deleted file mode 100644 index 710fb20a0be..00000000000 --- a/core/src/main/java/org/elasticsearch/script/expression/ExpressionScriptCompilationException.java +++ /dev/null @@ -1,44 +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.script.expression; - -import org.elasticsearch.ElasticsearchException; -import org.elasticsearch.common.io.stream.StreamInput; - -import java.io.IOException; -import java.text.ParseException; - -/** - * Exception representing a compilation error in an expression. - * @deprecated not used anymore. but people dont seem to want it cleaned up. enjoy your pile of shitty exceptions, clean it up yourself. - */ -@Deprecated -public class ExpressionScriptCompilationException extends ElasticsearchException { - public ExpressionScriptCompilationException(String msg, ParseException e) { - super(msg, e); - } - public ExpressionScriptCompilationException(String msg) { - super(msg); - } - - public ExpressionScriptCompilationException(StreamInput in) throws IOException { - super(in); - } -} diff --git a/core/src/main/java/org/elasticsearch/script/expression/ExpressionScriptExecutionException.java b/core/src/main/java/org/elasticsearch/script/expression/ExpressionScriptExecutionException.java deleted file mode 100644 index 435b4b41d8b..00000000000 --- a/core/src/main/java/org/elasticsearch/script/expression/ExpressionScriptExecutionException.java +++ /dev/null @@ -1,44 +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.script.expression; - -import org.elasticsearch.ElasticsearchException; -import org.elasticsearch.common.io.stream.StreamInput; - -import java.io.IOException; - -/** - * Exception used to wrap exceptions occuring while running expressions. - * @deprecated not used anymore. but people dont seem to want it cleaned up. enjoy your pile of shitty exceptions, clean it up yourself. - */ -@Deprecated -public class ExpressionScriptExecutionException extends ElasticsearchException { - public ExpressionScriptExecutionException(String msg, Throwable cause) { - super(msg, cause); - } - - public ExpressionScriptExecutionException(StreamInput in) throws IOException { - super(in); - } - - public ExpressionScriptExecutionException(String msg) { - super(msg); - } -}