|
|
@@ -145,7 +145,7 @@ public class TransportShardBulkAction extends TransportShardReplicationOperation
|
|
|
IndexService indexService = indicesService.indexServiceSafe(shardRequest.request.index());
|
|
|
IndexShard indexShard = indexService.shardSafe(shardRequest.shardId);
|
|
|
Engine.IndexingOperation[] ops = null;
|
|
|
- final Set<Tuple<String, String>> mappingsToUpdate = Sets.newHashSet();
|
|
|
+ final Set<String> mappingTypesToUpdate = Sets.newHashSet();
|
|
|
|
|
|
BulkItemResponse[] responses = new BulkItemResponse[request.items().length];
|
|
|
long[] preVersions = new long[request.items().length];
|
|
|
@@ -162,8 +162,8 @@ public class TransportShardBulkAction extends TransportShardReplicationOperation
|
|
|
// add the response
|
|
|
IndexResponse indexResponse = result.response();
|
|
|
responses[requestIndex] = new BulkItemResponse(item.id(), indexRequest.opType().lowercase(), indexResponse);
|
|
|
- if (result.mappingToUpdate != null) {
|
|
|
- mappingsToUpdate.add(result.mappingToUpdate);
|
|
|
+ if (result.mappingTypeToUpdate != null) {
|
|
|
+ mappingTypesToUpdate.add(result.mappingTypeToUpdate);
|
|
|
}
|
|
|
if (result.op != null) {
|
|
|
if (ops == null) {
|
|
|
@@ -172,9 +172,8 @@ public class TransportShardBulkAction extends TransportShardReplicationOperation
|
|
|
ops[requestIndex] = result.op;
|
|
|
}
|
|
|
} catch (WriteFailure e) {
|
|
|
- Tuple<String, String> mappingsToUpdateOnFailure = e.mappingsToUpdate;
|
|
|
- if (mappingsToUpdateOnFailure != null) {
|
|
|
- mappingsToUpdate.add(mappingsToUpdateOnFailure);
|
|
|
+ if (e.mappingTypeToUpdate != null) {
|
|
|
+ mappingTypesToUpdate.add(e.mappingTypeToUpdate);
|
|
|
}
|
|
|
throw e.getCause();
|
|
|
}
|
|
|
@@ -185,10 +184,10 @@ public class TransportShardBulkAction extends TransportShardReplicationOperation
|
|
|
for (int j = 0; j < requestIndex; j++) {
|
|
|
applyVersion(request.items()[j], preVersions[j], preVersionTypes[j]);
|
|
|
}
|
|
|
- for (Tuple<String, String> mappingToUpdate : mappingsToUpdate) {
|
|
|
- DocumentMapper docMapper = indexService.mapperService().documentMapper(mappingToUpdate.v2());
|
|
|
+ for (String mappingTypeToUpdate : mappingTypesToUpdate) {
|
|
|
+ DocumentMapper docMapper = indexService.mapperService().documentMapper(mappingTypeToUpdate);
|
|
|
if (docMapper != null) {
|
|
|
- mappingUpdatedAction.updateMappingOnMaster(mappingToUpdate.v1(), docMapper, indexService.indexUUID());
|
|
|
+ mappingUpdatedAction.updateMappingOnMaster(indexService.index().name(), docMapper, indexService.indexUUID());
|
|
|
}
|
|
|
}
|
|
|
throw (ElasticsearchException) e;
|
|
|
@@ -259,8 +258,8 @@ public class TransportShardBulkAction extends TransportShardReplicationOperation
|
|
|
updateResponse.setGetResult(updateHelper.extractGetResult(updateRequest, indexResponse.getVersion(), sourceAndContent.v2(), sourceAndContent.v1(), indexSourceAsBytes));
|
|
|
}
|
|
|
responses[requestIndex] = new BulkItemResponse(item.id(), OP_TYPE_UPDATE, updateResponse);
|
|
|
- if (result.mappingToUpdate != null) {
|
|
|
- mappingsToUpdate.add(result.mappingToUpdate);
|
|
|
+ if (result.mappingTypeToUpdate != null) {
|
|
|
+ mappingTypesToUpdate.add(result.mappingTypeToUpdate);
|
|
|
}
|
|
|
if (result.op != null) {
|
|
|
if (ops == null) {
|
|
|
@@ -348,10 +347,10 @@ public class TransportShardBulkAction extends TransportShardReplicationOperation
|
|
|
|
|
|
}
|
|
|
|
|
|
- for (Tuple<String, String> mappingToUpdate : mappingsToUpdate) {
|
|
|
- DocumentMapper docMapper = indexService.mapperService().documentMapper(mappingToUpdate.v2());
|
|
|
+ for (String mappingTypToUpdate : mappingTypesToUpdate) {
|
|
|
+ DocumentMapper docMapper = indexService.mapperService().documentMapper(mappingTypToUpdate);
|
|
|
if (docMapper != null) {
|
|
|
- mappingUpdatedAction.updateMappingOnMaster(mappingToUpdate.v1(), docMapper, indexService.indexUUID());
|
|
|
+ mappingUpdatedAction.updateMappingOnMaster(indexService.index().name(), docMapper, indexService.indexUUID());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -369,12 +368,12 @@ public class TransportShardBulkAction extends TransportShardReplicationOperation
|
|
|
static class WriteResult {
|
|
|
|
|
|
final Object response;
|
|
|
- final Tuple<String, String> mappingToUpdate;
|
|
|
+ final String mappingTypeToUpdate;
|
|
|
final Engine.IndexingOperation op;
|
|
|
|
|
|
- WriteResult(Object response, Tuple<String, String> mappingToUpdate, Engine.IndexingOperation op) {
|
|
|
+ WriteResult(Object response, String mappingTypeToUpdate, Engine.IndexingOperation op) {
|
|
|
this.response = response;
|
|
|
- this.mappingToUpdate = mappingToUpdate;
|
|
|
+ this.mappingTypeToUpdate = mappingTypeToUpdate;
|
|
|
this.op = op;
|
|
|
}
|
|
|
|
|
|
@@ -387,12 +386,12 @@ public class TransportShardBulkAction extends TransportShardReplicationOperation
|
|
|
|
|
|
static class WriteFailure extends ElasticsearchException implements ElasticsearchWrapperException {
|
|
|
@Nullable
|
|
|
- final Tuple<String, String> mappingsToUpdate;
|
|
|
+ final String mappingTypeToUpdate;
|
|
|
|
|
|
- WriteFailure(Throwable cause, Tuple<String, String> mappingsToUpdate) {
|
|
|
+ WriteFailure(Throwable cause, String mappingTypeToUpdate) {
|
|
|
super(null, cause);
|
|
|
assert cause != null;
|
|
|
- this.mappingsToUpdate = mappingsToUpdate;
|
|
|
+ this.mappingTypeToUpdate = mappingTypeToUpdate;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -415,7 +414,7 @@ public class TransportShardBulkAction extends TransportShardReplicationOperation
|
|
|
.routing(indexRequest.routing()).parent(indexRequest.parent()).timestamp(indexRequest.timestamp()).ttl(indexRequest.ttl());
|
|
|
|
|
|
// update mapping on master if needed, we won't update changes to the same type, since once its changed, it won't have mappers added
|
|
|
- Tuple<String, String> mappingsToUpdate = null;
|
|
|
+ String mappingTypeToUpdate = null;
|
|
|
|
|
|
long version;
|
|
|
boolean created;
|
|
|
@@ -424,7 +423,7 @@ public class TransportShardBulkAction extends TransportShardReplicationOperation
|
|
|
if (indexRequest.opType() == IndexRequest.OpType.INDEX) {
|
|
|
Engine.Index index = indexShard.prepareIndex(sourceToParse, indexRequest.version(), indexRequest.versionType(), Engine.Operation.Origin.PRIMARY, request.canHaveDuplicates() || indexRequest.canHaveDuplicates());
|
|
|
if (index.parsedDoc().mappingsModified()) {
|
|
|
- mappingsToUpdate = Tuple.tuple(indexRequest.index(), indexRequest.type());
|
|
|
+ mappingTypeToUpdate = indexRequest.type();
|
|
|
}
|
|
|
indexShard.index(index);
|
|
|
version = index.version();
|
|
|
@@ -434,7 +433,7 @@ public class TransportShardBulkAction extends TransportShardReplicationOperation
|
|
|
Engine.Create create = indexShard.prepareCreate(sourceToParse, indexRequest.version(), indexRequest.versionType(), Engine.Operation.Origin.PRIMARY,
|
|
|
request.canHaveDuplicates() || indexRequest.canHaveDuplicates(), indexRequest.autoGeneratedId());
|
|
|
if (create.parsedDoc().mappingsModified()) {
|
|
|
- mappingsToUpdate = Tuple.tuple(indexRequest.index(), indexRequest.type());
|
|
|
+ mappingTypeToUpdate = indexRequest.type();
|
|
|
}
|
|
|
indexShard.create(create);
|
|
|
version = create.version();
|
|
|
@@ -445,14 +444,14 @@ public class TransportShardBulkAction extends TransportShardReplicationOperation
|
|
|
indexRequest.versionType(indexRequest.versionType().versionTypeForReplicationAndRecovery());
|
|
|
indexRequest.version(version);
|
|
|
} catch (Throwable t) {
|
|
|
- throw new WriteFailure(t, mappingsToUpdate);
|
|
|
+ throw new WriteFailure(t, mappingTypeToUpdate);
|
|
|
}
|
|
|
|
|
|
assert indexRequest.versionType().validateVersionForWrites(indexRequest.version());
|
|
|
|
|
|
|
|
|
IndexResponse indexResponse = new IndexResponse(indexRequest.index(), indexRequest.type(), indexRequest.id(), version, created);
|
|
|
- return new WriteResult(indexResponse, mappingsToUpdate, op);
|
|
|
+ return new WriteResult(indexResponse, mappingTypeToUpdate, op);
|
|
|
}
|
|
|
|
|
|
private WriteResult shardDeleteOperation(DeleteRequest deleteRequest, IndexShard indexShard) {
|