Skip to content
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

vm.max_map_count bootcheck should be conditional on the use of index.store.type=mmapfs #35377

Closed
rubin55 opened this issue Nov 8, 2018 · 5 comments
Labels
:Core/Infra/Core Core issues without another label

Comments

@rubin55
Copy link

rubin55 commented Nov 8, 2018

Elasticsearch version (bin/elasticsearch --version):
Version: 6.4.3, Build: default/tar/fe40335/2018-10-30T23:17:19.084789Z, JVM: 1.8.0_191

Plugins installed: []
none

JVM version (java -version):
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

OS version (uname -a if on a Unix-like system):
Linux c061993b6527 4.9.93-linuxkit-aufs #1 SMP Wed Jun 6 16:55:56 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Description of the problem including expected versus actual behavior:
Currently, when Elasticsearch boots up and detects it is not just running on localhost, it will invoke the bootchecks mechanism to make sure various things are sanely configured. One of those checks is for the value of vm.max_map_count to be at least 262144.

By default, Elasticsearch sets index.store.type to fs which means that Elasticsearch will select the performance-optimal index store type for the platform it's currently running on (see: https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules-store.html for details about the possible store types).

The value of vm.max_map_count is only relevant when index.store.type=mmapfs; Consequently, When an Elasticsearch instance is configured to use another store type like niofs or simplefs, it should not check for the value of vm.max_map_count because the value is irrelevant to the niofs and simplefs storage types.

Steps to reproduce:

  1. Run sysctl -w vm.max_map_count=10000
  2. Set index.store.type: niofs in elasticsearch.yml
  3. Set network.host: _site_ in elasticsearch.yml
  4. Start Elasticsearch and observe log output
  5. Watch ERROR message from bootchecks mechanism due to vm.max_map_count being to low despite the fact you're not using the mmapfs index store type.

Provide logs (if relevant):

@rubin55
Copy link
Author

rubin55 commented Nov 8, 2018

Ow wait a minute.. bdfcc32

Nothing to see here, move along.. I will test this node.store.allow_mmapfs setting you speak of and report back any successes as such..

@danielmitterdorfer
Copy link
Member

Based on your comments in #32421, I see you are about to check a nightly snapshot build of Elasticsearch 6.5.0 with node.store.allow_mmapfs set to false. We'll keep this issue open for now but that setting should likely help in your case.

@colings86 colings86 added the :Core/Infra/Core Core issues without another label label Nov 12, 2018
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-core-infra

@rubin55
Copy link
Author

rubin55 commented Nov 12, 2018

I mananged to test with 6.5.0-SNAPSHOT and can confirm that the allow_mmapfs setting is picked up by Elasticsearch. Furthermore, when deploying in a non-standalone fashion, I can confirm that the bootcheck for vm.max_map_count is skipped and the masters come up.

@danielmitterdorfer
Copy link
Member

Thanks for checking and confirming it here @rubin55. Given your positive feedback, I'm closing this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Core/Infra/Core Core issues without another label
Projects
None yet
Development

No branches or pull requests

4 participants