mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-03-24 17:09:48 +00:00
This commit makes creators of GetField split the fields into document fields and metadata fields. It is part of larger refactoring that aims to remove the calls to static methods of MapperService related to metadata fields, as discussed in #24422.
This commit is contained in:
parent
14f29de2a8
commit
a49bafc194
@ -153,12 +153,12 @@ public class PercolateQueryBuilderTests extends AbstractQueryTestCase<PercolateQ
|
||||
if (indexedDocumentExists) {
|
||||
return new GetResponse(
|
||||
new GetResult(indexedDocumentIndex, MapperService.SINGLE_MAPPING_NAME, indexedDocumentId, 0, 1, 0L, true,
|
||||
documentSource.iterator().next(), Collections.emptyMap())
|
||||
documentSource.iterator().next(), Collections.emptyMap(), Collections.emptyMap())
|
||||
);
|
||||
} else {
|
||||
return new GetResponse(
|
||||
new GetResult(indexedDocumentIndex, MapperService.SINGLE_MAPPING_NAME, indexedDocumentId, UNASSIGNED_SEQ_NO, 0, -1,
|
||||
false, null, Collections.emptyMap())
|
||||
false, null, Collections.emptyMap(), Collections.emptyMap())
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -306,7 +306,7 @@ public class UpdateHelper {
|
||||
|
||||
// TODO when using delete/none, we can still return the source as bytes by generating it (using the sourceContentType)
|
||||
return new GetResult(concreteIndex, request.type(), request.id(), seqNo, primaryTerm, version, true, sourceFilteredAsBytes,
|
||||
Collections.emptyMap());
|
||||
Collections.emptyMap(), Collections.emptyMap());
|
||||
}
|
||||
|
||||
public static class Result {
|
||||
|
@ -164,7 +164,8 @@ public class UpdateResponse extends DocWriteResponse {
|
||||
if (getResult != null) {
|
||||
update.setGetResult(new GetResult(update.getIndex(), update.getType(), update.getId(),
|
||||
getResult.getSeqNo(), getResult.getPrimaryTerm(), update.getVersion(),
|
||||
getResult.isExists(), getResult.internalSourceRef(), getResult.getFields()));
|
||||
getResult.isExists(), getResult.internalSourceRef(), getResult.getDocumentFields(),
|
||||
getResult.getMetadataFields()));
|
||||
}
|
||||
update.setForcedRefresh(forcedRefresh);
|
||||
return update;
|
||||
|
@ -37,11 +37,9 @@ import org.elasticsearch.index.mapper.SourceFieldMapper;
|
||||
import org.elasticsearch.search.lookup.SourceLookup;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
@ -68,7 +66,8 @@ public class GetResult implements Streamable, Iterable<DocumentField>, ToXConten
|
||||
private long seqNo;
|
||||
private long primaryTerm;
|
||||
private boolean exists;
|
||||
private Map<String, DocumentField> fields;
|
||||
private Map<String, DocumentField> documentFields;
|
||||
private Map<String, DocumentField> metaFields;
|
||||
private Map<String, Object> sourceAsMap;
|
||||
private BytesReference source;
|
||||
private byte[] sourceAsBytes;
|
||||
@ -77,7 +76,7 @@ public class GetResult implements Streamable, Iterable<DocumentField>, ToXConten
|
||||
}
|
||||
|
||||
public GetResult(String index, String type, String id, long seqNo, long primaryTerm, long version, boolean exists,
|
||||
BytesReference source, Map<String, DocumentField> fields) {
|
||||
BytesReference source, Map<String, DocumentField> documentFields, Map<String, DocumentField> metaFields) {
|
||||
this.index = index;
|
||||
this.type = type;
|
||||
this.id = id;
|
||||
@ -90,9 +89,13 @@ public class GetResult implements Streamable, Iterable<DocumentField>, ToXConten
|
||||
this.version = version;
|
||||
this.exists = exists;
|
||||
this.source = source;
|
||||
this.fields = fields;
|
||||
if (this.fields == null) {
|
||||
this.fields = emptyMap();
|
||||
this.documentFields = documentFields;
|
||||
if (this.documentFields == null) {
|
||||
this.documentFields = emptyMap();
|
||||
}
|
||||
this.metaFields = metaFields;
|
||||
if (this.metaFields == null) {
|
||||
this.metaFields = emptyMap();
|
||||
}
|
||||
}
|
||||
|
||||
@ -223,20 +226,31 @@ public class GetResult implements Streamable, Iterable<DocumentField>, ToXConten
|
||||
return sourceAsMap();
|
||||
}
|
||||
|
||||
|
||||
public Map<String, DocumentField> getMetadataFields() {
|
||||
return metaFields;
|
||||
}
|
||||
|
||||
public Map<String, DocumentField> getDocumentFields() {
|
||||
return documentFields;
|
||||
}
|
||||
|
||||
public Map<String, DocumentField> getFields() {
|
||||
Map<String, DocumentField> fields = new HashMap<>();
|
||||
fields.putAll(metaFields);
|
||||
fields.putAll(documentFields);
|
||||
return fields;
|
||||
}
|
||||
|
||||
public DocumentField field(String name) {
|
||||
return fields.get(name);
|
||||
return getFields().get(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<DocumentField> iterator() {
|
||||
if (fields == null) {
|
||||
return Collections.emptyIterator();
|
||||
}
|
||||
return fields.values().iterator();
|
||||
// need to join the fields and metadata fields
|
||||
Map<String, DocumentField> allFields = this.getFields();
|
||||
return allFields.values().iterator();
|
||||
}
|
||||
|
||||
public XContentBuilder toXContentEmbedded(XContentBuilder builder, Params params) throws IOException {
|
||||
@ -245,21 +259,7 @@ public class GetResult implements Streamable, Iterable<DocumentField>, ToXConten
|
||||
builder.field(_PRIMARY_TERM, primaryTerm);
|
||||
}
|
||||
|
||||
List<DocumentField> metaFields = new ArrayList<>();
|
||||
List<DocumentField> otherFields = new ArrayList<>();
|
||||
if (fields != null && !fields.isEmpty()) {
|
||||
for (DocumentField field : fields.values()) {
|
||||
if (field.getValues().isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
if (field.isMetadataField()) {
|
||||
metaFields.add(field);
|
||||
} else {
|
||||
otherFields.add(field);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (DocumentField field : metaFields) {
|
||||
for (DocumentField field : metaFields.values()) {
|
||||
// TODO: can we avoid having an exception here?
|
||||
if (field.getName().equals(IgnoredFieldMapper.NAME)) {
|
||||
builder.field(field.getName(), field.getValues());
|
||||
@ -274,9 +274,9 @@ public class GetResult implements Streamable, Iterable<DocumentField>, ToXConten
|
||||
XContentHelper.writeRawField(SourceFieldMapper.NAME, source, builder, params);
|
||||
}
|
||||
|
||||
if (!otherFields.isEmpty()) {
|
||||
if (!documentFields.isEmpty()) {
|
||||
builder.startObject(FIELDS);
|
||||
for (DocumentField field : otherFields) {
|
||||
for (DocumentField field : documentFields.values()) {
|
||||
field.toXContent(builder, params);
|
||||
}
|
||||
builder.endObject();
|
||||
@ -318,7 +318,8 @@ public class GetResult implements Streamable, Iterable<DocumentField>, ToXConten
|
||||
long primaryTerm = UNASSIGNED_PRIMARY_TERM;
|
||||
Boolean found = null;
|
||||
BytesReference source = null;
|
||||
Map<String, DocumentField> fields = new HashMap<>();
|
||||
Map<String, DocumentField> documentFields = new HashMap<>();
|
||||
Map<String, DocumentField> metaFields = new HashMap<>();
|
||||
while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
|
||||
if (token == XContentParser.Token.FIELD_NAME) {
|
||||
currentFieldName = parser.currentName();
|
||||
@ -338,7 +339,8 @@ public class GetResult implements Streamable, Iterable<DocumentField>, ToXConten
|
||||
} else if (FOUND.equals(currentFieldName)) {
|
||||
found = parser.booleanValue();
|
||||
} else {
|
||||
fields.put(currentFieldName, new DocumentField(currentFieldName, Collections.singletonList(parser.objectText())));
|
||||
metaFields.put(currentFieldName, new DocumentField(currentFieldName,
|
||||
Collections.singletonList(parser.objectText())));
|
||||
}
|
||||
} else if (token == XContentParser.Token.START_OBJECT) {
|
||||
if (SourceFieldMapper.NAME.equals(currentFieldName)) {
|
||||
@ -351,20 +353,20 @@ public class GetResult implements Streamable, Iterable<DocumentField>, ToXConten
|
||||
} else if (FIELDS.equals(currentFieldName)) {
|
||||
while(parser.nextToken() != XContentParser.Token.END_OBJECT) {
|
||||
DocumentField getField = DocumentField.fromXContent(parser);
|
||||
fields.put(getField.getName(), getField);
|
||||
documentFields.put(getField.getName(), getField);
|
||||
}
|
||||
} else {
|
||||
parser.skipChildren(); // skip potential inner objects for forward compatibility
|
||||
}
|
||||
} else if (token == XContentParser.Token.START_ARRAY) {
|
||||
if (IgnoredFieldMapper.NAME.equals(currentFieldName)) {
|
||||
fields.put(currentFieldName, new DocumentField(currentFieldName, parser.list()));
|
||||
metaFields.put(currentFieldName, new DocumentField(currentFieldName, parser.list()));
|
||||
} else {
|
||||
parser.skipChildren(); // skip potential inner arrays for forward compatibility
|
||||
}
|
||||
}
|
||||
}
|
||||
return new GetResult(index, type, id, seqNo, primaryTerm, version, found, source, fields);
|
||||
return new GetResult(index, type, id, seqNo, primaryTerm, version, found, source, documentFields, metaFields);
|
||||
}
|
||||
|
||||
public static GetResult fromXContent(XContentParser parser) throws IOException {
|
||||
@ -380,6 +382,35 @@ public class GetResult implements Streamable, Iterable<DocumentField>, ToXConten
|
||||
return result;
|
||||
}
|
||||
|
||||
private Map<String, DocumentField> readFields(StreamInput in) throws IOException {
|
||||
Map<String, DocumentField> fields = null;
|
||||
int size = in.readVInt();
|
||||
if (size == 0) {
|
||||
fields = new HashMap<>();
|
||||
} else {
|
||||
fields = new HashMap<>(size);
|
||||
for (int i = 0; i < size; i++) {
|
||||
DocumentField field = DocumentField.readDocumentField(in);
|
||||
fields.put(field.getName(), field);
|
||||
}
|
||||
}
|
||||
return fields;
|
||||
}
|
||||
|
||||
static void splitFieldsByMetadata(Map<String, DocumentField> fields, Map<String, DocumentField> outOther,
|
||||
Map<String, DocumentField> outMetadata) {
|
||||
if (fields == null) {
|
||||
return;
|
||||
}
|
||||
for (Map.Entry<String, DocumentField> fieldEntry: fields.entrySet()) {
|
||||
if (fieldEntry.getValue().isMetadataField()) {
|
||||
outMetadata.put(fieldEntry.getKey(), fieldEntry.getValue());
|
||||
} else {
|
||||
outOther.put(fieldEntry.getKey(), fieldEntry.getValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readFrom(StreamInput in) throws IOException {
|
||||
index = in.readString();
|
||||
@ -399,15 +430,14 @@ public class GetResult implements Streamable, Iterable<DocumentField>, ToXConten
|
||||
if (source.length() == 0) {
|
||||
source = null;
|
||||
}
|
||||
int size = in.readVInt();
|
||||
if (size == 0) {
|
||||
fields = emptyMap();
|
||||
if (in.getVersion().onOrAfter(Version.V_7_3_0)) {
|
||||
documentFields = readFields(in);
|
||||
metaFields = readFields(in);
|
||||
} else {
|
||||
fields = new HashMap<>(size);
|
||||
for (int i = 0; i < size; i++) {
|
||||
DocumentField field = DocumentField.readDocumentField(in);
|
||||
fields.put(field.getName(), field);
|
||||
}
|
||||
Map<String, DocumentField> fields = readFields(in);
|
||||
documentFields = new HashMap<>();
|
||||
metaFields = new HashMap<>();
|
||||
splitFieldsByMetadata(fields, documentFields, metaFields);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -425,13 +455,22 @@ public class GetResult implements Streamable, Iterable<DocumentField>, ToXConten
|
||||
out.writeBoolean(exists);
|
||||
if (exists) {
|
||||
out.writeBytesReference(source);
|
||||
if (fields == null) {
|
||||
out.writeVInt(0);
|
||||
if (out.getVersion().onOrAfter(Version.V_7_3_0)) {
|
||||
writeFields(out, documentFields);
|
||||
writeFields(out, metaFields);
|
||||
} else {
|
||||
out.writeVInt(fields.size());
|
||||
for (DocumentField field : fields.values()) {
|
||||
field.writeTo(out);
|
||||
}
|
||||
writeFields(out, this.getFields());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void writeFields(StreamOutput out, Map<String, DocumentField> fields) throws IOException {
|
||||
if (fields == null) {
|
||||
out.writeVInt(0);
|
||||
} else {
|
||||
out.writeVInt(fields.size());
|
||||
for (DocumentField field : fields.values()) {
|
||||
field.writeTo(out);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -452,13 +491,14 @@ public class GetResult implements Streamable, Iterable<DocumentField>, ToXConten
|
||||
Objects.equals(index, getResult.index) &&
|
||||
Objects.equals(type, getResult.type) &&
|
||||
Objects.equals(id, getResult.id) &&
|
||||
Objects.equals(fields, getResult.fields) &&
|
||||
Objects.equals(documentFields, getResult.documentFields) &&
|
||||
Objects.equals(metaFields, getResult.metaFields) &&
|
||||
Objects.equals(sourceAsMap(), getResult.sourceAsMap());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(version, seqNo, primaryTerm, exists, index, type, id, fields, sourceAsMap());
|
||||
return Objects.hash(version, seqNo, primaryTerm, exists, index, type, id, documentFields, metaFields, sourceAsMap());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -118,7 +118,7 @@ public final class ShardGetService extends AbstractIndexShardComponent {
|
||||
public GetResult get(Engine.GetResult engineGetResult, String id, String type,
|
||||
String[] fields, FetchSourceContext fetchSourceContext) {
|
||||
if (!engineGetResult.exists()) {
|
||||
return new GetResult(shardId.getIndexName(), type, id, UNASSIGNED_SEQ_NO, UNASSIGNED_PRIMARY_TERM, -1, false, null, null);
|
||||
return new GetResult(shardId.getIndexName(), type, id, UNASSIGNED_SEQ_NO, UNASSIGNED_PRIMARY_TERM, -1, false, null, null, null);
|
||||
}
|
||||
|
||||
currentMetric.inc();
|
||||
@ -174,7 +174,7 @@ public final class ShardGetService extends AbstractIndexShardComponent {
|
||||
}
|
||||
|
||||
if (get == null || get.exists() == false) {
|
||||
return new GetResult(shardId.getIndexName(), type, id, UNASSIGNED_SEQ_NO, UNASSIGNED_PRIMARY_TERM, -1, false, null, null);
|
||||
return new GetResult(shardId.getIndexName(), type, id, UNASSIGNED_SEQ_NO, UNASSIGNED_PRIMARY_TERM, -1, false, null, null, null);
|
||||
}
|
||||
|
||||
try {
|
||||
@ -187,7 +187,8 @@ public final class ShardGetService extends AbstractIndexShardComponent {
|
||||
|
||||
private GetResult innerGetLoadFromStoredFields(String type, String id, String[] gFields, FetchSourceContext fetchSourceContext,
|
||||
Engine.GetResult get, MapperService mapperService) {
|
||||
Map<String, DocumentField> fields = null;
|
||||
Map<String, DocumentField> documentFields = null;
|
||||
Map<String, DocumentField> metaDataFields = null;
|
||||
BytesReference source = null;
|
||||
DocIdAndVersion docIdAndVersion = get.docIdAndVersion();
|
||||
FieldsVisitor fieldVisitor = buildFieldsVisitors(gFields, fetchSourceContext);
|
||||
@ -201,9 +202,14 @@ public final class ShardGetService extends AbstractIndexShardComponent {
|
||||
|
||||
if (!fieldVisitor.fields().isEmpty()) {
|
||||
fieldVisitor.postProcess(mapperService);
|
||||
fields = new HashMap<>(fieldVisitor.fields().size());
|
||||
documentFields = new HashMap<>();
|
||||
metaDataFields = new HashMap<>();
|
||||
for (Map.Entry<String, List<Object>> entry : fieldVisitor.fields().entrySet()) {
|
||||
fields.put(entry.getKey(), new DocumentField(entry.getKey(), entry.getValue()));
|
||||
if (MapperService.isMetadataField(entry.getKey())) {
|
||||
metaDataFields.put(entry.getKey(), new DocumentField(entry.getKey(), entry.getValue()));
|
||||
} else {
|
||||
documentFields.put(entry.getKey(), new DocumentField(entry.getKey(), entry.getValue()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -240,7 +246,7 @@ public final class ShardGetService extends AbstractIndexShardComponent {
|
||||
}
|
||||
|
||||
return new GetResult(shardId.getIndexName(), type, id, get.docIdAndVersion().seqNo, get.docIdAndVersion().primaryTerm,
|
||||
get.version(), get.exists(), source, fields);
|
||||
get.version(), get.exists(), source, documentFields, metaDataFields);
|
||||
}
|
||||
|
||||
private static FieldsVisitor buildFieldsVisitors(String[] fields, FetchSourceContext fetchSourceContext) {
|
||||
|
@ -70,7 +70,7 @@ public class ExplainResponseTests extends AbstractSerializingTestCase<ExplainRes
|
||||
0, 1, randomNonNegativeLong(),
|
||||
true,
|
||||
RandomObjects.randomSource(random()),
|
||||
singletonMap(fieldName, new DocumentField(fieldName, values)));
|
||||
singletonMap(fieldName, new DocumentField(fieldName, values)), null);
|
||||
return new ExplainResponse(index, type, id, exist, explanation, getResult);
|
||||
}
|
||||
|
||||
@ -87,7 +87,7 @@ public class ExplainResponseTests extends AbstractSerializingTestCase<ExplainRes
|
||||
Explanation explanation = Explanation.match(1.0f, "description", Collections.emptySet());
|
||||
GetResult getResult = new GetResult(null, null, null, 0, 1, -1, true, new BytesArray("{ \"field1\" : " +
|
||||
"\"value1\", \"field2\":\"value2\"}"), singletonMap("field1", new DocumentField("field1",
|
||||
singletonList("value1"))));
|
||||
singletonList("value1"))), null);
|
||||
ExplainResponse response = new ExplainResponse(index, type, id, exist, explanation, getResult);
|
||||
|
||||
XContentBuilder builder = XContentFactory.contentBuilder(XContentType.JSON);
|
||||
|
@ -94,14 +94,15 @@ public class GetResponseTests extends ESTestCase {
|
||||
{
|
||||
GetResponse getResponse = new GetResponse(new GetResult("index", "type", "id", 0, 1, 1, true, new BytesArray("{ \"field1\" : " +
|
||||
"\"value1\", \"field2\":\"value2\"}"), Collections.singletonMap("field1", new DocumentField("field1",
|
||||
Collections.singletonList("value1")))));
|
||||
Collections.singletonList("value1"))), null));
|
||||
String output = Strings.toString(getResponse);
|
||||
assertEquals("{\"_index\":\"index\",\"_type\":\"type\",\"_id\":\"id\",\"_version\":1,\"_seq_no\":0,\"_primary_term\":1," +
|
||||
"\"found\":true,\"_source\":{ \"field1\" : \"value1\", \"field2\":\"value2\"},\"fields\":{\"field1\":[\"value1\"]}}",
|
||||
output);
|
||||
}
|
||||
{
|
||||
GetResponse getResponse = new GetResponse(new GetResult("index", "type", "id", UNASSIGNED_SEQ_NO, 0, 1, false, null, null));
|
||||
GetResponse getResponse = new GetResponse(new GetResult("index", "type", "id", UNASSIGNED_SEQ_NO,
|
||||
0, 1, false, null, null, null));
|
||||
String output = Strings.toString(getResponse);
|
||||
assertEquals("{\"_index\":\"index\",\"_type\":\"type\",\"_id\":\"id\",\"found\":false}", output);
|
||||
}
|
||||
@ -110,7 +111,7 @@ public class GetResponseTests extends ESTestCase {
|
||||
public void testToString() {
|
||||
GetResponse getResponse = new GetResponse(new GetResult("index", "type", "id", 0, 1, 1, true,
|
||||
new BytesArray("{ \"field1\" : " + "\"value1\", \"field2\":\"value2\"}"),
|
||||
Collections.singletonMap("field1", new DocumentField("field1", Collections.singletonList("value1")))));
|
||||
Collections.singletonMap("field1", new DocumentField("field1", Collections.singletonList("value1"))), null));
|
||||
assertEquals("{\"_index\":\"index\",\"_type\":\"type\",\"_id\":\"id\",\"_version\":1,\"_seq_no\":0,\"_primary_term\":1," +
|
||||
"\"found\":true,\"_source\":{ \"field1\" : \"value1\", \"field2\":\"value2\"},\"fields\":{\"field1\":[\"value1\"]}}",
|
||||
getResponse.toString());
|
||||
@ -123,7 +124,8 @@ public class GetResponseTests extends ESTestCase {
|
||||
|
||||
public void testFromXContentThrowsParsingException() throws IOException {
|
||||
GetResponse getResponse =
|
||||
new GetResponse(new GetResult(null, null, null, UNASSIGNED_SEQ_NO, 0, randomIntBetween(1, 5), randomBoolean(), null, null));
|
||||
new GetResponse(new GetResult(null, null, null, UNASSIGNED_SEQ_NO, 0, randomIntBetween(1, 5),
|
||||
randomBoolean(), null, null, null));
|
||||
|
||||
XContentType xContentType = randomFrom(XContentType.values());
|
||||
BytesReference originalBytes = toShuffledXContent(getResponse, xContentType, ToXContent.EMPTY_PARAMS, randomBoolean());
|
||||
|
@ -71,7 +71,7 @@ public class MultiGetResponseTests extends ESTestCase {
|
||||
if (randomBoolean()) {
|
||||
items[i] = new MultiGetItemResponse(new GetResponse(new GetResult(
|
||||
randomAlphaOfLength(4), randomAlphaOfLength(4), randomAlphaOfLength(4), 0, 1, randomNonNegativeLong(),
|
||||
true, null, null
|
||||
true, null, null, null
|
||||
)), null);
|
||||
} else {
|
||||
items[i] = new MultiGetItemResponse(null, new MultiGetResponse.Failure(randomAlphaOfLength(4),
|
||||
|
@ -359,7 +359,7 @@ public class UpdateRequestTests extends ESTestCase {
|
||||
.scriptedUpsert(true);
|
||||
long nowInMillis = randomNonNegativeLong();
|
||||
// We simulate that the document is not existing yet
|
||||
GetResult getResult = new GetResult("test", "type1", "2", UNASSIGNED_SEQ_NO, 0, 0, false, null, null);
|
||||
GetResult getResult = new GetResult("test", "type1", "2", UNASSIGNED_SEQ_NO, 0, 0, false, null, null, null);
|
||||
UpdateHelper.Result result = updateHelper.prepare(new ShardId("test", "_na_", 0), updateRequest, getResult, () -> nowInMillis);
|
||||
Streamable action = result.action();
|
||||
assertThat(action, instanceOf(IndexRequest.class));
|
||||
@ -372,7 +372,7 @@ public class UpdateRequestTests extends ESTestCase {
|
||||
.script(mockInlineScript("ctx._timestamp = ctx._now"))
|
||||
.scriptedUpsert(true);
|
||||
// We simulate that the document is not existing yet
|
||||
GetResult getResult = new GetResult("test", "type1", "2", 0, 1, 0, true, new BytesArray("{}"), null);
|
||||
GetResult getResult = new GetResult("test", "type1", "2", 0, 1, 0, true, new BytesArray("{}"), null, null);
|
||||
UpdateHelper.Result result = updateHelper.prepare(new ShardId("test", "_na_", 0), updateRequest, getResult, () -> 42L);
|
||||
Streamable action = result.action();
|
||||
assertThat(action, instanceOf(IndexRequest.class));
|
||||
@ -381,7 +381,7 @@ public class UpdateRequestTests extends ESTestCase {
|
||||
|
||||
public void testIndexTimeout() {
|
||||
final GetResult getResult =
|
||||
new GetResult("test", "type", "1", 0, 1, 0, true, new BytesArray("{\"f\":\"v\"}"), null);
|
||||
new GetResult("test", "type", "1", 0, 1, 0, true, new BytesArray("{\"f\":\"v\"}"), null, null);
|
||||
final UpdateRequest updateRequest =
|
||||
new UpdateRequest("test", "type", "1")
|
||||
.script(mockInlineScript("return"))
|
||||
@ -391,7 +391,7 @@ public class UpdateRequestTests extends ESTestCase {
|
||||
|
||||
public void testDeleteTimeout() {
|
||||
final GetResult getResult =
|
||||
new GetResult("test", "type", "1", 0, 1, 0, true, new BytesArray("{\"f\":\"v\"}"), null);
|
||||
new GetResult("test", "type", "1", 0, 1, 0, true, new BytesArray("{\"f\":\"v\"}"), null, null);
|
||||
final UpdateRequest updateRequest =
|
||||
new UpdateRequest("test", "type", "1")
|
||||
.script(mockInlineScript("ctx.op = delete"))
|
||||
@ -402,7 +402,7 @@ public class UpdateRequestTests extends ESTestCase {
|
||||
public void testUpsertTimeout() throws IOException {
|
||||
final boolean exists = randomBoolean();
|
||||
final BytesReference source = exists ? new BytesArray("{\"f\":\"v\"}") : null;
|
||||
final GetResult getResult = new GetResult("test", "type", "1", UNASSIGNED_SEQ_NO, 0, 0, exists, source, null);
|
||||
final GetResult getResult = new GetResult("test", "type", "1", UNASSIGNED_SEQ_NO, 0, 0, exists, source, null, null);
|
||||
final XContentBuilder sourceBuilder = jsonBuilder();
|
||||
sourceBuilder.startObject();
|
||||
{
|
||||
@ -546,7 +546,7 @@ public class UpdateRequestTests extends ESTestCase {
|
||||
}
|
||||
|
||||
public void testRoutingExtraction() throws Exception {
|
||||
GetResult getResult = new GetResult("test", "type", "1", UNASSIGNED_SEQ_NO, 0, 0, false, null, null);
|
||||
GetResult getResult = new GetResult("test", "type", "1", UNASSIGNED_SEQ_NO, 0, 0, false, null, null, null);
|
||||
IndexRequest indexRequest = new IndexRequest("test", "type", "1");
|
||||
|
||||
// There is no routing and parent because the document doesn't exist
|
||||
@ -556,7 +556,7 @@ public class UpdateRequestTests extends ESTestCase {
|
||||
assertNull(UpdateHelper.calculateRouting(getResult, indexRequest));
|
||||
|
||||
// Doc exists but has no source or fields
|
||||
getResult = new GetResult("test", "type", "1", 0, 1, 0, true, null, null);
|
||||
getResult = new GetResult("test", "type", "1", 0, 1, 0, true, null, null, null);
|
||||
|
||||
// There is no routing and parent on either request
|
||||
assertNull(UpdateHelper.calculateRouting(getResult, indexRequest));
|
||||
@ -565,7 +565,7 @@ public class UpdateRequestTests extends ESTestCase {
|
||||
fields.put("_routing", new DocumentField("_routing", Collections.singletonList("routing1")));
|
||||
|
||||
// Doc exists and has the parent and routing fields
|
||||
getResult = new GetResult("test", "type", "1", 0, 1, 0, true, null, fields);
|
||||
getResult = new GetResult("test", "type", "1", 0, 1, 0, true, null, fields, null);
|
||||
|
||||
// Use the get result parent and routing
|
||||
assertThat(UpdateHelper.calculateRouting(getResult, indexRequest), equalTo("routing1"));
|
||||
@ -575,7 +575,7 @@ public class UpdateRequestTests extends ESTestCase {
|
||||
ShardId shardId = new ShardId("test", "", 0);
|
||||
GetResult getResult = new GetResult("test", "type", "1", 0, 1, 0, true,
|
||||
new BytesArray("{\"body\": \"foo\"}"),
|
||||
null);
|
||||
null, null);
|
||||
|
||||
UpdateRequest request = new UpdateRequest("test", "type1", "1").fromXContent(
|
||||
createParser(JsonXContent.jsonXContent, new BytesArray("{\"doc\": {\"body\": \"foo\"}}")));
|
||||
@ -606,7 +606,7 @@ public class UpdateRequestTests extends ESTestCase {
|
||||
ShardId shardId = new ShardId("test", "", 0);
|
||||
GetResult getResult = new GetResult("test", "type", "1", 0, 1, 0, true,
|
||||
new BytesArray("{\"body\": \"bar\"}"),
|
||||
null);
|
||||
null, null);
|
||||
|
||||
UpdateRequest request = new UpdateRequest("test", "type1", "1")
|
||||
.script(mockInlineScript("ctx._source.body = \"foo\""));
|
||||
|
@ -74,7 +74,7 @@ public class UpdateResponseTests extends ESTestCase {
|
||||
|
||||
UpdateResponse updateResponse = new UpdateResponse(new ReplicationResponse.ShardInfo(3, 2),
|
||||
new ShardId("books", "books_uuid", 2), "book", "1", 7, 17, 2, UPDATED);
|
||||
updateResponse.setGetResult(new GetResult("books", "book", "1",0, 1, 2, true, source, fields));
|
||||
updateResponse.setGetResult(new GetResult("books", "book", "1",0, 1, 2, true, source, fields, null));
|
||||
|
||||
String output = Strings.toString(updateResponse);
|
||||
assertEquals("{\"_index\":\"books\",\"_type\":\"book\",\"_id\":\"1\",\"_version\":2,\"result\":\"updated\"," +
|
||||
|
@ -76,14 +76,15 @@ public class GetResultTests extends ESTestCase {
|
||||
{
|
||||
GetResult getResult = new GetResult("index", "type", "id", 0, 1, 1, true, new BytesArray("{ \"field1\" : " +
|
||||
"\"value1\", \"field2\":\"value2\"}"), singletonMap("field1", new DocumentField("field1",
|
||||
singletonList("value1"))));
|
||||
singletonList("value1"))), singletonMap("field1", new DocumentField("metafield",
|
||||
singletonList("metavalue"))));
|
||||
String output = Strings.toString(getResult);
|
||||
assertEquals("{\"_index\":\"index\",\"_type\":\"type\",\"_id\":\"id\",\"_version\":1,\"_seq_no\":0,\"_primary_term\":1," +
|
||||
"\"found\":true,\"_source\":{ \"field1\" : \"value1\", \"field2\":\"value2\"},\"fields\":{\"field1\":[\"value1\"]}}",
|
||||
output);
|
||||
"\"metafield\":\"metavalue\",\"found\":true,\"_source\":{ \"field1\" : \"value1\", \"field2\":\"value2\"}," +
|
||||
"\"fields\":{\"field1\":[\"value1\"]}}", output);
|
||||
}
|
||||
{
|
||||
GetResult getResult = new GetResult("index", "type", "id", UNASSIGNED_SEQ_NO, 0, 1, false, null, null);
|
||||
GetResult getResult = new GetResult("index", "type", "id", UNASSIGNED_SEQ_NO, 0, 1, false, null, null, null);
|
||||
String output = Strings.toString(getResult);
|
||||
assertEquals("{\"_index\":\"index\",\"_type\":\"type\",\"_id\":\"id\",\"found\":false}", output);
|
||||
}
|
||||
@ -96,7 +97,8 @@ public class GetResultTests extends ESTestCase {
|
||||
// We don't expect to retrieve the index/type/id of the GetResult because they are not rendered
|
||||
// by the toXContentEmbedded method.
|
||||
GetResult expectedGetResult = new GetResult(null, null, null, tuple.v2().getSeqNo(), tuple.v2().getPrimaryTerm(), -1,
|
||||
tuple.v2().isExists(), tuple.v2().sourceRef(), tuple.v2().getFields());
|
||||
tuple.v2().isExists(), tuple.v2().sourceRef(), tuple.v2().getDocumentFields(),
|
||||
tuple.v2().getMetadataFields());
|
||||
|
||||
boolean humanReadable = randomBoolean();
|
||||
BytesReference originalBytes = toXContentEmbedded(getResult, xContentType, humanReadable);
|
||||
@ -122,7 +124,7 @@ public class GetResultTests extends ESTestCase {
|
||||
fields.put("baz", new DocumentField("baz", Arrays.asList("baz_0", "baz_1")));
|
||||
|
||||
GetResult getResult = new GetResult("index", "type", "id", 0, 1, 2, true,
|
||||
new BytesArray("{\"foo\":\"bar\",\"baz\":[\"baz_0\",\"baz_1\"]}"), fields);
|
||||
new BytesArray("{\"foo\":\"bar\",\"baz\":[\"baz_0\",\"baz_1\"]}"), fields, null);
|
||||
|
||||
BytesReference originalBytes = toXContentEmbedded(getResult, XContentType.JSON, false);
|
||||
assertEquals("{\"_seq_no\":0,\"_primary_term\":1,\"found\":true,\"_source\":{\"foo\":\"bar\",\"baz\":[\"baz_0\",\"baz_1\"]}," +
|
||||
@ -130,7 +132,7 @@ public class GetResultTests extends ESTestCase {
|
||||
}
|
||||
|
||||
public void testToXContentEmbeddedNotFound() throws IOException {
|
||||
GetResult getResult = new GetResult("index", "type", "id", UNASSIGNED_SEQ_NO, 0, 1, false, null, null);
|
||||
GetResult getResult = new GetResult("index", "type", "id", UNASSIGNED_SEQ_NO, 0, 1, false, null, null, null);
|
||||
|
||||
BytesReference originalBytes = toXContentEmbedded(getResult, XContentType.JSON, false);
|
||||
assertEquals("{\"found\":false}", originalBytes.utf8ToString());
|
||||
@ -154,33 +156,33 @@ public class GetResultTests extends ESTestCase {
|
||||
public static GetResult copyGetResult(GetResult getResult) {
|
||||
return new GetResult(getResult.getIndex(), getResult.getType(), getResult.getId(),
|
||||
getResult.getSeqNo(), getResult.getPrimaryTerm(), getResult.getVersion(),
|
||||
getResult.isExists(), getResult.internalSourceRef(), getResult.getFields());
|
||||
getResult.isExists(), getResult.internalSourceRef(), getResult.getDocumentFields(), getResult.getMetadataFields());
|
||||
}
|
||||
|
||||
public static GetResult mutateGetResult(GetResult getResult) {
|
||||
List<Supplier<GetResult>> mutations = new ArrayList<>();
|
||||
mutations.add(() -> new GetResult(randomUnicodeOfLength(15), getResult.getType(), getResult.getId(),
|
||||
getResult.getSeqNo(), getResult.getPrimaryTerm(), getResult.getVersion(),
|
||||
getResult.isExists(), getResult.internalSourceRef(), getResult.getFields()));
|
||||
getResult.isExists(), getResult.internalSourceRef(), getResult.getFields(), null));
|
||||
mutations.add(() -> new GetResult(getResult.getIndex(), randomUnicodeOfLength(15), getResult.getId(),
|
||||
getResult.getSeqNo(), getResult.getPrimaryTerm(), getResult.getVersion(),
|
||||
getResult.isExists(), getResult.internalSourceRef(), getResult.getFields()));
|
||||
getResult.isExists(), getResult.internalSourceRef(), getResult.getFields(), null));
|
||||
mutations.add(() -> new GetResult(getResult.getIndex(), getResult.getType(), randomUnicodeOfLength(15),
|
||||
getResult.getSeqNo(), getResult.getPrimaryTerm(), getResult.getVersion(),
|
||||
getResult.isExists(), getResult.internalSourceRef(), getResult.getFields()));
|
||||
getResult.isExists(), getResult.internalSourceRef(), getResult.getFields(), null));
|
||||
mutations.add(() -> new GetResult(getResult.getIndex(), getResult.getType(), getResult.getId(),
|
||||
getResult.getSeqNo(), getResult.getPrimaryTerm(), randomNonNegativeLong(),
|
||||
getResult.isExists(), getResult.internalSourceRef(), getResult.getFields()));
|
||||
getResult.isExists(), getResult.internalSourceRef(), getResult.getFields(), null));
|
||||
mutations.add(() -> new GetResult(getResult.getIndex(), getResult.getType(), getResult.getId(),
|
||||
getResult.isExists() ? UNASSIGNED_SEQ_NO : getResult.getSeqNo(),
|
||||
getResult.isExists() ? 0 : getResult.getPrimaryTerm(),
|
||||
getResult.getVersion(), getResult.isExists() == false, getResult.internalSourceRef(), getResult.getFields()));
|
||||
getResult.getVersion(), getResult.isExists() == false, getResult.internalSourceRef(), getResult.getFields(), null));
|
||||
mutations.add(() -> new GetResult(getResult.getIndex(), getResult.getType(), getResult.getId(),
|
||||
getResult.getSeqNo(), getResult.getPrimaryTerm(), getResult.getVersion(), getResult.isExists(),
|
||||
RandomObjects.randomSource(random()), getResult.getFields()));
|
||||
RandomObjects.randomSource(random()), getResult.getFields(), null));
|
||||
mutations.add(() -> new GetResult(getResult.getIndex(), getResult.getType(), getResult.getId(),
|
||||
getResult.getSeqNo(), getResult.getPrimaryTerm(), getResult.getVersion(),
|
||||
getResult.isExists(), getResult.internalSourceRef(), randomDocumentFields(XContentType.JSON).v1()));
|
||||
getResult.isExists(), getResult.internalSourceRef(), randomDocumentFields(XContentType.JSON).v1(), null));
|
||||
return randomFrom(mutations).get();
|
||||
}
|
||||
|
||||
@ -195,6 +197,8 @@ public class GetResultTests extends ESTestCase {
|
||||
BytesReference source = null;
|
||||
Map<String, DocumentField> fields = null;
|
||||
Map<String, DocumentField> expectedFields = null;
|
||||
Map<String, DocumentField> metaFields = null;
|
||||
Map<String, DocumentField> expectedMetaFields = null;
|
||||
if (frequently()) {
|
||||
version = randomNonNegativeLong();
|
||||
seqNo = randomNonNegativeLong();
|
||||
@ -205,8 +209,13 @@ public class GetResultTests extends ESTestCase {
|
||||
}
|
||||
if (randomBoolean()) {
|
||||
Tuple<Map<String, DocumentField>, Map<String, DocumentField>> tuple = randomDocumentFields(xContentType);
|
||||
fields = tuple.v1();
|
||||
expectedFields = tuple.v2();
|
||||
fields = new HashMap<>();
|
||||
metaFields = new HashMap<>();
|
||||
GetResult.splitFieldsByMetadata(tuple.v1(), fields, metaFields);
|
||||
|
||||
expectedFields = new HashMap<>();
|
||||
expectedMetaFields = new HashMap<>();
|
||||
GetResult.splitFieldsByMetadata(tuple.v2(), expectedFields, expectedMetaFields);
|
||||
}
|
||||
} else {
|
||||
seqNo = UNASSIGNED_SEQ_NO;
|
||||
@ -214,8 +223,9 @@ public class GetResultTests extends ESTestCase {
|
||||
version = -1;
|
||||
exists = false;
|
||||
}
|
||||
GetResult getResult = new GetResult(index, type, id, seqNo, primaryTerm, version, exists, source, fields);
|
||||
GetResult expectedGetResult = new GetResult(index, type, id, seqNo, primaryTerm, version, exists, source, expectedFields);
|
||||
GetResult getResult = new GetResult(index, type, id, seqNo, primaryTerm, version, exists, source, fields, metaFields);
|
||||
GetResult expectedGetResult = new GetResult(index, type, id, seqNo, primaryTerm, version, exists, source,
|
||||
expectedFields, expectedMetaFields);
|
||||
return Tuple.tuple(getResult, expectedGetResult);
|
||||
}
|
||||
|
||||
|
@ -151,7 +151,7 @@ public class GeoShapeQueryBuilderTests extends AbstractQueryTestCase<GeoShapeQue
|
||||
throw new ElasticsearchException("boom", ex);
|
||||
}
|
||||
return new GetResponse(new GetResult(indexedShapeIndex, indexedType, indexedShapeId, 0, 1, 0, true, new BytesArray(json),
|
||||
null));
|
||||
null, null));
|
||||
}
|
||||
|
||||
@After
|
||||
|
@ -210,7 +210,7 @@ public class TermsQueryBuilderTests extends AbstractQueryTestCase<TermsQueryBuil
|
||||
throw new ElasticsearchException("boom", ex);
|
||||
}
|
||||
return new GetResponse(new GetResult(getRequest.index(), getRequest.type(), getRequest.id(), 0, 1, 0, true,
|
||||
new BytesArray(json), null));
|
||||
new BytesArray(json), null, null));
|
||||
}
|
||||
|
||||
public void testNumeric() throws IOException {
|
||||
|
@ -96,7 +96,7 @@ public class RestGetSourceActionTests extends RestActionTestCase {
|
||||
public void testRestGetSourceAction() throws Exception {
|
||||
final BytesReference source = new BytesArray("{\"foo\": \"bar\"}");
|
||||
final GetResponse response =
|
||||
new GetResponse(new GetResult("index1", "_doc", "1", UNASSIGNED_SEQ_NO, 0, -1, true, source, emptyMap()));
|
||||
new GetResponse(new GetResult("index1", "_doc", "1", UNASSIGNED_SEQ_NO, 0, -1, true, source, emptyMap(), null));
|
||||
|
||||
final RestResponse restResponse = listener.buildResponse(response);
|
||||
|
||||
@ -107,7 +107,7 @@ public class RestGetSourceActionTests extends RestActionTestCase {
|
||||
|
||||
public void testRestGetSourceActionWithMissingDocument() {
|
||||
final GetResponse response =
|
||||
new GetResponse(new GetResult("index1", "_doc", "1", UNASSIGNED_SEQ_NO, 0, -1, false, null, emptyMap()));
|
||||
new GetResponse(new GetResult("index1", "_doc", "1", UNASSIGNED_SEQ_NO, 0, -1, false, null, emptyMap(), null));
|
||||
|
||||
final ResourceNotFoundException exception = expectThrows(ResourceNotFoundException.class, () -> listener.buildResponse(response));
|
||||
|
||||
@ -116,7 +116,7 @@ public class RestGetSourceActionTests extends RestActionTestCase {
|
||||
|
||||
public void testRestGetSourceActionWithMissingDocumentSource() {
|
||||
final GetResponse response =
|
||||
new GetResponse(new GetResult("index1", "_doc", "1", UNASSIGNED_SEQ_NO, 0, -1, true, null, emptyMap()));
|
||||
new GetResponse(new GetResult("index1", "_doc", "1", UNASSIGNED_SEQ_NO, 0, -1, true, null, emptyMap(), null));
|
||||
|
||||
final ResourceNotFoundException exception = expectThrows(ResourceNotFoundException.class, () -> listener.buildResponse(response));
|
||||
|
||||
|
@ -1249,11 +1249,12 @@ public class AuthenticationServiceTests extends ESTestCase {
|
||||
creatorMap.put("realm", "auth realm");
|
||||
source.put("creator", creatorMap);
|
||||
GetResponse getResponse = new GetResponse(new GetResult(request.index(), request.type(), request.id(), 0, 1, 1L, true,
|
||||
BytesReference.bytes(JsonXContent.contentBuilder().map(source)), Collections.emptyMap()));
|
||||
BytesReference.bytes(JsonXContent.contentBuilder().map(source)), Collections.emptyMap(), Collections.emptyMap()));
|
||||
listener.onResponse(getResponse);
|
||||
} else {
|
||||
listener.onResponse(new GetResponse(new GetResult(request.index(), request.type(), request.id(),
|
||||
SequenceNumbers.UNASSIGNED_SEQ_NO, 1, -1L, false, null, Collections.emptyMap())));
|
||||
SequenceNumbers.UNASSIGNED_SEQ_NO, 1, -1L, false, null,
|
||||
Collections.emptyMap(), Collections.emptyMap())));
|
||||
}
|
||||
return Void.TYPE;
|
||||
}).when(client).get(any(GetRequest.class), any(ActionListener.class));
|
||||
@ -1288,11 +1289,12 @@ public class AuthenticationServiceTests extends ESTestCase {
|
||||
creatorMap.put("realm", "auth realm");
|
||||
source.put("creator", creatorMap);
|
||||
GetResponse getResponse = new GetResponse(new GetResult(request.index(), request.type(), request.id(), 0, 1, 1L, true,
|
||||
BytesReference.bytes(JsonXContent.contentBuilder().map(source)), Collections.emptyMap()));
|
||||
BytesReference.bytes(JsonXContent.contentBuilder().map(source)), Collections.emptyMap(), Collections.emptyMap()));
|
||||
listener.onResponse(getResponse);
|
||||
} else {
|
||||
listener.onResponse(new GetResponse(new GetResult(request.index(), request.type(), request.id(),
|
||||
SequenceNumbers.UNASSIGNED_SEQ_NO, 1, -1L, false, null, Collections.emptyMap())));
|
||||
SequenceNumbers.UNASSIGNED_SEQ_NO, 1, -1L, false, null,
|
||||
Collections.emptyMap(), Collections.emptyMap())));
|
||||
}
|
||||
return Void.TYPE;
|
||||
}).when(client).get(any(GetRequest.class), any(ActionListener.class));
|
||||
|
@ -118,6 +118,7 @@ public class NativeUsersStoreTests extends ESTestCase {
|
||||
0, 1, 1L,
|
||||
true,
|
||||
BytesReference.bytes(jsonBuilder().map(values)),
|
||||
Collections.emptyMap(),
|
||||
Collections.emptyMap());
|
||||
|
||||
final PlainActionFuture<NativeUsersStore.ReservedUserInfo> future = new PlainActionFuture<>();
|
||||
@ -187,6 +188,7 @@ public class NativeUsersStoreTests extends ESTestCase {
|
||||
UNASSIGNED_SEQ_NO, 0, 1L,
|
||||
false,
|
||||
null,
|
||||
Collections.emptyMap(),
|
||||
Collections.emptyMap());
|
||||
|
||||
actionRespond(GetRequest.class, new GetResponse(getResult));
|
||||
@ -229,6 +231,7 @@ public class NativeUsersStoreTests extends ESTestCase {
|
||||
0, 1, 1L,
|
||||
true,
|
||||
source,
|
||||
Collections.emptyMap(),
|
||||
Collections.emptyMap());
|
||||
|
||||
actionRespond(GetRequest.class, new GetResponse(getResult));
|
||||
|
@ -132,7 +132,8 @@ public class NativePrivilegeStoreTests extends ESTestCase {
|
||||
|
||||
final String docSource = Strings.toString(sourcePrivilege);
|
||||
listener.get().onResponse(new GetResponse(
|
||||
new GetResult(request.index(), request.type(), request.id(), 0, 1, 1L, true, new BytesArray(docSource), emptyMap())
|
||||
new GetResult(request.index(), request.type(), request.id(), 0, 1, 1L, true,
|
||||
new BytesArray(docSource), emptyMap(), emptyMap())
|
||||
));
|
||||
final ApplicationPrivilegeDescriptor getPrivilege = future.get(1, TimeUnit.SECONDS);
|
||||
assertThat(getPrivilege, equalTo(sourcePrivilege));
|
||||
@ -149,7 +150,8 @@ public class NativePrivilegeStoreTests extends ESTestCase {
|
||||
assertThat(request.id(), equalTo("application-privilege_myapp:admin"));
|
||||
|
||||
listener.get().onResponse(new GetResponse(
|
||||
new GetResult(request.index(), request.type(), request.id(), UNASSIGNED_SEQ_NO, 0, -1, false, null, emptyMap())
|
||||
new GetResult(request.index(), request.type(), request.id(), UNASSIGNED_SEQ_NO, 0, -1,
|
||||
false, null, emptyMap(), emptyMap())
|
||||
));
|
||||
final ApplicationPrivilegeDescriptor getPrivilege = future.get(1, TimeUnit.SECONDS);
|
||||
assertThat(getPrivilege, Matchers.nullValue());
|
||||
|
@ -65,7 +65,8 @@ public final class SecurityMocks {
|
||||
}
|
||||
|
||||
public static void mockGetRequest(Client client, String documentId, BytesReference source) {
|
||||
GetResult result = new GetResult(SECURITY_MAIN_ALIAS, SINGLE_MAPPING_NAME, documentId, 0, 1, 1, true, source, emptyMap());
|
||||
GetResult result = new GetResult(SECURITY_MAIN_ALIAS, SINGLE_MAPPING_NAME, documentId, 0, 1, 1, true, source,
|
||||
emptyMap(), emptyMap());
|
||||
mockGetRequest(client, documentId, result);
|
||||
}
|
||||
|
||||
|
@ -1217,7 +1217,8 @@ public class ExecutionServiceTests extends ESTestCase {
|
||||
listener.onResponse(response);
|
||||
} else {
|
||||
GetResult notFoundResult =
|
||||
new GetResult(request.index(), request.type(), request.id(), UNASSIGNED_SEQ_NO, 0, -1, false, null, null);
|
||||
new GetResult(request.index(), request.type(), request.id(), UNASSIGNED_SEQ_NO, 0,
|
||||
-1, false, null, null, null);
|
||||
listener.onResponse(new GetResponse(notFoundResult));
|
||||
}
|
||||
return null;
|
||||
@ -1232,7 +1233,8 @@ public class ExecutionServiceTests extends ESTestCase {
|
||||
listener.onFailure(e);
|
||||
} else {
|
||||
GetResult notFoundResult =
|
||||
new GetResult(request.index(), request.type(), request.id(), UNASSIGNED_SEQ_NO, 0, -1, false, null, null);
|
||||
new GetResult(request.index(), request.type(), request.id(), UNASSIGNED_SEQ_NO, 0, -1,
|
||||
false, null, null, null);
|
||||
listener.onResponse(new GetResponse(notFoundResult));
|
||||
}
|
||||
return null;
|
||||
|
@ -71,7 +71,7 @@ public class TransportAckWatchActionTests extends ESTestCase {
|
||||
doAnswer(invocation -> {
|
||||
ActionListener<GetResponse> listener = (ActionListener<GetResponse>) invocation.getArguments()[1];
|
||||
listener.onResponse(new GetResponse(new GetResult(Watch.INDEX, MapperService.SINGLE_MAPPING_NAME, watchId, UNASSIGNED_SEQ_NO,
|
||||
0, -1, false, BytesArray.EMPTY, Collections.emptyMap())));
|
||||
0, -1, false, BytesArray.EMPTY, Collections.emptyMap(), Collections.emptyMap())));
|
||||
return null;
|
||||
}).when(client).get(anyObject(), anyObject());
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user