Skip to content

Commit 5a2bc65

Browse files
committed
Merge branch 'main' into searchable-system-index
2 parents 82ef14b + 7e2d243 commit 5a2bc65

File tree

187 files changed

+11516
-791
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

187 files changed

+11516
-791
lines changed

CHANGELOG-3.0.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1414
- [WLM] Add WLM support for search scroll API ([#16981](https://github.com/opensearch-project/OpenSearch/pull/16981))
1515
- Allow to pass the list settings through environment variables (like [], ["a", "b", "c"], ...) ([#10625](https://github.com/opensearch-project/OpenSearch/pull/10625))
1616
- Views, simplify data access and manipulation by providing a virtual layer over one or more indices ([#11957](https://github.com/opensearch-project/OpenSearch/pull/11957))
17+
- Add systemd configurations to strengthen OS core security ([#17107](https://github.com/opensearch-project/OpenSearch/pull/17107))
1718
- Added pull-based Ingestion (APIs, for ingestion source, a Kafka plugin, and IngestionEngine that pulls data from the ingestion source) ([#16958](https://github.com/opensearch-project/OpenSearch/pull/16958))
1819
- Added ConfigurationUtils to core for the ease of configuration parsing [#17223](https://github.com/opensearch-project/OpenSearch/pull/17223)
20+
- Add cluster and index level settings to limit the total primary shards per node and per index [#17295](https://github.com/opensearch-project/OpenSearch/pull/17295)
21+
- Add execution_hint to cardinality aggregator request (#[17312](https://github.com/opensearch-project/OpenSearch/pull/17312))
22+
- Arrow Flight RPC plugin with Flight server bootstrap logic and client for internode communication ([#16962](https://github.com/opensearch-project/OpenSearch/pull/16962))
23+
- Added offset management for the pull-based Ingestion ([#17354](https://github.com/opensearch-project/OpenSearch/pull/17354))
1924

2025
### Dependencies
2126
- Update Apache Lucene to 10.1.0 ([#16366](https://github.com/opensearch-project/OpenSearch/pull/16366))
2227
- Bump Apache HttpCore5/HttpClient5 dependencies from 5.2.5/5.3.1 to 5.3.1/5.4.1 to support ExtendedSocketOption in HttpAsyncClient ([#16757](https://github.com/opensearch-project/OpenSearch/pull/16757))
28+
- Bumps `jetty` version from 9.4.55.v20240627 to 9.4.57.v20241219
2329

2430
### Changed
2531
- Changed locale provider from COMPAT to CLDR ([#14345](https://github.com/opensearch-project/OpenSearch/pull/14345))
@@ -37,6 +43,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
3743
- Stop minimizing automata used for case-insensitive matches ([#17268](https://github.com/opensearch-project/OpenSearch/pull/17268))
3844
- Refactor the `:server` module `org.opensearch.client` to `org.opensearch.transport.client` to eliminate top level split packages for JPMS support ([#17272](https://github.com/opensearch-project/OpenSearch/pull/17272))
3945
- Use Lucene `BM25Similarity` as default since the `LegacyBM25Similarity` is marked as deprecated ([#17306](https://github.com/opensearch-project/OpenSearch/pull/17306))
46+
- Wildcard field index only 3gram of the input data [#17349](https://github.com/opensearch-project/OpenSearch/pull/17349)
4047

4148
### Deprecated
4249

@@ -66,6 +73,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6673
- Don't over-allocate in HeapBufferedAsyncEntityConsumer in order to consume the response ([#9993](https://github.com/opensearch-project/OpenSearch/pull/9993))
6774
- Fix swapped field formats in nodes API where `total_indexing_buffer_in_bytes` and `total_indexing_buffer` values were reversed ([#17070](https://github.com/opensearch-project/OpenSearch/pull/17070))
6875
- Add HTTP/2 protocol support to HttpRequest.HttpVersion ([#17248](https://github.com/opensearch-project/OpenSearch/pull/17248))
76+
- Fix missing bucket in terms aggregation with missing value ([#17418](https://github.com/opensearch-project/OpenSearch/pull/17418))
6977

7078
### Security
7179

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,20 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1111
- Introduce a setting to disable download of full cluster state from remote on term mismatch([#16798](https://github.com/opensearch-project/OpenSearch/pull/16798/))
1212
- Added ability to retrieve value from DocValues in a flat_object filed([#16802](https://github.com/opensearch-project/OpenSearch/pull/16802))
1313
- Improve performace of NumericTermAggregation by avoiding unnecessary sorting([#17252](https://github.com/opensearch-project/OpenSearch/pull/17252))
14+
- [Rule Based Auto-tagging] Add in-memory attribute value store ([#17342](https://github.com/opensearch-project/OpenSearch/pull/17342))
1415
- Add a flag to set whether a system index is readable on SystemIndexDescriptor ([#17296](https://github.com/opensearch-project/OpenSearch/pull/17296))
1516

1617
### Dependencies
17-
- Bump `org.awaitility:awaitility` from 4.2.0 to 4.2.2 ([#17230](https://github.com/opensearch-project/OpenSearch/pull/17230))
18+
- Bump `org.awaitility:awaitility` from 4.2.0 to 4.3.0 ([#17230](https://github.com/opensearch-project/OpenSearch/pull/17230), [#17439](https://github.com/opensearch-project/OpenSearch/pull/17439))
1819
- Bump `dnsjava:dnsjava` from 3.6.2 to 3.6.3 ([#17231](https://github.com/opensearch-project/OpenSearch/pull/17231))
1920
- Bump `com.google.code.gson:gson` from 2.11.0 to 2.12.1 ([#17229](https://github.com/opensearch-project/OpenSearch/pull/17229))
2021
- Bump `org.jruby.joni:joni` from 2.2.1 to 2.2.3 ([#17136](https://github.com/opensearch-project/OpenSearch/pull/17136))
2122
- Bump `org.apache.ant:ant` from 1.10.14 to 1.10.15 ([#17288](https://github.com/opensearch-project/OpenSearch/pull/17288))
2223
- Bump netty from 4.1.117.Final to 4.1.118.Final ([#17320](https://github.com/opensearch-project/OpenSearch/pull/17320))
2324
- Bump `reactor_netty` from 1.1.26 to 1.1.27 ([#17322](https://github.com/opensearch-project/OpenSearch/pull/17322))
25+
- Bump `me.champeau.gradle.japicmp` from 0.4.5 to 0.4.6 ([#17375](https://github.com/opensearch-project/OpenSearch/pull/17375))
26+
- Bump `com.google.api.grpc:proto-google-common-protos` from 2.37.1 to 2.52.0 ([#17379](https://github.com/opensearch-project/OpenSearch/pull/17379))
27+
- Bump `net.minidev:json-smart` from 2.5.1 to 2.5.2 ([#17378](https://github.com/opensearch-project/OpenSearch/pull/17378))
2428

2529
### Changed
2630
- Convert transport-reactor-netty4 to use gradle version catalog [#17233](https://github.com/opensearch-project/OpenSearch/pull/17233)
@@ -35,6 +39,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
3539
- Fix exists queries on nested flat_object fields throws exception ([#16803](https://github.com/opensearch-project/OpenSearch/pull/16803))
3640
- Add highlighting for wildcard search on `match_only_text` field ([#17101](https://github.com/opensearch-project/OpenSearch/pull/17101))
3741
- Fix illegal argument exception when creating a PIT ([#16781](https://github.com/opensearch-project/OpenSearch/pull/16781))
42+
- Fix HTTP API calls that hang with 'Accept-Encoding: zstd' ([#17408](https://github.com/opensearch-project/OpenSearch/pull/17408))
3843

3944
### Security
4045

MAINTAINERS.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ This document contains a list of maintainers in this repo. See [opensearch-proje
55
## Current Maintainers
66

77
| Maintainer | GitHub ID | Affiliation |
8-
|--------------------------|---------------------------------------------------------|-------------|
8+
| ------------------------ | ------------------------------------------------------- | ----------- |
99
| Anas Alkouz | [anasalkouz](https://github.com/anasalkouz) | Amazon |
1010
| Andrew Ross | [andrross](https://github.com/andrross) | Amazon |
11-
| Andriy Redko | [reta](https://github.com/reta) | Aiven |
11+
| Andriy Redko | [reta](https://github.com/reta) | Independent |
1212
| Ankit Jain | [jainankitk](https://github.com/jainankitk) | Amazon |
1313
| Ashish Singh | [ashking94](https://github.com/ashking94) | Amazon |
1414
| Bukhtawar Khan | [Bukhtawar](https://github.com/Bukhtawar) | Amazon |
1515
| Charlotte Henkle | [CEHENKLE](https://github.com/CEHENKLE) | Amazon |
1616
| Craig Perkins | [cwperks](https://github.com/cwperks) | Amazon |
1717
| Dan Widdis | [dbwiddis](https://github.com/dbwiddis) | Amazon |
18-
| Daniel "dB." Doubrovkine | [dblock](https://github.com/dblock) | Amazon |
18+
| Daniel "dB." Doubrovkine | [dblock](https://github.com/dblock) | Independent |
1919
| Binlong Gao | [gaobinlong](https://github.com/gaobinlong) | Amazon |
2020
| Gaurav Bafna | [gbbafna](https://github.com/gbbafna) | Amazon |
2121
| Jay Deng | [jed326](https://github.com/jed326) | Amazon |
@@ -35,14 +35,14 @@ This document contains a list of maintainers in this repo. See [opensearch-proje
3535

3636
## Emeritus
3737

38-
| Maintainer | GitHub ID | Affiliation |
39-
| ---------------------- |-------------------------------------------- | ----------- |
40-
| Megha Sai Kavikondala | [meghasaik](https://github.com/meghasaik) | Amazon |
41-
| Xue Zhou | [xuezhou25](https://github.com/xuezhou25) | Amazon |
42-
| Kartik Ganesh | [kartg](https://github.com/kartg) | Amazon |
43-
| Abbas Hussain | [abbashus](https://github.com/abbashus) | Meta |
44-
| Himanshu Setia | [setiah](https://github.com/setiah) | Amazon |
45-
| Ryan Bogan | [ryanbogan](https://github.com/ryanbogan) | Amazon |
46-
| Rabi Panda | [adnapibar](https://github.com/adnapibar) | Independent |
47-
| Tianli Feng | [tlfeng](https://github.com/tlfeng) | Amazon |
48-
| Suraj Singh | [dreamer-89](https://github.com/dreamer-89) | Amazon |
38+
| Maintainer | GitHub ID | Affiliation |
39+
| --------------------- | ------------------------------------------- | ----------- |
40+
| Megha Sai Kavikondala | [meghasaik](https://github.com/meghasaik) | Amazon |
41+
| Xue Zhou | [xuezhou25](https://github.com/xuezhou25) | Amazon |
42+
| Kartik Ganesh | [kartg](https://github.com/kartg) | Amazon |
43+
| Abbas Hussain | [abbashus](https://github.com/abbashus) | Meta |
44+
| Himanshu Setia | [setiah](https://github.com/setiah) | Amazon |
45+
| Ryan Bogan | [ryanbogan](https://github.com/ryanbogan) | Amazon |
46+
| Rabi Panda | [adnapibar](https://github.com/adnapibar) | Independent |
47+
| Tianli Feng | [tlfeng](https://github.com/tlfeng) | Amazon |
48+
| Suraj Singh | [dreamer-89](https://github.com/dreamer-89) | Amazon |

codecov.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ codecov:
44
ignore:
55
- "test"
66
- "benchmarks"
7+
- "plugins/arrow-flight-rpc/**/org/apache/arrow/flight/**"
78

89
coverage:
910
precision: 2

distribution/packages/src/common/env/opensearch

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33
################################
44

55
# OpenSearch home directory
6-
#OPENSEARCH_HOME=/usr/share/opensearch
6+
OPENSEARCH_HOME=/usr/share/opensearch
77

88
# OpenSearch Java path
9-
#OPENSEARCH_JAVA_HOME=
9+
#OPENSEARCH_JAVA_HOME=/usr/lib/jvm/java-11-amazon-corretto
1010

1111
# OpenSearch configuration directory
1212
# Note: this setting will be shared with command-line tools
13-
OPENSEARCH_PATH_CONF=${path.conf}
13+
OPENSEARCH_PATH_CONF=/etc/opensearch
1414

1515
# OpenSearch PID directory
16-
#PID_DIR=/var/run/opensearch
16+
PID_DIR=/var/run/opensearch
1717

1818
# Additional Java OPTS
1919
#OPENSEARCH_JAVA_OPTS=
@@ -25,11 +25,12 @@ OPENSEARCH_PATH_CONF=${path.conf}
2525
# OpenSearch service
2626
################################
2727

28-
# SysV init.d
29-
#
3028
# The number of seconds to wait before checking if OpenSearch started successfully as a daemon process
3129
OPENSEARCH_STARTUP_SLEEP_TIME=5
3230

31+
# Notification for systemd
32+
OPENSEARCH_SD_NOTIFY=true
33+
3334
################################
3435
# System properties
3536
################################
@@ -49,4 +50,4 @@ OPENSEARCH_STARTUP_SLEEP_TIME=5
4950
# Maximum number of VMA (Virtual Memory Areas) a process can own
5051
# When using Systemd, this setting is ignored and the 'vm.max_map_count'
5152
# property is set at boot time in /usr/lib/sysctl.d/opensearch.conf
52-
#MAX_MAP_COUNT=262144
53+
#MAX_MAP_COUNT=262144

distribution/packages/src/common/systemd/opensearch.service

Lines changed: 105 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,25 @@
1+
# Copyright OpenSearch Contributors
2+
# SPDX-License-Identifier: Apache-2.0
3+
#
4+
# The OpenSearch Contributors require contributions made to
5+
# this file be licensed under the Apache-2.0 license or a
6+
# compatible open source license.
7+
8+
# Description:
9+
# Default opensearch.service file
10+
111
[Unit]
212
Description=OpenSearch
3-
Documentation=https://www.elastic.co
13+
Documentation=https://opensearch.org/
414
Wants=network-online.target
515
After=network-online.target
616

717
[Service]
818
Type=notify
919
RuntimeDirectory=opensearch
1020
PrivateTmp=true
11-
Environment=OPENSEARCH_HOME=/usr/share/opensearch
12-
Environment=OPENSEARCH_PATH_CONF=${path.conf}
13-
Environment=PID_DIR=/var/run/opensearch
14-
Environment=OPENSEARCH_SD_NOTIFY=true
15-
EnvironmentFile=-${path.env}
21+
EnvironmentFile=-/etc/default/opensearch
22+
EnvironmentFile=-/etc/sysconfig/opensearch
1623

1724
WorkingDirectory=/usr/share/opensearch
1825

@@ -29,6 +36,7 @@ ExecStart=/usr/share/opensearch/bin/systemd-entrypoint -p ${PID_DIR}/opensearch.
2936
# logging, you can simply remove the "quiet" option from ExecStart.
3037
StandardOutput=journal
3138
StandardError=inherit
39+
SyslogIdentifier=opensearch
3240

3341
# Specifies the maximum file descriptor number that can be opened by this process
3442
LimitNOFILE=65535
@@ -60,6 +68,97 @@ SuccessExitStatus=143
6068
# Allow a slow startup before the systemd notifier module kicks in to extend the timeout
6169
TimeoutStartSec=75
6270

71+
# Prevent modifications to the control group filesystem
72+
ProtectControlGroups=true
73+
74+
# Prevent loading or reading kernel modules
75+
ProtectKernelModules=true
76+
77+
# Prevent altering kernel tunables (sysctl parameters)
78+
ProtectKernelTunables=true
79+
80+
# Set device access policy to 'closed', allowing access only to specific devices
81+
DevicePolicy=closed
82+
83+
# Make /proc invisible to the service, enhancing isolation
84+
ProtectProc=invisible
85+
86+
# Make /usr, /boot, and /etc read-only (less restrictive than 'strict')
87+
ProtectSystem=full
88+
89+
# Prevent changes to control groups (redundant with earlier setting, can be removed)
90+
ProtectControlGroups=yes
91+
92+
# Prevent changing the execution domain
93+
LockPersonality=yes
94+
95+
96+
# System call filtering
97+
# System call filterings which restricts which system calls a process can make
98+
# @ means allowed
99+
# ~ means not allowed
100+
SystemCallFilter=@system-service
101+
SystemCallFilter=~@reboot
102+
SystemCallFilter=~@swap
103+
104+
SystemCallErrorNumber=EPERM
105+
106+
# Capability restrictions
107+
# Remove the ability to block system suspends
108+
CapabilityBoundingSet=~CAP_BLOCK_SUSPEND
109+
110+
# Remove the ability to establish leases on files
111+
CapabilityBoundingSet=~CAP_LEASE
112+
113+
# Remove the ability to use system resource accounting
114+
CapabilityBoundingSet=~CAP_SYS_PACCT
115+
116+
# Remove the ability to configure TTY devices
117+
CapabilityBoundingSet=~CAP_SYS_TTY_CONFIG
118+
119+
# Remov below capabilities:
120+
# - CAP_SYS_ADMIN: Various system administration operations
121+
# - CAP_SYS_PTRACE: Ability to trace processes
122+
# - CAP_NET_ADMIN: Various network-related operations
123+
CapabilityBoundingSet=~CAP_SYS_ADMIN ~CAP_SYS_PTRACE ~CAP_NET_ADMIN
124+
125+
126+
# Address family restrictions
127+
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
128+
129+
# Filesystem Access
130+
131+
ReadWritePaths=/var/log/opensearch
132+
ReadWritePaths=/var/lib/opensearch
133+
ReadWritePaths=-/etc/opensearch
134+
ReadWritePaths=-/mnt/snapshots
135+
136+
## Allow read access to system files
137+
ReadOnlyPaths=/etc/os-release /usr/lib/os-release /etc/system-release
138+
139+
## Allow read access to Linux IO stats
140+
ReadOnlyPaths=/proc/self/mountinfo /proc/diskstats
141+
142+
## Allow read access to control group stats
143+
ReadOnlyPaths=/proc/self/cgroup /sys/fs/cgroup/cpu /sys/fs/cgroup/cpu/-
144+
ReadOnlyPaths=/sys/fs/cgroup/cpuacct /sys/fs/cgroup/cpuacct/- /sys/fs/cgroup/memory /sys/fs/cgroup/memory/-
145+
146+
147+
RestrictNamespaces=true
148+
149+
NoNewPrivileges=true
150+
151+
# Memory and execution protection
152+
MemoryDenyWriteExecute=true # Prevent creating writable executable memory mappings
153+
SystemCallArchitectures=native # Allow only native system calls
154+
KeyringMode=private # Service does not share key material with other services
155+
LockPersonality=true # Prevent changing ABI personality
156+
RestrictSUIDSGID=true # Prevent creating SUID/SGID files
157+
RestrictRealtime=true # Prevent acquiring realtime scheduling
158+
ProtectHostname=true # Prevent changes to system hostname
159+
ProtectKernelLogs=true # Prevent reading/writing kernel logs
160+
ProtectClock=true # Prevent tampering with the system clock
161+
63162
[Install]
64163
WantedBy=multi-user.target
65164

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ opentelemetry = "1.46.0"
8282
opentelemetrysemconv = "1.29.0-alpha"
8383

8484
# arrow dependencies
85-
arrow = "17.0.0"
85+
arrow = "18.1.0"
8686
flatbuffers = "2.0.0"
8787

8888
[libraries]

0 commit comments

Comments
 (0)