Rename operation to result and reworking responses
* Rename operation to result and reworking responses * Rename DocWriteResponse.Operation enum to DocWriteResponse.Result These are just easier to interpret names. Closes #19664
This commit is contained in:
parent
24b4b892c0
commit
9ac6389e43
|
@ -40,16 +40,21 @@ import java.util.Locale;
|
||||||
*/
|
*/
|
||||||
public abstract class DocWriteResponse extends ReplicationResponse implements WriteResponse, StatusToXContent {
|
public abstract class DocWriteResponse extends ReplicationResponse implements WriteResponse, StatusToXContent {
|
||||||
|
|
||||||
public enum Operation implements Writeable {
|
/**
|
||||||
CREATE(0),
|
* An enum that represents the the results of CRUD operations, primarily used to communicate the type of
|
||||||
INDEX(1),
|
* operation that occurred.
|
||||||
DELETE(2),
|
*/
|
||||||
NOOP(3);
|
public enum Result implements Writeable {
|
||||||
|
CREATED(0),
|
||||||
|
UPDATED(1),
|
||||||
|
DELETED(2),
|
||||||
|
NOT_FOUND(3),
|
||||||
|
NOOP(4);
|
||||||
|
|
||||||
private final byte op;
|
private final byte op;
|
||||||
private final String lowercase;
|
private final String lowercase;
|
||||||
|
|
||||||
Operation(int op) {
|
Result(int op) {
|
||||||
this.op = (byte) op;
|
this.op = (byte) op;
|
||||||
this.lowercase = this.toString().toLowerCase(Locale.ENGLISH);
|
this.lowercase = this.toString().toLowerCase(Locale.ENGLISH);
|
||||||
}
|
}
|
||||||
|
@ -62,19 +67,21 @@ public abstract class DocWriteResponse extends ReplicationResponse implements Wr
|
||||||
return lowercase;
|
return lowercase;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Operation readFrom(StreamInput in) throws IOException{
|
public static Result readFrom(StreamInput in) throws IOException{
|
||||||
Byte opcode = in.readByte();
|
Byte opcode = in.readByte();
|
||||||
switch(opcode){
|
switch(opcode){
|
||||||
case 0:
|
case 0:
|
||||||
return CREATE;
|
return CREATED;
|
||||||
case 1:
|
case 1:
|
||||||
return INDEX;
|
return UPDATED;
|
||||||
case 2:
|
case 2:
|
||||||
return DELETE;
|
return DELETED;
|
||||||
case 3:
|
case 3:
|
||||||
|
return NOT_FOUND;
|
||||||
|
case 4:
|
||||||
return NOOP;
|
return NOOP;
|
||||||
default:
|
default:
|
||||||
throw new IllegalArgumentException("Unknown operation code: " + opcode);
|
throw new IllegalArgumentException("Unknown result code: " + opcode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,14 +96,14 @@ public abstract class DocWriteResponse extends ReplicationResponse implements Wr
|
||||||
private String type;
|
private String type;
|
||||||
private long version;
|
private long version;
|
||||||
private boolean forcedRefresh;
|
private boolean forcedRefresh;
|
||||||
protected Operation operation;
|
protected Result result;
|
||||||
|
|
||||||
public DocWriteResponse(ShardId shardId, String type, String id, long version, Operation operation) {
|
public DocWriteResponse(ShardId shardId, String type, String id, long version, Result result) {
|
||||||
this.shardId = shardId;
|
this.shardId = shardId;
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.version = version;
|
this.version = version;
|
||||||
this.operation = operation;
|
this.result = result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// needed for deserialization
|
// needed for deserialization
|
||||||
|
@ -106,8 +113,8 @@ public abstract class DocWriteResponse extends ReplicationResponse implements Wr
|
||||||
/**
|
/**
|
||||||
* The change that occurred to the document.
|
* The change that occurred to the document.
|
||||||
*/
|
*/
|
||||||
public Operation getOperation() {
|
public Result getResult() {
|
||||||
return operation;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -198,7 +205,7 @@ public abstract class DocWriteResponse extends ReplicationResponse implements Wr
|
||||||
id = in.readString();
|
id = in.readString();
|
||||||
version = in.readZLong();
|
version = in.readZLong();
|
||||||
forcedRefresh = in.readBoolean();
|
forcedRefresh = in.readBoolean();
|
||||||
operation = Operation.readFrom(in);
|
result = Result.readFrom(in);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -209,7 +216,7 @@ public abstract class DocWriteResponse extends ReplicationResponse implements Wr
|
||||||
out.writeString(id);
|
out.writeString(id);
|
||||||
out.writeZLong(version);
|
out.writeZLong(version);
|
||||||
out.writeBoolean(forcedRefresh);
|
out.writeBoolean(forcedRefresh);
|
||||||
operation.writeTo(out);
|
result.writeTo(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -219,7 +226,7 @@ public abstract class DocWriteResponse extends ReplicationResponse implements Wr
|
||||||
.field("_type", type)
|
.field("_type", type)
|
||||||
.field("_id", id)
|
.field("_id", id)
|
||||||
.field("_version", version)
|
.field("_version", version)
|
||||||
.field("_operation", getOperation().getLowercase());
|
.field("result", getResult().getLowercase());
|
||||||
if (forcedRefresh) {
|
if (forcedRefresh) {
|
||||||
builder.field("forced_refresh", forcedRefresh);
|
builder.field("forced_refresh", forcedRefresh);
|
||||||
}
|
}
|
||||||
|
|
|
@ -239,16 +239,16 @@ public class TransportShardBulkAction extends TransportWriteAction<BulkShardRequ
|
||||||
if (updateResult.writeResult != null) {
|
if (updateResult.writeResult != null) {
|
||||||
location = locationToSync(location, updateResult.writeResult.getLocation());
|
location = locationToSync(location, updateResult.writeResult.getLocation());
|
||||||
}
|
}
|
||||||
switch (updateResult.result.operation()) {
|
switch (updateResult.result.getResponseResult()) {
|
||||||
case CREATE:
|
case CREATED:
|
||||||
case INDEX:
|
case UPDATED:
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
WriteResult<IndexResponse> result = updateResult.writeResult;
|
WriteResult<IndexResponse> result = updateResult.writeResult;
|
||||||
IndexRequest indexRequest = updateResult.request();
|
IndexRequest indexRequest = updateResult.request();
|
||||||
BytesReference indexSourceAsBytes = indexRequest.source();
|
BytesReference indexSourceAsBytes = indexRequest.source();
|
||||||
// add the response
|
// add the response
|
||||||
IndexResponse indexResponse = result.getResponse();
|
IndexResponse indexResponse = result.getResponse();
|
||||||
UpdateResponse updateResponse = new UpdateResponse(indexResponse.getShardInfo(), indexResponse.getShardId(), indexResponse.getType(), indexResponse.getId(), indexResponse.getVersion(), indexResponse.getOperation());
|
UpdateResponse updateResponse = new UpdateResponse(indexResponse.getShardInfo(), indexResponse.getShardId(), indexResponse.getType(), indexResponse.getId(), indexResponse.getVersion(), indexResponse.getResult());
|
||||||
if (updateRequest.fields() != null && updateRequest.fields().length > 0) {
|
if (updateRequest.fields() != null && updateRequest.fields().length > 0) {
|
||||||
Tuple<XContentType, Map<String, Object>> sourceAndContent = XContentHelper.convertToMap(indexSourceAsBytes, true);
|
Tuple<XContentType, Map<String, Object>> sourceAndContent = XContentHelper.convertToMap(indexSourceAsBytes, true);
|
||||||
updateResponse.setGetResult(updateHelper.extractGetResult(updateRequest, request.index(), indexResponse.getVersion(), sourceAndContent.v2(), sourceAndContent.v1(), indexSourceAsBytes));
|
updateResponse.setGetResult(updateHelper.extractGetResult(updateRequest, request.index(), indexResponse.getVersion(), sourceAndContent.v2(), sourceAndContent.v1(), indexSourceAsBytes));
|
||||||
|
@ -256,12 +256,12 @@ public class TransportShardBulkAction extends TransportWriteAction<BulkShardRequ
|
||||||
item = request.items()[requestIndex] = new BulkItemRequest(request.items()[requestIndex].id(), indexRequest);
|
item = request.items()[requestIndex] = new BulkItemRequest(request.items()[requestIndex].id(), indexRequest);
|
||||||
setResponse(item, new BulkItemResponse(item.id(), OP_TYPE_UPDATE, updateResponse));
|
setResponse(item, new BulkItemResponse(item.id(), OP_TYPE_UPDATE, updateResponse));
|
||||||
break;
|
break;
|
||||||
case DELETE:
|
case DELETED:
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
WriteResult<DeleteResponse> writeResult = updateResult.writeResult;
|
WriteResult<DeleteResponse> writeResult = updateResult.writeResult;
|
||||||
DeleteResponse response = writeResult.getResponse();
|
DeleteResponse response = writeResult.getResponse();
|
||||||
DeleteRequest deleteRequest = updateResult.request();
|
DeleteRequest deleteRequest = updateResult.request();
|
||||||
updateResponse = new UpdateResponse(response.getShardInfo(), response.getShardId(), response.getType(), response.getId(), response.getVersion(), response.getOperation());
|
updateResponse = new UpdateResponse(response.getShardInfo(), response.getShardId(), response.getType(), response.getId(), response.getVersion(), response.getResult());
|
||||||
updateResponse.setGetResult(updateHelper.extractGetResult(updateRequest, request.index(), response.getVersion(), updateResult.result.updatedSourceAsMap(), updateResult.result.updateSourceContentType(), null));
|
updateResponse.setGetResult(updateHelper.extractGetResult(updateRequest, request.index(), response.getVersion(), updateResult.result.updatedSourceAsMap(), updateResult.result.updateSourceContentType(), null));
|
||||||
// Replace the update request to the translated delete request to execute on the replica.
|
// Replace the update request to the translated delete request to execute on the replica.
|
||||||
item = request.items()[requestIndex] = new BulkItemRequest(request.items()[requestIndex].id(), deleteRequest);
|
item = request.items()[requestIndex] = new BulkItemRequest(request.items()[requestIndex].id(), deleteRequest);
|
||||||
|
@ -271,6 +271,8 @@ public class TransportShardBulkAction extends TransportWriteAction<BulkShardRequ
|
||||||
setResponse(item, new BulkItemResponse(item.id(), OP_TYPE_UPDATE, updateResult.noopResult));
|
setResponse(item, new BulkItemResponse(item.id(), OP_TYPE_UPDATE, updateResult.noopResult));
|
||||||
item.setIgnoreOnReplica(); // no need to go to the replica
|
item.setIgnoreOnReplica(); // no need to go to the replica
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
throw new IllegalStateException("Illegal operation " + updateResult.result.getResponseResult());
|
||||||
}
|
}
|
||||||
// NOTE: Breaking out of the retry_on_conflict loop!
|
// NOTE: Breaking out of the retry_on_conflict loop!
|
||||||
break;
|
break;
|
||||||
|
@ -299,20 +301,22 @@ public class TransportShardBulkAction extends TransportWriteAction<BulkShardRequ
|
||||||
} else if (updateResult.result == null) {
|
} else if (updateResult.result == null) {
|
||||||
setResponse(item, new BulkItemResponse(item.id(), OP_TYPE_UPDATE, new BulkItemResponse.Failure(request.index(), updateRequest.type(), updateRequest.id(), e)));
|
setResponse(item, new BulkItemResponse(item.id(), OP_TYPE_UPDATE, new BulkItemResponse.Failure(request.index(), updateRequest.type(), updateRequest.id(), e)));
|
||||||
} else {
|
} else {
|
||||||
switch (updateResult.result.operation()) {
|
switch (updateResult.result.getResponseResult()) {
|
||||||
case CREATE:
|
case CREATED:
|
||||||
case INDEX:
|
case UPDATED:
|
||||||
IndexRequest indexRequest = updateResult.request();
|
IndexRequest indexRequest = updateResult.request();
|
||||||
logFailure(e, "index", request.shardId(), indexRequest);
|
logFailure(e, "index", request.shardId(), indexRequest);
|
||||||
setResponse(item, new BulkItemResponse(item.id(), OP_TYPE_UPDATE,
|
setResponse(item, new BulkItemResponse(item.id(), OP_TYPE_UPDATE,
|
||||||
new BulkItemResponse.Failure(request.index(), indexRequest.type(), indexRequest.id(), e)));
|
new BulkItemResponse.Failure(request.index(), indexRequest.type(), indexRequest.id(), e)));
|
||||||
break;
|
break;
|
||||||
case DELETE:
|
case DELETED:
|
||||||
DeleteRequest deleteRequest = updateResult.request();
|
DeleteRequest deleteRequest = updateResult.request();
|
||||||
logFailure(e, "delete", request.shardId(), deleteRequest);
|
logFailure(e, "delete", request.shardId(), deleteRequest);
|
||||||
setResponse(item, new BulkItemResponse(item.id(), OP_TYPE_DELETE,
|
setResponse(item, new BulkItemResponse(item.id(), OP_TYPE_DELETE,
|
||||||
new BulkItemResponse.Failure(request.index(), deleteRequest.type(), deleteRequest.id(), e)));
|
new BulkItemResponse.Failure(request.index(), deleteRequest.type(), deleteRequest.id(), e)));
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
throw new IllegalStateException("Illegal operation " + updateResult.result.getResponseResult());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// NOTE: Breaking out of the retry_on_conflict loop!
|
// NOTE: Breaking out of the retry_on_conflict loop!
|
||||||
|
@ -399,9 +403,9 @@ public class TransportShardBulkAction extends TransportWriteAction<BulkShardRequ
|
||||||
|
|
||||||
private UpdateResult shardUpdateOperation(IndexMetaData metaData, BulkShardRequest bulkShardRequest, UpdateRequest updateRequest, IndexShard indexShard) {
|
private UpdateResult shardUpdateOperation(IndexMetaData metaData, BulkShardRequest bulkShardRequest, UpdateRequest updateRequest, IndexShard indexShard) {
|
||||||
UpdateHelper.Result translate = updateHelper.prepare(updateRequest, indexShard);
|
UpdateHelper.Result translate = updateHelper.prepare(updateRequest, indexShard);
|
||||||
switch (translate.operation()) {
|
switch (translate.getResponseResult()) {
|
||||||
case CREATE:
|
case CREATED:
|
||||||
case INDEX:
|
case UPDATED:
|
||||||
IndexRequest indexRequest = translate.action();
|
IndexRequest indexRequest = translate.action();
|
||||||
try {
|
try {
|
||||||
WriteResult result = shardIndexOperation(bulkShardRequest, indexRequest, metaData, indexShard, false);
|
WriteResult result = shardIndexOperation(bulkShardRequest, indexRequest, metaData, indexShard, false);
|
||||||
|
@ -414,7 +418,7 @@ public class TransportShardBulkAction extends TransportWriteAction<BulkShardRequ
|
||||||
}
|
}
|
||||||
return new UpdateResult(translate, indexRequest, retry, cause, null);
|
return new UpdateResult(translate, indexRequest, retry, cause, null);
|
||||||
}
|
}
|
||||||
case DELETE:
|
case DELETED:
|
||||||
DeleteRequest deleteRequest = translate.action();
|
DeleteRequest deleteRequest = translate.action();
|
||||||
try {
|
try {
|
||||||
WriteResult<DeleteResponse> result = TransportDeleteAction.executeDeleteRequestOnPrimary(deleteRequest, indexShard);
|
WriteResult<DeleteResponse> result = TransportDeleteAction.executeDeleteRequestOnPrimary(deleteRequest, indexShard);
|
||||||
|
@ -432,7 +436,7 @@ public class TransportShardBulkAction extends TransportWriteAction<BulkShardRequ
|
||||||
indexShard.noopUpdate(updateRequest.type());
|
indexShard.noopUpdate(updateRequest.type());
|
||||||
return new UpdateResult(translate, updateResponse);
|
return new UpdateResult(translate, updateResponse);
|
||||||
default:
|
default:
|
||||||
throw new IllegalStateException("Illegal update operation " + translate.operation());
|
throw new IllegalStateException("Illegal update operation " + translate.getResponseResult());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,17 +39,17 @@ public class DeleteResponse extends DocWriteResponse {
|
||||||
}
|
}
|
||||||
|
|
||||||
public DeleteResponse(ShardId shardId, String type, String id, long version, boolean found) {
|
public DeleteResponse(ShardId shardId, String type, String id, long version, boolean found) {
|
||||||
super(shardId, type, id, version, found ? Operation.DELETE : Operation.NOOP);
|
super(shardId, type, id, version, found ? Result.DELETED : Result.NOT_FOUND);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RestStatus status() {
|
public RestStatus status() {
|
||||||
return operation == Operation.DELETE ? super.status() : RestStatus.NOT_FOUND;
|
return result == Result.DELETED ? super.status() : RestStatus.NOT_FOUND;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
|
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
|
||||||
builder.field("found", operation == Operation.DELETE);
|
builder.field("found", result == Result.DELETED);
|
||||||
super.toXContent(builder, params);
|
super.toXContent(builder, params);
|
||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ public class DeleteResponse extends DocWriteResponse {
|
||||||
builder.append(",type=").append(getType());
|
builder.append(",type=").append(getType());
|
||||||
builder.append(",id=").append(getId());
|
builder.append(",id=").append(getId());
|
||||||
builder.append(",version=").append(getVersion());
|
builder.append(",version=").append(getVersion());
|
||||||
builder.append(",operation=").append(getOperation().getLowercase());
|
builder.append(",result=").append(getResult().getLowercase());
|
||||||
builder.append(",shards=").append(getShardInfo());
|
builder.append(",shards=").append(getShardInfo());
|
||||||
return builder.append("]").toString();
|
return builder.append("]").toString();
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,12 +39,12 @@ public class IndexResponse extends DocWriteResponse {
|
||||||
}
|
}
|
||||||
|
|
||||||
public IndexResponse(ShardId shardId, String type, String id, long version, boolean created) {
|
public IndexResponse(ShardId shardId, String type, String id, long version, boolean created) {
|
||||||
super(shardId, type, id, version, created ? Operation.CREATE : Operation.INDEX);
|
super(shardId, type, id, version, created ? Result.CREATED : Result.UPDATED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RestStatus status() {
|
public RestStatus status() {
|
||||||
return operation == Operation.CREATE ? RestStatus.CREATED : super.status();
|
return result == Result.CREATED ? RestStatus.CREATED : super.status();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -55,7 +55,7 @@ public class IndexResponse extends DocWriteResponse {
|
||||||
builder.append(",type=").append(getType());
|
builder.append(",type=").append(getType());
|
||||||
builder.append(",id=").append(getId());
|
builder.append(",id=").append(getId());
|
||||||
builder.append(",version=").append(getVersion());
|
builder.append(",version=").append(getVersion());
|
||||||
builder.append(",operation=").append(getOperation().getLowercase());
|
builder.append(",result=").append(getResult().getLowercase());
|
||||||
builder.append(",shards=").append(getShardInfo());
|
builder.append(",shards=").append(getShardInfo());
|
||||||
return builder.append("]").toString();
|
return builder.append("]").toString();
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,7 @@ public class IndexResponse extends DocWriteResponse {
|
||||||
@Override
|
@Override
|
||||||
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
|
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
|
||||||
super.toXContent(builder, params);
|
super.toXContent(builder, params);
|
||||||
builder.field("created", operation == Operation.CREATE);
|
builder.field("created", result == Result.CREATED);
|
||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,6 @@ package org.elasticsearch.action.update;
|
||||||
import org.elasticsearch.ExceptionsHelper;
|
import org.elasticsearch.ExceptionsHelper;
|
||||||
import org.elasticsearch.action.ActionListener;
|
import org.elasticsearch.action.ActionListener;
|
||||||
import org.elasticsearch.action.ActionRunnable;
|
import org.elasticsearch.action.ActionRunnable;
|
||||||
import org.elasticsearch.action.DocWriteResponse;
|
|
||||||
import org.elasticsearch.action.RoutingMissingException;
|
import org.elasticsearch.action.RoutingMissingException;
|
||||||
import org.elasticsearch.action.admin.indices.create.CreateIndexRequest;
|
import org.elasticsearch.action.admin.indices.create.CreateIndexRequest;
|
||||||
import org.elasticsearch.action.admin.indices.create.CreateIndexResponse;
|
import org.elasticsearch.action.admin.indices.create.CreateIndexResponse;
|
||||||
|
@ -178,15 +177,15 @@ public class TransportUpdateAction extends TransportInstanceSingleOperationActio
|
||||||
final IndexService indexService = indicesService.indexServiceSafe(shardId.getIndex());
|
final IndexService indexService = indicesService.indexServiceSafe(shardId.getIndex());
|
||||||
final IndexShard indexShard = indexService.getShard(shardId.getId());
|
final IndexShard indexShard = indexService.getShard(shardId.getId());
|
||||||
final UpdateHelper.Result result = updateHelper.prepare(request, indexShard);
|
final UpdateHelper.Result result = updateHelper.prepare(request, indexShard);
|
||||||
switch (result.operation()) {
|
switch (result.getResponseResult()) {
|
||||||
case CREATE:
|
case CREATED:
|
||||||
IndexRequest upsertRequest = result.action();
|
IndexRequest upsertRequest = result.action();
|
||||||
// we fetch it from the index request so we don't generate the bytes twice, its already done in the index request
|
// we fetch it from the index request so we don't generate the bytes twice, its already done in the index request
|
||||||
final BytesReference upsertSourceBytes = upsertRequest.source();
|
final BytesReference upsertSourceBytes = upsertRequest.source();
|
||||||
indexAction.execute(upsertRequest, new ActionListener<IndexResponse>() {
|
indexAction.execute(upsertRequest, new ActionListener<IndexResponse>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(IndexResponse response) {
|
public void onResponse(IndexResponse response) {
|
||||||
UpdateResponse update = new UpdateResponse(response.getShardInfo(), response.getShardId(), response.getType(), response.getId(), response.getVersion(), response.getOperation());
|
UpdateResponse update = new UpdateResponse(response.getShardInfo(), response.getShardId(), response.getType(), response.getId(), response.getVersion(), response.getResult());
|
||||||
if (request.fields() != null && request.fields().length > 0) {
|
if (request.fields() != null && request.fields().length > 0) {
|
||||||
Tuple<XContentType, Map<String, Object>> sourceAndContent = XContentHelper.convertToMap(upsertSourceBytes, true);
|
Tuple<XContentType, Map<String, Object>> sourceAndContent = XContentHelper.convertToMap(upsertSourceBytes, true);
|
||||||
update.setGetResult(updateHelper.extractGetResult(request, request.concreteIndex(), response.getVersion(), sourceAndContent.v2(), sourceAndContent.v1(), upsertSourceBytes));
|
update.setGetResult(updateHelper.extractGetResult(request, request.concreteIndex(), response.getVersion(), sourceAndContent.v2(), sourceAndContent.v1(), upsertSourceBytes));
|
||||||
|
@ -217,14 +216,14 @@ public class TransportUpdateAction extends TransportInstanceSingleOperationActio
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case INDEX:
|
case UPDATED:
|
||||||
IndexRequest indexRequest = result.action();
|
IndexRequest indexRequest = result.action();
|
||||||
// we fetch it from the index request so we don't generate the bytes twice, its already done in the index request
|
// we fetch it from the index request so we don't generate the bytes twice, its already done in the index request
|
||||||
final BytesReference indexSourceBytes = indexRequest.source();
|
final BytesReference indexSourceBytes = indexRequest.source();
|
||||||
indexAction.execute(indexRequest, new ActionListener<IndexResponse>() {
|
indexAction.execute(indexRequest, new ActionListener<IndexResponse>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(IndexResponse response) {
|
public void onResponse(IndexResponse response) {
|
||||||
UpdateResponse update = new UpdateResponse(response.getShardInfo(), response.getShardId(), response.getType(), response.getId(), response.getVersion(), response.getOperation());
|
UpdateResponse update = new UpdateResponse(response.getShardInfo(), response.getShardId(), response.getType(), response.getId(), response.getVersion(), response.getResult());
|
||||||
update.setGetResult(updateHelper.extractGetResult(request, request.concreteIndex(), response.getVersion(), result.updatedSourceAsMap(), result.updateSourceContentType(), indexSourceBytes));
|
update.setGetResult(updateHelper.extractGetResult(request, request.concreteIndex(), response.getVersion(), result.updatedSourceAsMap(), result.updateSourceContentType(), indexSourceBytes));
|
||||||
update.setForcedRefresh(response.forcedRefresh());
|
update.setForcedRefresh(response.forcedRefresh());
|
||||||
listener.onResponse(update);
|
listener.onResponse(update);
|
||||||
|
@ -248,12 +247,12 @@ public class TransportUpdateAction extends TransportInstanceSingleOperationActio
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case DELETE:
|
case DELETED:
|
||||||
DeleteRequest deleteRequest = result.action();
|
DeleteRequest deleteRequest = result.action();
|
||||||
deleteAction.execute(deleteRequest, new ActionListener<DeleteResponse>() {
|
deleteAction.execute(deleteRequest, new ActionListener<DeleteResponse>() {
|
||||||
@Override
|
@Override
|
||||||
public void onResponse(DeleteResponse response) {
|
public void onResponse(DeleteResponse response) {
|
||||||
UpdateResponse update = new UpdateResponse(response.getShardInfo(), response.getShardId(), response.getType(), response.getId(), response.getVersion(), response.getOperation());
|
UpdateResponse update = new UpdateResponse(response.getShardInfo(), response.getShardId(), response.getType(), response.getId(), response.getVersion(), response.getResult());
|
||||||
update.setGetResult(updateHelper.extractGetResult(request, request.concreteIndex(), response.getVersion(), result.updatedSourceAsMap(), result.updateSourceContentType(), null));
|
update.setGetResult(updateHelper.extractGetResult(request, request.concreteIndex(), response.getVersion(), result.updatedSourceAsMap(), result.updateSourceContentType(), null));
|
||||||
update.setForcedRefresh(response.forcedRefresh());
|
update.setForcedRefresh(response.forcedRefresh());
|
||||||
listener.onResponse(update);
|
listener.onResponse(update);
|
||||||
|
@ -289,7 +288,7 @@ public class TransportUpdateAction extends TransportInstanceSingleOperationActio
|
||||||
listener.onResponse(update);
|
listener.onResponse(update);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
throw new IllegalStateException("Illegal operation " + result.operation());
|
throw new IllegalStateException("Illegal result " + result.getResponseResult());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,9 +117,9 @@ public class UpdateHelper extends AbstractComponent {
|
||||||
request.script.getScript());
|
request.script.getScript());
|
||||||
}
|
}
|
||||||
UpdateResponse update = new UpdateResponse(shardId, getResult.getType(), getResult.getId(),
|
UpdateResponse update = new UpdateResponse(shardId, getResult.getType(), getResult.getId(),
|
||||||
getResult.getVersion(), DocWriteResponse.Operation.NOOP);
|
getResult.getVersion(), DocWriteResponse.Result.NOOP);
|
||||||
update.setGetResult(getResult);
|
update.setGetResult(getResult);
|
||||||
return new Result(update, DocWriteResponse.Operation.NOOP, upsertDoc, XContentType.JSON);
|
return new Result(update, DocWriteResponse.Result.NOOP, upsertDoc, XContentType.JSON);
|
||||||
}
|
}
|
||||||
indexRequest.source((Map) ctx.get("_source"));
|
indexRequest.source((Map) ctx.get("_source"));
|
||||||
}
|
}
|
||||||
|
@ -136,7 +136,7 @@ public class UpdateHelper extends AbstractComponent {
|
||||||
// in all but the internal versioning mode, we want to create the new document using the given version.
|
// in all but the internal versioning mode, we want to create the new document using the given version.
|
||||||
indexRequest.version(request.version()).versionType(request.versionType());
|
indexRequest.version(request.version()).versionType(request.versionType());
|
||||||
}
|
}
|
||||||
return new Result(indexRequest, DocWriteResponse.Operation.CREATE, null, null);
|
return new Result(indexRequest, DocWriteResponse.Result.CREATED, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
long updateVersion = getResult.getVersion();
|
long updateVersion = getResult.getVersion();
|
||||||
|
@ -227,21 +227,21 @@ public class UpdateHelper extends AbstractComponent {
|
||||||
.consistencyLevel(request.consistencyLevel())
|
.consistencyLevel(request.consistencyLevel())
|
||||||
.timestamp(timestamp).ttl(ttl)
|
.timestamp(timestamp).ttl(ttl)
|
||||||
.setRefreshPolicy(request.getRefreshPolicy());
|
.setRefreshPolicy(request.getRefreshPolicy());
|
||||||
return new Result(indexRequest, DocWriteResponse.Operation.INDEX, updatedSourceAsMap, updateSourceContentType);
|
return new Result(indexRequest, DocWriteResponse.Result.UPDATED, updatedSourceAsMap, updateSourceContentType);
|
||||||
} else if ("delete".equals(operation)) {
|
} else if ("delete".equals(operation)) {
|
||||||
DeleteRequest deleteRequest = Requests.deleteRequest(request.index()).type(request.type()).id(request.id()).routing(routing).parent(parent)
|
DeleteRequest deleteRequest = Requests.deleteRequest(request.index()).type(request.type()).id(request.id()).routing(routing).parent(parent)
|
||||||
.version(updateVersion).versionType(request.versionType())
|
.version(updateVersion).versionType(request.versionType())
|
||||||
.consistencyLevel(request.consistencyLevel())
|
.consistencyLevel(request.consistencyLevel())
|
||||||
.setRefreshPolicy(request.getRefreshPolicy());
|
.setRefreshPolicy(request.getRefreshPolicy());
|
||||||
return new Result(deleteRequest, DocWriteResponse.Operation.DELETE, updatedSourceAsMap, updateSourceContentType);
|
return new Result(deleteRequest, DocWriteResponse.Result.DELETED, updatedSourceAsMap, updateSourceContentType);
|
||||||
} else if ("none".equals(operation)) {
|
} else if ("none".equals(operation)) {
|
||||||
UpdateResponse update = new UpdateResponse(shardId, getResult.getType(), getResult.getId(), getResult.getVersion(), DocWriteResponse.Operation.NOOP);
|
UpdateResponse update = new UpdateResponse(shardId, getResult.getType(), getResult.getId(), getResult.getVersion(), DocWriteResponse.Result.NOOP);
|
||||||
update.setGetResult(extractGetResult(request, request.index(), getResult.getVersion(), updatedSourceAsMap, updateSourceContentType, getResult.internalSourceRef()));
|
update.setGetResult(extractGetResult(request, request.index(), getResult.getVersion(), updatedSourceAsMap, updateSourceContentType, getResult.internalSourceRef()));
|
||||||
return new Result(update, DocWriteResponse.Operation.NOOP, updatedSourceAsMap, updateSourceContentType);
|
return new Result(update, DocWriteResponse.Result.NOOP, updatedSourceAsMap, updateSourceContentType);
|
||||||
} else {
|
} else {
|
||||||
logger.warn("Used update operation [{}] for script [{}], doing nothing...", operation, request.script.getScript());
|
logger.warn("Used update operation [{}] for script [{}], doing nothing...", operation, request.script.getScript());
|
||||||
UpdateResponse update = new UpdateResponse(shardId, getResult.getType(), getResult.getId(), getResult.getVersion(), DocWriteResponse.Operation.NOOP);
|
UpdateResponse update = new UpdateResponse(shardId, getResult.getType(), getResult.getId(), getResult.getVersion(), DocWriteResponse.Result.NOOP);
|
||||||
return new Result(update, DocWriteResponse.Operation.NOOP, updatedSourceAsMap, updateSourceContentType);
|
return new Result(update, DocWriteResponse.Result.NOOP, updatedSourceAsMap, updateSourceContentType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -310,13 +310,13 @@ public class UpdateHelper extends AbstractComponent {
|
||||||
public static class Result {
|
public static class Result {
|
||||||
|
|
||||||
private final Streamable action;
|
private final Streamable action;
|
||||||
private final DocWriteResponse.Operation operation;
|
private final DocWriteResponse.Result result;
|
||||||
private final Map<String, Object> updatedSourceAsMap;
|
private final Map<String, Object> updatedSourceAsMap;
|
||||||
private final XContentType updateSourceContentType;
|
private final XContentType updateSourceContentType;
|
||||||
|
|
||||||
public Result(Streamable action, DocWriteResponse.Operation operation, Map<String, Object> updatedSourceAsMap, XContentType updateSourceContentType) {
|
public Result(Streamable action, DocWriteResponse.Result result, Map<String, Object> updatedSourceAsMap, XContentType updateSourceContentType) {
|
||||||
this.action = action;
|
this.action = action;
|
||||||
this.operation = operation;
|
this.result = result;
|
||||||
this.updatedSourceAsMap = updatedSourceAsMap;
|
this.updatedSourceAsMap = updatedSourceAsMap;
|
||||||
this.updateSourceContentType = updateSourceContentType;
|
this.updateSourceContentType = updateSourceContentType;
|
||||||
}
|
}
|
||||||
|
@ -326,8 +326,8 @@ public class UpdateHelper extends AbstractComponent {
|
||||||
return (T) action;
|
return (T) action;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DocWriteResponse.Operation operation() {
|
public DocWriteResponse.Result getResponseResult() {
|
||||||
return operation;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<String, Object> updatedSourceAsMap() {
|
public Map<String, Object> updatedSourceAsMap() {
|
||||||
|
|
|
@ -40,13 +40,13 @@ public class UpdateResponse extends DocWriteResponse {
|
||||||
* Constructor to be used when a update didn't translate in a write.
|
* Constructor to be used when a update didn't translate in a write.
|
||||||
* For example: update script with operation set to none
|
* For example: update script with operation set to none
|
||||||
*/
|
*/
|
||||||
public UpdateResponse(ShardId shardId, String type, String id, long version, Operation operation) {
|
public UpdateResponse(ShardId shardId, String type, String id, long version, Result result) {
|
||||||
this(new ShardInfo(0, 0), shardId, type, id, version, operation);
|
this(new ShardInfo(0, 0), shardId, type, id, version, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
public UpdateResponse(ShardInfo shardInfo, ShardId shardId, String type, String id,
|
public UpdateResponse(ShardInfo shardInfo, ShardId shardId, String type, String id,
|
||||||
long version, Operation operation) {
|
long version, Result result) {
|
||||||
super(shardId, type, id, version, operation);
|
super(shardId, type, id, version, result);
|
||||||
setShardInfo(shardInfo);
|
setShardInfo(shardInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ public class UpdateResponse extends DocWriteResponse {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RestStatus status() {
|
public RestStatus status() {
|
||||||
return this.operation == Operation.CREATE ? RestStatus.CREATED : super.status();
|
return this.result == Result.CREATED ? RestStatus.CREATED : super.status();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -106,7 +106,7 @@ public class UpdateResponse extends DocWriteResponse {
|
||||||
builder.append(",type=").append(getType());
|
builder.append(",type=").append(getType());
|
||||||
builder.append(",id=").append(getId());
|
builder.append(",id=").append(getId());
|
||||||
builder.append(",version=").append(getVersion());
|
builder.append(",version=").append(getVersion());
|
||||||
builder.append(",operation=").append(getOperation().getLowercase());
|
builder.append(",result=").append(getResult().getLowercase());
|
||||||
builder.append(",shards=").append(getShardInfo());
|
builder.append(",shards=").append(getShardInfo());
|
||||||
return builder.append("]").toString();
|
return builder.append("]").toString();
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
package org.elasticsearch.action;
|
package org.elasticsearch.action;
|
||||||
|
|
||||||
import org.elasticsearch.action.DocWriteResponse.Operation;
|
import org.elasticsearch.action.DocWriteResponse.Result;
|
||||||
import org.elasticsearch.action.support.replication.ReplicationResponse.ShardInfo;
|
import org.elasticsearch.action.support.replication.ReplicationResponse.ShardInfo;
|
||||||
import org.elasticsearch.common.xcontent.ToXContent;
|
import org.elasticsearch.common.xcontent.ToXContent;
|
||||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||||
|
@ -36,7 +36,7 @@ import static org.hamcrest.Matchers.not;
|
||||||
|
|
||||||
public class DocWriteResponseTests extends ESTestCase {
|
public class DocWriteResponseTests extends ESTestCase {
|
||||||
public void testGetLocation() {
|
public void testGetLocation() {
|
||||||
DocWriteResponse response = new DocWriteResponse(new ShardId("index", "uuid", 0), "type", "id", 0, Operation.CREATE) {
|
DocWriteResponse response = new DocWriteResponse(new ShardId("index", "uuid", 0), "type", "id", 0, Result.CREATED) {
|
||||||
// DocWriteResponse is abstract so we have to sneak a subclass in here to test it.
|
// DocWriteResponse is abstract so we have to sneak a subclass in here to test it.
|
||||||
};
|
};
|
||||||
assertEquals("/index/type/id", response.getLocation(null));
|
assertEquals("/index/type/id", response.getLocation(null));
|
||||||
|
@ -48,7 +48,7 @@ public class DocWriteResponseTests extends ESTestCase {
|
||||||
* is true. We can't assert this in the yaml tests because "not found" is also "false" there....
|
* is true. We can't assert this in the yaml tests because "not found" is also "false" there....
|
||||||
*/
|
*/
|
||||||
public void testToXContentDoesntIncludeForcedRefreshUnlessForced() throws IOException {
|
public void testToXContentDoesntIncludeForcedRefreshUnlessForced() throws IOException {
|
||||||
DocWriteResponse response = new DocWriteResponse(new ShardId("index", "uuid", 0), "type", "id", 0, Operation.CREATE) {
|
DocWriteResponse response = new DocWriteResponse(new ShardId("index", "uuid", 0), "type", "id", 0, Result.CREATED) {
|
||||||
// DocWriteResponse is abstract so we have to sneak a subclass in here to test it.
|
// DocWriteResponse is abstract so we have to sneak a subclass in here to test it.
|
||||||
};
|
};
|
||||||
response.setShardInfo(new ShardInfo(1, 1));
|
response.setShardInfo(new ShardInfo(1, 1));
|
||||||
|
|
|
@ -234,7 +234,7 @@ public class IndicesRequestIT extends ESIntegTestCase {
|
||||||
client().prepareIndex(indexOrAlias, "type", "id").setSource("field", "value").get();
|
client().prepareIndex(indexOrAlias, "type", "id").setSource("field", "value").get();
|
||||||
UpdateRequest updateRequest = new UpdateRequest(indexOrAlias, "type", "id").doc("field1", "value1");
|
UpdateRequest updateRequest = new UpdateRequest(indexOrAlias, "type", "id").doc("field1", "value1");
|
||||||
UpdateResponse updateResponse = internalCluster().coordOnlyNodeClient().update(updateRequest).actionGet();
|
UpdateResponse updateResponse = internalCluster().coordOnlyNodeClient().update(updateRequest).actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.INDEX, updateResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.UPDATED, updateResponse.getResult());
|
||||||
|
|
||||||
clearInterceptedActions();
|
clearInterceptedActions();
|
||||||
assertSameIndices(updateRequest, updateShardActions);
|
assertSameIndices(updateRequest, updateShardActions);
|
||||||
|
@ -248,7 +248,7 @@ public class IndicesRequestIT extends ESIntegTestCase {
|
||||||
String indexOrAlias = randomIndexOrAlias();
|
String indexOrAlias = randomIndexOrAlias();
|
||||||
UpdateRequest updateRequest = new UpdateRequest(indexOrAlias, "type", "id").upsert("field", "value").doc("field1", "value1");
|
UpdateRequest updateRequest = new UpdateRequest(indexOrAlias, "type", "id").upsert("field", "value").doc("field1", "value1");
|
||||||
UpdateResponse updateResponse = internalCluster().coordOnlyNodeClient().update(updateRequest).actionGet();
|
UpdateResponse updateResponse = internalCluster().coordOnlyNodeClient().update(updateRequest).actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, updateResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, updateResponse.getResult());
|
||||||
|
|
||||||
clearInterceptedActions();
|
clearInterceptedActions();
|
||||||
assertSameIndices(updateRequest, updateShardActions);
|
assertSameIndices(updateRequest, updateShardActions);
|
||||||
|
@ -264,7 +264,7 @@ public class IndicesRequestIT extends ESIntegTestCase {
|
||||||
UpdateRequest updateRequest = new UpdateRequest(indexOrAlias, "type", "id")
|
UpdateRequest updateRequest = new UpdateRequest(indexOrAlias, "type", "id")
|
||||||
.script(new Script("ctx.op='delete'", ScriptService.ScriptType.INLINE, CustomScriptPlugin.NAME, Collections.emptyMap()));
|
.script(new Script("ctx.op='delete'", ScriptService.ScriptType.INLINE, CustomScriptPlugin.NAME, Collections.emptyMap()));
|
||||||
UpdateResponse updateResponse = internalCluster().coordOnlyNodeClient().update(updateRequest).actionGet();
|
UpdateResponse updateResponse = internalCluster().coordOnlyNodeClient().update(updateRequest).actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, updateResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, updateResponse.getResult());
|
||||||
|
|
||||||
clearInterceptedActions();
|
clearInterceptedActions();
|
||||||
assertSameIndices(updateRequest, updateShardActions);
|
assertSameIndices(updateRequest, updateShardActions);
|
||||||
|
|
|
@ -207,11 +207,11 @@ public class BulkWithUpdatesIT extends ESIntegTestCase {
|
||||||
.add(client().prepareIndex("test", "type", "2").setCreate(true).setSource("field", "1"))
|
.add(client().prepareIndex("test", "type", "2").setCreate(true).setSource("field", "1"))
|
||||||
.add(client().prepareIndex("test", "type", "1").setSource("field", "2")).get();
|
.add(client().prepareIndex("test", "type", "1").setSource("field", "2")).get();
|
||||||
|
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, bulkResponse.getItems()[0].getResponse().getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, bulkResponse.getItems()[0].getResponse().getResult());
|
||||||
assertThat(bulkResponse.getItems()[0].getResponse().getVersion(), equalTo(1L));
|
assertThat(bulkResponse.getItems()[0].getResponse().getVersion(), equalTo(1L));
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, bulkResponse.getItems()[1].getResponse().getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, bulkResponse.getItems()[1].getResponse().getResult());
|
||||||
assertThat(bulkResponse.getItems()[1].getResponse().getVersion(), equalTo(1L));
|
assertThat(bulkResponse.getItems()[1].getResponse().getVersion(), equalTo(1L));
|
||||||
assertEquals(DocWriteResponse.Operation.INDEX, bulkResponse.getItems()[2].getResponse().getOperation());
|
assertEquals(DocWriteResponse.Result.UPDATED, bulkResponse.getItems()[2].getResponse().getResult());
|
||||||
assertThat(bulkResponse.getItems()[2].getResponse().getVersion(), equalTo(2L));
|
assertThat(bulkResponse.getItems()[2].getResponse().getVersion(), equalTo(2L));
|
||||||
|
|
||||||
bulkResponse = client().prepareBulk()
|
bulkResponse = client().prepareBulk()
|
||||||
|
@ -232,11 +232,11 @@ public class BulkWithUpdatesIT extends ESIntegTestCase {
|
||||||
.setSource("field", "2").setVersion(12).setVersionType(VersionType.EXTERNAL))
|
.setSource("field", "2").setVersion(12).setVersionType(VersionType.EXTERNAL))
|
||||||
.get();
|
.get();
|
||||||
|
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, bulkResponse.getItems()[0].getResponse().getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, bulkResponse.getItems()[0].getResponse().getResult());
|
||||||
assertThat(bulkResponse.getItems()[0].getResponse().getVersion(), equalTo(10L));
|
assertThat(bulkResponse.getItems()[0].getResponse().getVersion(), equalTo(10L));
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, bulkResponse.getItems()[1].getResponse().getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, bulkResponse.getItems()[1].getResponse().getResult());
|
||||||
assertThat(bulkResponse.getItems()[1].getResponse().getVersion(), equalTo(10L));
|
assertThat(bulkResponse.getItems()[1].getResponse().getVersion(), equalTo(10L));
|
||||||
assertEquals(DocWriteResponse.Operation.INDEX, bulkResponse.getItems()[2].getResponse().getOperation());
|
assertEquals(DocWriteResponse.Result.UPDATED, bulkResponse.getItems()[2].getResponse().getResult());
|
||||||
assertThat(bulkResponse.getItems()[2].getResponse().getVersion(), equalTo(12L));
|
assertThat(bulkResponse.getItems()[2].getResponse().getVersion(), equalTo(12L));
|
||||||
|
|
||||||
bulkResponse = client().prepareBulk()
|
bulkResponse = client().prepareBulk()
|
||||||
|
|
|
@ -98,7 +98,7 @@ public class IndexingMasterFailoverIT extends ESIntegTestCase {
|
||||||
for (int i = 0; i < 10; i++) {
|
for (int i = 0; i < 10; i++) {
|
||||||
// index data with mapping changes
|
// index data with mapping changes
|
||||||
IndexResponse response = client(dataNode).prepareIndex("myindex", "mytype").setSource("field_" + i, "val").get();
|
IndexResponse response = client(dataNode).prepareIndex("myindex", "mytype").setSource("field_" + i, "val").get();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, response.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, response.getResult());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -119,8 +119,8 @@ public class BasicBackwardsCompatibilityIT extends ESBackcompatTestCase {
|
||||||
for (int i = 0; i < numDocs; i++) {
|
for (int i = 0; i < numDocs; i++) {
|
||||||
String routingKey = routing ? randomRealisticUnicodeOfLength(10) : null;
|
String routingKey = routing ? randomRealisticUnicodeOfLength(10) : null;
|
||||||
String id = Integer.toString(i);
|
String id = Integer.toString(i);
|
||||||
assertEquals(id, DocWriteResponse.Operation.CREATE, client().prepareIndex("test", "type1", id)
|
assertEquals(id, DocWriteResponse.Result.CREATED, client().prepareIndex("test", "type1", id)
|
||||||
.setRouting(routingKey).setSource("field1", English.intToEnglish(i)).get().getOperation());
|
.setRouting(routingKey).setSource("field1", English.intToEnglish(i)).get().getResult());
|
||||||
GetResponse get = client().prepareGet("test", "type1", id).setRouting(routingKey).setVersion(1).get();
|
GetResponse get = client().prepareGet("test", "type1", id).setRouting(routingKey).setVersion(1).get();
|
||||||
assertThat("Document with ID " + id + " should exist but doesn't", get.isExists(), is(true));
|
assertThat("Document with ID " + id + " should exist but doesn't", get.isExists(), is(true));
|
||||||
assertThat(get.getVersion(), equalTo(1L));
|
assertThat(get.getVersion(), equalTo(1L));
|
||||||
|
@ -478,7 +478,7 @@ public class BasicBackwardsCompatibilityIT extends ESBackcompatTestCase {
|
||||||
assertThat(searchResponse.getHits().totalHits(), equalTo((long) numDocs));
|
assertThat(searchResponse.getHits().totalHits(), equalTo((long) numDocs));
|
||||||
|
|
||||||
DeleteResponse deleteResponse = client().prepareDelete("test", "test", firstDocId).setRouting("routing").get();
|
DeleteResponse deleteResponse = client().prepareDelete("test", "test", firstDocId).setRouting("routing").get();
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult());
|
||||||
GetResponse getResponse = client().prepareGet("test", "test", firstDocId).setRouting("routing").get();
|
GetResponse getResponse = client().prepareGet("test", "test", firstDocId).setRouting("routing").get();
|
||||||
assertThat(getResponse.isExists(), equalTo(false));
|
assertThat(getResponse.isExists(), equalTo(false));
|
||||||
refresh();
|
refresh();
|
||||||
|
@ -493,7 +493,7 @@ public class BasicBackwardsCompatibilityIT extends ESBackcompatTestCase {
|
||||||
int numDocs = iterations(10, 50);
|
int numDocs = iterations(10, 50);
|
||||||
for (int i = 0; i < numDocs; i++) {
|
for (int i = 0; i < numDocs; i++) {
|
||||||
IndexResponse indexResponse = client().prepareIndex(indexOrAlias(), "type", Integer.toString(i)).setSource("field", "value-" + i).get();
|
IndexResponse indexResponse = client().prepareIndex(indexOrAlias(), "type", Integer.toString(i)).setSource("field", "value-" + i).get();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
assertThat(indexResponse.getIndex(), equalTo("test"));
|
assertThat(indexResponse.getIndex(), equalTo("test"));
|
||||||
assertThat(indexResponse.getType(), equalTo("type"));
|
assertThat(indexResponse.getType(), equalTo("type"));
|
||||||
assertThat(indexResponse.getId(), equalTo(Integer.toString(i)));
|
assertThat(indexResponse.getId(), equalTo(Integer.toString(i)));
|
||||||
|
@ -508,7 +508,7 @@ public class BasicBackwardsCompatibilityIT extends ESBackcompatTestCase {
|
||||||
assertThat(getResponse.getId(), equalTo(docId));
|
assertThat(getResponse.getId(), equalTo(docId));
|
||||||
|
|
||||||
DeleteResponse deleteResponse = client().prepareDelete(indexOrAlias(), "type", docId).get();
|
DeleteResponse deleteResponse = client().prepareDelete(indexOrAlias(), "type", docId).get();
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult());
|
||||||
assertThat(deleteResponse.getIndex(), equalTo("test"));
|
assertThat(deleteResponse.getIndex(), equalTo("test"));
|
||||||
assertThat(deleteResponse.getType(), equalTo("type"));
|
assertThat(deleteResponse.getType(), equalTo("type"));
|
||||||
assertThat(deleteResponse.getId(), equalTo(docId));
|
assertThat(deleteResponse.getId(), equalTo(docId));
|
||||||
|
@ -532,7 +532,7 @@ public class BasicBackwardsCompatibilityIT extends ESBackcompatTestCase {
|
||||||
assertThat(updateResponse.getIndex(), equalTo("test"));
|
assertThat(updateResponse.getIndex(), equalTo("test"));
|
||||||
assertThat(updateResponse.getType(), equalTo("type1"));
|
assertThat(updateResponse.getType(), equalTo("type1"));
|
||||||
assertThat(updateResponse.getId(), equalTo("1"));
|
assertThat(updateResponse.getId(), equalTo("1"));
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, updateResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, updateResponse.getResult());
|
||||||
|
|
||||||
GetResponse getResponse = client().prepareGet("test", "type1", "1").get();
|
GetResponse getResponse = client().prepareGet("test", "type1", "1").get();
|
||||||
assertThat(getResponse.isExists(), equalTo(true));
|
assertThat(getResponse.isExists(), equalTo(true));
|
||||||
|
@ -543,7 +543,7 @@ public class BasicBackwardsCompatibilityIT extends ESBackcompatTestCase {
|
||||||
assertThat(updateResponse.getIndex(), equalTo("test"));
|
assertThat(updateResponse.getIndex(), equalTo("test"));
|
||||||
assertThat(updateResponse.getType(), equalTo("type1"));
|
assertThat(updateResponse.getType(), equalTo("type1"));
|
||||||
assertThat(updateResponse.getId(), equalTo("1"));
|
assertThat(updateResponse.getId(), equalTo("1"));
|
||||||
assertEquals(DocWriteResponse.Operation.INDEX, updateResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.UPDATED, updateResponse.getResult());
|
||||||
|
|
||||||
getResponse = client().prepareGet("test", "type1", "1").get();
|
getResponse = client().prepareGet("test", "type1", "1").get();
|
||||||
assertThat(getResponse.isExists(), equalTo(true));
|
assertThat(getResponse.isExists(), equalTo(true));
|
||||||
|
|
|
@ -491,7 +491,7 @@ public class DiscoveryWithServiceDisruptionsIT extends ESIntegTestCase {
|
||||||
logger.trace("[{}] indexing id [{}] through node [{}] targeting shard [{}]", name, id, node, shard);
|
logger.trace("[{}] indexing id [{}] through node [{}] targeting shard [{}]", name, id, node, shard);
|
||||||
IndexResponse response =
|
IndexResponse response =
|
||||||
client.prepareIndex("test", "type", id).setSource("{}").setTimeout(timeout).get(timeout);
|
client.prepareIndex("test", "type", id).setSource("{}").setTimeout(timeout).get(timeout);
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, response.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, response.getResult());
|
||||||
ackedDocs.put(id, node);
|
ackedDocs.put(id, node);
|
||||||
logger.trace("[{}] indexed id [{}] through node [{}]", name, id, node);
|
logger.trace("[{}] indexed id [{}] through node [{}]", name, id, node);
|
||||||
} catch (ElasticsearchException e) {
|
} catch (ElasticsearchException e) {
|
||||||
|
|
|
@ -177,7 +177,7 @@ public class GetActionIT extends ESIntegTestCase {
|
||||||
assertThat(response.getSourceAsMap().get("field2").toString(), equalTo("value2_2"));
|
assertThat(response.getSourceAsMap().get("field2").toString(), equalTo("value2_2"));
|
||||||
|
|
||||||
DeleteResponse deleteResponse = client().prepareDelete("test", "type1", "1").get();
|
DeleteResponse deleteResponse = client().prepareDelete("test", "type1", "1").get();
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult());
|
||||||
|
|
||||||
response = client().prepareGet(indexOrAlias(), "type1", "1").get();
|
response = client().prepareGet(indexOrAlias(), "type1", "1").get();
|
||||||
assertThat(response.isExists(), equalTo(false));
|
assertThat(response.isExists(), equalTo(false));
|
||||||
|
|
|
@ -415,7 +415,7 @@ public class IndexWithShadowReplicasIT extends ESIntegTestCase {
|
||||||
try {
|
try {
|
||||||
final IndexResponse indexResponse = client().prepareIndex(IDX, "doc",
|
final IndexResponse indexResponse = client().prepareIndex(IDX, "doc",
|
||||||
Integer.toString(counter.incrementAndGet())).setSource("foo", "bar").get();
|
Integer.toString(counter.incrementAndGet())).setSource("foo", "bar").get();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
exceptions.add(e);
|
exceptions.add(e);
|
||||||
}
|
}
|
||||||
|
@ -508,7 +508,7 @@ public class IndexWithShadowReplicasIT extends ESIntegTestCase {
|
||||||
while (counter.get() < (numPhase1Docs + numPhase2Docs + numPhase3Docs)) {
|
while (counter.get() < (numPhase1Docs + numPhase2Docs + numPhase3Docs)) {
|
||||||
final IndexResponse indexResponse = client().prepareIndex(IDX, "doc",
|
final IndexResponse indexResponse = client().prepareIndex(IDX, "doc",
|
||||||
Integer.toString(counter.incrementAndGet())).setSource("foo", "bar").get();
|
Integer.toString(counter.incrementAndGet())).setSource("foo", "bar").get();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
final int docCount = counter.get();
|
final int docCount = counter.get();
|
||||||
if (docCount == numPhase1Docs) {
|
if (docCount == numPhase1Docs) {
|
||||||
phase1finished.countDown();
|
phase1finished.countDown();
|
||||||
|
|
|
@ -84,7 +84,7 @@ public class WaitUntilRefreshIT extends ESIntegTestCase {
|
||||||
|
|
||||||
// Now delete with blockUntilRefresh
|
// Now delete with blockUntilRefresh
|
||||||
DeleteResponse delete = client().prepareDelete("test", "test", "1").setRefreshPolicy(RefreshPolicy.WAIT_UNTIL).get();
|
DeleteResponse delete = client().prepareDelete("test", "test", "1").setRefreshPolicy(RefreshPolicy.WAIT_UNTIL).get();
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, delete.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, delete.getResult());
|
||||||
assertFalse("request shouldn't have forced a refresh", delete.forcedRefresh());
|
assertFalse("request shouldn't have forced a refresh", delete.forcedRefresh());
|
||||||
assertNoSearchHits(client().prepareSearch("test").setQuery(matchQuery("foo", "bar")).get());
|
assertNoSearchHits(client().prepareSearch("test").setQuery(matchQuery("foo", "bar")).get());
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,8 +100,8 @@ public class DynamicMappingIT extends ESIntegTestCase {
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
startLatch.await();
|
startLatch.await();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, client().prepareIndex("index", "type", id)
|
assertEquals(DocWriteResponse.Result.CREATED, client().prepareIndex("index", "type", id)
|
||||||
.setSource("field" + id, "bar").get().getOperation());
|
.setSource("field" + id, "bar").get().getResult());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
error.compareAndSet(null, e);
|
error.compareAndSet(null, e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -137,13 +137,13 @@ public class TokenCountFieldMapperIntegrationIT extends ESIntegTestCase {
|
||||||
.endObject().endObject()).get();
|
.endObject().endObject()).get();
|
||||||
ensureGreen();
|
ensureGreen();
|
||||||
|
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, prepareIndex("single", "I have four terms").get().getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, prepareIndex("single", "I have four terms").get().getResult());
|
||||||
BulkResponse bulk = client().prepareBulk()
|
BulkResponse bulk = client().prepareBulk()
|
||||||
.add(prepareIndex("bulk1", "bulk three terms"))
|
.add(prepareIndex("bulk1", "bulk three terms"))
|
||||||
.add(prepareIndex("bulk2", "this has five bulk terms")).get();
|
.add(prepareIndex("bulk2", "this has five bulk terms")).get();
|
||||||
assertFalse(bulk.buildFailureMessage(), bulk.hasFailures());
|
assertFalse(bulk.buildFailureMessage(), bulk.hasFailures());
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE,
|
assertEquals(DocWriteResponse.Result.CREATED,
|
||||||
prepareIndex("multi", "two terms", "wow now I have seven lucky terms").get().getOperation());
|
prepareIndex("multi", "two terms", "wow now I have seven lucky terms").get().getResult());
|
||||||
bulk = client().prepareBulk()
|
bulk = client().prepareBulk()
|
||||||
.add(prepareIndex("multibulk1", "one", "oh wow now I have eight unlucky terms"))
|
.add(prepareIndex("multibulk1", "one", "oh wow now I have eight unlucky terms"))
|
||||||
.add(prepareIndex("multibulk2", "six is a bunch of terms", "ten! ten terms is just crazy! too many too count!")).get();
|
.add(prepareIndex("multibulk2", "six is a bunch of terms", "ten! ten terms is just crazy! too many too count!")).get();
|
||||||
|
|
|
@ -449,7 +449,7 @@ public class LegacyDateMappingTests extends ESSingleNodeTestCase {
|
||||||
ParsedDocument doc = defaultMapper.parse("test", "type", "1", document.bytes());
|
ParsedDocument doc = defaultMapper.parse("test", "type", "1", document.bytes());
|
||||||
assertThat(getDateAsMillis(doc.rootDoc(), "date_field"), equalTo(1433239200000L));
|
assertThat(getDateAsMillis(doc.rootDoc(), "date_field"), equalTo(1433239200000L));
|
||||||
IndexResponse indexResponse = client().prepareIndex("test2", "test").setSource(document).get();
|
IndexResponse indexResponse = client().prepareIndex("test2", "test").setSource(document).get();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
|
|
||||||
// integers should always be parsed as well... cannot be sure it is a unix timestamp only
|
// integers should always be parsed as well... cannot be sure it is a unix timestamp only
|
||||||
doc = defaultMapper.parse("test", "type", "1", XContentFactory.jsonBuilder()
|
doc = defaultMapper.parse("test", "type", "1", XContentFactory.jsonBuilder()
|
||||||
|
@ -459,7 +459,7 @@ public class LegacyDateMappingTests extends ESSingleNodeTestCase {
|
||||||
.bytes());
|
.bytes());
|
||||||
assertThat(getDateAsMillis(doc.rootDoc(), "date_field"), equalTo(1433239200000L));
|
assertThat(getDateAsMillis(doc.rootDoc(), "date_field"), equalTo(1433239200000L));
|
||||||
indexResponse = client().prepareIndex("test", "test").setSource(document).get();
|
indexResponse = client().prepareIndex("test", "test").setSource(document).get();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testThatNewIndicesOnlyAllowStrictDates() throws Exception {
|
public void testThatNewIndicesOnlyAllowStrictDates() throws Exception {
|
||||||
|
|
|
@ -30,8 +30,6 @@ import org.elasticsearch.Version;
|
||||||
import org.elasticsearch.action.ActionListener;
|
import org.elasticsearch.action.ActionListener;
|
||||||
import org.elasticsearch.action.DocWriteResponse;
|
import org.elasticsearch.action.DocWriteResponse;
|
||||||
import org.elasticsearch.action.admin.indices.flush.FlushRequest;
|
import org.elasticsearch.action.admin.indices.flush.FlushRequest;
|
||||||
import org.elasticsearch.action.admin.indices.recovery.RecoveryRequest;
|
|
||||||
import org.elasticsearch.action.admin.indices.stats.IndexShardStats;
|
|
||||||
import org.elasticsearch.action.index.IndexRequest;
|
import org.elasticsearch.action.index.IndexRequest;
|
||||||
import org.elasticsearch.action.index.IndexResponse;
|
import org.elasticsearch.action.index.IndexResponse;
|
||||||
import org.elasticsearch.action.index.TransportIndexAction;
|
import org.elasticsearch.action.index.TransportIndexAction;
|
||||||
|
@ -82,8 +80,6 @@ import org.elasticsearch.test.junit.annotations.TestLogging;
|
||||||
import org.elasticsearch.threadpool.TestThreadPool;
|
import org.elasticsearch.threadpool.TestThreadPool;
|
||||||
import org.elasticsearch.threadpool.ThreadPool;
|
import org.elasticsearch.threadpool.ThreadPool;
|
||||||
import org.elasticsearch.transport.TransportResponse;
|
import org.elasticsearch.transport.TransportResponse;
|
||||||
import org.junit.After;
|
|
||||||
import org.junit.Before;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
|
@ -257,7 +253,7 @@ public abstract class ESIndexLevelReplicationTestCase extends ESTestCase {
|
||||||
final IndexRequest indexRequest = new IndexRequest(index.getName(), "type", Integer.toString(docId.incrementAndGet()))
|
final IndexRequest indexRequest = new IndexRequest(index.getName(), "type", Integer.toString(docId.incrementAndGet()))
|
||||||
.source("{}");
|
.source("{}");
|
||||||
final IndexResponse response = index(indexRequest);
|
final IndexResponse response = index(indexRequest);
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, response.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, response.getResult());
|
||||||
}
|
}
|
||||||
return numOfDoc;
|
return numOfDoc;
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,15 +94,15 @@ public class IndexActionIT extends ESIntegTestCase {
|
||||||
ensureGreen();
|
ensureGreen();
|
||||||
|
|
||||||
IndexResponse indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_1").execute().actionGet();
|
IndexResponse indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_1").execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
|
|
||||||
indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_2").execute().actionGet();
|
indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_2").execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.INDEX, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.UPDATED, indexResponse.getResult());
|
||||||
|
|
||||||
client().prepareDelete("test", "type", "1").execute().actionGet();
|
client().prepareDelete("test", "type", "1").execute().actionGet();
|
||||||
|
|
||||||
indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_2").execute().actionGet();
|
indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_2").execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -111,14 +111,14 @@ public class IndexActionIT extends ESIntegTestCase {
|
||||||
ensureGreen();
|
ensureGreen();
|
||||||
|
|
||||||
IndexResponse indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_1").execute().actionGet();
|
IndexResponse indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_1").execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
|
|
||||||
client().prepareDelete("test", "type", "1").execute().actionGet();
|
client().prepareDelete("test", "type", "1").execute().actionGet();
|
||||||
|
|
||||||
flush();
|
flush();
|
||||||
|
|
||||||
indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_2").execute().actionGet();
|
indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_2").execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testCreatedFlagParallelExecution() throws Exception {
|
public void testCreatedFlagParallelExecution() throws Exception {
|
||||||
|
@ -139,7 +139,7 @@ public class IndexActionIT extends ESIntegTestCase {
|
||||||
public Void call() throws Exception {
|
public Void call() throws Exception {
|
||||||
int docId = random.nextInt(docCount);
|
int docId = random.nextInt(docCount);
|
||||||
IndexResponse indexResponse = index("test", "type", Integer.toString(docId), "field1", "value");
|
IndexResponse indexResponse = index("test", "type", Integer.toString(docId), "field1", "value");
|
||||||
if (indexResponse.getOperation() == DocWriteResponse.Operation.CREATE) {
|
if (indexResponse.getResult() == DocWriteResponse.Result.CREATED) {
|
||||||
createdCounts.incrementAndGet(docId);
|
createdCounts.incrementAndGet(docId);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
@ -161,7 +161,7 @@ public class IndexActionIT extends ESIntegTestCase {
|
||||||
|
|
||||||
IndexResponse indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_1").setVersion(123)
|
IndexResponse indexResponse = client().prepareIndex("test", "type", "1").setSource("field1", "value1_1").setVersion(123)
|
||||||
.setVersionType(VersionType.EXTERNAL).execute().actionGet();
|
.setVersionType(VersionType.EXTERNAL).execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testCreateFlagWithBulk() {
|
public void testCreateFlagWithBulk() {
|
||||||
|
@ -172,7 +172,7 @@ public class IndexActionIT extends ESIntegTestCase {
|
||||||
assertThat(bulkResponse.hasFailures(), equalTo(false));
|
assertThat(bulkResponse.hasFailures(), equalTo(false));
|
||||||
assertThat(bulkResponse.getItems().length, equalTo(1));
|
assertThat(bulkResponse.getItems().length, equalTo(1));
|
||||||
IndexResponse indexResponse = bulkResponse.getItems()[0].getResponse();
|
IndexResponse indexResponse = bulkResponse.getItems()[0].getResponse();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testCreateIndexWithLongName() {
|
public void testCreateIndexWithLongName() {
|
||||||
|
|
|
@ -24,7 +24,6 @@ import org.elasticsearch.action.admin.indices.stats.IndicesStatsResponse;
|
||||||
import org.elasticsearch.action.delete.DeleteResponse;
|
import org.elasticsearch.action.delete.DeleteResponse;
|
||||||
import org.elasticsearch.action.get.GetResponse;
|
import org.elasticsearch.action.get.GetResponse;
|
||||||
import org.elasticsearch.action.search.SearchResponse;
|
import org.elasticsearch.action.search.SearchResponse;
|
||||||
import org.elasticsearch.action.update.UpdateHelper;
|
|
||||||
import org.elasticsearch.cluster.ClusterState;
|
import org.elasticsearch.cluster.ClusterState;
|
||||||
import org.elasticsearch.test.ESIntegTestCase;
|
import org.elasticsearch.test.ESIntegTestCase;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -76,15 +75,15 @@ public class DateMathIndexExpressionsIntegrationIT extends ESIntegTestCase {
|
||||||
assertThat(indicesStatsResponse.getIndex(index3), notNullValue());
|
assertThat(indicesStatsResponse.getIndex(index3), notNullValue());
|
||||||
|
|
||||||
DeleteResponse deleteResponse = client().prepareDelete(dateMathExp1, "type", "1").get();
|
DeleteResponse deleteResponse = client().prepareDelete(dateMathExp1, "type", "1").get();
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult());
|
||||||
assertThat(deleteResponse.getId(), equalTo("1"));
|
assertThat(deleteResponse.getId(), equalTo("1"));
|
||||||
|
|
||||||
deleteResponse = client().prepareDelete(dateMathExp2, "type", "2").get();
|
deleteResponse = client().prepareDelete(dateMathExp2, "type", "2").get();
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult());
|
||||||
assertThat(deleteResponse.getId(), equalTo("2"));
|
assertThat(deleteResponse.getId(), equalTo("2"));
|
||||||
|
|
||||||
deleteResponse = client().prepareDelete(dateMathExp3, "type", "3").get();
|
deleteResponse = client().prepareDelete(dateMathExp3, "type", "3").get();
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult());
|
||||||
assertThat(deleteResponse.getId(), equalTo("3"));
|
assertThat(deleteResponse.getId(), equalTo("3"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,9 +56,9 @@ public class IndexPrimaryRelocationIT extends ESIntegTestCase {
|
||||||
public void run() {
|
public void run() {
|
||||||
while (finished.get() == false) {
|
while (finished.get() == false) {
|
||||||
IndexResponse indexResponse = client().prepareIndex("test", "type", "id").setSource("field", "value").get();
|
IndexResponse indexResponse = client().prepareIndex("test", "type", "id").setSource("field", "value").get();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
DeleteResponse deleteResponse = client().prepareDelete("test", "type", "id").get();
|
DeleteResponse deleteResponse = client().prepareDelete("test", "type", "id").get();
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -35,7 +35,6 @@ import org.elasticsearch.action.search.SearchType;
|
||||||
import org.elasticsearch.cluster.metadata.IndexMetaData;
|
import org.elasticsearch.cluster.metadata.IndexMetaData;
|
||||||
import org.elasticsearch.common.bytes.BytesReference;
|
import org.elasticsearch.common.bytes.BytesReference;
|
||||||
import org.elasticsearch.common.io.stream.BytesStreamOutput;
|
import org.elasticsearch.common.io.stream.BytesStreamOutput;
|
||||||
import org.elasticsearch.common.io.stream.StreamInput;
|
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.index.IndexModule;
|
import org.elasticsearch.index.IndexModule;
|
||||||
import org.elasticsearch.index.IndexSettings;
|
import org.elasticsearch.index.IndexSettings;
|
||||||
|
@ -1037,8 +1036,8 @@ public class IndexStatsIT extends ESIntegTestCase {
|
||||||
assertThat(stats.getTotal().queryCache.getCacheSize(), greaterThan(0L));
|
assertThat(stats.getTotal().queryCache.getCacheSize(), greaterThan(0L));
|
||||||
});
|
});
|
||||||
|
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, client().prepareDelete("index", "type", "1").get().getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, client().prepareDelete("index", "type", "1").get().getResult());
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, client().prepareDelete("index", "type", "2").get().getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, client().prepareDelete("index", "type", "2").get().getResult());
|
||||||
refresh();
|
refresh();
|
||||||
response = client().admin().indices().prepareStats("index").setQueryCache(true).get();
|
response = client().admin().indices().prepareStats("index").setQueryCache(true).get();
|
||||||
assertCumulativeQueryCacheStats(response);
|
assertCumulativeQueryCacheStats(response);
|
||||||
|
|
|
@ -162,7 +162,7 @@ public class IngestClientIT extends ESIntegTestCase {
|
||||||
itemResponse.isFailed(), is(false));
|
itemResponse.isFailed(), is(false));
|
||||||
assertThat(indexResponse, notNullValue());
|
assertThat(indexResponse, notNullValue());
|
||||||
assertThat(indexResponse.getId(), equalTo(Integer.toString(i)));
|
assertThat(indexResponse.getId(), equalTo(Integer.toString(i)));
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,6 @@ import org.elasticsearch.common.settings.Setting;
|
||||||
import org.elasticsearch.common.settings.Setting.Property;
|
import org.elasticsearch.common.settings.Setting.Property;
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.common.settings.Settings.Builder;
|
import org.elasticsearch.common.settings.Settings.Builder;
|
||||||
import org.elasticsearch.common.settings.SettingsModule;
|
|
||||||
import org.elasticsearch.common.unit.TimeValue;
|
import org.elasticsearch.common.unit.TimeValue;
|
||||||
import org.elasticsearch.common.xcontent.XContentFactory;
|
import org.elasticsearch.common.xcontent.XContentFactory;
|
||||||
import org.elasticsearch.index.MockEngineFactoryPlugin;
|
import org.elasticsearch.index.MockEngineFactoryPlugin;
|
||||||
|
@ -108,7 +107,7 @@ public class SearchWithRandomExceptionsIT extends ESIntegTestCase {
|
||||||
for (int i = 0; i < numDocs; i++) {
|
for (int i = 0; i < numDocs; i++) {
|
||||||
try {
|
try {
|
||||||
IndexResponse indexResponse = client().prepareIndex("test", "type", "" + i).setTimeout(TimeValue.timeValueSeconds(1)).setSource("test", English.intToEnglish(i)).get();
|
IndexResponse indexResponse = client().prepareIndex("test", "type", "" + i).setTimeout(TimeValue.timeValueSeconds(1)).setSource("test", English.intToEnglish(i)).get();
|
||||||
if (indexResponse.getOperation() == DocWriteResponse.Operation.CREATE) {
|
if (indexResponse.getResult() == DocWriteResponse.Result.CREATED) {
|
||||||
numCreated++;
|
numCreated++;
|
||||||
added[i] = true;
|
added[i] = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -137,7 +137,7 @@ public class SearchWithRandomIOExceptionsIT extends ESIntegTestCase {
|
||||||
added[i] = false;
|
added[i] = false;
|
||||||
try {
|
try {
|
||||||
IndexResponse indexResponse = client().prepareIndex("test", "type", Integer.toString(i)).setTimeout(TimeValue.timeValueSeconds(1)).setSource("test", English.intToEnglish(i)).get();
|
IndexResponse indexResponse = client().prepareIndex("test", "type", Integer.toString(i)).setTimeout(TimeValue.timeValueSeconds(1)).setSource("test", English.intToEnglish(i)).get();
|
||||||
if (indexResponse.getOperation() == DocWriteResponse.Operation.CREATE) {
|
if (indexResponse.getResult() == DocWriteResponse.Result.CREATED) {
|
||||||
numCreated++;
|
numCreated++;
|
||||||
added[i] = true;
|
added[i] = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,7 +149,7 @@ public class SimpleNestedIT extends ESIntegTestCase {
|
||||||
|
|
||||||
// check delete, so all is gone...
|
// check delete, so all is gone...
|
||||||
DeleteResponse deleteResponse = client().prepareDelete("test", "type1", "2").execute().actionGet();
|
DeleteResponse deleteResponse = client().prepareDelete("test", "type1", "2").execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult());
|
||||||
|
|
||||||
// flush, so we fetch it from the index (as see that we filter nested docs)
|
// flush, so we fetch it from the index (as see that we filter nested docs)
|
||||||
flush();
|
flush();
|
||||||
|
|
|
@ -106,14 +106,14 @@ public class SimpleTTLIT extends ESIntegTestCase {
|
||||||
long now = System.currentTimeMillis();
|
long now = System.currentTimeMillis();
|
||||||
IndexResponse indexResponse = client().prepareIndex("test", "type1", "1").setSource("field1", "value1")
|
IndexResponse indexResponse = client().prepareIndex("test", "type1", "1").setSource("field1", "value1")
|
||||||
.setTimestamp(String.valueOf(now)).setTTL(providedTTLValue).setRefreshPolicy(IMMEDIATE).get();
|
.setTimestamp(String.valueOf(now)).setTTL(providedTTLValue).setRefreshPolicy(IMMEDIATE).get();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
indexResponse = client().prepareIndex("test", "type1", "with_routing").setSource("field1", "value1")
|
indexResponse = client().prepareIndex("test", "type1", "with_routing").setSource("field1", "value1")
|
||||||
.setTimestamp(String.valueOf(now)).setTTL(providedTTLValue).setRouting("routing").setRefreshPolicy(IMMEDIATE).get();
|
.setTimestamp(String.valueOf(now)).setTTL(providedTTLValue).setRouting("routing").setRefreshPolicy(IMMEDIATE).get();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
indexResponse = client().prepareIndex("test", "type1", "no_ttl").setSource("field1", "value1").get();
|
indexResponse = client().prepareIndex("test", "type1", "no_ttl").setSource("field1", "value1").get();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
indexResponse = client().prepareIndex("test", "type2", "default_ttl").setSource("field1", "value1").get();
|
indexResponse = client().prepareIndex("test", "type2", "default_ttl").setSource("field1", "value1").get();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, indexResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, indexResponse.getResult());
|
||||||
|
|
||||||
// realtime get check
|
// realtime get check
|
||||||
long currentTime = System.currentTimeMillis();
|
long currentTime = System.currentTimeMillis();
|
||||||
|
@ -259,7 +259,7 @@ public class SimpleTTLIT extends ESIntegTestCase {
|
||||||
long thirdTtl = aLongTime * 1;
|
long thirdTtl = aLongTime * 1;
|
||||||
IndexResponse indexResponse = client().prepareIndex("test", "type1", "1").setSource("field1", "value1")
|
IndexResponse indexResponse = client().prepareIndex("test", "type1", "1").setSource("field1", "value1")
|
||||||
.setTTL(firstTtl).setRefreshPolicy(IMMEDIATE).get();
|
.setTTL(firstTtl).setRefreshPolicy(IMMEDIATE).get();
|
||||||
assertTrue(indexResponse.getOperation() == DocWriteResponse.Operation.CREATE);
|
assertTrue(indexResponse.getResult() == DocWriteResponse.Result.CREATED);
|
||||||
assertThat(getTtl("type1", 1), both(lessThanOrEqualTo(firstTtl)).and(greaterThan(secondTtl)));
|
assertThat(getTtl("type1", 1), both(lessThanOrEqualTo(firstTtl)).and(greaterThan(secondTtl)));
|
||||||
|
|
||||||
// Updating with the default detect_noop without a change to the document doesn't change the ttl.
|
// Updating with the default detect_noop without a change to the document doesn't change the ttl.
|
||||||
|
|
|
@ -371,7 +371,7 @@ public class UpdateIT extends ESIntegTestCase {
|
||||||
.setUpsert(XContentFactory.jsonBuilder().startObject().field("field", 1).endObject())
|
.setUpsert(XContentFactory.jsonBuilder().startObject().field("field", 1).endObject())
|
||||||
.setScript(new Script("field", ScriptService.ScriptType.INLINE, "field_inc", null))
|
.setScript(new Script("field", ScriptService.ScriptType.INLINE, "field_inc", null))
|
||||||
.execute().actionGet();
|
.execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, updateResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, updateResponse.getResult());
|
||||||
assertThat(updateResponse.getIndex(), equalTo("test"));
|
assertThat(updateResponse.getIndex(), equalTo("test"));
|
||||||
|
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
|
@ -383,7 +383,7 @@ public class UpdateIT extends ESIntegTestCase {
|
||||||
.setUpsert(XContentFactory.jsonBuilder().startObject().field("field", 1).endObject())
|
.setUpsert(XContentFactory.jsonBuilder().startObject().field("field", 1).endObject())
|
||||||
.setScript(new Script("field", ScriptService.ScriptType.INLINE, "field_inc", null))
|
.setScript(new Script("field", ScriptService.ScriptType.INLINE, "field_inc", null))
|
||||||
.execute().actionGet();
|
.execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.INDEX, updateResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.UPDATED, updateResponse.getResult());
|
||||||
assertThat(updateResponse.getIndex(), equalTo("test"));
|
assertThat(updateResponse.getIndex(), equalTo("test"));
|
||||||
|
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
|
@ -412,7 +412,7 @@ public class UpdateIT extends ESIntegTestCase {
|
||||||
.setScriptedUpsert(true)
|
.setScriptedUpsert(true)
|
||||||
.setScript(new Script("", ScriptService.ScriptType.INLINE, "scripted_upsert", params))
|
.setScript(new Script("", ScriptService.ScriptType.INLINE, "scripted_upsert", params))
|
||||||
.execute().actionGet();
|
.execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.CREATE, updateResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.CREATED, updateResponse.getResult());
|
||||||
assertThat(updateResponse.getIndex(), equalTo("test"));
|
assertThat(updateResponse.getIndex(), equalTo("test"));
|
||||||
|
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
|
@ -426,7 +426,7 @@ public class UpdateIT extends ESIntegTestCase {
|
||||||
.setScriptedUpsert(true)
|
.setScriptedUpsert(true)
|
||||||
.setScript(new Script("", ScriptService.ScriptType.INLINE, "scripted_upsert", params))
|
.setScript(new Script("", ScriptService.ScriptType.INLINE, "scripted_upsert", params))
|
||||||
.execute().actionGet();
|
.execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.INDEX, updateResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.UPDATED, updateResponse.getResult());
|
||||||
assertThat(updateResponse.getIndex(), equalTo("test"));
|
assertThat(updateResponse.getIndex(), equalTo("test"));
|
||||||
|
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
|
@ -582,7 +582,7 @@ public class UpdateIT extends ESIntegTestCase {
|
||||||
UpdateResponse updateResponse = client().prepareUpdate(indexOrAlias(), "type1", "1")
|
UpdateResponse updateResponse = client().prepareUpdate(indexOrAlias(), "type1", "1")
|
||||||
.setScript(new Script("field", ScriptService.ScriptType.INLINE, "field_inc", null)).execute().actionGet();
|
.setScript(new Script("field", ScriptService.ScriptType.INLINE, "field_inc", null)).execute().actionGet();
|
||||||
assertThat(updateResponse.getVersion(), equalTo(2L));
|
assertThat(updateResponse.getVersion(), equalTo(2L));
|
||||||
assertEquals(DocWriteResponse.Operation.INDEX, updateResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.UPDATED, updateResponse.getResult());
|
||||||
assertThat(updateResponse.getIndex(), equalTo("test"));
|
assertThat(updateResponse.getIndex(), equalTo("test"));
|
||||||
|
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
|
@ -595,7 +595,7 @@ public class UpdateIT extends ESIntegTestCase {
|
||||||
updateResponse = client().prepareUpdate(indexOrAlias(), "type1", "1")
|
updateResponse = client().prepareUpdate(indexOrAlias(), "type1", "1")
|
||||||
.setScript(new Script("field", ScriptService.ScriptType.INLINE, "field_inc", params)).execute().actionGet();
|
.setScript(new Script("field", ScriptService.ScriptType.INLINE, "field_inc", params)).execute().actionGet();
|
||||||
assertThat(updateResponse.getVersion(), equalTo(3L));
|
assertThat(updateResponse.getVersion(), equalTo(3L));
|
||||||
assertEquals(DocWriteResponse.Operation.INDEX, updateResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.UPDATED, updateResponse.getResult());
|
||||||
assertThat(updateResponse.getIndex(), equalTo("test"));
|
assertThat(updateResponse.getIndex(), equalTo("test"));
|
||||||
|
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
|
@ -607,7 +607,7 @@ public class UpdateIT extends ESIntegTestCase {
|
||||||
updateResponse = client().prepareUpdate(indexOrAlias(), "type1", "1")
|
updateResponse = client().prepareUpdate(indexOrAlias(), "type1", "1")
|
||||||
.setScript(new Script("", ScriptService.ScriptType.INLINE, "put_values", Collections.singletonMap("_ctx", Collections.singletonMap("op", "none")))).execute().actionGet();
|
.setScript(new Script("", ScriptService.ScriptType.INLINE, "put_values", Collections.singletonMap("_ctx", Collections.singletonMap("op", "none")))).execute().actionGet();
|
||||||
assertThat(updateResponse.getVersion(), equalTo(3L));
|
assertThat(updateResponse.getVersion(), equalTo(3L));
|
||||||
assertEquals(DocWriteResponse.Operation.NOOP, updateResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.NOOP, updateResponse.getResult());
|
||||||
assertThat(updateResponse.getIndex(), equalTo("test"));
|
assertThat(updateResponse.getIndex(), equalTo("test"));
|
||||||
|
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
|
@ -619,7 +619,7 @@ public class UpdateIT extends ESIntegTestCase {
|
||||||
updateResponse = client().prepareUpdate(indexOrAlias(), "type1", "1")
|
updateResponse = client().prepareUpdate(indexOrAlias(), "type1", "1")
|
||||||
.setScript(new Script("", ScriptService.ScriptType.INLINE, "put_values", Collections.singletonMap("_ctx", Collections.singletonMap("op", "delete")))).execute().actionGet();
|
.setScript(new Script("", ScriptService.ScriptType.INLINE, "put_values", Collections.singletonMap("_ctx", Collections.singletonMap("op", "delete")))).execute().actionGet();
|
||||||
assertThat(updateResponse.getVersion(), equalTo(4L));
|
assertThat(updateResponse.getVersion(), equalTo(4L));
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, updateResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, updateResponse.getResult());
|
||||||
assertThat(updateResponse.getIndex(), equalTo("test"));
|
assertThat(updateResponse.getIndex(), equalTo("test"));
|
||||||
|
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
|
|
|
@ -59,7 +59,7 @@ public class SimpleVersioningIT extends ESIntegTestCase {
|
||||||
// Note - external version doesn't throw version conflicts on deletes of non existent records. This is different from internal versioning
|
// Note - external version doesn't throw version conflicts on deletes of non existent records. This is different from internal versioning
|
||||||
|
|
||||||
DeleteResponse deleteResponse = client().prepareDelete("test", "type", "1").setVersion(17).setVersionType(VersionType.EXTERNAL).execute().actionGet();
|
DeleteResponse deleteResponse = client().prepareDelete("test", "type", "1").setVersion(17).setVersionType(VersionType.EXTERNAL).execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.NOOP, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.NOT_FOUND, deleteResponse.getResult());
|
||||||
|
|
||||||
// this should conflict with the delete command transaction which told us that the object was deleted at version 17.
|
// this should conflict with the delete command transaction which told us that the object was deleted at version 17.
|
||||||
assertThrows(
|
assertThrows(
|
||||||
|
@ -98,7 +98,7 @@ public class SimpleVersioningIT extends ESIntegTestCase {
|
||||||
// deleting with a lower version works.
|
// deleting with a lower version works.
|
||||||
long v = randomIntBetween(12, 14);
|
long v = randomIntBetween(12, 14);
|
||||||
DeleteResponse deleteResponse = client().prepareDelete("test", "type", "1").setVersion(v).setVersionType(VersionType.FORCE).get();
|
DeleteResponse deleteResponse = client().prepareDelete("test", "type", "1").setVersion(v).setVersionType(VersionType.FORCE).get();
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult());
|
||||||
assertThat(deleteResponse.getVersion(), equalTo(v));
|
assertThat(deleteResponse.getVersion(), equalTo(v));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ public class SimpleVersioningIT extends ESIntegTestCase {
|
||||||
// Delete with a higher or equal version deletes all versions up to the given one.
|
// Delete with a higher or equal version deletes all versions up to the given one.
|
||||||
long v = randomIntBetween(14, 17);
|
long v = randomIntBetween(14, 17);
|
||||||
DeleteResponse deleteResponse = client().prepareDelete("test", "type", "1").setVersion(v).setVersionType(VersionType.EXTERNAL_GTE).execute().actionGet();
|
DeleteResponse deleteResponse = client().prepareDelete("test", "type", "1").setVersion(v).setVersionType(VersionType.EXTERNAL_GTE).execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult());
|
||||||
assertThat(deleteResponse.getVersion(), equalTo(v));
|
assertThat(deleteResponse.getVersion(), equalTo(v));
|
||||||
|
|
||||||
// Deleting with a lower version keeps on failing after a delete.
|
// Deleting with a lower version keeps on failing after a delete.
|
||||||
|
@ -144,7 +144,7 @@ public class SimpleVersioningIT extends ESIntegTestCase {
|
||||||
|
|
||||||
// But delete with a higher version is OK.
|
// But delete with a higher version is OK.
|
||||||
deleteResponse = client().prepareDelete("test", "type", "1").setVersion(18).setVersionType(VersionType.EXTERNAL_GTE).execute().actionGet();
|
deleteResponse = client().prepareDelete("test", "type", "1").setVersion(18).setVersionType(VersionType.EXTERNAL_GTE).execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.NOOP, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.NOT_FOUND, deleteResponse.getResult());
|
||||||
assertThat(deleteResponse.getVersion(), equalTo(18L));
|
assertThat(deleteResponse.getVersion(), equalTo(18L));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -175,7 +175,7 @@ public class SimpleVersioningIT extends ESIntegTestCase {
|
||||||
|
|
||||||
// Delete with a higher version deletes all versions up to the given one.
|
// Delete with a higher version deletes all versions up to the given one.
|
||||||
DeleteResponse deleteResponse = client().prepareDelete("test", "type", "1").setVersion(17).setVersionType(VersionType.EXTERNAL).execute().actionGet();
|
DeleteResponse deleteResponse = client().prepareDelete("test", "type", "1").setVersion(17).setVersionType(VersionType.EXTERNAL).execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult());
|
||||||
assertThat(deleteResponse.getVersion(), equalTo(17L));
|
assertThat(deleteResponse.getVersion(), equalTo(17L));
|
||||||
|
|
||||||
// Deleting with a lower version keeps on failing after a delete.
|
// Deleting with a lower version keeps on failing after a delete.
|
||||||
|
@ -186,7 +186,7 @@ public class SimpleVersioningIT extends ESIntegTestCase {
|
||||||
|
|
||||||
// But delete with a higher version is OK.
|
// But delete with a higher version is OK.
|
||||||
deleteResponse = client().prepareDelete("test", "type", "1").setVersion(18).setVersionType(VersionType.EXTERNAL).execute().actionGet();
|
deleteResponse = client().prepareDelete("test", "type", "1").setVersion(18).setVersionType(VersionType.EXTERNAL).execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.NOOP, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.NOT_FOUND, deleteResponse.getResult());
|
||||||
assertThat(deleteResponse.getVersion(), equalTo(18L));
|
assertThat(deleteResponse.getVersion(), equalTo(18L));
|
||||||
|
|
||||||
|
|
||||||
|
@ -196,7 +196,7 @@ public class SimpleVersioningIT extends ESIntegTestCase {
|
||||||
|
|
||||||
|
|
||||||
deleteResponse = client().prepareDelete("test", "type", "1").setVersion(20).setVersionType(VersionType.EXTERNAL).execute().actionGet();
|
deleteResponse = client().prepareDelete("test", "type", "1").setVersion(20).setVersionType(VersionType.EXTERNAL).execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult());
|
||||||
assertThat(deleteResponse.getVersion(), equalTo(20L));
|
assertThat(deleteResponse.getVersion(), equalTo(20L));
|
||||||
|
|
||||||
// Make sure that the next delete will be GC. Note we do it on the index settings so it will be cleaned up
|
// Make sure that the next delete will be GC. Note we do it on the index settings so it will be cleaned up
|
||||||
|
@ -281,7 +281,7 @@ public class SimpleVersioningIT extends ESIntegTestCase {
|
||||||
}
|
}
|
||||||
|
|
||||||
DeleteResponse deleteResponse = client().prepareDelete("test", "type", "1").setVersion(2).execute().actionGet();
|
DeleteResponse deleteResponse = client().prepareDelete("test", "type", "1").setVersion(2).execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.DELETE, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.DELETED, deleteResponse.getResult());
|
||||||
assertThat(deleteResponse.getVersion(), equalTo(3L));
|
assertThat(deleteResponse.getVersion(), equalTo(3L));
|
||||||
|
|
||||||
assertThrows(client().prepareDelete("test", "type", "1").setVersion(2).execute(), VersionConflictEngineException.class);
|
assertThrows(client().prepareDelete("test", "type", "1").setVersion(2).execute(), VersionConflictEngineException.class);
|
||||||
|
@ -290,7 +290,7 @@ public class SimpleVersioningIT extends ESIntegTestCase {
|
||||||
// This is intricate - the object was deleted but a delete transaction was with the right version. We add another one
|
// This is intricate - the object was deleted but a delete transaction was with the right version. We add another one
|
||||||
// and thus the transaction is increased.
|
// and thus the transaction is increased.
|
||||||
deleteResponse = client().prepareDelete("test", "type", "1").setVersion(3).execute().actionGet();
|
deleteResponse = client().prepareDelete("test", "type", "1").setVersion(3).execute().actionGet();
|
||||||
assertEquals(DocWriteResponse.Operation.NOOP, deleteResponse.getOperation());
|
assertEquals(DocWriteResponse.Result.NOT_FOUND, deleteResponse.getResult());
|
||||||
assertThat(deleteResponse.getVersion(), equalTo(4L));
|
assertThat(deleteResponse.getVersion(), equalTo(4L));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -479,7 +479,7 @@ public class SimpleVersioningIT extends ESIntegTestCase {
|
||||||
sb.append(" version=");
|
sb.append(" version=");
|
||||||
sb.append(deleteResponse.getVersion());
|
sb.append(deleteResponse.getVersion());
|
||||||
sb.append(" found=");
|
sb.append(" found=");
|
||||||
sb.append(deleteResponse.getOperation() == DocWriteResponse.Operation.DELETE);
|
sb.append(deleteResponse.getResult() == DocWriteResponse.Result.DELETED);
|
||||||
} else if (response instanceof IndexResponse) {
|
} else if (response instanceof IndexResponse) {
|
||||||
IndexResponse indexResponse = (IndexResponse) response;
|
IndexResponse indexResponse = (IndexResponse) response;
|
||||||
sb.append(" index=");
|
sb.append(" index=");
|
||||||
|
@ -491,7 +491,7 @@ public class SimpleVersioningIT extends ESIntegTestCase {
|
||||||
sb.append(" version=");
|
sb.append(" version=");
|
||||||
sb.append(indexResponse.getVersion());
|
sb.append(indexResponse.getVersion());
|
||||||
sb.append(" created=");
|
sb.append(" created=");
|
||||||
sb.append(indexResponse.getOperation() == DocWriteResponse.Operation.CREATE);
|
sb.append(indexResponse.getResult() == DocWriteResponse.Result.CREATED);
|
||||||
} else {
|
} else {
|
||||||
sb.append(" response: " + response);
|
sb.append(" response: " + response);
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,7 +57,7 @@ $ cat requests
|
||||||
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
|
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
|
||||||
{ "field1" : "value1" }
|
{ "field1" : "value1" }
|
||||||
$ curl -s -XPOST localhost:9200/_bulk --data-binary "@requests"; echo
|
$ curl -s -XPOST localhost:9200/_bulk --data-binary "@requests"; echo
|
||||||
{"took":7, "errors": false, "items":[{"index":{"_index":"test","_type":"type1","_id":"1","_version":1,"_operation":"create","forced_refresh":false}}]}
|
{"took":7, "errors": false, "items":[{"index":{"_index":"test","_type":"type1","_id":"1","_version":1,"result":"created","forced_refresh":false}}]}
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
Because this format uses literal `\n`'s as delimiters, please be sure
|
Because this format uses literal `\n`'s as delimiters, please be sure
|
||||||
|
|
|
@ -26,7 +26,7 @@ The result of the above delete operation is:
|
||||||
"_type" : "tweet",
|
"_type" : "tweet",
|
||||||
"_id" : "1",
|
"_id" : "1",
|
||||||
"_version" : 2,
|
"_version" : 2,
|
||||||
"_operation: delete"
|
"result: deleted"
|
||||||
}
|
}
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ The result of the above index operation is:
|
||||||
"_id" : "1",
|
"_id" : "1",
|
||||||
"_version" : 1,
|
"_version" : 1,
|
||||||
"created" : true,
|
"created" : true,
|
||||||
"_operation" : create
|
"result" : created
|
||||||
}
|
}
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
// TESTRESPONSE[s/"successful" : 2/"successful" : 1/]
|
// TESTRESPONSE[s/"successful" : 2/"successful" : 1/]
|
||||||
|
@ -231,7 +231,7 @@ The result of the above index operation is:
|
||||||
"_id" : "6a8ca01c-7896-48e9-81cc-9f70661fcb32",
|
"_id" : "6a8ca01c-7896-48e9-81cc-9f70661fcb32",
|
||||||
"_version" : 1,
|
"_version" : 1,
|
||||||
"created" : true,
|
"created" : true,
|
||||||
"_operation": "create"
|
"result": "created"
|
||||||
}
|
}
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
// TESTRESPONSE[s/6a8ca01c-7896-48e9-81cc-9f70661fcb32/$body._id/ s/"successful" : 2/"successful" : 1/]
|
// TESTRESPONSE[s/6a8ca01c-7896-48e9-81cc-9f70661fcb32/$body._id/ s/"successful" : 2/"successful" : 1/]
|
||||||
|
|
|
@ -133,7 +133,7 @@ curl -XPOST 'localhost:9200/test/type1/1/_update' -d '{
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
If `name` was `new_name` before the request was sent then the entire update
|
If `name` was `new_name` before the request was sent then the entire update
|
||||||
request is ignored. The `operation` element in the response returns `noop` if
|
request is ignored. The `result` element in the response returns `noop` if
|
||||||
the request was ignored.
|
the request was ignored.
|
||||||
|
|
||||||
[source,js]
|
[source,js]
|
||||||
|
@ -143,7 +143,7 @@ the request was ignored.
|
||||||
"_type": "type1",
|
"_type": "type1",
|
||||||
"_id": "1",
|
"_id": "1",
|
||||||
"_version": 1,
|
"_version": 1,
|
||||||
"_operation": noop
|
"result": noop
|
||||||
}
|
}
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -261,7 +261,7 @@ public abstract class AbstractAsyncBulkByScrollAction<Request extends AbstractBu
|
||||||
case "index":
|
case "index":
|
||||||
case "create":
|
case "create":
|
||||||
IndexResponse ir = item.getResponse();
|
IndexResponse ir = item.getResponse();
|
||||||
if (ir.getOperation() == DocWriteResponse.Operation.CREATE) {
|
if (ir.getResult() == DocWriteResponse.Result.CREATED) {
|
||||||
task.countCreated();
|
task.countCreated();
|
||||||
} else {
|
} else {
|
||||||
task.countUpdated();
|
task.countUpdated();
|
||||||
|
|
|
@ -778,7 +778,7 @@ public class AsyncBulkByScrollActionTests extends ESTestCase {
|
||||||
UpdateRequest update = (UpdateRequest) item;
|
UpdateRequest update = (UpdateRequest) item;
|
||||||
opType = "update";
|
opType = "update";
|
||||||
response = new UpdateResponse(shardId, update.type(), update.id(),
|
response = new UpdateResponse(shardId, update.type(), update.id(),
|
||||||
randomIntBetween(0, Integer.MAX_VALUE), DocWriteResponse.Operation.CREATE);
|
randomIntBetween(0, Integer.MAX_VALUE), DocWriteResponse.Result.CREATED);
|
||||||
} else if (item instanceof DeleteRequest) {
|
} else if (item instanceof DeleteRequest) {
|
||||||
DeleteRequest delete = (DeleteRequest) item;
|
DeleteRequest delete = (DeleteRequest) item;
|
||||||
opType = "delete";
|
opType = "delete";
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
"Delete operation field":
|
"Delete result field":
|
||||||
|
|
||||||
- do:
|
- do:
|
||||||
index:
|
index:
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
type: test
|
type: test
|
||||||
id: 1
|
id: 1
|
||||||
|
|
||||||
- match: { _operation: delete }
|
- match: { result: deleted }
|
||||||
|
|
||||||
- do:
|
- do:
|
||||||
catch: missing
|
catch: missing
|
||||||
|
@ -23,4 +23,4 @@
|
||||||
type: test
|
type: test
|
||||||
id: 1
|
id: 1
|
||||||
|
|
||||||
- match: { _operation: noop }
|
- match: { result: not_found }
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
"Index operation field":
|
"Index result field":
|
||||||
|
|
||||||
- do:
|
- do:
|
||||||
index:
|
index:
|
||||||
|
@ -8,7 +8,7 @@
|
||||||
id: 1
|
id: 1
|
||||||
body: { foo: bar }
|
body: { foo: bar }
|
||||||
|
|
||||||
- match: { _operation: create }
|
- match: { result: created }
|
||||||
|
|
||||||
- do:
|
- do:
|
||||||
index:
|
index:
|
||||||
|
@ -18,4 +18,4 @@
|
||||||
body: { foo: bar }
|
body: { foo: bar }
|
||||||
op_type: index
|
op_type: index
|
||||||
|
|
||||||
- match: { _operation: index }
|
- match: { result: updated }
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
"Update operation field":
|
"Update result field":
|
||||||
|
|
||||||
- do:
|
- do:
|
||||||
update:
|
update:
|
||||||
|
@ -11,7 +11,7 @@
|
||||||
doc_as_upsert: true
|
doc_as_upsert: true
|
||||||
|
|
||||||
- match: { _version: 1 }
|
- match: { _version: 1 }
|
||||||
- match: { _operation: create }
|
- match: { result: created }
|
||||||
|
|
||||||
- do:
|
- do:
|
||||||
update:
|
update:
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
doc_as_upsert: true
|
doc_as_upsert: true
|
||||||
|
|
||||||
- match: { _version: 1 }
|
- match: { _version: 1 }
|
||||||
- match: { _operation: noop }
|
- match: { result: noop }
|
||||||
|
|
||||||
- do:
|
- do:
|
||||||
update:
|
update:
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
detect_noop: false
|
detect_noop: false
|
||||||
|
|
||||||
- match: { _version: 2 }
|
- match: { _version: 2 }
|
||||||
- match: { _operation: index }
|
- match: { result: updated }
|
||||||
|
|
||||||
- do:
|
- do:
|
||||||
update:
|
update:
|
||||||
|
@ -49,4 +49,4 @@
|
||||||
detect_noop: true
|
detect_noop: true
|
||||||
|
|
||||||
- match: { _version: 3 }
|
- match: { _version: 3 }
|
||||||
- match: { _operation: index }
|
- match: { result: updated }
|
|
@ -1382,8 +1382,8 @@ public abstract class ESIntegTestCase extends ESTestCase {
|
||||||
// delete the bogus types again - it might trigger merges or at least holes in the segments and enforces deleted docs!
|
// delete the bogus types again - it might trigger merges or at least holes in the segments and enforces deleted docs!
|
||||||
for (Tuple<String, String> doc : bogusIds) {
|
for (Tuple<String, String> doc : bogusIds) {
|
||||||
assertEquals("failed to delete a dummy doc [" + doc.v1() + "][" + doc.v2() + "]",
|
assertEquals("failed to delete a dummy doc [" + doc.v1() + "][" + doc.v2() + "]",
|
||||||
DocWriteResponse.Operation.DELETE,
|
DocWriteResponse.Result.DELETED,
|
||||||
client().prepareDelete(doc.v1(), RANDOM_BOGUS_TYPE, doc.v2()).get().getOperation());
|
client().prepareDelete(doc.v1(), RANDOM_BOGUS_TYPE, doc.v2()).get().getResult());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (forceRefresh) {
|
if (forceRefresh) {
|
||||||
|
|
Loading…
Reference in New Issue