-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Trigger condition parser and resolver for Doc Level Alerts #405
Add Trigger condition parser and resolver for Doc Level Alerts #405
Conversation
609a5b8
to
503dfe4
Compare
… expression. Signed-off-by: Saurabh Singh <[email protected]>
503dfe4
to
c18a9a3
Compare
Codecov Report
@@ Coverage Diff @@
## doc-level-2.0 #405 +/- ##
================================================
Coverage ? 79.26%
Complexity ? 282
================================================
Files ? 201
Lines ? 8301
Branches ? 1124
================================================
Hits ? 6580
Misses ? 1162
Partials ? 559 Continue to review full report at Codecov.
|
if (triggered) triggeredDocs.add(doc) | ||
} else if (!trigger.condition.idOrCode.equals(NEVER_RUN.idOrCode)) { | ||
triggeredDocs = TriggerExpressionParser(trigger.condition.idOrCode).parse() | ||
.evaluate(queryToDocIds).toMutableList() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the if-else if
block moves the object equals check
to runtime. Kotlin allows this check to be made at compile time using when
control statements.
when (trigger.condition.idOrCode) {
ALWAYS_RUN.idOrCode -> {
for (value in queryToDocIds.values) {
triggeredDocs.addAll(value)
}
}
NEVER_RUN.idOrCode -> {
triggeredDocs = TriggerExpressionParser(trigger.condition.idOrCode).parse()
.evaluate(queryToDocIds).toMutableList()
}
}
this will allow catching runtime errors we faced today at compile time only.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the suggestion @sbcd90. Agree, control statement could make the flow look much cleaner and I have used it in the Parser/Evaluation logic. However, here since this is not an instance check, but rather the value check with string comparison, I am not sure having control statement would add any value here in terms of performance. Given string value comparison still need to be performed at runtime.
Since we weren't using all the three possible values here, I chose to keep it as if-else block instead.
* Uses the Shunting-yard algorithm to parse a mathematical expression | ||
* @param triggerExpression String containing the trigger expression for the monitor | ||
*/ | ||
class TriggerExpressionParser( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should the class name be changed to TriggerRPNExpressionParser
?
parse()
returns TriggerExpressionRPNResolver
tomorrow if someone wants to have another implementation of interface ExpressionParser
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since currently there is only one concrete implementation of the Trigger Expression Parser have kept the name as is for clarity. However, the base implementation which holds the RPN logic is named as the TriggerExpressionRPNBaseParser
.
Later addition of new base implementations are possible using the new strategy, while the concrete implementation could still expose them via different method interfaces.
* Rebase to push doc level changes on latest main changes (#391) * Document level alerting dev (#272) Signed-off-by: Ashish Agrawal <[email protected]> * Add last run context to Monitor data model Signed-off-by: Ashish Agrawal <[email protected]> * add Update Monitor function Signed-off-by: Ashish Agrawal <[email protected]> * fix integ test Signed-off-by: Ashish Agrawal <[email protected]> * Implemented draft of Finding data model, a new Input type, and some basic unit tests. (#260) * Implemented draft of Finding data model, and some basic unit tests for it. Signed-off-by: AWSHurneyt <[email protected]> * POC for doc-level-alerting (#277) Signed-off-by: Sriram <[email protected]> * Add connection to triggers for doc level alerting (#316) Signed-off-by: Ashish Agrawal <[email protected]> * CRUD APIs integration Tests and validation"conflict resolved" (#362) Signed-off-by: charliezhangaws <[email protected]> * Segregate monitor runner logic for separation of concerns (#363) * Refactor monitor runner logic for separation of concerns and better testability. Signed-off-by: Saurabh Singh <[email protected]> * Add action and alert flow and findings schema and additional fixes (#381) Signed-off-by: Ashish Agrawal <[email protected]> * Finding Search API (#385) * Findings search API based on Annie's work Signed-off-by: Annie Lee <[email protected]> * Fix Search API and add IT tests Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: Annie Lee <[email protected]> * Fix integ tests and minor issues from doc level changes Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]> Co-authored-by: AWSHurneyt <[email protected]> Co-authored-by: Sriram <[email protected]> Co-authored-by: charliezhangaws <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Annie Lee <[email protected]> * Add Trigger condition resolver which parses and evaluates the Trigger expression. (#405) Signed-off-by: Saurabh Singh <[email protected]> * percolate query implementation in doc-level alerting (#399) Signed-off-by: Subhobrata Dey <[email protected]> * Finding Index rollover (#408) * Finding Index rollover Signed-off-by: jiahe zhang <[email protected]> * Apply fixes to make rollover work Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: jiahe zhang <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]> Co-authored-by: AWSHurneyt <[email protected]> Co-authored-by: Sriram <[email protected]> Co-authored-by: charliezhangaws <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Subhobrata Dey <[email protected]>
* Rebase to push doc level changes on latest main changes (opensearch-project#391) * Document level alerting dev (opensearch-project#272) Signed-off-by: Ashish Agrawal <[email protected]> * Add last run context to Monitor data model Signed-off-by: Ashish Agrawal <[email protected]> * add Update Monitor function Signed-off-by: Ashish Agrawal <[email protected]> * fix integ test Signed-off-by: Ashish Agrawal <[email protected]> * Implemented draft of Finding data model, a new Input type, and some basic unit tests. (opensearch-project#260) * Implemented draft of Finding data model, and some basic unit tests for it. Signed-off-by: AWSHurneyt <[email protected]> * POC for doc-level-alerting (opensearch-project#277) Signed-off-by: Sriram <[email protected]> * Add connection to triggers for doc level alerting (opensearch-project#316) Signed-off-by: Ashish Agrawal <[email protected]> * CRUD APIs integration Tests and validation"conflict resolved" (opensearch-project#362) Signed-off-by: charliezhangaws <[email protected]> * Segregate monitor runner logic for separation of concerns (opensearch-project#363) * Refactor monitor runner logic for separation of concerns and better testability. Signed-off-by: Saurabh Singh <[email protected]> * Add action and alert flow and findings schema and additional fixes (opensearch-project#381) Signed-off-by: Ashish Agrawal <[email protected]> * Finding Search API (opensearch-project#385) * Findings search API based on Annie's work Signed-off-by: Annie Lee <[email protected]> * Fix Search API and add IT tests Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: Annie Lee <[email protected]> * Fix integ tests and minor issues from doc level changes Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]> Co-authored-by: AWSHurneyt <[email protected]> Co-authored-by: Sriram <[email protected]> Co-authored-by: charliezhangaws <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Annie Lee <[email protected]> * Add Trigger condition resolver which parses and evaluates the Trigger expression. (opensearch-project#405) Signed-off-by: Saurabh Singh <[email protected]> * percolate query implementation in doc-level alerting (opensearch-project#399) Signed-off-by: Subhobrata Dey <[email protected]> * Finding Index rollover (opensearch-project#408) * Finding Index rollover Signed-off-by: jiahe zhang <[email protected]> * Apply fixes to make rollover work Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: jiahe zhang <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]> Co-authored-by: AWSHurneyt <[email protected]> Co-authored-by: Sriram <[email protected]> Co-authored-by: charliezhangaws <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Subhobrata Dey <[email protected]> Signed-off-by: AWSHurneyt <[email protected]>
* fix security test workflow (#407) Signed-off-by: Subhobrata Dey <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Integrate Document Level Alerting changes (#410) * Rebase to push doc level changes on latest main changes (#391) * Document level alerting dev (#272) Signed-off-by: Ashish Agrawal <[email protected]> * Add last run context to Monitor data model Signed-off-by: Ashish Agrawal <[email protected]> * add Update Monitor function Signed-off-by: Ashish Agrawal <[email protected]> * fix integ test Signed-off-by: Ashish Agrawal <[email protected]> * Implemented draft of Finding data model, a new Input type, and some basic unit tests. (#260) * Implemented draft of Finding data model, and some basic unit tests for it. Signed-off-by: AWSHurneyt <[email protected]> * POC for doc-level-alerting (#277) Signed-off-by: Sriram <[email protected]> * Add connection to triggers for doc level alerting (#316) Signed-off-by: Ashish Agrawal <[email protected]> * CRUD APIs integration Tests and validation"conflict resolved" (#362) Signed-off-by: charliezhangaws <[email protected]> * Segregate monitor runner logic for separation of concerns (#363) * Refactor monitor runner logic for separation of concerns and better testability. Signed-off-by: Saurabh Singh <[email protected]> * Add action and alert flow and findings schema and additional fixes (#381) Signed-off-by: Ashish Agrawal <[email protected]> * Finding Search API (#385) * Findings search API based on Annie's work Signed-off-by: Annie Lee <[email protected]> * Fix Search API and add IT tests Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: Annie Lee <[email protected]> * Fix integ tests and minor issues from doc level changes Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]> Co-authored-by: AWSHurneyt <[email protected]> Co-authored-by: Sriram <[email protected]> Co-authored-by: charliezhangaws <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Annie Lee <[email protected]> * Add Trigger condition resolver which parses and evaluates the Trigger expression. (#405) Signed-off-by: Saurabh Singh <[email protected]> * percolate query implementation in doc-level alerting (#399) Signed-off-by: Subhobrata Dey <[email protected]> * Finding Index rollover (#408) * Finding Index rollover Signed-off-by: jiahe zhang <[email protected]> * Apply fixes to make rollover work Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: jiahe zhang <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]> Co-authored-by: AWSHurneyt <[email protected]> Co-authored-by: Sriram <[email protected]> Co-authored-by: charliezhangaws <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Subhobrata Dey <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Remove write Destination APIs (#412) * Remove write Destination API REST handlers Signed-off-by: Mohammad Qureshi <[email protected]> * Remove write Destination transport actions Signed-off-by: Mohammad Qureshi <[email protected]> * Remove write Destination action, request and response classes Signed-off-by: Mohammad Qureshi <[email protected]> * Create Alerting config index if it doesn't exist before legacy Destination indexing Signed-off-by: Mohammad Qureshi <[email protected]> * Remove write Destination related security tests Signed-off-by: Mohammad Qureshi <[email protected]> * Remove unused access roles and imports Signed-off-by: Mohammad Qureshi <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Deprecate the Master nomenclature in 2.0 (#415) Signed-off-by: Subhobrata Dey <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Remove Alerting's notification subproject (#413) * Remove notification subproject Signed-off-by: Mohammad Qureshi <[email protected]> * Remove publishing to maven in build script Signed-off-by: Mohammad Qureshi <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Skipping destination migration if alerting index is not initialized (#417) Signed-off-by: Ravi [email protected] Signed-off-by: AWSHurneyt <[email protected]> * Alias support for Document Level Monitors (#416) * Implemented support for defining doc level monitors using aliases. Signed-off-by: AWSHurneyt <[email protected]> * Fix integ tests and cleaup alias logic Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: AWSHurneyt <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Fixed a flaky test condition. (#375) Signed-off-by: AWSHurneyt <[email protected]> * Replace checked-in ZIP for bwc tests with a dynamic dependency (#411) * Replace checked-in ZIP with a dynamic dependency Signed-off-by: Subhobrata Dey <[email protected]> * Replace checked-in ZIP with a dynamic dependency Signed-off-by: Subhobrata Dey <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Update integTest gradle scripts to run via remote cluster independently (#418) Signed-off-by: AWSHurneyt <[email protected]> * Removed tests that were duplicated while resolving merge conflicts. Signed-off-by: AWSHurneyt <[email protected]> Co-authored-by: Subhobrata Dey <[email protected]> Co-authored-by: Ashish Agrawal <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]> Co-authored-by: Sriram <[email protected]> Co-authored-by: charliezhangaws <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Mohammad Qureshi <[email protected]> Co-authored-by: Ravi <[email protected]>
* fix security test workflow (opensearch-project#407) Signed-off-by: Subhobrata Dey <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Integrate Document Level Alerting changes (opensearch-project#410) * Rebase to push doc level changes on latest main changes (opensearch-project#391) * Document level alerting dev (opensearch-project#272) Signed-off-by: Ashish Agrawal <[email protected]> * Add last run context to Monitor data model Signed-off-by: Ashish Agrawal <[email protected]> * add Update Monitor function Signed-off-by: Ashish Agrawal <[email protected]> * fix integ test Signed-off-by: Ashish Agrawal <[email protected]> * Implemented draft of Finding data model, a new Input type, and some basic unit tests. (opensearch-project#260) * Implemented draft of Finding data model, and some basic unit tests for it. Signed-off-by: AWSHurneyt <[email protected]> * POC for doc-level-alerting (opensearch-project#277) Signed-off-by: Sriram <[email protected]> * Add connection to triggers for doc level alerting (opensearch-project#316) Signed-off-by: Ashish Agrawal <[email protected]> * CRUD APIs integration Tests and validation"conflict resolved" (opensearch-project#362) Signed-off-by: charliezhangaws <[email protected]> * Segregate monitor runner logic for separation of concerns (opensearch-project#363) * Refactor monitor runner logic for separation of concerns and better testability. Signed-off-by: Saurabh Singh <[email protected]> * Add action and alert flow and findings schema and additional fixes (opensearch-project#381) Signed-off-by: Ashish Agrawal <[email protected]> * Finding Search API (opensearch-project#385) * Findings search API based on Annie's work Signed-off-by: Annie Lee <[email protected]> * Fix Search API and add IT tests Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: Annie Lee <[email protected]> * Fix integ tests and minor issues from doc level changes Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]> Co-authored-by: AWSHurneyt <[email protected]> Co-authored-by: Sriram <[email protected]> Co-authored-by: charliezhangaws <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Annie Lee <[email protected]> * Add Trigger condition resolver which parses and evaluates the Trigger expression. (opensearch-project#405) Signed-off-by: Saurabh Singh <[email protected]> * percolate query implementation in doc-level alerting (opensearch-project#399) Signed-off-by: Subhobrata Dey <[email protected]> * Finding Index rollover (opensearch-project#408) * Finding Index rollover Signed-off-by: jiahe zhang <[email protected]> * Apply fixes to make rollover work Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: jiahe zhang <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]> Co-authored-by: AWSHurneyt <[email protected]> Co-authored-by: Sriram <[email protected]> Co-authored-by: charliezhangaws <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Subhobrata Dey <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Remove write Destination APIs (opensearch-project#412) * Remove write Destination API REST handlers Signed-off-by: Mohammad Qureshi <[email protected]> * Remove write Destination transport actions Signed-off-by: Mohammad Qureshi <[email protected]> * Remove write Destination action, request and response classes Signed-off-by: Mohammad Qureshi <[email protected]> * Create Alerting config index if it doesn't exist before legacy Destination indexing Signed-off-by: Mohammad Qureshi <[email protected]> * Remove write Destination related security tests Signed-off-by: Mohammad Qureshi <[email protected]> * Remove unused access roles and imports Signed-off-by: Mohammad Qureshi <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Deprecate the Master nomenclature in 2.0 (opensearch-project#415) Signed-off-by: Subhobrata Dey <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Remove Alerting's notification subproject (opensearch-project#413) * Remove notification subproject Signed-off-by: Mohammad Qureshi <[email protected]> * Remove publishing to maven in build script Signed-off-by: Mohammad Qureshi <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Skipping destination migration if alerting index is not initialized (opensearch-project#417) Signed-off-by: Ravi [email protected] Signed-off-by: AWSHurneyt <[email protected]> * Alias support for Document Level Monitors (opensearch-project#416) * Implemented support for defining doc level monitors using aliases. Signed-off-by: AWSHurneyt <[email protected]> * Fix integ tests and cleaup alias logic Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: AWSHurneyt <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Fixed a flaky test condition. (opensearch-project#375) Signed-off-by: AWSHurneyt <[email protected]> * Replace checked-in ZIP for bwc tests with a dynamic dependency (opensearch-project#411) * Replace checked-in ZIP with a dynamic dependency Signed-off-by: Subhobrata Dey <[email protected]> * Replace checked-in ZIP with a dynamic dependency Signed-off-by: Subhobrata Dey <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Update integTest gradle scripts to run via remote cluster independently (opensearch-project#418) Signed-off-by: AWSHurneyt <[email protected]> * Removed tests that were duplicated while resolving merge conflicts. Signed-off-by: AWSHurneyt <[email protected]> Co-authored-by: Subhobrata Dey <[email protected]> Co-authored-by: Ashish Agrawal <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]> Co-authored-by: Sriram <[email protected]> Co-authored-by: charliezhangaws <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Mohammad Qureshi <[email protected]> Co-authored-by: Ravi <[email protected]> Signed-off-by: Angie Zhang <[email protected]>
* Rebase to push doc level changes on latest main changes (opensearch-project#391) * Document level alerting dev (opensearch-project#272) Signed-off-by: Ashish Agrawal <[email protected]> * Add last run context to Monitor data model Signed-off-by: Ashish Agrawal <[email protected]> * add Update Monitor function Signed-off-by: Ashish Agrawal <[email protected]> * fix integ test Signed-off-by: Ashish Agrawal <[email protected]> * Implemented draft of Finding data model, a new Input type, and some basic unit tests. (opensearch-project#260) * Implemented draft of Finding data model, and some basic unit tests for it. Signed-off-by: AWSHurneyt <[email protected]> * POC for doc-level-alerting (opensearch-project#277) Signed-off-by: Sriram <[email protected]> * Add connection to triggers for doc level alerting (opensearch-project#316) Signed-off-by: Ashish Agrawal <[email protected]> * CRUD APIs integration Tests and validation"conflict resolved" (opensearch-project#362) Signed-off-by: charliezhangaws <[email protected]> * Segregate monitor runner logic for separation of concerns (opensearch-project#363) * Refactor monitor runner logic for separation of concerns and better testability. Signed-off-by: Saurabh Singh <[email protected]> * Add action and alert flow and findings schema and additional fixes (opensearch-project#381) Signed-off-by: Ashish Agrawal <[email protected]> * Finding Search API (opensearch-project#385) * Findings search API based on Annie's work Signed-off-by: Annie Lee <[email protected]> * Fix Search API and add IT tests Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: Annie Lee <[email protected]> * Fix integ tests and minor issues from doc level changes Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]> Co-authored-by: AWSHurneyt <[email protected]> Co-authored-by: Sriram <[email protected]> Co-authored-by: charliezhangaws <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Annie Lee <[email protected]> * Add Trigger condition resolver which parses and evaluates the Trigger expression. (opensearch-project#405) Signed-off-by: Saurabh Singh <[email protected]> * percolate query implementation in doc-level alerting (opensearch-project#399) Signed-off-by: Subhobrata Dey <[email protected]> * Finding Index rollover (opensearch-project#408) * Finding Index rollover Signed-off-by: jiahe zhang <[email protected]> * Apply fixes to make rollover work Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: jiahe zhang <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]> Co-authored-by: AWSHurneyt <[email protected]> Co-authored-by: Sriram <[email protected]> Co-authored-by: charliezhangaws <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Subhobrata Dey <[email protected]> Signed-off-by: Angie Zhang <[email protected]>
* fix security test workflow (opensearch-project#407) Signed-off-by: Subhobrata Dey <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Integrate Document Level Alerting changes (opensearch-project#410) * Rebase to push doc level changes on latest main changes (opensearch-project#391) * Document level alerting dev (opensearch-project#272) Signed-off-by: Ashish Agrawal <[email protected]> * Add last run context to Monitor data model Signed-off-by: Ashish Agrawal <[email protected]> * add Update Monitor function Signed-off-by: Ashish Agrawal <[email protected]> * fix integ test Signed-off-by: Ashish Agrawal <[email protected]> * Implemented draft of Finding data model, a new Input type, and some basic unit tests. (opensearch-project#260) * Implemented draft of Finding data model, and some basic unit tests for it. Signed-off-by: AWSHurneyt <[email protected]> * POC for doc-level-alerting (opensearch-project#277) Signed-off-by: Sriram <[email protected]> * Add connection to triggers for doc level alerting (opensearch-project#316) Signed-off-by: Ashish Agrawal <[email protected]> * CRUD APIs integration Tests and validation"conflict resolved" (opensearch-project#362) Signed-off-by: charliezhangaws <[email protected]> * Segregate monitor runner logic for separation of concerns (opensearch-project#363) * Refactor monitor runner logic for separation of concerns and better testability. Signed-off-by: Saurabh Singh <[email protected]> * Add action and alert flow and findings schema and additional fixes (opensearch-project#381) Signed-off-by: Ashish Agrawal <[email protected]> * Finding Search API (opensearch-project#385) * Findings search API based on Annie's work Signed-off-by: Annie Lee <[email protected]> * Fix Search API and add IT tests Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: Annie Lee <[email protected]> * Fix integ tests and minor issues from doc level changes Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]> Co-authored-by: AWSHurneyt <[email protected]> Co-authored-by: Sriram <[email protected]> Co-authored-by: charliezhangaws <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Annie Lee <[email protected]> * Add Trigger condition resolver which parses and evaluates the Trigger expression. (opensearch-project#405) Signed-off-by: Saurabh Singh <[email protected]> * percolate query implementation in doc-level alerting (opensearch-project#399) Signed-off-by: Subhobrata Dey <[email protected]> * Finding Index rollover (opensearch-project#408) * Finding Index rollover Signed-off-by: jiahe zhang <[email protected]> * Apply fixes to make rollover work Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: jiahe zhang <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]> Co-authored-by: AWSHurneyt <[email protected]> Co-authored-by: Sriram <[email protected]> Co-authored-by: charliezhangaws <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Subhobrata Dey <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Remove write Destination APIs (opensearch-project#412) * Remove write Destination API REST handlers Signed-off-by: Mohammad Qureshi <[email protected]> * Remove write Destination transport actions Signed-off-by: Mohammad Qureshi <[email protected]> * Remove write Destination action, request and response classes Signed-off-by: Mohammad Qureshi <[email protected]> * Create Alerting config index if it doesn't exist before legacy Destination indexing Signed-off-by: Mohammad Qureshi <[email protected]> * Remove write Destination related security tests Signed-off-by: Mohammad Qureshi <[email protected]> * Remove unused access roles and imports Signed-off-by: Mohammad Qureshi <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Deprecate the Master nomenclature in 2.0 (opensearch-project#415) Signed-off-by: Subhobrata Dey <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Remove Alerting's notification subproject (opensearch-project#413) * Remove notification subproject Signed-off-by: Mohammad Qureshi <[email protected]> * Remove publishing to maven in build script Signed-off-by: Mohammad Qureshi <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Skipping destination migration if alerting index is not initialized (opensearch-project#417) Signed-off-by: Ravi [email protected] Signed-off-by: AWSHurneyt <[email protected]> * Alias support for Document Level Monitors (opensearch-project#416) * Implemented support for defining doc level monitors using aliases. Signed-off-by: AWSHurneyt <[email protected]> * Fix integ tests and cleaup alias logic Signed-off-by: Ashish Agrawal <[email protected]> Co-authored-by: AWSHurneyt <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Fixed a flaky test condition. (opensearch-project#375) Signed-off-by: AWSHurneyt <[email protected]> * Replace checked-in ZIP for bwc tests with a dynamic dependency (opensearch-project#411) * Replace checked-in ZIP with a dynamic dependency Signed-off-by: Subhobrata Dey <[email protected]> * Replace checked-in ZIP with a dynamic dependency Signed-off-by: Subhobrata Dey <[email protected]> Signed-off-by: AWSHurneyt <[email protected]> * Update integTest gradle scripts to run via remote cluster independently (opensearch-project#418) Signed-off-by: AWSHurneyt <[email protected]> * Removed tests that were duplicated while resolving merge conflicts. Signed-off-by: AWSHurneyt <[email protected]> Co-authored-by: Subhobrata Dey <[email protected]> Co-authored-by: Ashish Agrawal <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Daniel Doubrovkine (dB.) <[email protected]> Co-authored-by: Sriram <[email protected]> Co-authored-by: charliezhangaws <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Annie Lee <[email protected]> Co-authored-by: Saurabh Singh <[email protected]> Co-authored-by: Mohammad Qureshi <[email protected]> Co-authored-by: Ravi <[email protected]> Signed-off-by: Angie Zhang <[email protected]>
Add Trigger condition parser which parses the provided trigger condition expression in the Reverse Polish Notation and then
resolves the final set of Document Ids which matches the given expression for Document Level Alerts.
Users can configure the Trigger condition using the expression strings as below:
Always True
return true
Always False
return false
Query Expressions
Operartors supported are:
Query Identifiers supported are:
Signed-off-by: Saurabh Singh [email protected]
Issue #, if available:
Description of changes:
CheckList:
[x] Commits are signed per the DCO using --signoff
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.