Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Show only intersecting buckets to the Adjacency matrix aggregation #10226

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
359 commits
Select commit Hold shift + click to select a range
c2c20d7
[Remote Store] Fix couple of Remote Store flaky test and use bulk api…
gbbafna Aug 10, 2023
cbf5dc6
[Refactor] Task foundation classes to core library - pt 1 (#9082)
nknize Aug 10, 2023
a995c2b
Automatically update GitHub Actions dependencies with dependabot (#9221)
reta Aug 10, 2023
e58ed2a
Bump com.azure:azure-storage-blob from 12.22.3 to 12.23.0 in /plugins…
dependabot[bot] Aug 10, 2023
d4a7036
[Segment Replication] Refactor file cleanup logic and fix PIT/Scroll …
mch2 Aug 10, 2023
4314060
Bump com.diffplug.spotless from 6.19.0 to 6.20.0 (#9227)
dependabot[bot] Aug 10, 2023
216b6c6
Fix test SegmentReplicationIndexShardTests.testPrimaryRestart. (#9245)
mch2 Aug 11, 2023
e1c985a
Force upgrade the vulnerable dependencies of hadoop-minicluster (#9252)
Xtansia Aug 11, 2023
7a00ba1
[Remote Store] Introduce RemoteStoreRestoreService to handle restore …
linuxpi Aug 11, 2023
00a9864
Bump com.google.code.gson:gson from 2.9.0 to 2.10.1 in /plugins/repos…
dependabot[bot] Aug 11, 2023
0e2e5cc
Bump lycheeverse/lychee-action from 1.2.0 to 1.8.0 (#9228)
dependabot[bot] Aug 11, 2023
d002805
Fix flaky test SegmentReplicationIT.testDeleteOperations. (#9244)
mch2 Aug 11, 2023
28d8ce4
Upgrade backport action to support failed labels (#9270)
kotwanikunal Aug 11, 2023
de3c649
Bump snakeyaml from 2.0 to 2.1 (#9269)
reta Aug 11, 2023
041e996
Adds attributes to startSpan (#9199)
Gaganjuneja Aug 11, 2023
2606251
Make SearchTemplateRequest implement IndicesRequest.Replaceable (#9122)
cwperks Aug 11, 2023
496dce0
Implement on behalf of token passing for extensions (#8679)
stephen-crawford Aug 11, 2023
590fdd9
[Segment Replication] Unmute testIndexingWithSegRep rolling upgrade t…
dreamer-89 Aug 11, 2023
7fef4a5
[BWC and API enforcement] Define the initial set of annotations, thei…
reta Aug 11, 2023
f076689
docCountError must be 0 for shard level reduce (#9246)
jed326 Aug 12, 2023
726a15b
[Remote Store] Add remote segment transfer stats on NodesStats API (#…
shourya035 Aug 14, 2023
8de2b1d
[Remote Store] Remove stale code for remote restore from Restore Serv…
linuxpi Aug 14, 2023
712e432
Bump aws-actions/configure-aws-credentials from 1 to 2 (#9302)
dependabot[bot] Aug 14, 2023
5216e07
[BWC and API enforcement] Extend the element types the initial set of…
reta Aug 14, 2023
cd16f05
[BUG] The spotless should take care of unified imports ordering (benc…
reta Aug 14, 2023
bab43e1
The spotless should take care of unified imports ordering (libs/ subp…
owaiskazi19 Aug 14, 2023
dc2b057
Fix flaky testCorruptedTranslog test (#9139)
dbwiddis Aug 14, 2023
bdf40a0
Restrict GitHub Actions to run only on OpenSearch repo (#9284)
dbwiddis Aug 14, 2023
9c24c35
Return 409 Conflict HTTP status instead of 500 on failure to concurre…
baba-devv Aug 14, 2023
314448d
[BUG] The spotless should take care of unified imports ordering (buil…
reta Aug 15, 2023
3991eb8
Refactor Compressors from CompressorFactory to CompressorRegistry for…
nknize Aug 15, 2023
2b612dd
Change noisy logs on SegRep and remote store paths to trace level (#9…
mch2 Aug 15, 2023
f1775cb
[Segment Replication] Mute flaky testIndexingWithSegRep test (#9324)
dreamer-89 Aug 15, 2023
c553d91
Enforce up-to-date Guava in buildSrc (#9335)
Xtansia Aug 15, 2023
961e5cd
[BUG] The spotless should take care of unified imports ordering (clie…
reta Aug 15, 2023
940d19f
[BUG] The spotless should take care of unified imports ordering (modu…
reta Aug 15, 2023
c770186
The spotless should take care of unified imports ordering (test/ subp…
owaiskazi19 Aug 15, 2023
9616fdd
[CheckCompatibility] Prevent interleaving of log output (#9280)
peternied Aug 15, 2023
fe8c4f1
Mute RemoteRestoreSnapshotIT.testRestoreInSameRemoteStoreEnabledIndex…
andrross Aug 15, 2023
63fd7b7
Add base class for parameterizing the search based tests (#9083)
neetikasinghal Aug 15, 2023
5c47a24
[BUG] The spotless should take care of unified imports ordering (plug…
reta Aug 15, 2023
d58deab
Add support for wrapping CollectorManager with profiling during concu…
ticheng-aws Aug 15, 2023
76f918b
Mute remote store + segRep flaky tests that frequently block checks. …
mch2 Aug 15, 2023
a7681a3
Fix changelog divergence on main (#9372)
andrross Aug 15, 2023
9bd0c36
Default to mmapfs within hybridfs (#8508)
dzane17 Aug 15, 2023
a54650a
Rethrow OpenSearch exception in concurrent search (#9177)
neetikasinghal Aug 15, 2023
b2c77bc
[Remote Store] Rename RemoteRefreshSegmentPressureSettings and Remote…
Aug 16, 2023
2bedc10
Changing remotestore based metrics version to 2.10 (#9389)
shourya035 Aug 16, 2023
2ae3db2
Fix flaky test InternalEngineTests.testLastRefreshCheckpoint (#9365)
ankitkala Aug 16, 2023
a4d0da8
[BUG] The spotless should take care of unified imports ordering (serv…
reta Aug 16, 2023
8cfac40
[BUG] The spotless should take care of unified imports ordering (serv…
reta Aug 16, 2023
fa262b1
Fix flaky test NRTReplicationEngineTests.testPreserveLatestCommit (#9…
mch2 Aug 16, 2023
f9eed77
[BUG] The spotless should take care of unified imports ordering (all …
reta Aug 16, 2023
8069a90
[Remove] JodaCompatibleZonedDateTime (#9355)
nknize Aug 16, 2023
fe1cb4c
Fix flaky test by preventing duplicate keys in random mapping fields …
dbwiddis Aug 17, 2023
05020e6
Close Zstd Dictionary after execution to avoid any memory leak. (#9403)
mgodwan Aug 17, 2023
a38dda1
Allow test clusters to run with TLS (#8900)
stephen-crawford Aug 17, 2023
d927c11
[Segment Replication] Support realtime reads for GET requests (#9212)
Poojita-Raj Aug 17, 2023
bb096e4
Fix location of zstd fix changelog entry (#9416)
andrross Aug 17, 2023
55a8e6f
Introduce cluster default and minimum index refresh interval settings…
ashking94 Aug 18, 2023
47178cf
Improve performance of encoding composite keys in multi-term aggregat…
ketanv3 Aug 18, 2023
bec9057
Bump zstd version to 1.5.5-5 (#9431)
sarthakaggarwal97 Aug 18, 2023
003098c
[Remove] Joda from Serialization (#9350)
nknize Aug 18, 2023
e7f6bbb
Change log level of SegRep cancellations to debug (#9445)
mch2 Aug 20, 2023
df2a0a7
[Remote Store] Add cumulative bytes lag to NodesStats (#9393)
shourya035 Aug 21, 2023
fc65c87
Fix failing test in ShardMovementStrategyTests (#9420)
Poojita-Raj Aug 21, 2023
18be4d4
Bugfix: remove assert on non-empty translog reader list (#9458)
sachinpkale Aug 22, 2023
7b9db83
Bump actions/setup-java from 2 to 3 (#9457)
dependabot[bot] Aug 22, 2023
2e0deaf
Bump org.apache.commons:commons-lang3 from 3.12.0 to 3.13.0 in /plugi…
dependabot[bot] Aug 22, 2023
336bb1e
[BUG] Add support to clear archived index settings (#9019)
ankitkala Aug 22, 2023
88d14d2
Bump com.google.api:gax from 2.27.0 to 2.32.0 in /plugins/repository-…
dependabot[bot] Aug 22, 2023
be2aa35
Github action for Gradle precommit failing on MacOS (#9486)
reta Aug 22, 2023
9fc0251
[Feature] Expose term frequency in Painless script score context (#9081)
noCharger Aug 23, 2023
08e179c
[Remote Store] Fix tests when we restore index without any refresh (#…
sachinpkale Aug 23, 2023
a4afe43
[BUG] Reconstruct pit infos when deserialize GetAllPitNodesResponse (…
bugmakerrrrrr Aug 23, 2023
996bbe7
Fix flaky test SegmentReplicationWithRemoteStorePressureIT.testAddRep…
mch2 Aug 23, 2023
827cae6
Run compatibility check based on PR base branch (#9374)
gaiksaya Aug 23, 2023
ca5b0f2
Add Michael Froh as a maintainer (#9463)
andrross Aug 23, 2023
b32623a
Fix range reads in respository-s3 (#9516)
andrross Aug 23, 2023
0b9c0fd
Handle null partSize in OnDemandBlockSnapshotIndexInput (#9470)
andrross Aug 23, 2023
9d60689
Update to Gradle 8.3 (#8896)
reta Aug 23, 2023
ba54dea
Fix sort related ITs for concurrent search (#9466)
neetikasinghal Aug 24, 2023
605bedf
Fixing unblock condition for index create block (#9437)
RS146BIJAY Aug 24, 2023
c5e3f4b
Implement range reads in HDFS repository (#9524)
andrross Aug 24, 2023
8df5df2
Removing the vec file extension from INDEX_STORE_HYBRID_NIO_EXTENSION…
navneet1v Aug 24, 2023
73fe2bf
[Remote Store] Add total upload and download time from remote store t…
shourya035 Aug 25, 2023
3917081
[Remote Store] Removing version checks from RemoteSegmentStats (#9545)
shourya035 Aug 25, 2023
bbc6791
Update AggregatorFactory to provide a method to indicate if it suppor…
jed326 Aug 25, 2023
ada9543
Move the changelog entry to correct section (#9543)
ankitkala Aug 25, 2023
abcffe8
Fix flaky test ArchivedIndexSettingsIT (#9515)
ankitkala Aug 25, 2023
2a7d1c3
Rate Limiter integration for remote transfer (#9448)
Bukhtawar Aug 25, 2023
168d3a0
Performance improvements for BytesRefHash (#8788)
ketanv3 Aug 25, 2023
75fbed8
Fix test DeletePitMultiNodeIT.testDeleteWhileSearch (#9482)
bugmakerrrrrr Aug 25, 2023
b9dc42f
Bump netty from 4.1.96.Final to 4.1.97.Final (#9553)
reta Aug 25, 2023
13a0b2a
Set replication type to SEGMENT in remote store enabled cluster if no…
linuxpi Aug 28, 2023
5a27f09
Bugfix: add replica information in remote store restore flow (#8951)
sachinpkale Aug 28, 2023
df197f4
Add support to use trace propagated from client (#9506)
Gaganjuneja Aug 28, 2023
7bf0e45
Add Secure Bwc documentation to TESTING.md (#9414)
stephen-crawford Aug 28, 2023
7f79d17
For sort request on timeseries field use non concurrent search path (…
sohami Aug 28, 2023
14f90cb
[Segment Replication] Fix bug where replica shows stale doc count dur…
mch2 Aug 28, 2023
e7962a5
[Segment Replication] Add ClusterState utility to identify SEGMENT re…
dreamer-89 Aug 29, 2023
1b23711
Bump io.grpc:grpc-api from 1.57.1 to 1.57.2 in /plugins/repository-gc…
dependabot[bot] Aug 29, 2023
3d67262
Add SearchExtBuilders to SearchResponse (#9379)
austintlee Aug 29, 2023
3da9b31
Fix GH runners memory issue by increasing swapfile (#9596)
gaiksaya Aug 29, 2023
6aea09a
[Remote Store] Retry RemoteIndexShardTests flaky tests (#9597)
dreamer-89 Aug 30, 2023
b92a1d4
[BWC and API enforcement] Decorate the existing APIs with proper anno…
reta Aug 30, 2023
3571ccf
Fix SegmentReplicationUsingRemoteStoreIT#testDropPrimaryDuringReplica…
mch2 Aug 30, 2023
9042ac5
Update the minimum version check on SearchExtBuilder support in Searc…
austintlee Aug 30, 2023
f7a3aa0
Allow MockTracingTelemetry to await for asynchronous tasks terminatio…
reta Aug 30, 2023
b066de7
Add benchmark to measure performance of CustomBinaryDocValuesField (#…
kkmr Aug 30, 2023
6a0d55f
Adding concurrent search versions of query count and time metrics (#9…
jed326 Aug 30, 2023
9d354ad
[Segment Replication] Handle failover in mixed cluster mode (#9536)
Poojita-Raj Aug 31, 2023
441ee16
[Remote Store] Add tracker factory to manage remote store stats track…
Aug 31, 2023
d596254
Decouple replication lag from logic to fail stale replicas (#9507)
ankitkala Aug 31, 2023
e03b701
[Remote State] Create service to publish cluster state to remote stor…
soosinha Aug 31, 2023
dd76a17
Add Crypto Handler abstractions for encryption/decryption and Crypto…
vikasvb90 Aug 31, 2023
2ed633c
Added sampler based on Blanket Probabilistic Sampling rate and Overri…
devagarwal1803 Aug 31, 2023
33c0577
Expose DelimitedTermFrequencyTokenFilter (#9479)
russcam Aug 31, 2023
4487250
Add async blob read and download support using multiple streams (#9592)
kotwanikunal Sep 1, 2023
706e577
Mute RemoteIndexShardTests primary promotion flaky tests (#9679)
dreamer-89 Sep 1, 2023
30cf506
Introduce cluster default remote translog buffer interval setting (#9…
ashking94 Sep 1, 2023
ebc4e1f
remove redundent column headers in pit segments response (#9615)
bugmakerrrrrr Sep 1, 2023
c81666b
[Segment Replication] Allow segment replication with on disk files no…
dreamer-89 Sep 1, 2023
c9af1f3
[Tracing Framework] Redefine telemetry context restoration and propag…
Gaganjuneja Sep 1, 2023
67421c0
Fix Segment Replication stats bytes behind metric (#9686)
mch2 Sep 1, 2023
17186aa
[Remote Store] Mute RemoteIndexRecoveryIT.testReplicaRecovery flaky t…
dreamer-89 Sep 1, 2023
7a0f10e
Add average query concurrency metric for concurrent segment search (#…
jed326 Sep 2, 2023
f11f0a2
Add support download latest index metadata from remote (#9477)
linuxpi Sep 2, 2023
d136829
Disable shard/segment level search_after short cutting if track_total…
gashutos Sep 2, 2023
351952d
Segment Replication - Block snapshot creation if the target primary s…
mch2 Sep 4, 2023
e5209e8
[Remote state] Integrate remote cluster state in publish/commit flow …
soosinha Sep 4, 2023
98e8d2c
Fix null_pointer_exception when creating or updating ingest pipeline …
gaobinlong Sep 4, 2023
0296cfa
Add encryption support for repository (#9289)
vikasvb90 Sep 4, 2023
546d978
[Remote Store] Add support for Remote Translog Store stats in `_remot…
Sep 4, 2023
540ca4b
[Segment Replication] Adding segment replication statistics rolled up…
Poojita-Raj Sep 4, 2023
7894feb
Update version back to 2_10_0 in Segmentstats. (#9745)
Rishikesh1159 Sep 5, 2023
43d9749
Fix bwc version for concurrent segment search stats (#9722)
jed326 Sep 5, 2023
150d03f
Bump org.apache.ant:ant from 1.10.13 to 1.10.14 in /buildSrc (#9579)
dependabot[bot] Sep 5, 2023
3d708c5
BWC compatibility fix for crypto settings in put repository request (…
vikasvb90 Sep 5, 2023
084e854
Initial commit of crypto-kms plugin (#8465)
vikasvb90 Sep 5, 2023
6f688e0
[Tracing Framework] Add proper API annotations (#9706)
reta Sep 5, 2023
25975bd
Add Peter Nied as a Maintainer (#9765)
dbwiddis Sep 5, 2023
933673f
Rename remote store stats field names (#9763)
ashking94 Sep 5, 2023
78d1859
Add support for query profiler with concurrent aggregation (#9248)
ticheng-aws Sep 5, 2023
8b634e1
[Segment Replication] Fix shrink Index bug with segment replication. …
Rishikesh1159 Sep 5, 2023
269949f
Remove org.bouncycastle:bcprov-jdk15to18: not needed and breaks the p…
reta Sep 5, 2023
1f56fb0
Cleanup Unreferenced file on segment merge failure (#9503)
RS146BIJAY Sep 6, 2023
5bae452
Retry download of RemoteFSTranslog to fix transient race conditions (…
gbbafna Sep 6, 2023
ffcbf66
[Remote Store] Changes to perform repository registration during boot…
psychbot Sep 6, 2023
baaf0bb
fix: flaky test ClusterMetadataManifestTests (#9728)
r1walz Sep 6, 2023
1c33ff1
[Remote Store] Fixing flaky test - RemoteIndexPrimaryRelocationIT (#9…
psychbot Sep 6, 2023
d6c90f1
[Remote Store] Add support for Remote Translog Store upload stats in …
Sep 6, 2023
4baa49b
Fix searchable snapshot to not sync from remote (#9791)
shourya035 Sep 6, 2023
f4cea9e
Crypto Metadata support in repo registration (#9802)
gbbafna Sep 6, 2023
812b05b
[Remote Cluster State] Parallel and Multipart IndexMetadata uploads (…
linuxpi Sep 6, 2023
5cada2b
Introducing ZStd compression codec plugin (#9658)
sarthakaggarwal97 Sep 6, 2023
57d2a46
[Remote Store] Add support to remote restore IndexMetadata (#9086)
linuxpi Sep 6, 2023
6635165
Validate MockTracingTelemetry span state on shutdown. (#9818)
Gaganjuneja Sep 6, 2023
679633d
Remvoving ESDK changes from core (#9833)
vikasvb90 Sep 6, 2023
f3afdae
Mute flaky test ReadContextListenerTests.testReadContextListenerFailu…
kotwanikunal Sep 6, 2023
13c76a0
[Remote Store] Muting RemoteStoreRefreshListenerTests.testReplicaProm…
shourya035 Sep 7, 2023
c85ce23
Bump 2.x version to 2.11 (#9856)
kotwanikunal Sep 7, 2023
d2360f2
[Snapshot Interop] Fix Flakiness in Snapshot Interop Code (#9795)
harishbhakuni Sep 7, 2023
a49af22
Decrease store refcount on any failure to create NRTReplicationEngine…
sachinpkale Sep 7, 2023
410b57d
Mute org.opensearch.index.codec.MultiCodecMergeIT.testForceMergeMulti…
sachinpkale Sep 7, 2023
796b372
[Remote Store] Update version check for Remote Translog Store upload …
Sep 7, 2023
7af90fe
Removing asserts based on translog stats as it is not applicable for …
gbbafna Sep 7, 2023
3c5102e
[Remote Cluster State] Move remote cluster state related settings to …
linuxpi Sep 7, 2023
1318aca
Add logic to fetch previousClusterUUID (#9746)
soosinha Sep 7, 2023
3ba12b5
[Remote Store] Removing feature flag to mark feature GA (#9761)
shourya035 Sep 7, 2023
aa3beb8
Fix flaky codec tests (#9889)
sarthakaggarwal97 Sep 7, 2023
72f5fb0
Restore cluster metadata during bootstrap (#9831)
soosinha Sep 7, 2023
684ea71
Unmute testIndexingWithPrimaryOnBwcNodes (#9742)
dreamer-89 Sep 7, 2023
42820bc
changing compat version back to 2.10 (#9899)
shourya035 Sep 7, 2023
4273a4d
[Remote Cluster State] Remove stale remote cluster state (#9719)
linuxpi Sep 7, 2023
230f5d8
Fix default tracer flaky test (#9782)
Gaganjuneja Sep 7, 2023
eb02543
Mute the query profile IT with concurrent execution (#9840)
ticheng-aws Sep 8, 2023
ae846c6
Disable remote integrity check for encrypted repos for ChecksumBlobst…
linuxpi Sep 8, 2023
6cce20c
Improve performance of rounding dates in date_histogram aggregation (…
ketanv3 Sep 8, 2023
e2b689c
Allow parameterization of tests with OpenSearchIntegTestCase.SuiteSco…
neetikasinghal Sep 8, 2023
32a5376
[Segment Replication] Support realtime TermVector requests with Segme…
Rishikesh1159 Sep 8, 2023
5a763b4
Add Tracing Instrumentation at Network and Rest layer (#9415)
Gaganjuneja Sep 8, 2023
26df25b
Remove custom-codecs plugin (#9944)
andrross Sep 8, 2023
8694382
Fix ReadContextListenerTests to avoid inconsistent WindowsFS file han…
kotwanikunal Sep 8, 2023
4e67d79
Add release notes for 2.10 (#9955)
kotwanikunal Sep 8, 2023
5c0bace
Mute CorrelationCodecTests.testCorrelationVectorIndex (#9956)
andrross Sep 9, 2023
dc4cd14
Update single comment for check compatibility (#9954)
andrross Sep 9, 2023
4d8bcac
Fixing various javadocs (#9817)
ker2x Sep 10, 2023
3d1a9f6
Bump peter-evans/create-or-update-comment from 2 to 3 (#9575)
dependabot[bot] Sep 10, 2023
d67a039
Bump actions/checkout from 2 to 4 (#9968)
dependabot[bot] Sep 11, 2023
1097803
Bump org.apache.commons:commons-compress from 1.23.0 to 1.24.0 (#9973)
reta Sep 11, 2023
7c7ccf0
Bump JNA version from 5.5 to 5.13. (#9963)
austintlee Sep 11, 2023
7432dc3
Bump OpenTelemetry from 1.26.0 to 1.30.0 (#9950)
reta Sep 11, 2023
e46af8a
Block unsafe bootstrap when remote state is enabled (#9965)
soosinha Sep 12, 2023
b450d73
Don't over-allocate in HeapBufferedAsyncEntityConsumer in order to co…
reta Sep 12, 2023
8f56922
Add threadpool wait time metric (#9681)
jed326 Sep 12, 2023
332bb0f
Bump com.google.cloud:google-cloud-core-http from 2.21.1 to 2.23.0 in…
dependabot[bot] Sep 12, 2023
768000b
Remove tf() painless method (#9995)
noCharger Sep 12, 2023
33558f2
Bump org.apache.commons:commons-compress in /test/fixtures/hdfs-fixtu…
dependabot[bot] Sep 12, 2023
079ebbd
Parameterize the tests for concurrent search (#9845)
neetikasinghal Sep 12, 2023
258aacb
Fix bwc on main for threadpool wait time metric (#10004)
jed326 Sep 13, 2023
4a46978
Bump mockito and bytebuddy (#10022)
reta Sep 13, 2023
567b2bd
Add workflow to copy labels from linked issues to the PR (#10010)
kotwanikunal Sep 13, 2023
6dd5a71
Parameterize tests for concurrent search 2 (#9852)
neetikasinghal Sep 13, 2023
8bb703b
Parameterize tests for concurrent search 3 (#9982)
neetikasinghal Sep 13, 2023
26a6771
Fix ignore_missing parameter has no effect in rename ingest processor…
gaobinlong Sep 14, 2023
a15d5c6
Fix typo in Precommit and Assemble workflow (#10037)
msfroh Sep 14, 2023
04a4f86
Fixing javadoc error (#9976)
ker2x Sep 14, 2023
d415cde
Disable stalled PR workflow (#10052)
kotwanikunal Sep 14, 2023
c90388d
Add release notes for 1.3.13 (#10058)
kotwanikunal Sep 14, 2023
0d2132f
Parameterize ITs to run with concurrent search enabled (#9441)
harishbhakuni Sep 15, 2023
446d07f
Fix flaky behavior of RemoteStoreRestoreIT.testRateLimitedRemoteDownl…
sachinpkale Sep 15, 2023
16cb218
Add tracing instrumentation in transport service (#10042)
Gaganjuneja Sep 15, 2023
01a3efe
Always create empty translog on replica for remote store enabled inde…
sachinpkale Sep 15, 2023
0f43746
Fix broken backward compatibility from 2.7 for IndexSorted field indi…
gashutos Sep 15, 2023
890c04b
Add async read support for S3 plugin (#9694)
kotwanikunal Sep 15, 2023
564b0d2
skip overriding routing table when it already contains entries with r…
linuxpi Sep 16, 2023
75a5164
Finxing broken UT (#10087)
gashutos Sep 16, 2023
10cfb40
Optimize read write lock constructs during translog upload to remote …
ashking94 Sep 18, 2023
acd6846
Bump com.zaxxer:SparseBitSet from 1.2 to 1.3 in /plugins/ingest-attac…
dependabot[bot] Sep 18, 2023
e21f533
Fix cluster chaining during bootstrap (#10020)
soosinha Sep 19, 2023
83335d1
Update Apache Lucene to 9.8.0-snapshot-95cdd2e (#10031)
reta Sep 19, 2023
8b3b68f
Bump tibdex/github-app-token from 1.5.0 to 2.1.0 (#10125)
dependabot[bot] Sep 19, 2023
7cfb789
Remove outdated default index mapping error message (#7008)
lukas-vlcek Sep 19, 2023
9d62b01
Update Github action for Gradle precommit on MacOS (#10140)
reta Sep 20, 2023
ec87af6
Bumps jetty version to 9.4.52.v20230823 to fix GMS-2023-1857 (#9822)
DarshitChanpura Sep 20, 2023
77fbf36
Search latency tracking - Coordinator node (#8386)
buddharajusahil Sep 20, 2023
d3990c8
Fix NPE in ConcurrentQueryProfile while computing the breakdown map f…
sohami Sep 21, 2023
642b4a4
Bump version of jgit to 6.7.0.202309050840-r to fix CVE-2023-4759 (#1…
Poojita-Raj Sep 21, 2023
952d540
Bump com.github.tomakehurst:wiremock-jre8-standalone from 2.35.0 to 3…
dependabot[bot] Sep 21, 2023
b7721b4
[Feature] Visitor design pattern in QueryBuilder (#10110)
vibrantvarun Sep 21, 2023
0745eb1
[Telemetry-Otel] Added support for OtlpGrpcSpanExporter exporter (#9666)
Shephalimittal Sep 21, 2023
732ebf0
Removing extra protobuf notice file (#10114)
VachaShah Sep 21, 2023
018036d
Add search pipeline README (#9825)
stephen-crawford Sep 21, 2023
f030949
Fix NPE in EmptyTopDocsCollectorContext::createManager (#10082)
jed326 Sep 21, 2023
2228e76
Bump `com.google.http-client:google-http-client-jackson2` from 1.43.2…
Poojita-Raj Sep 22, 2023
5c4b5ca
Downgrade write lock to read lock before translog upload to remote st…
ashking94 Sep 22, 2023
bed318d
Provide service accounts tokens to extensions (#9618)
stephen-crawford Sep 22, 2023
cb7142c
Reenable multipart repository within multipart ITs (#10178)
kotwanikunal Sep 22, 2023
2c4284f
Add support for encrypted async blob read (#10131)
kotwanikunal Sep 22, 2023
74aad97
Add async segment file download support from remote store (#9710)
kotwanikunal Sep 22, 2023
5c0e568
Honor max segment size during only_expunge_deletes (#10036)
msfroh Sep 23, 2023
8445b46
Bump org.xerial.snappy:snappy-java from 1.1.10.3 to 1.1.10.4 in /test…
dependabot[bot] Sep 25, 2023
7de7dac
Fix remove ingest processor handing ignore_missing parameter not corr…
gaobinlong Sep 25, 2023
c624e5b
Bump codecov/codecov-action from 2 to 3 (#10209)
dependabot[bot] Sep 25, 2023
57877db
[Tracing Framework] Add support for SpanKind (#10122)
Gaganjuneja Sep 25, 2023
71b0fc1
Bump com.google.api.grpc:proto-google-common-protos from 2.10.0 to 2.…
dependabot[bot] Sep 25, 2023
3d66a5f
Bump BouncyCastle to 1.76 (#10219)
willyborankin Sep 25, 2023
8fc0cb5
Merge remote-tracking branch 'origin' into brusic/8832-show-only-inte…
brusic Sep 25, 2023
188ff84
Fix errant keystroke
brusic Sep 25, 2023
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 @@ -125,3 +125,35 @@ setup:

- match: { aggregations.conns.buckets.3.doc_count: 1 }
- match: { aggregations.conns.buckets.3.key: "4" }


---
"Show only intersections":

- do:
search:
index: test
rest_total_hits_as_int: true
body:
size: 0
aggs:
conns:
adjacency_matrix:
show_only_intersecting: true
filters:
1:
term:
num: 1
2:
term:
num: 2
4:
term:
num: 4

- match: { hits.total: 3 }

- length: { aggregations.conns.buckets: 1 }

- match: { aggregations.conns.buckets.0.doc_count: 1 }
- match: { aggregations.conns.buckets.0.key: "1&2" }
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,11 @@ public class AdjacencyMatrixAggregationBuilder extends AbstractAggregationBuilde

private static final ParseField SEPARATOR_FIELD = new ParseField("separator");
private static final ParseField FILTERS_FIELD = new ParseField("filters");

public static final ParseField SHOW_ONLY_INTERSECTING = new ParseField("show_only_intersecting");

private List<KeyedFilter> filters;
private boolean showOnlyIntersecting = false;
private String separator = DEFAULT_SEPARATOR;

private static final ObjectParser<AdjacencyMatrixAggregationBuilder, String> PARSER = ObjectParser.fromBuilder(
Expand All @@ -81,6 +85,10 @@ public class AdjacencyMatrixAggregationBuilder extends AbstractAggregationBuilde
static {
PARSER.declareString(AdjacencyMatrixAggregationBuilder::separator, SEPARATOR_FIELD);
PARSER.declareNamedObjects(AdjacencyMatrixAggregationBuilder::setFiltersAsList, KeyedFilter.PARSER, FILTERS_FIELD);
PARSER.declareBoolean(
AdjacencyMatrixAggregationBuilder::showOnlyIntersecting,
AdjacencyMatrixAggregationBuilder.SHOW_ONLY_INTERSECTING
);
}

public static AggregationBuilder parse(XContentParser parser, String name) throws IOException {
Expand Down Expand Up @@ -115,6 +123,7 @@ protected AdjacencyMatrixAggregationBuilder(
super(clone, factoriesBuilder, metadata);
this.filters = new ArrayList<>(clone.filters);
this.separator = clone.separator;
this.showOnlyIntersecting = clone.showOnlyIntersecting;
}

@Override
Expand All @@ -138,13 +147,36 @@ public AdjacencyMatrixAggregationBuilder(String name, String separator, Map<Stri
setFiltersAsMap(filters);
}

/**
* @param name
* the name of this aggregation
* @param separator
* the string used to separate keys in intersections buckets e.g.
* &amp; character for keyed filters A and B would return an
* intersection bucket named A&amp;B
* @param filters
* the filters and their key to use with this aggregation.
* @param showOnlyIntersecting
* show only the buckets that intersection multiple documents
*/
public AdjacencyMatrixAggregationBuilder(
String name,
String separator,
Map<String, QueryBuilder> filters,
boolean showOnlyIntersecting
) {
this(name, separator, filters);
this.showOnlyIntersecting = showOnlyIntersecting;
}

/**
* Read from a stream.
*/
public AdjacencyMatrixAggregationBuilder(StreamInput in) throws IOException {
super(in);
int filtersSize = in.readVInt();
separator = in.readString();
showOnlyIntersecting = in.readBoolean();
filters = new ArrayList<>(filtersSize);
for (int i = 0; i < filtersSize; i++) {
filters.add(new KeyedFilter(in));
Expand All @@ -155,6 +187,7 @@ public AdjacencyMatrixAggregationBuilder(StreamInput in) throws IOException {
protected void doWriteTo(StreamOutput out) throws IOException {
out.writeVInt(filters.size());
out.writeString(separator);
out.writeBoolean(showOnlyIntersecting);
for (KeyedFilter keyedFilter : filters) {
keyedFilter.writeTo(out);
}
Expand Down Expand Up @@ -185,6 +218,11 @@ private AdjacencyMatrixAggregationBuilder setFiltersAsList(List<KeyedFilter> fil
return this;
}

public AdjacencyMatrixAggregationBuilder showOnlyIntersecting(boolean showOnlyIntersecting) {
this.showOnlyIntersecting = showOnlyIntersecting;
return this;
}

/**
* Set the separator used to join pairs of bucket keys
*/
Expand Down Expand Up @@ -214,6 +252,10 @@ public Map<String, QueryBuilder> filters() {
return result;
}

public boolean isShowOnlyIntersecting() {
return showOnlyIntersecting;
}

@Override
protected AdjacencyMatrixAggregationBuilder doRewrite(QueryRewriteContext queryShardContext) throws IOException {
boolean modified = false;
Expand All @@ -224,7 +266,9 @@ protected AdjacencyMatrixAggregationBuilder doRewrite(QueryRewriteContext queryS
rewrittenFilters.add(new KeyedFilter(kf.key(), rewritten));
}
if (modified) {
return new AdjacencyMatrixAggregationBuilder(name).separator(separator).setFiltersAsList(rewrittenFilters);
return new AdjacencyMatrixAggregationBuilder(name).separator(separator)
.setFiltersAsList(rewrittenFilters)
.showOnlyIntersecting(showOnlyIntersecting);
}
return this;
}
Expand All @@ -245,7 +289,16 @@ protected AggregatorFactory doBuild(QueryShardContext queryShardContext, Aggrega
+ "] index level setting."
);
}
return new AdjacencyMatrixAggregatorFactory(name, filters, separator, queryShardContext, parent, subFactoriesBuilder, metadata);
return new AdjacencyMatrixAggregatorFactory(
name,
filters,
showOnlyIntersecting,
separator,
queryShardContext,
parent,
subFactoriesBuilder,
metadata
);
}

@Override
Expand All @@ -257,7 +310,8 @@ public BucketCardinality bucketCardinality() {
protected XContentBuilder internalXContent(XContentBuilder builder, Params params) throws IOException {
builder.startObject();
builder.field(SEPARATOR_FIELD.getPreferredName(), separator);
builder.startObject(AdjacencyMatrixAggregator.FILTERS_FIELD.getPreferredName());
builder.field(SHOW_ONLY_INTERSECTING.getPreferredName(), showOnlyIntersecting);
builder.startObject(FILTERS_FIELD.getPreferredName());
for (KeyedFilter keyedFilter : filters) {
builder.field(keyedFilter.key(), keyedFilter.filter());
}
Expand All @@ -268,7 +322,7 @@ protected XContentBuilder internalXContent(XContentBuilder builder, Params param

@Override
public int hashCode() {
return Objects.hash(super.hashCode(), filters, separator);
return Objects.hash(super.hashCode(), filters, showOnlyIntersecting, separator);
}

@Override
Expand All @@ -277,7 +331,9 @@ public boolean equals(Object obj) {
if (obj == null || getClass() != obj.getClass()) return false;
if (super.equals(obj) == false) return false;
AdjacencyMatrixAggregationBuilder other = (AdjacencyMatrixAggregationBuilder) obj;
return Objects.equals(filters, other.filters) && Objects.equals(separator, other.separator);
return Objects.equals(filters, other.filters)
&& Objects.equals(separator, other.separator)
&& Objects.equals(showOnlyIntersecting, other.showOnlyIntersecting);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
import org.apache.lucene.search.Weight;
import org.apache.lucene.util.Bits;
import org.opensearch.common.lucene.Lucene;
import org.opensearch.core.ParseField;
import org.opensearch.core.common.io.stream.StreamInput;
import org.opensearch.core.common.io.stream.StreamOutput;
import org.opensearch.core.common.io.stream.Writeable;
Expand Down Expand Up @@ -70,8 +69,6 @@
*/
public class AdjacencyMatrixAggregator extends BucketsAggregator {

public static final ParseField FILTERS_FIELD = new ParseField("filters");

/**
* A keyed filter
*
Expand Down Expand Up @@ -145,6 +142,8 @@ public boolean equals(Object obj) {

private final String[] keys;
private final Weight[] filters;

private final boolean showOnlyIntersecting;
private final int totalNumKeys;
private final int totalNumIntersections;
private final String separator;
Expand All @@ -155,6 +154,7 @@ public AdjacencyMatrixAggregator(
String separator,
String[] keys,
Weight[] filters,
boolean showOnlyIntersecting,
SearchContext context,
Aggregator parent,
Map<String, Object> metadata
Expand All @@ -163,6 +163,7 @@ public AdjacencyMatrixAggregator(
this.separator = separator;
this.keys = keys;
this.filters = filters;
this.showOnlyIntersecting = showOnlyIntersecting;
this.totalNumIntersections = ((keys.length * keys.length) - keys.length) / 2;
this.totalNumKeys = keys.length + totalNumIntersections;
}
Expand All @@ -177,10 +178,12 @@ public LeafBucketCollector getLeafCollector(LeafReaderContext ctx, final LeafBuc
return new LeafBucketCollectorBase(sub, null) {
@Override
public void collect(int doc, long bucket) throws IOException {
// Check each of the provided filters
for (int i = 0; i < bits.length; i++) {
if (bits[i].get(doc)) {
collectBucket(sub, doc, bucketOrd(bucket, i));
if (!showOnlyIntersecting) {
// Check each of the provided filters
for (int i = 0; i < bits.length; i++) {
if (bits[i].get(doc)) {
collectBucket(sub, doc, bucketOrd(bucket, i));
}
}
}
// Check all the possible intersections of the provided filters
Expand Down Expand Up @@ -216,7 +219,8 @@ public InternalAggregation[] buildAggregations(long[] owningBucketOrds) throws I
long[] bucketOrdsToBuild = new long[totalBucketsToBuild];
int builtBucketIndex = 0;
for (int ord = 0; ord < maxOrd; ord++) {
if (bucketDocCount(ord) > 0) {
long bucketDocCount = bucketDocCount(ord);
if (bucketDocCount > 0) {
bucketOrdsToBuild[builtBucketIndex++] = ord;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,14 @@ public class AdjacencyMatrixAggregatorFactory extends AggregatorFactory {

private final String[] keys;
private final Weight[] weights;

private final boolean showOnlyIntersecting;
private final String separator;

public AdjacencyMatrixAggregatorFactory(
String name,
List<KeyedFilter> filters,
boolean showOnlyIntersecting,
String separator,
QueryShardContext queryShardContext,
AggregatorFactory parent,
Expand All @@ -79,6 +82,7 @@ public AdjacencyMatrixAggregatorFactory(
Query filter = keyedFilter.filter().toQuery(queryShardContext);
weights[i] = contextSearcher.createWeight(contextSearcher.rewrite(filter), ScoreMode.COMPLETE_NO_SCORES, 1f);
}
this.showOnlyIntersecting = showOnlyIntersecting;
}

@Override
Expand All @@ -88,7 +92,17 @@ public Aggregator createInternal(
CardinalityUpperBound cardinality,
Map<String, Object> metadata
) throws IOException {
return new AdjacencyMatrixAggregator(name, factories, separator, keys, weights, searchContext, parent, metadata);
return new AdjacencyMatrixAggregator(
name,
factories,
separator,
keys,
weights,
showOnlyIntersecting,
searchContext,
parent,
metadata
);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,4 +68,13 @@ public void testFiltersSameMap() {
assertEquals(original, builder.filters());
assert original != builder.filters();
}

public void testShowOnlyIntersecting() {
Map<String, QueryBuilder> original = new HashMap<>();
original.put("bbb", new MatchNoneQueryBuilder());
original.put("aaa", new MatchNoneQueryBuilder());
AdjacencyMatrixAggregationBuilder builder;
builder = new AdjacencyMatrixAggregationBuilder("my-agg", "&", original, true);
assertEquals(true, builder.isShowOnlyIntersecting());
}
}