5.X/8. Breaking Changes

v5.1 Breaking changes

drscg 2017. 10. 23. 21:37

Indices API changesedit

Alias names are validated against (most of) the rules for index namesedit

Alias names are now validated against almost the same set of rules that validate index names. The only difference is that aliases are allowed to have uppercase characters. That means that aliases may not:

이제 alias 이름은 index 이름에 대한 유효성 검사와 거의 동일한 규칙 집합으로, 유효성 검사가 수행됩니다. 유일한 차이점은 alias에서는 대문자가 허용된다는 것이다. 즉, 유효하지 않은 alias는 다음과 같다.

  • Start with _-, or +
  • Contain #\/*?"<>|, ` , `,
  • Be longer than 100 UTF-8 encoded bytes
  • Be exactly . or ..

Aliases created in versions before 5.1.0 are still supported but no new aliases can be added that violate those rules. Since modifying an alias in elasticsearch is removing it and recreating it atomically using the _aliases API, modifying aliases with invalid names is also no longer supported.

5.1.0 이전 버전에서 작성된 alias는 계속 지원되지만, 위의 규칙에서 벗어나는 새로운 alias는 추가할 수 없다. elasticsearch에서 alias를 수정하는 것은 그것을 제거하고 _aliases API를 사용하여 원자(atomic)적으로 다시 생성하기 때문에, 유효하지 않은 이름을 가진 alias를 수정하는 것도 더 이상 지원되지 않는다.

Java API changesedit

Log4j dependency has been upgradededit

The Log4j dependency has been upgraded from version 2.6.2 to version 2.7. If you’re using the transport client in your application, you should update your Log4j dependencies accordingly.

Log4j dependency가 버전 2.6.2에서 버전 2.7로 upgrade 되었다. 응용프로그램에서 transport client를 사용하는 경우 그에 따라 Log4j dependency를 업데이트해야 한다.

Local discovery has been removededit

Local discovery has been removed; this discovery implementation was used internally in the tribe service and for tests that ran multiple nodes inside the same JVM. This means that setting discovery.type to local will fail on startup.

로컬 discovery가 제거되었다. 이 discovery implementation은 tribe service와 같은 JVM 내에서 여러 node를 실행하는 테스트에서 내부적으로 사용되었습니다. 즉 discovery.type 을 local 로 설정하면 시작할 때 실패한다.

Plugin API changesedit

UnicastHostsProvider now pull basededit

Plugging in a UnicastHostsProvider for zen discovery is now pull based. Implement a DiscoveryPlugin and override the getZenHostsProviders method. Selecting a hosts provider is also now done with a separate setting, discovery.zen.hosts_provider.

zen discovery를 위한 UnicastHostsProvider plugin은 이제 pull 기반이다. DiscoveryPlugin 을 구현하고 getZenHostsProviders method를 override 하자. hosts provider를 선택하는 것은 별도의 설정인 discovery.zen.hosts_provider 로도 된다.

ZenPing and MasterElectService pluggability removededit

These classes are no longer pluggable. Either implement your own discovery, or extend from ZenDiscovery and customize as necessary.

이들 class는 더 이상 플러그할 수 없습니다. 자체 discovery를 구현하거나 ZenDiscovery에서 확장하고 필요에 따라 사용자 지정할 수 있다.

onModule support removededit

Plugins could formerly implement methods of the name onModule which took a single Guice module. All the uses of onModule for plugging in custom behavior have now been converted to pull based plugins, and hooks for onModule have been removed.

plugin은 이전에 하나의 Guice module을 사용하는 onModule 이라는 이름의 method를 구현할 수 있었다. 사용자 정의 동작을 plugin하기 위한 onModule의 모든 사용은 이제 pull based plugin으로 변환되었으며, onModule에 대한 hook는 제거되었다.

Other API changesedit

Indices stats and node stats API unrecognized metricsedit

The indices stats and node stats APIs allow querying Elasticsearch for a variety of metrics. Previous versions of Elasticsearch would silently accept unrecognized metrics (e.g., typos like "transprot"). In 5.1.0, this is no longer the case; unrecognized metrics will cause the request to fail. There is one exception to this which is the percolate metric which was removed in 5.0.0 but requests for these will only produce a warning in the 5.x series starting with 5.1.0 and will fail like any other unrecognized metric in 6.0.0.

indices stats 및 node stats API를 사용하면 다양한 metric에 대해 Elasticsearch를 query할 수 있다. 이전 버전의 Elasticsearch에서는 인식할 수 없는 metric(예: "transprot" 같은 오타)을 허용했다. 5.1.0에서는 더 이상 그렇지 않습니다. 인식할 수 없는 metric으로 인해 request가 실패하게 된다. 이에 대한 하나의 예외는, 5.0.0 에서 삭제된 percolate metric이지만, 이들에 대한 request는 5.1.0 으로 시작하는 5.x 시리즈에서만 경고를 생성하고, 6.0.0 에서는 다른 인식할 수 없는 metric과 마찬가지로 실패한다.

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

v5.2 Breaking changes  (0) 2017.10.23
v5.2-01. Shadow Replicas are deprecated  (0) 2017.10.23
v5.0 Breaking changes  (0) 2017.10.23
v5.0-01. Search and Query DSL changes  (0) 2017.10.23
v5.0-02. Mapping changes  (0) 2017.10.23