5.X/8. Breaking Changes

v5.0-05. Index APIs changes

drscg 2017. 10. 23. 21:17

Closing / deleting indices while running snapshotedit

In previous versions of Elasticsearch, closing or deleting an index during a full snapshot would make the snapshot fail. In 5.0, the close/delete index request will fail instead. The behavior for partial snapshots remains unchanged: Closing or deleting an index during a partial snapshot is still possible. The snapshot result is then marked as partial.

이전 버전의 Elasticsearch에서는 전체 snapshot 중에 index를 close하거니 delete하면 snapshot이 실패했다. 5.0 에서는 index close/delete request가 대신 실패한다. 부분 snapshot의 동작은 변경없아 유지된다. 부분 snapshot 중 index를 close하거니 delete하는 작업은 여전히 가능하다. 그러면 snapshot 결과가 부분으로 표시된다.

Warmersedit

Thanks to several changes like doc values by default and disk-based norms, warmers are no longer useful. As a consequence, warmers and the warmer API have been removed: it is no longer possible to register queries that will run before a new IndexSearcher is published.

기본적으로 doc values를 사용하고 및 disk-based norms과 같은 몇 가지 변경 사항 덕분에 warmer는 더 이상 유용하지 않다. 결과적으로 warmer와 warmer API가 제거되었다. 새 IndexSearcher가 게시되기 전에 실행될 query를 더 이상 등록 할 수 없다.

Don’t worry if you have warmers defined on your indices, they will simply be ignored when upgrading to 5.0.

warmer가 indices에 정의되어 있더라도 걱정 말자. 5.0으로 upgrade 시에 무시된다.

System CPU statsedit

The recent CPU usage (as a percent) has been added to the OS stats reported under the node stats API and the cat nodes API. The breaking change here is that there is a new object in the os object in the node stats response. This object is called cpu and includes percent and load_average as fields. This moves the load_average field that was previously a top-level field in the os object to the cpuobject. The format of the load_average field has changed to an object with fields 1m5m, and 15mrepresenting the one-minute, five-minute and fifteen-minute loads respectively. If any of these fields are not present, it indicates that the corresponding value is not available.

최근 CPU 사용량(%)은 node stats API 및 cat nodes API에서 보고된 OS stat에 추가되었다. 여기서 변경된 점은 node stats response에서 os object에 새로운 object가 있다는 것이다. 이 object는 cpu 라 불리며 percent 와 load_average 를 field로 포함한다. 이것은 이전에 os object의 최상위 필드였던 load_average field를 cpu object로 옮긴 것이다. load_average field의 형식은 각각 1분, 5분, 15분의 부하(load)를 나타내는 1m5m15m field를 가진 object로 변경되었다. 이들 field가 없으면 해당 값을 사용할 수 없음을 나타낸다.

In the cat nodes API response, the cpu field is output by default. The previous load field has been removed and is replaced by load_1mload_5m, and load_15m which represent the one-minute, five-minute and fifteen-minute loads respectively. The field will be null if the corresponding value is not available.

cat nodes API response에서 cpu field는 기본적으로 출력된다. 이전의 load field는 제거되어 각각 1분, 5분, 15분의 부하(load)를 나타내는 load_1mload_5mload_15m 로 대체되었다. 대응하는 값을 이용할 수 없는 경우, 필드는 null이 된다.

Finally, the API for org.elasticsearch.monitor.os.OsStats has changed. The getLoadAverage method has been removed. The value for this can now be obtained from OsStats.Cpu#getLoadAverage but it is no longer a double and is instead an object encapsulating the one-minute, five-minute and fifteen-minute load averages. Additionally, the recent CPU usage can be obtained from OsStats.Cpu#getPercent.

마지막으로 org.elasticsearch.monitor.os.OsStats 에 대한 API가 변경되었다. getLoadAverage method가 제거되었다. 이 값은 이제 OsStats.Cpu#getLoadAverage 에서 얻을 수 있지만, 더 이상 double이 아니며, 대신 1분, 5분, 15분 부하(load)의 평균을 캡슐화하는 object이다. 또한, 최근 CPU 사용량은 OsStats.Cpu#getPercent 에서 얻을 수 있다.

Suggest statsedit

Suggest stats exposed through suggest in indices stats has been merged with search stats. suggeststats is exposed as part of search stats.

indices stat에서 suggest 를 통해 노출된 통계는 search stat과 병합되었다. suggest stat은 search stat의 일부로 드러납니다.

Creating indices starting with - or +edit

Elasticsearch no longer allows indices to be created started with - or +, so that the multi-index matching and expansion is not confused. It was previously possible (but a really bad idea) to create indices starting with a hyphen or plus sign. Any index already existing with these preceding characters will continue to work normally.

Elasticsearch는 - 또는 + 로 시작하는 indices를 더 이상 만들 수 없으므로, multi-index 일치 및 확장이 혼동되지 않는다. 이전에는 - 또는 + 로 시작하는 indices를 만드는 것이 가능했다(그러나 정말 좋지 않은 idea …). 이 선행 문자로 이미 존재하는 index는 계속 정상적으로 동작한다.

Aliases APIedit

The /_aliases API no longer supports indexRouting and index-routing, only index_routing. It also no longer support searchRouting and search-routing, only search_routing. These were removed because they were untested and we prefer there to be only one (obvious) way to do things like this.

/_aliases API는 indexRouting 과 index-routing 을 더 이상 지원하지 않고 index_routing 만 지원한다. 또한 searchRouting 과 search-routing 을 더 이상 지원하지 않고 search_routing 만 지원한다. 이것들은 테스트되지 않았기 때문에 제거되었고, 우리는 이처럼 어떤 작업이 한 가지 (분명한) 방식으로만 처리되는 것을 더 선호한다.

OpType Create without an IDedit

As of 5.0 indexing a document with op_type=create without specifying an ID is not supported anymore.

5.0 에서 ID를 지정하지 않고 op_type=create 로 document를 index하는 것은 더 이상 지원되지 않는다.

Flush APIedit

The wait_if_ongoing flag default has changed to true causing _flush calls to wait and block if another flush operation is currently running on the same shard. In turn, if wait_if_ongoing is set tofalse and another flush operation is already running the flush is skipped and the shards flush call will return immediately without any error. In previous versions flush_not_allowed exceptions where reported for each skipped shard.

wait_if_ongoing flag의 기본값은 true 로 변경되어, 다른 flush 연산이 현재 같은 shard에서 실행 중일 경우 기다리고(wait) 블록(block)하기 위한 _flush 호출을 발생시킨다. 반대로, wait_if_ongoing 가 false로 설정되고 또 다른 flush 연산이 이미 실행되고 있으면 flush는 건너 뛰고 shards flush 호출은 오류없이 즉시 return된다. 이전 version에서는 flush_not_allowed 예외가 건너뛴 각 shard에 대해 보고되었다.


'5.X > 8. Breaking Changes' 카테고리의 다른 글

v5.0-03. Percolator changes  (0) 2017.10.23
v5.0-04. Suggester changes  (0) 2017.10.23
v5.0-06. Document API changes  (0) 2017.10.23
v5.0-07. Settings changes  (0) 2017.10.22
v5.0-08. Allocation changes  (0) 2017.10.22