🔎 Open source distributed and RESTful search engine.
Go to file
Sorabh 9b6e621452
Part 1: Support for cancel_after_timeinterval parameter in search and msearch request (#986)
* Part 1: Support for cancel_after_timeinterval parameter in search and msearch request

This commit introduces the new request level parameter to configure the timeout interval after which
a search request will be cancelled. For msearch request the parameter is supported both at parent
request and at sub child search requests. If it is provided at parent level and child search request
doesn't have it then the parent level value is set at such child request. The parent level msearch
is not used to cancel the parent request as it may be tricky to come up with correct value in cases
when child search request can have different runtimes

TEST: Added test for ser/de with new parameter

Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

* Part 2: Support for cancel_after_timeinterval parameter in search and msearch request

This commit adds the handling of the new request level parameter and schedule cancellation task. It
also adds a cluster setting to set a global cancellation timeout for search request which will be
used in absence of request level timeout.

TEST: Added new tests in SearchCancellationIT
Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

* Address Review feedback for Part 1

Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

* Address review feedback for Part 2

Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

* Update CancellableTask to remove the cancelOnTimeout boolean flag

Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

* Replace search.cancellation.timeout cluster setting with search.enforce_server.timeout.cancellation to control if cluster level cancel_after_time_interval should take precedence over request level cancel_after_time_interval value

Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

* Removing the search.enforce_server.timeout.cancellation cluster setting and just keeping search.cancel_after_time_interval setting with request level parameter taking the precedence.

Signed-off-by: Sorabh Hamirwasia <sohami.apache@gmail.com>

Co-authored-by: Sorabh Hamirwasia <hsorabh@amazon.com>
2021-08-12 11:01:28 -04:00
.ci Lower build requirement from Java 14+ to Java 11+ (#940) 2021-07-06 11:55:23 -05:00
.github Removed beta from new issues. (#1071) 2021-08-11 00:19:17 -04:00
.idea [Rename] Replace more instances of Elasticsearch with OpenSearch. (#432) 2021-03-21 20:56:34 -05:00
benchmarks Make allocation decisions at node level first for pending task optimi… (#534) 2021-05-19 19:09:30 -07:00
buildSrc Add support to generate code coverage report with JaCoCo (#971) 2021-08-10 07:23:46 -07:00
client alt bash path support (#1047) 2021-08-06 11:09:29 -04:00
dev-tools Add script to perform signoff check between commits (#152) 2021-03-13 10:36:15 -06:00
distribution alt bash path support (#1047) 2021-08-06 11:09:29 -04:00
doc-tools Merging javadoc feature branch changes to main (#715) 2021-05-18 13:21:41 -07:00
gradle Add support to generate code coverage report with JaCoCo (#971) 2021-08-10 07:23:46 -07:00
libs alt bash path support (#1047) 2021-08-06 11:09:29 -04:00
licenses Remove the Elastic license file, all checks for this license and the license REST APIs. (#12) 2021-03-13 10:36:07 -06:00
modules Rank feature - unknown field linear (#983) 2021-07-29 14:28:29 -04:00
plugins alt bash path support (#1047) 2021-08-06 11:09:29 -04:00
qa alt bash path support (#1047) 2021-08-06 11:09:29 -04:00
release-notes Update release note for GA 1.0 with new commits and removes #547 (#953) 2021-07-12 22:27:16 +05:30
rest-api-spec [BUG] Fix cat.health test failures in pre 1.0.0 mixed cluster test (#928) 2021-07-02 17:07:15 -05:00
sandbox Enable adding experimental features through sandbox modules (#691) 2021-06-22 11:45:18 -05:00
server Part 1: Support for cancel_after_timeinterval parameter in search and msearch request (#986) 2021-08-12 11:01:28 -04:00
test Part 1: Support for cancel_after_timeinterval parameter in search and msearch request (#986) 2021-08-12 11:01:28 -04:00
.dir-locals.el Go back to 140 column limit in .dir-locals.el 2017-04-14 08:50:53 -06:00
.editorconfig Remove default indent from .editorconfig (#49183) 2019-11-18 08:05:53 +00:00
.gitattributes Converted all .asciidoc to .md. (#658) 2021-05-05 15:04:14 -04:00
.gitignore [Rename] Replace more instances of Elasticsearch with OpenSearch. (#432) 2021-03-21 20:56:34 -05:00
ADMINS.md Updated READMEs on releasing, maintaining, admins and security. (#853) 2021-06-17 18:03:11 -04:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md 2021-03-13 10:36:16 -06:00
CONTRIBUTING.md Cleanup TESTING and DEVELOPER_GUIDE markdowns (#946) 2021-07-12 15:02:56 -05:00
DEVELOPER_GUIDE.md Cleanup TESTING and DEVELOPER_GUIDE markdowns (#946) 2021-07-12 15:02:56 -05:00
Jenkinsfile Update CI workflow to work on new infra (#123) 2021-03-13 10:36:15 -06:00
LICENSE.txt Update LICENSE.txt 2021-03-22 09:25:46 -05:00
MAINTAINERS.md Updated READMEs on releasing, maintaining, admins and security. (#853) 2021-06-17 18:03:11 -04:00
NOTICE.txt [TEST] Fix failing distro tests for linux packages (#569) 2021-05-15 21:45:48 -07:00
README.md Replacing docs-beta links with /docs (#957) 2021-07-13 07:46:05 -07:00
RELEASING.md Updated READMEs on releasing, maintaining, admins and security. (#853) 2021-06-17 18:03:11 -04:00
SECURITY.md Updated READMEs on releasing, maintaining, admins and security. (#853) 2021-06-17 18:03:11 -04:00
TESTING.md Cleanup TESTING and DEVELOPER_GUIDE markdowns (#946) 2021-07-12 15:02:56 -05:00
Vagrantfile [TEST] Fix failing distro tests for linux packages (#569) 2021-05-15 21:45:48 -07:00
build.gradle Add support to generate code coverage report with JaCoCo (#971) 2021-08-10 07:23:46 -07:00
gradle.properties Speed ups to test suite and precommit tasks. (#580) 2021-04-20 09:02:45 -05:00
gradlew Update gradle wrapper to 6.6 (#59909) (#60949) 2020-08-11 11:03:19 +02:00
gradlew.bat Update gradle wrapper to 6.6 (#59909) (#60949) 2020-08-11 11:03:19 +02:00
settings.gradle A CLI tool to assist during an upgrade to OpenSearch. (#846) 2021-07-13 09:51:02 -07:00

README.md

Welcome!

OpenSearch is a community-driven, open source fork of Elasticsearch and Kibana following the licence change in early 2021. We're looking to sustain (and evolve!) a search and analytics suite for the multitude of businesses who are dependent on the rights granted by the original, Apache v2.0 License.

Project Resources

Code of Conduct

This project has adopted the Amazon Open Source Code of Conduct. For more information see the Code of Conduct FAQ, or contact opensource-codeofconduct@amazon.com with any additional questions or comments.

License

This project is licensed under the Apache v2.0 License.

Copyright 2020-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.