2.4.0 Release Notes

edit

Breaking changes

edit
Network
  • Single comma-delimited response header for multiple values #19872 (issue: #19841)

Deprecations

edit
Geo
  • Deprecate optimize_bbox on geodistance queries #20032 (issue: #20014)
  • Deprecate geohash parameters for geo_point parser #20030 (issue: #20009)
Mapping
  • Add deprecation logging for _timestamp and _ttl. #19031 (issue: #18980)
Query DSL
  • Deprecate soon-to-be-unsupported queries. #18376 (issue: #18276)
REST
Search
Settings
Snapshot/Restore
  • Adds deprecation notices on removed BlobContainer methods #19729 (issues: #18813, #19727)

New features

edit
Geo
Plugin Cloud AWS
Reindex API
  • Backport: Reindex’s throttling #18020

Enhancements

edit
Circuit Breakers
Cluster
Core
Dates
  • Improve TimeUnitRounding for edge cases and DST transitions #18589
Internal
  • Turn RestChannel into an interface #17643 (issue: #17133)
  • Require executor name when calling scheduleWithFixedDelay #17538
  • Implement available for all StreamInput classes #17218
Java API
  • Add created flag to IndexingOperationListener#postIndex #17340 (issue: #17333)
Logging
  • Add shardId and node name in search slow log #19949 (issue: #19735)
Mapping
  • Mappings: Allow to force dots in field names #19937
Network
  • Exclude admin / diagnostic requests from HTTP request limiting #18833 (issues: #17951, #18145)
  • Netty request/response tracer should wait for send #18500
  • Exclude specific transport actions from request size limit check #17951
  • Provide better error message when an incompatible node connects to a node #17182 (issue: #17090)
Packaging
  • Increase default max open files to 65536 #18041 (issue: #18040)
  • Allow configuring Windows service name, description and user #17312
Parent/Child
  • Allow adding additional child types that point to an existing parent type #18446 (issue: #17956)
Query DSL
REST
  • CORS handling triggered whether User-Agent is a browser or not #18283
Reindex API
  • Switch default batch size for reindex to 1000 #18340
Scripting
  • Mustache: Add util functions to render JSON and join array values #19153 (issue: #18856)
  • Compile each Groovy script in its own classloader #18975 (issue: #18918)

Bug fixes

edit
Aggregations
  • Fix potential AssertionError with include/exclude on terms aggregations. #19252 (issue: #18575)
  • Pass resolved extended bounds to unmapped histogram aggregator #19085 (issue: #19009)
  • Fix "key_as_string" for date histogram and epoch_millis/epoch_second format with time zone #19043 (issue: #19038)
  • Fix TimeUnitRounding for hour, minute and second units #18415 (issue: #18326)
  • Adds serialisation of sigma to extended_stats_bucket pipeline aggregation #17703 (issue: #17701)
  • ExtendedStatsAggregator should also pass sigma to emtpy aggs. #17388 (issue: #17362)
  • Prevents exception being raised when ordering by an aggregation which wasn’t collected #17379 (issue: #17225)
  • Setting other bucket on empty aggregation #17264 (issue: #16546)
Allocation
  • Rebalancing policy shouldn’t prevent hard allocation decisions #17698 (issues: #14057, #14259)
Analysis
  • Add Character.MODIFIER_SYMBOL to the list of symbol categories. #18402 (issue: #18388)
Bulk
  • Copy headers and context to individual requests inside a bulk #18816
CAT API
  • Fix merge stats rendering in RestIndicesAction #18720
  • Expand wildcards to closed indices in /_cat/indices #18545 (issues: #16419, #17395)
  • Fix column aliases in _cat/indices, _cat/nodes and _cat/shards APIs #17145 (issue: #17101)
CRUD
  • Prevent TransportReplicationAction to route request based on stale local routing table #19296 (issues: #16274, #19187)
Cluster
  • Fix block checks when no indices are specified #19047 (issue: #8105)
  • Cluster stats: fix memory available that is always set to 0 #17328 (issue: #17278)
Core
  • Throw exception if using a closed transport client #18722 (issue: #18708)
  • Fix misplaced cast when parsing seconds #18548 (issue: #18546)
  • Don’t try to compute completion stats on a reader after we already closed it #18094
Dates
  • Make sure TimeIntervalRounding is monotonic for increasing dates #19020
  • Fix invalid rounding value for TimeIntervalRounding close to DST transitions #18800
  • Fix problem with TimeIntervalRounding on DST end #18780
Highlighting
  • Plain highlighter should ignore parent/child queries #19616 (issue: #14999)
  • Let fast vector highlighter also extract terms from the nested query’s inner query. #19337 (issue: #19265)
  • Skip all geo point queries in plain highlighter #18495 (issue: #17537)
  • Exclude all but string fields from highlighting if wildcards are used… #18183 (issue: #17537)
Indexed Scripts/Templates
  • Don’t ignore custom sharding settings in create index request for .scripts index #18965 (issue: #18912)
Internal
  • Fix filtering of node ids for TransportNodesAction #18634 (issue: #18618)
Logging
  • Add missing index name to search slow log. #17818 (issue: #17025)
Mapping
  • Mapping updates on objects should propagate include_an_all. #20051
  • Mappings: Fix detection of metadata fields in documents #19765
  • Fix not_analyzed string fields to error when position_increment_gap is set #19510
  • Automatically created indices should honor index.mapper.dynamic. #19478 (issue: #17592)
  • Process dynamic templates in order. #18638 (issues: #18625, #2401)
  • Fix cross type mapping updates for boolean fields. #17882 (issues: #17879, #18740)
  • Fail if an object is added after a field with the same name. #17568 (issue: #17567)
Packaging
  • RESTART_ON_UPGRADE incorrectly named ES_RESTART_ON_UPGRADE in sysconfig #19976 (issue: #19950)
Percolator
  • Set the SC and QPC type always to .percolator in percolate api #19210 (issue: #19130)
  • Fixed NPE when percolator filter option is "empty". #18563 (issue: #6172)
Plugin Analysis Kuromoji
  • Prebuild Japanese Stop Words Token Filter #19816 (issue: #19814)
Plugin Cloud AWS
Plugin Cloud Azure
Plugin Cloud GCE
Query DSL
  • Make parsing of bool queries stricter #19052 (issue: #19034)
  • Fix NullPointerException in SimpleQueryParser when analyzing text produces a null query #18243 (issue: #18202)
  • Apply the default operator on analyzed wildcard in simple_query_string builder #17776
  • Apply the default operator on analyzed wildcard in query_string builder: #17711 (issue: #2183)
REST
  • Do not decode path when sending error #18477 (issue: #18476)
  • CORS should permit same origin requests #18278 (issue: #18256)
  • Allow CORS requests to work with HTTP compression enabled #18101 (issues: #18066, #18089)
  • Fixes reading of CORS pre-flight headers and methods #17525 (issue: #17523)
  • Fix OOM in AbstractXContentParser #15350 (issue: #15338)
Recovery
  • Backports Notify GatewayRecoveryListener on failure #17805
Reindex API
  • Make reindex and lang-javascript compatible #19933
Search
  • AllTermQuery must implement equals/hashCode. #20196 (issue: #20161)
  • Add ref-counting to SearchContext to prevent accessing already closed readers #20095 (issue: #20008)
  • Fix _only_nodes preferences #18483 (issues: #12546, #12700)
  • Speed up named queries. #18470
Snapshot/Restore
  • Handle indices=["_all"] when restoring a snapshot #18025
  • On restore, selecting concrete indices can select wrong index #17715
Stats
  • Fix sync flush total shards statistics #18766
Translog
  • Translog can delete valid .ckp file when views are closed after the translog #19035 (issue: #16495)
  • Call ensureOpen on Translog#newView() to prevent IllegalStateException #17191

Upgrades

edit
Core
  • Update jackson to version 2.8.1 (on 2.4 branch) #20011 (issue: #18939)
  • Upgrade lucene to 5.5.2 #19496
Dates
Internal
  • Update Jackson 2.6.2 → 2.6.6 (latest and final 2.6 patch) #18052
Network
  • Upgrade to netty 3.10.6.Final #19235
Plugin Cloud AWS