[Feature] Add PPL collect command#5605
Conversation
PR Code Analyzer ❗AI-powered 'Code-Diff-Analyzer' found issues on commit f50378f.
The table above displays the top 10 most important findings. Pull Requests Author(s): Please update your Pull Request according to the report above. Repository Maintainer(s): You can Thanks. |
480ccdd to
9293d6b
Compare
PR Reviewer Guide 🔍(Review updated until commit f50378f)Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Latest suggestions up to f50378f Explore these optional code suggestions:
Previous suggestionsSuggestions up to commit c339218
Suggestions up to commit 41bb297
Suggestions up to commit 6098080
Suggestions up to commit 9293d6b
|
Terminal pass-through write: appends pipeline rows to a pre-existing index and returns them as the result. RFC: opensearch-project#5596. - Grammar (ppl OpenSearchPPL g4) + Collect AST + AstBuilder + anonymizer - visitCollect builds LogicalTableSpool; EnumerableOpenSearchTableSpool + converter rule do the eager-drain batched-bulk write (429 retry/backoff) with pass-through output - Options: source/host/sourcetype/marker stamps + testmode dry-run - Plan-time safety: destination pre-existence + dot/hidden-index refusal; V2/legacy rejects collect (calcite-only), consistent with other Calcite-path commands - OpenSearchClient.bulk is a default method so external implementors are unaffected - Tests: CalcitePPLCollectTest, CollectWriteStrategyTest, NewAddedCommandsIT, CalcitePPLCollectIT - User doc: docs/user/ppl/cmd/collect.md Signed-off-by: Louis Chu <lingzhichu.clz@gmail.com>
9293d6b to
6098080
Compare
|
Persistent review updated to latest commit 6098080 |
|
Persistent review updated to latest commit 41bb297 |
41bb297 to
c339218
Compare
|
Persistent review updated to latest commit c339218 |
…and task id Redesign the collect command as an asynchronous materialization job (Seam A). Foreground detects a terminal non-testmode collect, validates the destination synchronously so dot-prefixed and missing-index refusals fire at plan time, runs a read-only preview of the upstream pipeline capped at QUERY_SIZE_LIMIT, and returns the preview rows plus a background task id. A new CollectMaterializeAction re-runs the full pipeline via PPLService on the background task; the streaming operator writes to the destination via batched bulk, with status and cancellation exposed through the tasks API. Persistence stays OpenSearch native using the source point-in-time, the destination index, and the tasks index; the coordinator-local spool substrate is removed and CollectWriteStrategy is deleted. Signed-off-by: Louis Chu <lingzhichu.clz@gmail.com>
c339218 to
f50378f
Compare
|
Persistent review updated to latest commit f50378f |
Terminal pass-through write: appends pipeline rows to a pre-existing index and
returns them as the result.
Description
#5596
Related Issues
Resolves #[Issue number to be closed when this PR is merged]
Check List
--signoffor-s.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.