You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixes dedicated cluster manager detection by implementing proper role constants
and upstream-compatible node filtering logic. Addresses the core issue where
nodes with only cluster management roles were incorrectly being included in
the connection pool for client requests.
Key changes:
- Add proper role constants matching OpenSearch server definitions
- Implement isDedicatedClusterManager with role-based logic matching Java client
- Add IncludeDedicatedClusterManagers configuration option
- Remove client-side role validation (handled server-side)
BEHAVIOR CHANGE: Dedicated cluster manager nodes are now excluded from
client request routing by default to match upstream Java client behavior.
Set IncludeDedicatedClusterManagers: true to preserve legacy behavior.
Fixes: #765
Signed-off-by: Sean Chittenden <sean.chittenden@crowdstrike.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,11 +6,15 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6
6
7
7
### Added
8
8
- Enhanced cluster readiness checking for improved test reliability: `ostest.NewClient()` now includes readiness validation (health + cluster state + nodes info)
- Refactor Client struct to use embedded mutex pattern for improved thread safety ([#775](https://github.com/opensearch-project/opensearch-go/pull/775))
12
13
- Refactor metrics struct to use atomic counters for lock-free request/failure tracking ([#776](https://github.com/opensearch-project/opensearch-go/pull/776))
13
14
- Test against Opensearch 2.19.4, 3.1, 3.3, and 3.4 ([#782](https://github.com/opensearch-project/opensearch-go/pull/782))
15
+
-**BREAKING**: Enhanced node discovery to match OpenSearch server behavior ([#765](https://github.com/opensearch-project/opensearch-go/issues/765))
16
+
- Dedicated cluster manager nodes are now excluded from client request routing by default (best practice)
17
+
- Node selection logic now matches Java client `NodeSelector.SKIP_DEDICATED_CLUSTER_MASTERS` behavior
0 commit comments