Skip to content

Commit 22dd0fd

Browse files
authored
Awareness Attribute Decommission Backport (#5062)
* Awareness attribute decommission backports (#4970) * Add DecommissionService and helper to execute awareness attribute decommissioning #4084 * Add APIs (GET/PUT) to decommission awareness attribute #4261 * Controlling discovery for decommissioned nodes #4590 * Fix decommission status update to non leader nodes #4800 * Remove redundant field from GetDecommissionStateResponse #4751 * Service Layer changes for Recommission API #4320 * Recommission api level support #4604 * Fix bug in AwarenessAttributeDecommissionIT #4822 Signed-off-by: Rishab Nahata <rnnahata@amazon.com>
1 parent 017f76b commit 22dd0fd

File tree

69 files changed

+5689
-11
lines changed

Some content is hidden

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

69 files changed

+5689
-11
lines changed

CHANGELOG.md

+12
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,14 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
2525
- Added missing no-jdk distributions ([#4722](https://github.com/opensearch-project/OpenSearch/pull/4722))
2626
- Copy `build.sh` over from opensearch-build ([#4887](https://github.com/opensearch-project/OpenSearch/pull/4887))
2727
- Update GeoGrid base class access modifier to support extensibility ([#4921](https://github.com/opensearch-project/OpenSearch/pull/4921))
28+
- Recommission API changes for service layer ([#4320](https://github.com/opensearch-project/OpenSearch/pull/4320))
29+
- Recommissioning of zone. REST layer support. ([#4624](https://github.com/opensearch-project/OpenSearch/pull/4604))
2830
- Build no-jdk distributions as part of release build ([#4902](https://github.com/opensearch-project/OpenSearch/pull/4902))
2931
- Use getParameterCount instead of getParameterTypes ([#4821](https://github.com/opensearch-project/OpenSearch/pull/4821))
3032
- Added in-flight cancellation of SearchShardTask based on resource consumption ([#4565](https://github.com/opensearch-project/OpenSearch/pull/4565))
3133
- Added resource usage trackers for in-flight cancellation of SearchShardTask ([#4805](https://github.com/opensearch-project/OpenSearch/pull/4805))
3234
- Added search backpressure stats API ([#4932](https://github.com/opensearch-project/OpenSearch/pull/4932))
35+
- Added changes for graceful node decommission ([#4586](https://github.com/opensearch-project/OpenSearch/pull/4586))
3336

3437
### Dependencies
3538
- Bumps `com.diffplug.spotless` from 6.9.1 to 6.10.0
@@ -64,6 +67,11 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6467
- GET api for weighted shard routing([#4275](https://github.com/opensearch-project/OpenSearch/pull/4275/))
6568
- Delete api for weighted shard routing([#4400](https://github.com/opensearch-project/OpenSearch/pull/4400/))
6669
- Fix weighted routing metadata deserialization error on process restart ([#4691](https://github.com/opensearch-project/OpenSearch/pull/4691))
70+
- Add DecommissionService and helper to execute awareness attribute decommissioning ([#4084](https://github.com/opensearch-project/OpenSearch/pull/4084))
71+
- Add APIs (GET/PUT) to decommission awareness attribute ([#4261](https://github.com/opensearch-project/OpenSearch/pull/4261))
72+
- Controlling discovery for decommissioned nodes ([#4590](https://github.com/opensearch-project/OpenSearch/pull/4590))
73+
- Integ Tests for Awareness Attribute Decommissioning ([#4715](https://github.com/opensearch-project/OpenSearch/pull/4715))
74+
- Fail weight update when decommission ongoing and fail decommission when attribute not weighed away ([#4839](https://github.com/opensearch-project/OpenSearch/pull/4839))
6775

6876
### Deprecated
6977
### Removed
@@ -89,10 +97,14 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
8997
- [Bug]: Fixed invalid location of JDK dependency for arm64 architecture([#4613](https://github.com/opensearch-project/OpenSearch/pull/4613))
9098
- [Bug]: Alias filter lost after rollover ([#4499](https://github.com/opensearch-project/OpenSearch/pull/4499))
9199
- Fixing Gradle warnings associated with publishPluginZipPublicationToXxx tasks ([#4696](https://github.com/opensearch-project/OpenSearch/pull/4696))
100+
- [BUG]: Remove redundant field from GetDecommissionStateResponse ([#4751](https://github.com/opensearch-project/OpenSearch/pull/4751))
92101
- Fixed randomly failing test ([4774](https://github.com/opensearch-project/OpenSearch/pull/4774))
93102
- Fix recovery path for searchable snapshots ([4813](https://github.com/opensearch-project/OpenSearch/pull/4813))
94103
- Fix a bug on handling an invalid array value for point type field #4900([#4900](https://github.com/opensearch-project/OpenSearch/pull/4900))
104+
- Fix decommission status update to non leader nodes ([4800](https://github.com/opensearch-project/OpenSearch/pull/4800))
105+
- Fix bug in AwarenessAttributeDecommissionIT([4822](https://github.com/opensearch-project/OpenSearch/pull/4822))
95106
- Fix for failing checkExtraction, checkLicense and checkNotice tasks for windows gradle check ([#4941](https://github.com/opensearch-project/OpenSearch/pull/4941))
107+
- [BUG]: Allow decommission to support delay timeout [#4930](https://github.com/opensearch-project/OpenSearch/pull/4930))
96108
### Security
97109
- CVE-2022-25857 org.yaml:snakeyaml DOS vulnerability ([#4341](https://github.com/opensearch-project/OpenSearch/pull/4341))
98110

client/rest-high-level/src/test/java/org/opensearch/client/RestHighLevelClientTests.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -891,7 +891,10 @@ public void testApiNamingConventions() throws Exception {
891891
"remote_store.restore",
892892
"cluster.put_weighted_routing",
893893
"cluster.get_weighted_routing",
894-
"cluster.delete_weighted_routing", };
894+
"cluster.delete_weighted_routing",
895+
"cluster.put_decommission_awareness",
896+
"cluster.get_decommission_awareness",
897+
"cluster.delete_decommission_awareness", };
895898
List<String> booleanReturnMethods = Arrays.asList("security.enable_user", "security.disable_user", "security.change_password");
896899
Set<String> deprecatedMethods = new HashSet<>();
897900
deprecatedMethods.add("indices.force_merge");
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"cluster.delete_decommission_awareness": {
3+
"documentation": {
4+
"url": "https://opensearch.org/docs/latest/opensearch/rest-api/decommission/",
5+
"description": "Delete any existing decommission."
6+
},
7+
"stability": "experimental",
8+
"url": {
9+
"paths": [
10+
{
11+
"path": "/_cluster/decommission/awareness/",
12+
"methods": [
13+
"DELETE"
14+
]
15+
}
16+
]
17+
}
18+
}
19+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"cluster.get_decommission_awareness": {
3+
"documentation": {
4+
"url": "https://opensearch.org/docs/latest/opensearch/rest-api/decommission/",
5+
"description": "Get details and status of decommissioned attribute"
6+
},
7+
"stability": "experimental",
8+
"url": {
9+
"paths": [
10+
{
11+
"path":"/_cluster/decommission/awareness/{awareness_attribute_name}/_status",
12+
"methods":[
13+
"GET"
14+
],
15+
"parts":{
16+
"awareness_attribute_name":{
17+
"type":"string",
18+
"description":"Awareness attribute name"
19+
}
20+
}
21+
}
22+
]
23+
}
24+
}
25+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"cluster.put_decommission_awareness": {
3+
"documentation": {
4+
"url": "https://opensearch.org/docs/latest/opensearch/rest-api/decommission/",
5+
"description": "Decommissions an awareness attribute"
6+
},
7+
"stability": "experimental",
8+
"url": {
9+
"paths": [
10+
{
11+
"path": "/_cluster/decommission/awareness/{awareness_attribute_name}/{awareness_attribute_value}",
12+
"methods": [
13+
"PUT"
14+
],
15+
"parts": {
16+
"awareness_attribute_name": {
17+
"type": "string",
18+
"description": "Awareness attribute name"
19+
},
20+
"awareness_attribute_value": {
21+
"type": "string",
22+
"description": "Awareness attribute value"
23+
}
24+
}
25+
}
26+
]
27+
}
28+
}
29+
}

0 commit comments

Comments
 (0)