mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-03-24 17:09:48 +00:00
Fix issue 3989
Multi term vector request never returned if shards for all requested documents were non existent. closes #3989
This commit is contained in:
parent
dbef64009f
commit
1510cd6923
@ -85,9 +85,13 @@ public class TransportMultiTermVectorsAction extends TransportAction<MultiTermVe
|
||||
}
|
||||
shardRequest.add(i, termVectorRequest);
|
||||
}
|
||||
|
||||
|
||||
if (shardRequests.size() == 0) {
|
||||
// only failures..
|
||||
listener.onResponse(new MultiTermVectorsResponse(responses.toArray(new MultiTermVectorsItemResponse[responses.length()])));
|
||||
}
|
||||
|
||||
final AtomicInteger counter = new AtomicInteger(shardRequests.size());
|
||||
|
||||
for (final MultiTermVectorsShardRequest shardRequest : shardRequests.values()) {
|
||||
shardAction.execute(shardRequest, new ActionListener<MultiTermVectorsShardResponse>() {
|
||||
@Override
|
||||
|
@ -23,8 +23,11 @@ import org.apache.lucene.index.DirectoryReader;
|
||||
import org.apache.lucene.index.Fields;
|
||||
import org.elasticsearch.action.termvector.MultiTermVectorsItemResponse;
|
||||
import org.elasticsearch.action.termvector.MultiTermVectorsRequestBuilder;
|
||||
import org.elasticsearch.action.termvector.MultiTermVectorsResponse;
|
||||
import org.elasticsearch.action.termvector.TermVectorRequestBuilder;
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
public class MultiTermVectorsTests extends AbstractTermVectorTests {
|
||||
|
||||
@Test
|
||||
@ -61,4 +64,12 @@ public class MultiTermVectorsTests extends AbstractTermVectorTests {
|
||||
}
|
||||
|
||||
}
|
||||
public void testMissingIndexThrowsMissingIndex() throws Exception {
|
||||
TermVectorRequestBuilder requestBuilder = client().prepareTermVector("testX", "typeX", Integer.toString(1));
|
||||
MultiTermVectorsRequestBuilder mtvBuilder = new MultiTermVectorsRequestBuilder(client());
|
||||
mtvBuilder.add(requestBuilder.request());
|
||||
MultiTermVectorsResponse response = mtvBuilder.execute().actionGet();
|
||||
assertThat(response.getResponses().length, equalTo(1));
|
||||
assertThat(response.getResponses()[0].getFailure().getMessage(), equalTo("[" + response.getResponses()[0].getIndex() + "] missing"));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user