6.x/8. Breaking Changes

v6.3.03. Settings changes

drscg 2018. 6. 15. 11:39

Concurrency level of analyze requests

Previously, analyze requests would run on the same thread pool as indexing requests. The indexthread pool has been deprecated as it is no longer needed since indexing requests are internally converted to bulk requests and run on the bulk thread pool. This leaves analyze requests without a home so we added a small thread pool called the analyze thread pool. This thread pool defaults to having one thread and a queue depth of sixteen requests. This means that previously analyze requests had a level of concurrency equal to the size of the index thread pool and now they have a level of concurrency of one. For most users we think this is fine as analyze requests are useful for debugging and so probably do not see high concurrency. If you are impacted by this you can increase the size of the thread pool by using the thread_pool.analyze.size setting.

이전에는, analyze request가 indexing request과 동일한 thread pool에서 실행되었다. indexing request는 내부적으로 bulk request로 변경되었고, bulk thread pool에서 실행되기 때문에, index thread pool은 더 이상 필요하지 않아 deprecate 되었다. 이렇게 하면 analyze request를 처리할 곳이 없어져, analyze thread pool이라는 작은 thread pool을 추가했다. 이 thread pool은 기본적으로 하나의 thread와 16 개의 request queue를 가진다. 즉, 이전에는 analyze request는 index thread pool의 크기와 동일한 수준의 concurrency level을 가졌지만, 이제는 concurrency level이 1이 된다. analyze request가 debugging에에 유용하고 높은 concurrency이 필요하지는 않으므로, 대부분의 사용자에게 이 정도가 괜찮다고 생각한다. 이로 인해 영향을 받는다면, thread_pool.analyze.size 설정을 사용하여 thread pool의 크기를 늘릴 수 있다.

Renaming the bulk thread pooledit

The bulk thread pool has been renamed to the write thread pool. This change was made to reflect the fact that this thread pool is used to execute all write operations: single-document index/delete/update requests, as well as bulk requests. The settings thread_pool.bulk.size and thread_pool.bulk.queue_size are still supported as fallback settings although you should transition to thread_pool.write.size and thread_pool.write.queue_size, respectively. The fallback settings will be removed in 7.0.0. Additionally, this means that some APIs (e.g., the node stats API) will now display the name of this thread pool as write. If this change impacts you (e.g., for monitoring that you have in place) you can start Elasticsearch with the JVM option -Des.thread_pool.write.use_bulk_as_display_name=true to have Elasticsearch continue to display the name of this thread pool as bulk. Elasticsearch will stop observing this system property in 7.0.0.

bulk thread pool은 write thread pool로 이름을 변경했다. 이 변경은 이 thread pool이 모두 쓰기 작업(bulk request은 물론이고 단일 document index/delete/update request)을 실행하는 데 사용된다는 사실을 반영하여 변경되었다. thread_pool.bulk.size 및 thread_pool.bulk.queue_size 설정은 여전히 대체 설정으로 지원되지만, thread_pool.write.size 및 thread_pool.write.queue_size 로 각각 전환해야 한다. 대체 설정은 v7.0.0 에서 제거된다. 또한, 이는 일부 API(예: node stats API)가 이 thread pool의 이름은 write로 표시된다. 이로 인해 영향을 받는 경우 (예: 모니터링하는 경우), JVM 옵션 -Des.thread_pool.write.use_bulk_as_display_name=true로 Elasticsearch를 시작하면, Elasticsearch는 이 thread pool의 이름을 계속 bulk로 표시한다. Elasticsearch는 7.0.0에서 이 시스템 특성의 지원을 중지한다.


'6.x > 8. Breaking Changes' 카테고리의 다른 글

v6.4-01. API changes  (0) 2018.08.24
v6.3-02. Plugins changes  (0) 2018.06.15
v6.3-01. API changes  (0) 2018.06.15
v6.3 Breaking changes  (0) 2018.06.15
v6.2-03.Rollover alias  (0) 2018.06.15