Skip to content

Commit bde2156

Browse files
committed
ctor to use Result instead of boolean
1 parent 2b6adeb commit bde2156

File tree

10 files changed

+48
-29
lines changed

10 files changed

+48
-29
lines changed

core/src/main/java/org/elasticsearch/action/bulk/TransportShardBulkAction.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ private static BulkItemResultHolder executeIndexRequest(final IndexRequest index
141141
return new BulkItemResultHolder(null, indexResult, bulkItemRequest);
142142
} else {
143143
IndexResponse response = new IndexResponse(primary.shardId(), indexRequest.type(), indexRequest.id(),
144-
indexResult.getSeqNo(), primary.getPrimaryTerm(), indexResult.getVersion(), indexResult.isCreated());
144+
indexResult.getSeqNo(), primary.getPrimaryTerm(), indexResult.getVersion(), indexResult.getResult());
145145
return new BulkItemResultHolder(response, indexResult, bulkItemRequest);
146146
}
147147
}
@@ -155,7 +155,7 @@ private static BulkItemResultHolder executeDeleteRequest(final DeleteRequest del
155155
return new BulkItemResultHolder(null, deleteResult, bulkItemRequest);
156156
} else {
157157
DeleteResponse response = new DeleteResponse(primary.shardId(), deleteRequest.type(), deleteRequest.id(),
158-
deleteResult.getSeqNo(), primary.getPrimaryTerm(), deleteResult.getVersion(), deleteResult.isFound());
158+
deleteResult.getSeqNo(), primary.getPrimaryTerm(), deleteResult.getVersion(), deleteResult.getResult());
159159
return new BulkItemResultHolder(response, deleteResult, bulkItemRequest);
160160
}
161161
}
@@ -282,7 +282,7 @@ static BulkItemResultHolder processUpdateResponse(final UpdateRequest updateRequ
282282
assert result instanceof Engine.IndexResult : result.getClass();
283283
final IndexRequest updateIndexRequest = translate.action();
284284
final IndexResponse indexResponse = new IndexResponse(primary.shardId(), updateIndexRequest.type(), updateIndexRequest.id(),
285-
result.getSeqNo(), primary.getPrimaryTerm(), result.getVersion(), ((Engine.IndexResult) result).isCreated());
285+
result.getSeqNo(), primary.getPrimaryTerm(), result.getVersion(), ((Engine.IndexResult) result).getResult());
286286
updateResponse = new UpdateResponse(indexResponse.getShardInfo(), indexResponse.getShardId(), indexResponse.getType(),
287287
indexResponse.getId(), indexResponse.getSeqNo(), indexResponse.getPrimaryTerm(), indexResponse.getVersion(),
288288
indexResponse.getResult());
@@ -303,7 +303,7 @@ static BulkItemResultHolder processUpdateResponse(final UpdateRequest updateRequ
303303
final DeleteRequest updateDeleteRequest = translate.action();
304304

305305
final DeleteResponse deleteResponse = new DeleteResponse(primary.shardId(), updateDeleteRequest.type(), updateDeleteRequest.id(),
306-
result.getSeqNo(), primary.getPrimaryTerm(), result.getVersion(), ((Engine.DeleteResult) result).isFound());
306+
result.getSeqNo(), primary.getPrimaryTerm(), result.getVersion(), ((Engine.DeleteResult) result).getResult());
307307

