🔎 Open source distributed and RESTful search engine.
Go to file
Bukhtawar Khan f7e2984248
Introduce FS Health HEALTHY threshold to fail stuck node (#1167)
This will cause the leader stuck on IO during publication to step down and eventually trigger a leader election.

Issue Description
---
The publication of cluster state is time bound to 30s by a cluster.publish.timeout settings. If this time is reached before the new cluster state is committed, then the cluster state change is rejected and the leader considers itself to have failed. It stands down and starts trying to elect a new master.

There is a bug in leader that when it tries to publish the new cluster state it first tries acquire a lock to flush the new state under a mutex to disk. The same lock is used to cancel the publication on timeout. Below is the state of the timeout scheduler meant to cancel the publication. So essentially if the flushing of cluster state is stuck on IO, so will the cancellation of the publication since both of them share the same mutex. So leader will not step down and effectively block the cluster from making progress.

Signed-off-by: Bukhtawar Khan <bukhtawa@amazon.com>
2021-09-16 17:02:25 -07:00
.ci [Version] Add 1.2 for BWC testing (#1241) 2021-09-15 09:07:53 -07:00
.github Run link checker GitHub action on schedule. (#1221) 2021-09-08 11:24:19 -07: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 Drop mocksocket in favour of custom security manager checks (tests only) (#1205) 2021-09-16 17:21:47 -04:00
client Drop mocksocket & securemock dependencies from sniffer and rest client (no needed) (#1174) 2021-08-31 14:18:37 -04:00
dev-tools Add script to perform signoff check between commits (#152) 2021-03-13 10:36:15 -06:00
distribution [Bug] Fix InstallPluginCommand to use proper key signatures (#1233) 2021-09-10 14:58:31 -07:00
doc-tools Merging javadoc feature branch changes to main (#715) 2021-05-18 13:21:41 -07:00
gradle Fix defects in code-coverage.gralde to generate code coverage report properly (#1214) 2021-09-13 10:56:11 -07:00
libs Drop mocksocket in favour of custom security manager checks (tests only) (#1205) 2021-09-16 17:21:47 -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 Drop mocksocket in favour of custom security manager checks (tests only) (#1205) 2021-09-16 17:21:47 -04:00
plugins Drop mocksocket in favour of custom security manager checks (tests only) (#1205) 2021-09-16 17:21:47 -04:00
qa [Version] Increment main to 2.0 (#1192) 2021-09-01 22:35:53 -05:00
release-notes Generate release notes for 1.1 (#1230) 2021-09-09 00:51:53 +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 Introduce FS Health HEALTHY threshold to fail stuck node (#1167) 2021-09-16 17:02:25 -07:00
test Drop mocksocket in favour of custom security manager checks (tests only) (#1205) 2021-09-16 17:21:47 -04:00
.dir-locals.el
.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
.lycheeexclude Exclude failing links from plugins/modules (#1223) 2021-09-08 13:39:53 +05:30
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 Added Eclipse import instructions to DEVELOPER_GUIDE.md (#1215) 2021-09-08 09:05:02 -04: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 Fixed copyright to OpenSearch (#1175) 2021-08-31 12:55:28 -04:00
README.md Fixed copyright to OpenSearch (#1175) 2021-08-31 12:55:28 -04: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 Clarify JDK requirement in the developer guide (#1153) 2021-09-01 14:15:22 -07:00
Vagrantfile [TEST] Fix failing distro tests for linux packages (#569) 2021-05-15 21:45:48 -07:00
build.gradle [BWC] Re-enable bwc testing after 1.0.1 version bump 2021-08-26 07:11:53 -05: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 OpenSearch Contributors. See NOTICE for details.