Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
245 commits
Select commit Hold shift + click to select a range
5a98b8d
Make SearchResponseSections Releasable instead of RefCounted
original-brownbear Nov 7, 2024
f078e4a
Faster+Simpler CanMatchPreFilterSearchPhase
original-brownbear Nov 15, 2024
ac4c6e0
simple can-match step 4
original-brownbear Nov 16, 2024
b6c94e1
Make shardIndexMap in AbstractSearchAsyncAction a local variable
original-brownbear Nov 20, 2024
67ff8d3
Remove needless sending of OriginalIndices in SearchFreeContextRequest
original-brownbear Nov 21, 2024
11bfc4a
Merge branch 'main' into remove-unused-free-request
original-brownbear Nov 21, 2024
becb584
Merge branch 'main' into remove-unused-free-request
original-brownbear Nov 22, 2024
7bc1a90
Merge branch 'main' into simple-can-match
original-brownbear Nov 22, 2024
4cc1f9a
Merge branch 'main' into save-needless-big-shardIndexMap
original-brownbear Nov 22, 2024
a30bd8a
Merge remote-tracking branch 'origin/simple-can-match' into all-in-on…
original-brownbear Nov 27, 2024
b5c1573
AiO part 1
original-brownbear Nov 27, 2024
758881a
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Nov 27, 2024
8adaf98
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Nov 27, 2024
301d7ec
bck
original-brownbear Nov 28, 2024
d5cead2
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Nov 28, 2024
bdaef37
fixup node ctor
original-brownbear Nov 28, 2024
5d30dfb
Merge remote-tracking branch 'origin/remove-unused-free-request' into…
original-brownbear Nov 28, 2024
eadba7e
Merge branch 'main' into remove-unused-free-request
original-brownbear Nov 28, 2024
c78fa2d
fixup node ctor
original-brownbear Nov 28, 2024
01c9cd9
Merge remote-tracking branch 'origin/all-in-one-query-change' into al…
original-brownbear Nov 28, 2024
ff416fd
Merge branch 'main' into remove-unused-free-request
original-brownbear Nov 28, 2024
9e51f54
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Nov 28, 2024
8de76ec
Merge remote-tracking branch 'origin/all-in-one-query-change' into al…
original-brownbear Nov 28, 2024
905adcd
bck
original-brownbear Nov 28, 2024
411b85b
compiles
original-brownbear Nov 29, 2024
789cd61
bck
original-brownbear Nov 29, 2024
a2264b8
bck
original-brownbear Nov 29, 2024
aeec74a
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Nov 30, 2024
52e3760
Merge remote-tracking branch 'origin/remove-unused-free-request' into…
original-brownbear Nov 30, 2024
1835028
bck
original-brownbear Nov 30, 2024
8965344
bck
original-brownbear Nov 30, 2024
b87e234
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 1, 2024
11991fb
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 2, 2024
940d38f
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 2, 2024
d8f2482
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 3, 2024
be43138
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 4, 2024
8a87b14
bck
original-brownbear Dec 4, 2024
2e9328d
bck
original-brownbear Dec 4, 2024
f664d17
bck
original-brownbear Dec 4, 2024
5cac618
bck
original-brownbear Dec 4, 2024
a85dd20
bck
original-brownbear Dec 4, 2024
418afed
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 4, 2024
ff2520b
bck
original-brownbear Dec 4, 2024
fc5d9f8
Merge branch 'all-in-one-query-change' of github.com:original-brownbe…
original-brownbear Dec 4, 2024
5dafe70
bck
original-brownbear Dec 4, 2024
1f323d5
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 4, 2024
f3e377f
bck
original-brownbear Dec 4, 2024
f4f8e5c
nicer
original-brownbear Dec 4, 2024
937cfbf
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 4, 2024
6b662e1
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 5, 2024
94e3d82
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 5, 2024
da4f888
bck
original-brownbear Dec 5, 2024
fc39e42
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 6, 2024
7227309
meh
original-brownbear Dec 6, 2024
44593a1
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 9, 2024
2935eb1
bring back optimization
original-brownbear Dec 9, 2024
827fb4d
bck
original-brownbear Dec 9, 2024
de414a2
bck
original-brownbear Dec 9, 2024
d1af74e
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 9, 2024
161f1f7
fix
original-brownbear Dec 9, 2024
5b5ef32
works more
original-brownbear Dec 9, 2024
7b883c9
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 10, 2024
d75255a
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 10, 2024
51c113f
bck
original-brownbear Dec 10, 2024
91883f5
Merge remote-tracking branch 'origin/all-in-one-query-change' into al…
original-brownbear Dec 10, 2024
31cfa45
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 10, 2024
9bb15fc
fixes
original-brownbear Dec 10, 2024
46cf96a
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 10, 2024
57883af
bck
original-brownbear Dec 10, 2024
e3a4dc8
Merge branch 'main' into save-needless-big-shardIndexMap
original-brownbear Dec 10, 2024
39f4e50
Merge remote-tracking branch 'origin/save-needless-big-shardIndexMap'…
original-brownbear Dec 10, 2024
7782e67
bck
original-brownbear Dec 11, 2024
9f7bb07
bck
original-brownbear Dec 11, 2024
dd4450e
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 11, 2024
78067c6
bck
original-brownbear Dec 11, 2024
1c8b9e7
bck
original-brownbear Dec 11, 2024
26f845e
bck
original-brownbear Dec 11, 2024
0b603e5
bck
original-brownbear Dec 11, 2024
2ecb5a6
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 12, 2024
45b686a
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 13, 2024
2cc1830
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 13, 2024
6c5d09b
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 13, 2024
e7e17f1
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 18, 2024
5c214b6
bck
original-brownbear Dec 18, 2024
c7ec42b
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 18, 2024
4c7bc82
fix but also breakage
original-brownbear Dec 18, 2024
fc8a751
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 19, 2024
0caf93d
Merge branch 'main' into simplify-search-response-sections
original-brownbear Dec 19, 2024
b1d52b3
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 19, 2024
50e201d
Merge remote-tracking branch 'origin/simplify-search-response-section…
original-brownbear Dec 19, 2024
c61eaae
bck
original-brownbear Dec 19, 2024
8bbfdf5
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 20, 2024
d3cbc05
cleanup
original-brownbear Dec 20, 2024
1b454bc
cleanup
original-brownbear Dec 20, 2024
6449f87
cleanup
original-brownbear Dec 20, 2024
b9c7e25
cleaner
original-brownbear Dec 20, 2024
6fbd204
cleanup
original-brownbear Dec 20, 2024
d2dae7b
cleanup
original-brownbear Dec 20, 2024
3be4fbb
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 21, 2024
3dc8458
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Dec 30, 2024
29e610a
debug
original-brownbear Dec 30, 2024
1e11ae5
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 1, 2025
e1e07fe
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 2, 2025
f0f9d23
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 2, 2025
685833f
facepalm
original-brownbear Jan 2, 2025
ac1c38e
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 2, 2025
1d7554f
facepalm
original-brownbear Jan 2, 2025
c8d8329
security
original-brownbear Jan 2, 2025
d0b4de1
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 2, 2025
c2d6785
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 2, 2025
e412417
fix
original-brownbear Jan 2, 2025
08ebe4d
fix
original-brownbear Jan 3, 2025
b3a7f5b
fix
original-brownbear Jan 3, 2025
3472ef4
Merge remote-tracking branch 'origin/all-in-one-query-change' into al…
original-brownbear Jan 3, 2025
b27dcb8
bck
original-brownbear Jan 3, 2025
edcbb4e
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 3, 2025
262941e
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 6, 2025
c5a3506
Merge remote-tracking branch 'origin/all-in-one-query-change' into al…
original-brownbear Jan 6, 2025
865a1ee
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 6, 2025
d7518e5
fix test
original-brownbear Jan 6, 2025
f3f0dc1
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 6, 2025
fd17a33
drier/cleaner
original-brownbear Jan 6, 2025
c75d38c
drier/cleaner
original-brownbear Jan 6, 2025
c509b60
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 7, 2025
998e785
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 7, 2025
87203e8
b ck
original-brownbear Jan 7, 2025
f912a23
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 8, 2025
1cbf2a4
fix
original-brownbear Jan 8, 2025
acd89cb
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 8, 2025
7286ba9
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 8, 2025
cce2daf
bck
original-brownbear Jan 8, 2025
bef1126
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 8, 2025
3ebb724
bck
original-brownbear Jan 8, 2025
6fffa0a
merge in clenaup
original-brownbear Jan 9, 2025
4bd74de
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 9, 2025
6fc4a77
Faster and shorter SearchPhaseController.reduceQueryPhase
original-brownbear Jan 9, 2025
99551fc
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 9, 2025
136f497
Merge branch 'faster-spc' into all-in-one-query-change
original-brownbear Jan 9, 2025
9c018fb
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 9, 2025
07e715e
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 10, 2025
dba5f76
simplify
original-brownbear Jan 10, 2025
b423070
group stuff
original-brownbear Jan 10, 2025
8d6839a
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 11, 2025
a1e1dee
fix bwc
original-brownbear Jan 11, 2025
06291f0
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 11, 2025
eb90b06
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 13, 2025
a65acb5
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 14, 2025
b0e6063
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 15, 2025
12330d5
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 15, 2025
cce1275
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 15, 2025
f4c43a5
bck
original-brownbear Jan 15, 2025
e656e79
bck
original-brownbear Jan 15, 2025
f27e779
cleanup
original-brownbear Jan 15, 2025
2a8e66f
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 15, 2025
a935642
fix test
original-brownbear Jan 15, 2025
b29e5a8
meh weird test
original-brownbear Jan 15, 2025
fc4604e
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 16, 2025
31d2c30
data node side merge
original-brownbear Jan 16, 2025
6f38992
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 16, 2025
0b2aa3f
fix bwc
original-brownbear Jan 16, 2025
4832398
cleanups
original-brownbear Jan 16, 2025
e1c2cd9
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 16, 2025
5f4b022
more fixes
original-brownbear Jan 17, 2025
0a0f4b8
Bring back sort optimization
original-brownbear Jan 17, 2025
3a8f6ef
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 17, 2025
ff3f55c
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 17, 2025
788820c
Reduce latency in fetch phase for large shard counts
original-brownbear Jan 17, 2025
757c335
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 17, 2025
e406c6b
Merge branch 'lower-fetch-latency' into all-in-one-query-change
original-brownbear Jan 17, 2025
3fb21ff
revmoe needless merges
original-brownbear Jan 17, 2025
e8f07d6
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 19, 2025
d4740ab
cleanup
original-brownbear Jan 19, 2025
61be44c
ouch
original-brownbear Jan 19, 2025
ebd74f2
sorta
original-brownbear Jan 19, 2025
25ac6d5
Simplify and speedup handling of AliasFilter logic in search
original-brownbear Jan 19, 2025
c28cdf9
Merge branch 'avoid-building-huge-alias-filter-map' into all-in-one-q…
original-brownbear Jan 20, 2025
6eb89ae
faster
original-brownbear Jan 20, 2025
45da62d
save response
original-brownbear Jan 20, 2025
1c5e08e
fix exception unwrap
original-brownbear Jan 20, 2025
9b0dcf7
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 20, 2025
5d45bf8
Revert "Simplify and speedup handling of AliasFilter logic in search"
original-brownbear Jan 20, 2025
b875967
fail phase on any DN merge exception
original-brownbear Jan 20, 2025
0b867fd
failrue
original-brownbear Jan 20, 2025
1bfa954
failrue
original-brownbear Jan 20, 2025
a7af62b
failrue
original-brownbear Jan 20, 2025
40688a3
failrue
original-brownbear Jan 20, 2025
e082684
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 21, 2025
471f9cf
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 21, 2025
c9c8496
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 21, 2025
a80c8e2
rationalize counting
original-brownbear Jan 21, 2025
0db3a5d
rationalize counting
original-brownbear Jan 21, 2025
d47b9ec
rationalize counting
original-brownbear Jan 21, 2025
096a20f
simpler
original-brownbear Jan 21, 2025
7894bc3
fixes
original-brownbear Jan 21, 2025
bd5c03b
Simplify counting in AbstractSearchAsyncAction
original-brownbear Jan 22, 2025
450e85e
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 22, 2025
91c083a
fixes
original-brownbear Jan 22, 2025
02eef91
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 22, 2025
a5f74ba
cleanup
original-brownbear Jan 22, 2025
1fe950f
bck
original-brownbear Jan 22, 2025
e36a403
extract
original-brownbear Jan 22, 2025
cde86fa
extract
original-brownbear Jan 23, 2025
d8beb19
extract
original-brownbear Jan 23, 2025
de2bd69
Merge branch 'simplify-abstract-async-search' into all-in-one-query-c…
original-brownbear Jan 23, 2025
f7fe431
extract
original-brownbear Jan 23, 2025
f4e86bf
extract
original-brownbear Jan 23, 2025
a02d2f1
extract
original-brownbear Jan 23, 2025
d53594a
cleanup
original-brownbear Jan 23, 2025
f1d35db
cleanup
original-brownbear Jan 23, 2025
10167a3
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 25, 2025
901666b
bck
original-brownbear Jan 26, 2025
5548744
fixed
original-brownbear Jan 26, 2025
b03cd6c
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 28, 2025
ab64599
fix
original-brownbear Jan 28, 2025
8dec6ee
short and clean
original-brownbear Jan 28, 2025
381f905
short and clean
original-brownbear Jan 28, 2025
028e6ca
fixes
original-brownbear Jan 28, 2025
8374ee0
cleanup
original-brownbear Jan 28, 2025
1429c7c
cleanup
original-brownbear Jan 28, 2025
eac260d
cleanup
original-brownbear Jan 29, 2025
f1c0140
cleanup
original-brownbear Jan 29, 2025
a45b429
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 29, 2025
650f6b9
cleanup
original-brownbear Jan 29, 2025
7a7fd55
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 29, 2025
5fb7d59
align more
original-brownbear Jan 29, 2025
6b60fe0
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Jan 30, 2025
46620bc
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Feb 2, 2025
056704d
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Feb 3, 2025
dbb0685
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Feb 4, 2025
ea99967
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Feb 4, 2025
7475d65
cleanup
original-brownbear Feb 4, 2025
c681fe2
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Feb 4, 2025
7f362a8
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Feb 5, 2025
39591ac
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Feb 5, 2025
c432cd8
drier
original-brownbear Feb 5, 2025
5b2028b
missing optimization
original-brownbear Feb 5, 2025
fa32445
cleanups
original-brownbear Feb 5, 2025
de9e423
Merge remote-tracking branch 'elastic/main' into all-in-one-query-change
original-brownbear Feb 5, 2025
4607032
revert test noise
original-brownbear Feb 5, 2025
26d1b94
cleanup
original-brownbear Feb 5, 2025
d30b2a5
TODOs
original-brownbear Feb 6, 2025
bb2af54
revert debug change
original-brownbear Feb 6, 2025
aee2d18
revert debug change + dry
original-brownbear Feb 6, 2025
79e495a
revert debug change + dry
original-brownbear Feb 6, 2025
2ee7640
cleanup
original-brownbear Feb 6, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@ public SearchPhaseController.ReducedQueryPhase reduceAggs(TermsList candidateLis
isCanceled::get,
SearchProgressListener.NOOP,
shards.size(),
bufferSize,
exc -> {}
);
CountDownLatch latch = new CountDownLatch(shards.size());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,6 @@ The API returns the following response:
{
"took": 150,
"timed_out": false,
"num_reduce_phases": 4,
"_shards": {
"total": 28,
"successful": 28,
Expand Down Expand Up @@ -439,7 +438,6 @@ The API returns the following response:
"response": {
"took": 1020,
"timed_out": false,
"num_reduce_phases": 0,
"_shards": {
"total": 10, <2>
"successful": 0,
Expand Down Expand Up @@ -622,7 +620,6 @@ Response:
"response": {
"took": 27619,
"timed_out": false,
"num_reduce_phases": 4,
"_shards": {
"total": 28,
"successful": 28, <2>
Expand Down Expand Up @@ -759,7 +756,6 @@ Response:
"response": {
"took": 2069,
"timed_out": false,
"num_reduce_phases": 4,
"_shards": {
"total": 28,
"successful": 27,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1030,20 +1030,6 @@ private static Map<String, Object> duelSearchSync(SearchRequest searchRequest, C
}
ObjectPath minimizeRoundtripsSearchResponse = ObjectPath.createFromResponse(minimizeRoundtripsResponse.get());
responseChecker.accept(minimizeRoundtripsSearchResponse);

// if only the remote cluster was searched, then only one reduce phase is expected
int expectedReducePhasesMinRoundTrip = 1;
if (searchRequest.indices().length > 1) {
expectedReducePhasesMinRoundTrip = searchRequest.indices().length + 1;
}
if (expectedReducePhasesMinRoundTrip == 1) {
assertThat(
minimizeRoundtripsSearchResponse.evaluate("num_reduce_phases"),
anyOf(equalTo(expectedReducePhasesMinRoundTrip), nullValue())
);
} else {
assertThat(minimizeRoundtripsSearchResponse.evaluate("num_reduce_phases"), equalTo(expectedReducePhasesMinRoundTrip));
}
ObjectPath fanOutSearchResponse = ObjectPath.createFromResponse(fanOutResponse.get());
responseChecker.accept(fanOutSearchResponse);
assertThat(fanOutSearchResponse.evaluate("num_reduce_phases"), anyOf(equalTo(1), nullValue())); // default value is 1?
Expand Down Expand Up @@ -1159,20 +1145,6 @@ private static Map<String, Object> duelSearchAsync(

responseChecker.accept(minimizeRoundtripsResponse);

// if only the remote cluster was searched, then only one reduce phase is expected
int expectedReducePhasesMinRoundTrip = 1;
if (searchRequest.indices().length > 1) {
expectedReducePhasesMinRoundTrip = searchRequest.indices().length + 1;
}
if (expectedReducePhasesMinRoundTrip == 1) {
assertThat(
minimizeRoundtripsResponse.evaluate("num_reduce_phases"),
anyOf(equalTo(expectedReducePhasesMinRoundTrip), nullValue())
);
} else {
assertThat(minimizeRoundtripsResponse.evaluate("num_reduce_phases"), equalTo(expectedReducePhasesMinRoundTrip));
}

responseChecker.accept(fanOutResponse);
assertThat(fanOutResponse.evaluate("num_reduce_phases"), anyOf(equalTo(1), nullValue())); // default value is 1?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@
import org.apache.http.nio.entity.NByteArrayEntity;
import org.elasticsearch.ExceptionsHelper;
import org.elasticsearch.action.search.MultiSearchRequest;
import org.elasticsearch.action.search.SearchQueryThenFetchAsyncAction;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.client.Request;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.elasticsearch.transport.TransportMessageListener;
import org.elasticsearch.transport.TransportResponse;
import org.elasticsearch.transport.TransportService;
import org.elasticsearch.xcontent.XContentType;
import org.junit.Before;
Expand All @@ -29,12 +31,30 @@
import static org.elasticsearch.index.query.QueryBuilders.simpleQueryStringQuery;

public class SearchErrorTraceIT extends HttpSmokeTestCase {
private AtomicBoolean hasStackTrace;
private final AtomicBoolean hasStackTrace = new AtomicBoolean(false);

@Before
private void setupMessageListener() {
internalCluster().getDataNodeInstances(TransportService.class).forEach(ts -> {
ts.addMessageListener(new TransportMessageListener() {

@Override
public void onResponseSent(long requestId, String action, TransportResponse response) {
if (SearchQueryThenFetchAsyncAction.NODE_SEARCH_ACTION_NAME.equals(action)) {
Object[] res = asInstanceOf(SearchQueryThenFetchAsyncAction.NodeQueryResponse.class, response).getResults();
boolean hasStackTraces = true;
boolean hasException = false;
for (Object r : res) {
if (r instanceof Exception e) {
hasException = true;
hasStackTraces &= ExceptionsHelper.unwrapCausesAndSuppressed(e, t -> t.getStackTrace().length > 0)
.isPresent();
}
}
hasStackTrace.set(hasStackTraces && hasException);
}
}

@Override
public void onResponseSent(long requestId, String action, Exception error) {
TransportMessageListener.super.onResponseSent(requestId, action, error);
Expand All @@ -61,7 +81,6 @@ private void setupIndexWithDocs() {
}

public void testSearchFailingQueryErrorTraceDefault() throws IOException {
hasStackTrace = new AtomicBoolean();
setupIndexWithDocs();

Request searchRequest = new Request("POST", "/_search");
Expand All @@ -80,7 +99,6 @@ public void testSearchFailingQueryErrorTraceDefault() throws IOException {
}

public void testSearchFailingQueryErrorTraceTrue() throws IOException {
hasStackTrace = new AtomicBoolean();
setupIndexWithDocs();

Request searchRequest = new Request("POST", "/_search");
Expand All @@ -100,7 +118,6 @@ public void testSearchFailingQueryErrorTraceTrue() throws IOException {
}

public void testSearchFailingQueryErrorTraceFalse() throws IOException {
hasStackTrace = new AtomicBoolean();
setupIndexWithDocs();

Request searchRequest = new Request("POST", "/_search");
Expand All @@ -120,7 +137,6 @@ public void testSearchFailingQueryErrorTraceFalse() throws IOException {
}

public void testMultiSearchFailingQueryErrorTraceDefault() throws IOException {
hasStackTrace = new AtomicBoolean();
setupIndexWithDocs();

XContentType contentType = XContentType.JSON;
Expand All @@ -137,7 +153,6 @@ public void testMultiSearchFailingQueryErrorTraceDefault() throws IOException {
}

public void testMultiSearchFailingQueryErrorTraceTrue() throws IOException {
hasStackTrace = new AtomicBoolean();
setupIndexWithDocs();

XContentType contentType = XContentType.JSON;
Expand All @@ -150,12 +165,11 @@ public void testMultiSearchFailingQueryErrorTraceTrue() throws IOException {
new NByteArrayEntity(requestBody, ContentType.create(contentType.mediaTypeWithoutParameters(), (Charset) null))
);
searchRequest.addParameter("error_trace", "true");
getRestClient().performRequest(searchRequest);
assertTrue(hasStackTrace.get());
var response = getRestClient().performRequest(searchRequest);
assertTrue(response.getStatusLine().getStatusCode() == 200 || hasStackTrace.get());
}

public void testMultiSearchFailingQueryErrorTraceFalse() throws IOException {
hasStackTrace = new AtomicBoolean();
setupIndexWithDocs();

XContentType contentType = XContentType.JSON;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ setup:
batched_reduce_size: 2
body: { "size" : 0, "aggs" : { "str_terms" : { "terms" : { "field" : "str" } } } }

- match: { num_reduce_phases: 4 }
- match: { hits.total: 3 }
- length: { aggregations.str_terms.buckets: 2 }
- match: { aggregations.str_terms.buckets.0.key: "abc" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -574,11 +574,8 @@ public void testSearchQueryThenFetch() throws Exception {
);

clearInterceptedActions();
assertIndicesSubset(
Arrays.asList(searchRequest.indices()),
SearchTransportService.QUERY_ACTION_NAME,
SearchTransportService.FETCH_ID_ACTION_NAME
);
assertIndicesSubset(Arrays.asList(searchRequest.indices()), true, SearchTransportService.QUERY_ACTION_NAME);
assertIndicesSubset(Arrays.asList(searchRequest.indices()), SearchTransportService.FETCH_ID_ACTION_NAME);
}

public void testSearchDfsQueryThenFetch() throws Exception {
Expand Down Expand Up @@ -631,10 +628,6 @@ private static void assertIndicesSubset(List<String> indices, String... actions)
assertIndicesSubset(indices, false, actions);
}

private static void assertIndicesSubsetOptionalRequests(List<String> indices, String... actions) {
assertIndicesSubset(indices, true, actions);
}

private static void assertIndicesSubset(List<String> indices, boolean optional, String... actions) {
// indices returned by each bulk shard request need to be a subset of the original indices
for (String action : actions) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,11 @@
import org.elasticsearch.action.admin.indices.validate.query.ValidateQueryAction;
import org.elasticsearch.action.bulk.TransportBulkAction;
import org.elasticsearch.action.index.TransportIndexAction;
import org.elasticsearch.action.search.SearchTransportService;
import org.elasticsearch.action.search.TransportSearchAction;
import org.elasticsearch.action.support.WriteRequest;
import org.elasticsearch.action.support.replication.ReplicationResponse;
import org.elasticsearch.action.support.replication.TransportReplicationActionTests;
import org.elasticsearch.cluster.node.DiscoveryNode;
import org.elasticsearch.cluster.service.ClusterService;
import org.elasticsearch.common.Strings;
import org.elasticsearch.common.regex.Regex;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.core.Tuple;
import org.elasticsearch.health.node.selection.HealthNode;
Expand Down Expand Up @@ -88,16 +84,13 @@
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHitCount;
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNoFailures;
import static org.hamcrest.Matchers.allOf;
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.empty;
import static org.hamcrest.Matchers.emptyCollectionOf;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.greaterThan;
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
import static org.hamcrest.Matchers.hasSize;
import static org.hamcrest.Matchers.lessThanOrEqualTo;
import static org.hamcrest.Matchers.not;
import static org.hamcrest.Matchers.notNullValue;
import static org.hamcrest.Matchers.startsWith;

/**
Expand Down Expand Up @@ -351,56 +344,6 @@ public void testTransportBulkTasks() {
assertParentTask(findEvents(TransportBulkAction.NAME + "[s][r]", Tuple::v1), shardTask);
}

public void testSearchTaskDescriptions() {
registerTaskManagerListeners(TransportSearchAction.TYPE.name()); // main task
registerTaskManagerListeners(TransportSearchAction.TYPE.name() + "[*]"); // shard task
createIndex("test");
ensureGreen("test"); // Make sure all shards are allocated to catch replication tasks
prepareIndex("test").setId("test_id")
.setSource("{\"foo\": \"bar\"}", XContentType.JSON)
.setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE)
.get();

Map<String, String> headers = new HashMap<>();
headers.put(Task.X_OPAQUE_ID_HTTP_HEADER, "my_id");
headers.put("Foo-Header", "bar");
headers.put("Custom-Task-Header", "my_value");
assertNoFailures(client().filterWithHeader(headers).prepareSearch("test").setQuery(QueryBuilders.matchAllQuery()));

// the search operation should produce one main task
List<TaskInfo> mainTask = findEvents(TransportSearchAction.TYPE.name(), Tuple::v1);
assertEquals(1, mainTask.size());
assertThat(mainTask.get(0).description(), startsWith("indices[test], search_type["));
assertThat(mainTask.get(0).description(), containsString("\"query\":{\"match_all\""));
assertTaskHeaders(mainTask.get(0));

// check that if we have any shard-level requests they all have non-zero length description
List<TaskInfo> shardTasks = findEvents(TransportSearchAction.TYPE.name() + "[*]", Tuple::v1);
for (TaskInfo taskInfo : shardTasks) {
assertThat(taskInfo.parentTaskId(), notNullValue());
assertEquals(mainTask.get(0).taskId(), taskInfo.parentTaskId());
assertTaskHeaders(taskInfo);
switch (taskInfo.action()) {
case SearchTransportService.QUERY_ACTION_NAME, SearchTransportService.DFS_ACTION_NAME -> assertTrue(
taskInfo.description(),
Regex.simpleMatch("shardId[[test][*]]", taskInfo.description())
);
case SearchTransportService.QUERY_ID_ACTION_NAME -> assertTrue(
taskInfo.description(),
Regex.simpleMatch("id[*], indices[test]", taskInfo.description())
);
case SearchTransportService.FETCH_ID_ACTION_NAME -> assertTrue(
taskInfo.description(),
Regex.simpleMatch("id[*], size[1], lastEmittedDoc[null]", taskInfo.description())
);
default -> fail("Unexpected action [" + taskInfo.action() + "] with description [" + taskInfo.description() + "]");
}
// assert that all task descriptions have non-zero length
assertThat(taskInfo.description().length(), greaterThan(0));
}

}

public void testSearchTaskHeaderLimit() {
int maxSize = Math.toIntExact(SETTING_HTTP_MAX_HEADER_SIZE.getDefault(Settings.EMPTY).getBytes() / 2 + 1);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,6 @@ public SearchTask createTask(long id, String type, String action, TaskId parentT
assertThat(numFetchResults.get(), equalTo(0));
assertThat(numFetchFailures.get(), equalTo(0));
}
assertThat(numReduces.get(), equalTo(searchResponse.get().getNumReducePhases()));
}

private static List<SearchShard> createRandomIndices(Client client) {
Expand Down
Loading
Loading