Skip to content

Comments

[PLU-95]: add opensearch serverless capability#648

Merged
potter-potter merged 15 commits intomainfrom
potter/opensearch-serverless-capability
Feb 19, 2026
Merged

[PLU-95]: add opensearch serverless capability#648
potter-potter merged 15 commits intomainfrom
potter/opensearch-serverless-capability

Conversation

@potter-potter
Copy link
Contributor

@potter-potter potter-potter commented Feb 19, 2026

Note

Medium Risk
Changes core OpenSearch pagination/query paths (PIT/search_after vs scroll) and AWS endpoint parsing, which can affect large index reads and compatibility across OpenSearch versions; integration tests reduce risk but production clusters may vary in permissions/behavior.

Overview
Adds OpenSearch Serverless (AOSS) support in the OpenSearch connector by switching async ID discovery to PIT + search_after pagination with a targeted scroll fallback when PIT creation fails (400/403/404), and by changing the downloader to fetch batches via a bounded search-by-IDs request rather than async_scan/scroll.

Extends AWS hostname auto-detection to recognize FIPS endpoints for both OpenSearch Service (es-fips) and Serverless (aoss-fips), adds live AOSS source/destination integration tests plus PIT-fallback unit coverage, wires OPENSEARCH_AOSS_HOST into the E2E workflow, and bumps the package to 1.4.5 with a changelog entry.

Written by Cursor Bugbot for commit 524573e. This will update automatically on new commits. Configure here.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

OpenSearch Service. Falls back to scroll if PIT creation fails due to
missing permissions (403) or unsupported version (400/404).
"""
from opensearchpy import AsyncOpenSearch
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know it's not part of the pr, but I didn't have AsyncOpenSearch after installing the opensearch deps. Looks like we may need to install opensearch-py[async]

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good spot! potentially comes from the requirements.txt -> pyproject.toml change

i will look at that as a new PR

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually let me add it

awalker4
awalker4 previously approved these changes Feb 19, 2026
Copy link
Contributor

@awalker4 awalker4 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@potter-potter
Copy link
Contributor Author

gonna actually put the [async] in a different PR cause it creates a uv.lock reactivation which needs to be looked at carefully.

plus this isn't a deal breaker. the aiobotocore stuff is in other requirements.

@potter-potter potter-potter merged commit 702d340 into main Feb 19, 2026
38 of 39 checks passed
@potter-potter potter-potter deleted the potter/opensearch-serverless-capability branch February 19, 2026 21:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants