2.X/8. Breaking Changes

v2.0-01. Removed features

drscg 2017. 10. 15. 18:28

Rivers have been removededit

Elasticsearch does not support rivers anymore. While we had first planned to keep them around to ease migration, keeping support for rivers proved to be challenging as it conflicted with other important changes that we wanted to bring to 2.0 like synchronous dynamic mappings updates, so we eventually decided to remove them entirely. See Deprecating Rivers for more background about why we took this decision.

Elasticsearch는 더 이상 rivers를 지원하지 않는다. 처음에는 migration을 쉽게 하기 위하여 유지하기로 계획했었으나, rivers에 대한 지원을 유지하는 것은, 동기식 동적(synchronous dynamic) mapping update처럼, 2.0으로 가져오고자 했던 다른 중요한 변경 사항과의 충돌로 인해 힘든 것으로 판명되었다. 그래서, 결국 완전히 제거하기로 결정했다. Deprecating Rivers에서, 이런 결정을 하게된 이유를 알 수 있다.

Facets have been removededit

Facets, deprecated since 1.0, have now been removed. Instead, use the much more powerful and flexible aggregations framework. This also means that Kibana 3 will not work with Elasticsearch 2.0.

1.0에서 deplicate된 facets이 제거되었다. 대신 훨씬 더 강력하고 유연한 aggregations framework을 사용할 수 있다. 이것은 또한 Kibana 3.0이 Elasticsearch 2.0과 동작하지 않는다는 것을 의미한다.

MVEL has been removededit

The MVEL scripting language has been removed. The default scripting language is now Groovy.

MVEL scripting language가 제거되었다. 이제 기본 scripting language는 Groovy이다.

Delete-by-query is now a pluginedit

The old delete-by-query functionality was fast but unsafe. It could lead to document differences between the primary and replica shards, and could even produce out of memory exceptions and cause the cluster to crash.

기존의 delete-by-query 기능은 빠르지만 안전하지 않았다. 그것은 primary와 replica shard간 document상의 차이가 발생할 수 있고, memory exception을 발생시키고, cluster crash의 원인이 될 수 있다.

This feature has been reimplemented using the scroll and bulk APIs, which may be slower for queries which match large numbers of documents, but is safe.

이 기능이 scroll과 bulk API를 이용하여 재 구현되었다. 많은 document를 query하는 경우, 더 느리지만 안전하다.

Currently, a long running delete-by-query job cannot be cancelled, which is one of the reasons that this functionality is only available as a plugin. You can install the plugin with:

현재, 오래 걸리는 delete-by-query 작업은 취소할 수 없다. 이것이, 이 기능이 plugin으로만 이용할 수 있는 이유 중에 하나이다. plugin은 아래 명령어로 설치할 수 있다.

./bin/plugin install delete-by-query

See https://www.elastic.co/guide/en/elasticsearch/plugins/2.4/plugins-delete-by-query.html for more information.

https://www.elastic.co/guide/en/elasticsearch/plugins/2.4/plugins-delete-by-query.html 에서 더 많은 정보를 볼 수 있다.

Multicast Discovery is now a pluginedit

Support for multicast is very patchy. Linux doesn’t allow multicast listening on localhost, while OS/X sends multicast broadcasts across all interfaces regardless of the configured bind address. On top of that, some networks have multicast disabled by default.

multicast를 지원하는 것은 쉽지가 않다. Linux는 localhost에 대해 multicast listening을 허용하지 않는다. 반면에 OS/X는 설정된 bind address에 관계 없이 모든 interface에 대해 multicast broadcast를 보낸다. 그 외에도, 어떤 network는 기본적으로 multicast가 비활성화되어 있다.

This feature has been moved to a plugin. The default discovery mechanism now uses unicast, with a default setup which looks for the first 5 ports on localhost. If you still need to use multicast discovery, you can install the plugin with:

이 기능은 plugin으로 옮겨졌다. 이제 기본적인 discovery mechanism은 unicast를 사용한다. 이것은 기본 설정으로 localhost의 첫 번째 5 port를 찾는다. multicast discovery를 사용해야 한다면, 다음 명령어를 이용해 plugin을 설치할 수 있다.

./bin/plugin install discovery-multicast

See https://www.elastic.co/guide/en/elasticsearch/plugins/2.4/discovery-multicast.html for more information.

https://www.elastic.co/guide/en/elasticsearch/plugins/2.4/discovery-multicast.html 에서 더 많은 정보를 볼 수 있다.

_shutdown APIedit

The _shutdown API has been removed without a replacement. Nodes should be managed via the operating system and the provided start/stop scripts.

_shutdown API는 대체 명령어 없이 제거되었다. Node는 OS별로 제공되는 start/stop script로 관리할 수 있다.

murmur3 is now a pluginedit

The murmur3 field, which indexes hashes of the field values, has been moved out of core and is available as a plugin. It can be installed as:

field value의 hash를 index하는 murmur3 field는 core에서 제거되고, plugin으로 이용할 수 있다. 아래 명령어로 설치할 수 있다.

./bin/plugin install mapper-murmur3

_size is now a pluginedit

The _size meta-data field, which indexes the size in bytes of the original JSON document, has been moved out of core and is available as a plugin. It can be installed as:

원래의 JSON document의 크기를 byte로 index하는, meta-data field인 _size 는 core에서 제거되고, plugin으로 이용할 수 있다. 아래 명령어로 설치할 수 있다.

./bin/plugin install mapper-size

Thrift and memcached transportedit

The thrift and memcached transport plugins are no longer supported. Instead, use either the HTTP transport (enabled by default) or the node or transport Java client.

thrift와 memcached transport plugin은 더 이상 지원되지 않는다. 대신, HTTP transport(기본적으로 활성화된)나 Java Client(node or transport)를 사용하자.

Bulk UDPedit

The bulk UDP API has been removed. Instead, use the standard bulk API, or use UDP to send documents to Logstash first.

Bulk UDP API는 제거되었다. 대신 표준 bulk API를 사용하거나 Logstash에 document를 전송하기 위해 UDP를 사용하자.

MergeScheduler pluggabilityedit

The merge scheduler is no longer pluggable.

Merge scheduler는 더 이상 사용할 수 없다.


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

v2.1-04. Removed features  (0) 2017.10.15
v2.0 Breaking changes  (0) 2017.10.15
v2.0-02. Network changes  (0) 2017.10.15
v2.0-03. Multiple path.data striping  (0) 2017.10.15
v2.0-04. Mapping changes  (0) 2017.10.15