diff --git a/plugin/storage/es/spanstore/reader.go b/plugin/storage/es/spanstore/reader.go index 8d41af16926..7165d9d1e38 100644 --- a/plugin/storage/es/spanstore/reader.go +++ b/plugin/storage/es/spanstore/reader.go @@ -204,8 +204,7 @@ func getSourceFn(archive bool, maxDocCount int) sourceFn { return func(query elastic.Query, nextTime uint64) *elastic.SearchSource { s := elastic.NewSearchSource(). Query(query). - Size(maxDocCount). - TerminateAfter(maxDocCount) + Size(maxDocCount) if !archive { s.Sort("startTime", true). SearchAfter(nextTime) diff --git a/plugin/storage/es/spanstore/reader_test.go b/plugin/storage/es/spanstore/reader_test.go index c5d174dec1b..ea7f0073f50 100644 --- a/plugin/storage/es/spanstore/reader_test.go +++ b/plugin/storage/es/spanstore/reader_test.go @@ -1296,3 +1296,29 @@ func TestBuildTraceByIDQuery(t *testing.T) { assert.Equal(t, test.query, q) } } + +func TestTerminateAfterNotSet(t *testing.T) { + srcFn := getSourceFn(false, 99) + searchSource := srcFn(elastic.NewMatchAllQuery(), 1) + sp, err := searchSource.Source() + require.NoError(t, err) + + searchParams, ok := sp.(map[string]interface{}) + require.True(t, ok) + + termAfter, ok := searchParams["terminate_after"] + require.False(t, ok) + assert.Nil(t, termAfter) + + query, ok := searchParams["query"] + require.True(t, ok) + + queryMap, ok := query.(map[string]interface{}) + require.True(t, ok) + _, ok = queryMap["match_all"] + require.True(t, ok) + + size, ok := searchParams["size"] + require.True(t, ok) + assert.Equal(t, 99, size) +}