308308
updateResponse = new UpdateResponse(deleteResponse.getShardInfo(), deleteResponse.getShardId(),
309309
deleteResponse.getType(), deleteResponse.getId(), deleteResponse.getSeqNo(), deleteResponse.getPrimaryTerm(),

core/src/main/java/org/elasticsearch/action/delete/DeleteResponse.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@ public class DeleteResponse extends DocWriteResponse {
3939
public DeleteResponse() {
4040
}
4141

42-
public DeleteResponse(ShardId shardId, String type, String id, long seqNo, long primaryTerm, long version, boolean found) {
43-
super(shardId, type, id, seqNo, primaryTerm, version, found ? Result.DELETED : Result.NOT_FOUND);
42+
public DeleteResponse(ShardId shardId, String type, String id, long seqNo, long primaryTerm, long version, Result result) {
43+
super(shardId, type, id, seqNo, primaryTerm, version, result);
44+
assert (result == Result.DELETED || result == Result.NOT_FOUND) : result + " result is not supported! Use " + Result.DELETED
45+
+ " or " + Result.NOT_FOUND;
4446
}
4547

4648
@Override
@@ -87,8 +89,7 @@ public static class Builder extends DocWriteResponse.Builder {
8789

8890
@Override
8991
public DeleteResponse build() {
90-
DeleteResponse deleteResponse = new DeleteResponse(shardId, type, id, seqNo, primaryTerm, version,
91-
result == Result.DELETED ? true : false);
92+
DeleteResponse deleteResponse = new DeleteResponse(shardId, type, id, seqNo, primaryTerm, version, result);
9293
deleteResponse.setForcedRefresh(forcedRefresh);
9394
if (shardInfo != null) {
9495
deleteResponse.setShardInfo(shardInfo);

core/src/main/java/org/elasticsearch/action/index/IndexResponse.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,10 @@ public class IndexResponse extends DocWriteResponse {
4040
public IndexResponse() {
4141
}
4242

43-
public IndexResponse(ShardId shardId, String type, String id, long seqNo, long primaryTerm, long version, boolean created) {
44-
super(shardId, type, id, seqNo, primaryTerm, version, created ? Result.CREATED : Result.UPDATED);
43+
public IndexResponse(ShardId shardId, String type, String id, long seqNo, long primaryTerm, long version, Result result) {
44+
super(shardId, type, id, seqNo, primaryTerm, version, result);
45+
assert (result == Result.CREATED || result == Result.UPDATED) : result + " result is not supported! Use " + Result.CREATED + " or "
46+
+ Result.UPDATED;
4547
}
4648

4749
@Override
@@ -90,8 +92,7 @@ public static class Builder extends DocWriteResponse.Builder {
9092

9193
@Override
9294
public IndexResponse build() {
93-
IndexResponse indexResponse = new IndexResponse(shardId, type, id, seqNo, primaryTerm, version,
94-
result == Result.CREATED ? true : false);
95+
IndexResponse indexResponse = new IndexResponse(shardId, type, id, seqNo, primaryTerm, version, result);
9596
indexResponse.setForcedRefresh(forcedRefresh);
9697
if (shardInfo != null) {
9798
indexResponse.setShardInfo(shardInfo);

core/src/main/java/org/elasticsearch/index/engine/Engine.java

+8
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import org.apache.lucene.util.Accountables;
4545
import org.apache.lucene.util.SetOnce;
4646
import org.elasticsearch.ExceptionsHelper;
47+
import org.elasticsearch.action.DocWriteResponse;
4748
import org.elasticsearch.common.CheckedRunnable;
4849
import org.elasticsearch.common.Nullable;
4950
import org.elasticsearch.common.bytes.BytesReference;
@@ -405,6 +406,10 @@ public IndexResult(Exception failure, long version, long seqNo) {
405406
public boolean isCreated() {
406407
return created;
407408
}
409+
410+
public DocWriteResponse.Result getResult() {
411+
return created ? DocWriteResponse.Result.CREATED : DocWriteResponse.Result.UPDATED;
412+
}
408413

409414
}
410415

@@ -426,6 +431,9 @@ public boolean isFound() {
426431
return found;
427432
}
428433

434+
public DocWriteResponse.Result getResult() {
435+
return found ? DocWriteResponse.Result.DELETED : DocWriteResponse.Result.NOT_FOUND;
436+
}
429437
}
430438

431439
public static class NoOpResult extends Result {

core/src/test/java/org/elasticsearch/action/bulk/BulkRequestModifierTests.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
import org.elasticsearch.action.ActionListener;
2929
import org.elasticsearch.action.DocWriteRequest;
30+
import org.elasticsearch.action.DocWriteResponse.Result;
3031
import org.elasticsearch.action.index.IndexRequest;
3132
import org.elasticsearch.action.index.IndexResponse;
3233
import org.elasticsearch.common.xcontent.XContentType;
@@ -117,7 +118,7 @@ public void onFailure(Exception e) {
117118
for (DocWriteRequest actionRequest : bulkRequest.requests()) {
118119
IndexRequest indexRequest = (IndexRequest) actionRequest;
119120
IndexResponse indexResponse = new IndexResponse(new ShardId("index", "_na_", 0), indexRequest.type(),
120-
indexRequest.id(), 1, 17, 1, true);
121+
indexRequest.id(), 1, 17, 1, Result.CREATED);
121122
originalResponses.add(new BulkItemResponse(Integer.parseInt(indexRequest.id()), indexRequest.opType(), indexResponse));
122123
}
123124
bulkResponseListener.onResponse(new BulkResponse(originalResponses.toArray(new BulkItemResponse[originalResponses.size()]), 0));

core/src/test/java/org/elasticsearch/action/bulk/TransportShardBulkActionTests.java

+6-3
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.elasticsearch.Version;
2424
import org.elasticsearch.action.DocWriteRequest;
2525
import org.elasticsearch.action.DocWriteResponse;
26+
import org.elasticsearch.action.DocWriteResponse.Result;
2627
import org.elasticsearch.action.bulk.TransportShardBulkAction.ReplicaItemExecutionMode;
2728
import org.elasticsearch.action.delete.DeleteRequest;
2829
import org.elasticsearch.action.delete.DeleteResponse;
@@ -93,7 +94,7 @@ public void testShouldExecuteReplicaItem() throws Exception {
9394
// Successful index request should be replicated
9495
DocWriteRequest writeRequest = new IndexRequest("index", "type", "id")
9596
.source(Requests.INDEX_CONTENT_TYPE, "foo", "bar");
96-
DocWriteResponse response = new IndexResponse(shardId, "type", "id", 1, 17, 1, randomBoolean());
97+
DocWriteResponse response = new IndexResponse(shardId, "type", "id", 1, 17, 1, randomFrom(Result.CREATED, Result.UPDATED));
9798
BulkItemRequest request = new BulkItemRequest(0, writeRequest);
9899
request.setPrimaryResponse(new BulkItemResponse(0, DocWriteRequest.OpType.INDEX, response));
99100
assertThat(replicaItemExecutionMode(request, 0),
@@ -477,9 +478,10 @@ public void testUpdateReplicaRequestWithSuccess() throws Exception {
477478
BulkItemRequest replicaRequest = new BulkItemRequest(0, writeRequest);
478479

479480
boolean created = randomBoolean();
481+
Result result = created ? Result.CREATED : Result.UPDATED;
480482
Translog.Location resultLocation = new Translog.Location(42, 42, 42);
481483
Engine.IndexResult indexResult = new FakeResult(1, 1, created, resultLocation);
482-
DocWriteResponse indexResponse = new IndexResponse(shardId, "index", "id", 1, 17, 1, created);
484+
DocWriteResponse indexResponse = new IndexResponse(shardId, "index", "id", 1, 17, 1, result );
483485
BulkItemResultHolder goodResults =
484486
new BulkItemResultHolder(indexResponse, indexResult, replicaRequest);
485487

@@ -517,7 +519,8 @@ public void testCalculateTranslogLocation() throws Exception {
517519
equalTo(original));
518520

519521
boolean created = randomBoolean();
520-
DocWriteResponse indexResponse = new IndexResponse(shardId, "index", "id", 1, 17, 1, created);
522+
Result result = created ? Result.CREATED : Result.UPDATED;
523+
DocWriteResponse indexResponse = new IndexResponse(shardId, "index", "id", 1, 17, 1, result);
521524
Translog.Location newLocation = new Translog.Location(1, 1, 1);
522525
final long version = randomNonNegativeLong();
523526
final long seqNo = randomNonNegativeLong();

core/src/test/java/org/elasticsearch/action/delete/DeleteResponseTests.java

+6-4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
package org.elasticsearch.action.delete;
2121

22+
import org.elasticsearch.action.DocWriteResponse.Result;
2223
import org.elasticsearch.action.support.replication.ReplicationResponse;
2324
import org.elasticsearch.common.Strings;
2425
import org.elasticsearch.common.bytes.BytesReference;
@@ -42,13 +43,13 @@ public class DeleteResponseTests extends ESTestCase {
4243

4344
public void testToXContent() {
4445
{
45-
DeleteResponse response = new DeleteResponse(new ShardId("index", "index_uuid", 0), "type", "id", 3, 17, 5, true);
46+
DeleteResponse response = new DeleteResponse(new ShardId("index", "index_uuid", 0), "type", "id", 3, 17, 5, Result.DELETED);
4647
String output = Strings.toString(response);
4748
assertEquals("{\"_index\":\"index\",\"_type\":\"type\",\"_id\":\"id\",\"_version\":5,\"result\":\"deleted\"," +
4849
"\"_shards\":null,\"_seq_no\":3,\"_primary_term\":17}", output);
4950
}
5051
{
51-
DeleteResponse response = new DeleteResponse(new ShardId("index", "index_uuid", 0), "type", "id", -1, 0, 7, true);
52+
DeleteResponse response = new DeleteResponse(new ShardId("index", "index_uuid", 0), "type", "id", -1, 0, 7, Result.DELETED);
5253
response.setForcedRefresh(true);
5354
response.setShardInfo(new ReplicationResponse.ShardInfo(10, 5));
5455
String output = Strings.toString(response);
@@ -122,12 +123,13 @@ public static Tuple<DeleteResponse, DeleteResponse> randomDeleteResponse() {
122123

123124
Tuple<ReplicationResponse.ShardInfo, ReplicationResponse.ShardInfo> shardInfos = RandomObjects.randomShardInfo(random());
124125

125-
DeleteResponse actual = new DeleteResponse(new ShardId(index, indexUUid, shardId), type, id, seqNo, primaryTerm, version, found);
126+
DeleteResponse actual = new DeleteResponse(new ShardId(index, indexUUid, shardId), type, id, seqNo, primaryTerm, version,
127+
Result.DELETED);
126128
actual.setForcedRefresh(forcedRefresh);
127129
actual.setShardInfo(shardInfos.v1());
128130

129131
DeleteResponse expected =
130-
new DeleteResponse(new ShardId(index, INDEX_UUID_NA_VALUE, -1), type, id, seqNo, primaryTerm, version, found);
132+
new DeleteResponse(new ShardId(index, INDEX_UUID_NA_VALUE, -1), type, id, seqNo, primaryTerm, version, Result.DELETED);
131133
expected.setForcedRefresh(forcedRefresh);
132134
expected.setShardInfo(shardInfos.v2());
133135

core/src/test/java/org/elasticsearch/action/index/IndexRequestTests.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.elasticsearch.Version;
2222
import org.elasticsearch.action.ActionRequestValidationException;
2323
import org.elasticsearch.action.DocWriteRequest;
24+
import org.elasticsearch.action.DocWriteResponse.Result;
2425
import org.elasticsearch.action.support.ActiveShardCount;
2526
import org.elasticsearch.action.support.replication.ReplicationResponse;
2627
import org.elasticsearch.common.bytes.BytesArray;
@@ -134,7 +135,7 @@ public void testIndexResponse() {
134135
String type = randomAlphaOfLengthBetween(3, 10);
135136
String id = randomAlphaOfLengthBetween(3, 10);
136137
long version = randomLong();
137-
boolean created = randomBoolean();
138+
Result created = randomFrom(Result.CREATED, Result.UPDATED);
138139
IndexResponse indexResponse = new IndexResponse(shardId, type, id, SequenceNumbersService.UNASSIGNED_SEQ_NO, 0, version, created);
139140
int total = randomIntBetween(1, 10);
140141
int successful = randomIntBetween(1, 10);
@@ -149,12 +150,12 @@ public void testIndexResponse() {
149150
assertEquals(id, indexResponse.getId());
150151
assertEquals(version, indexResponse.getVersion());
151152
assertEquals(shardId, indexResponse.getShardId());
152-
assertEquals(created ? RestStatus.CREATED : RestStatus.OK, indexResponse.status());
153+
assertEquals(created == Result.CREATED ? RestStatus.CREATED : RestStatus.OK, indexResponse.status());
153154
assertEquals(total, indexResponse.getShardInfo().getTotal());
154155
assertEquals(successful, indexResponse.getShardInfo().getSuccessful());
155156
assertEquals(forcedRefresh, indexResponse.forcedRefresh());
156157
assertEquals("IndexResponse[index=" + shardId.getIndexName() + ",type=" + type + ",id="+ id +
157-
",version=" + version + ",result=" + (created ? "created" : "updated") +
158+
",version=" + version + ",result=" + (created == Result.CREATED ? "created" : "updated") +
158159
",seqNo=" + SequenceNumbersService.UNASSIGNED_SEQ_NO +
159160
",primaryTerm=" + 0 +
160161
",shards={\"total\":" + total + ",\"successful\":" + successful + ",\"failed\":0}]",

core/src/test/java/org/elasticsearch/action/index/IndexResponseTests.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
package org.elasticsearch.action.index;
2121

2222
import org.elasticsearch.action.DocWriteResponse;
23+
import org.elasticsearch.action.DocWriteResponse.Result;
2324
import org.elasticsearch.action.support.replication.ReplicationResponse;
2425
import org.elasticsearch.common.Strings;
2526
import org.elasticsearch.common.bytes.BytesReference;
@@ -43,13 +44,13 @@ public class IndexResponseTests extends ESTestCase {
4344

4445
public void testToXContent() {
4546
{
46-
IndexResponse indexResponse = new IndexResponse(new ShardId("index", "index_uuid", 0), "type", "id", 3, 17, 5, true);
47+
IndexResponse indexResponse = new IndexResponse(new ShardId("index", "index_uuid", 0), "type", "id", 3, 17, 5, Result.CREATED);
4748
String output = Strings.toString(indexResponse);
4849
assertEquals("{\"_index\":\"index\",\"_type\":\"type\",\"_id\":\"id\",\"_version\":5,\"result\":\"created\",\"_shards\":null," +
4950
"\"_seq_no\":3,\"_primary_term\":17}", output);
5051
}
5152
{
52-
IndexResponse indexResponse = new IndexResponse(new ShardId("index", "index_uuid", 0), "type", "id", -1, 17, 7, true);
53+
IndexResponse indexResponse = new IndexResponse(new ShardId("index", "index_uuid", 0), "type", "id", -1, 17, 7, Result.CREATED);
5354
indexResponse.setForcedRefresh(true);
5455
indexResponse.setShardInfo(new ReplicationResponse.ShardInfo(10, 5));
5556
String output = Strings.toString(indexResponse);
@@ -130,7 +131,7 @@ public static Tuple<IndexResponse, IndexResponse> randomIndexResponse() {
130131
long seqNo = randomFrom(SequenceNumbersService.UNASSIGNED_SEQ_NO, randomNonNegativeLong(), (long) randomIntBetween(0, 10000));
131132
long primaryTerm = seqNo == SequenceNumbersService.UNASSIGNED_SEQ_NO ? 0 : randomIntBetween(1, 10000);
132133
long version = randomBoolean() ? randomNonNegativeLong() : randomIntBetween(0, 10000);
133-
boolean created = randomBoolean();
134+
Result created = randomFrom(Result.CREATED, Result.UPDATED);
134135
boolean forcedRefresh = randomBoolean();
135136

136137
Tuple<ReplicationResponse.ShardInfo, ReplicationResponse.ShardInfo> shardInfos = RandomObjects.randomShardInfo(random());

modules/reindex/src/test/java/org/elasticsearch/index/reindex/AsyncBulkByScrollActionTests.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -290,10 +290,11 @@ public void testBulkResponseSetsLotsOfStatus() {
290290
default:
291291
throw new RuntimeException("Bad scenario");
292292
}
293+
Result result = createdResponse ? Result.CREATED : Result.UPDATED;
293294
final int seqNo = randomInt(20);
294295
final int primaryTerm = randomIntBetween(1, 16);
295296
final IndexResponse response =
296-
new IndexResponse(shardId, "type", "id" + i, seqNo, primaryTerm, randomInt(), createdResponse);
297+
new IndexResponse(shardId, "type", "id" + i, seqNo, primaryTerm, randomInt(), result);
297298
responses[i] = new BulkItemResponse(i, opType, response);
298299
}
299300
new DummyAsyncBulkByScrollAction().onBulkResponse(timeValueNanos(System.nanoTime()), new BulkResponse(responses, 0));
@@ -800,7 +801,7 @@ RequestBuilder extends ActionRequestBuilder<Request, Response, RequestBuilder>>
800801
randomInt(20),
801802
randomIntBetween(1, 16),
802803
randomIntBetween(0, Integer.MAX_VALUE),
803-
true);
804+
Result.CREATED);
804805
} else if (item instanceof UpdateRequest) {
805806
UpdateRequest update = (UpdateRequest) item;
806807
response = new UpdateResponse(shardId, update.type(), update.id(),
@@ -815,7 +816,7 @@ RequestBuilder extends ActionRequestBuilder<Request, Response, RequestBuilder>>
815816
randomInt(20),
816817
randomIntBetween(1, 16),
817818
randomIntBetween(0, Integer.MAX_VALUE),
818-
true);
819+
Result.DELETED);
819820
} else {
820821
throw new RuntimeException("Unknown request: " + item);
821822
}

0 commit comments

Comments
 (0)