2.X/8. Breaking Changes

v2.2 Breaking changes

drscg 2017. 10. 15. 18:44

This section discusses the changes that you need to be aware of when migrating your application to Elasticsearch 2.2.

여기에서는 application을 Elasticsearch 2.2 로 migration할 경우 알아야 할 변경 사항에 대해 이야기한다.

Geo Point Typeedit

The geo_point format has been changed to reduce index size and the time required to both index and query geo point data. To make these performance improvements possible both doc_values and coerce are required and therefore cannot be changed. For this reason the doc_values and coerceparameters have been removed from the geo_point field mapping.

geo_point format은 index 크기와 geo point 데이터의 index와 query에 필요한 시간을 줄이기 위해 변경되었다. 이러한 성능 향상을 가능하게 하려면 doc_values 와 coerce 가 모두 필요하므로 변경할 수 없었다. 이러한 이유로 geo_point field mapping에서 doc_values 와 coerce parameter가 제거되었다.

These new geo-points are not yet supported in the percolator, but see Percolating geo-queries in Elasticsearch 2.2.0 and lateredit for a workaround.

이 새로운 geo-point는 percolator에서 아직 지원하지 않지만, 해결책은 Percolating geo-queries in Elasticsearch 2.2.0 and lateredit을 침조하자

Scripting and securityedit

The Java Security Manager is being used to lock down the privileges available to the scripting languages and to restrict the classes they are allowed to load to a predefined whitelist. These changes may cause scripts which worked in earlier versions to fail. See Scripting and the Java Security Manager for more details.

Java Security Manager는 scripting 언어에서 사용할 수 있는 권한을 잠그고 사전에 정의된 허용 목록에 로드할 수 있는 class를 제한하는 데 사용된다. 이러한 변경으로 인해 이전 버전에서 작동했던 script가 실패 할 수 있다. 자세한 내용은 Scripting and the Java Security Manager를 참조하자.

Field stats APIedit

The field stats' response format has been changed for number based and date fields. The min_valueand max_value elements now return values as number and the new min_value_as_string and max_value_as_string return the values as string.

field stats의 response format이 숫자 기반 및 data field에 대해 변경되었다. min_value 와 max_value 요소는 이제 숫자로 값을 반환하고 새로운 min_value_as_string 와 max_value_as_string 는 값을 문자열로 반환한다.

Default logging using systemdedit

In previous versions of Elasticsearch using systemd, the default logging configuration routed standard output to /dev/null and standard error to the journal. However, there are often critical error messages at startup that are logged to standard output rather than standard error and these error messages would be lost to the ether. The default has changed to now route standard output to the journal and standard error to inherit this setting (these are the defaults for systemd). These settings can be modified by editing the elasticsearch.service file.

systemd를 사용하는 이전 버전의 Elasticsearch에서, 기본 logging 설정은 표준 출력(standard output)을 /dev/null 로 전달하고 표준 오류(standard error)를 journal로 전달했다. 그러나, 시작 시에 가끔씩 나타나는 치명적인 error 메세지가 있는데, 표준 오류가 아닌 표준 출력에 기록되어, 이들 error 메세지를 잃어버리게 된다. 이제 기본값은 표준 출력을 journal로 전달하고 표준 오류는 이 설정을 상속하도록 변경되었다(이것이 systemd의 기본값이다). 이러한 설정은 elasticsearch.service 파일을 수정하여 변경할 수 있다.

Java Clientedit

Previously it was possible to iterate over ClusterHealthResponse to get information about ClusterIndexHealth. While this is still possible, it requires now iterating over the values returned from getIndices():

이전에는 ClusterHealthResponse 를 반복하여 ClusterIndexHealth 에 대한 정보를 얻는 것이 가능했다. 이것은 여전히 가능하지만, 이제는 getIndices() 에서 반환된 값을 반복해야 한다

ClusterHealthResponse clusterHealthResponse = client.admin().cluster().prepareHealth().get();
for (Map.Entry<String, ClusterIndexHealth> index : clusterHealthResponse.getIndices().entrySet()) {
    String indexName = index.getKey();
    ClusterIndexHealth health = index.getValue();
}

Also ClusterHealthStatus has been moved from org.elasticsearch.action.admin.cluster.health to org.elasticsearch.cluster.health.

또한 ClusterHealthStatus 는 org.elasticsearch.action.admin.cluster.health 에서 org.elasticsearch.cluster.health 로 옮겨졌다.

Cloud AWS Pluginedit

Proxy settings have been deprecated and renamed:

proxy 설정은 deprecate되었고 이름이 변경되었다.

  • from cloud.aws.proxy_host to cloud.aws.proxy.host
  • from cloud.aws.ec2.proxy_host to cloud.aws.ec2.proxy.host
  • from cloud.aws.s3.proxy_host to cloud.aws.s3.proxy.host
  • from cloud.aws.proxy_port to cloud.aws.proxy.port
  • from cloud.aws.ec2.proxy_port to cloud.aws.ec2.proxy.port
  • from cloud.aws.s3.proxy_port to cloud.aws.s3.proxy.port

If you are using proxy settings, update your settings as deprecated ones will be removed in next major version.

proxy 설정을 사용하고 있다면, deprecate된 설정은 다음 major 버전에서 제거될 것이므로 설정을 update하자.

Multicast plugin deprecatededit

The discovery-multicast plugin has been deprecated in 2.2.0 and has been removed in 5.0.

discovery-multicast plugin은 2.2.0에서 deprecate되었고, 5.0에서 제거되었다.

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

v2.4-02. Index Templates  (0) 2017.10.15
v2.3 Breaking changes  (0) 2017.10.15
v2.1 Breaking changes  (0) 2017.10.15
v2.1-01. Search changes  (0) 2017.10.15
v2.1-02. Update changes  (0) 2017.10.15