ES has different thread pools for indexing, searching, etc. Is it possible to tell ES to set different priority on indexing vs. search requests? I didn't see a way to do that.
Wouldn't that be very valuable, especially for the popular logging use case?
Thanks,
Otis
Monitoring - Log Management - Alerting - Anomaly Detection
Elasticsearch Consulting - Support - Training - http://sematext.com/
A good idea in general, but not a good idea on the JVM.
you have to be root to raise priority of threads (on Linux at least), so the question is if lowering thread priorities is of any benefit
lowering thread priorities make threads always run slower (see UNIX 'nice')
you need to instruct ES users how to map Java threads to OS native threads on the specific hardware, which is flaky when using -XX:ThreadPriorityPolicy e.g. by not-so-well documented JVM flags like
Hmmm, I think we are out of sync. I'm not referring to process priorities and "nice". I'm referring to Thread class in Java: http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html
"Every thread has a priority. Threads with higher priority are executed in preference to threads with lower priority...."
So this is a Java-level thing (and maybe it translates to OS-level processes or threads, which must be different on different OSes, but that's "not my concern" here) and I'm thinking it would be useful to be able to configure:
index pool priority: min
search pool priority: max
etc.
Wouldn't that be helpful and super easy to implement?
Otis
Monitoring - Log Management - Alerting - Anomaly Detection
Elasticsearch Consulting - Support - Training - http://sematext.com/
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.