IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.

2.1.0 Release Notes

edit

Also see Breaking changes in 2.1 for important changes in this release.

Breaking changes

edit
CRUD
Fielddata
  • Remove the experimental indices.fielddata.cache.expire #13173 (issue: #10781)
Index APIs
  • Add Force Merge API, deprecate Optimize API #13778
Internal
Java API
  • Deprecates defaultRescoreWindowSize #13995
Nested Docs
  • If sorting by nested field then the nested_path should always be specified #13429 (issue: #13420)
Search
  • Limit the size of the result window to a dynamic property #13188 (issue: #9311)
Stats
  • The queue_size value should be shown as an integer. #13063 (issue: #10404)

Deprecations

edit
Java API
  • Deprecate the count api in favour of search with size 0 #14165 (issue: #13928)
Parent/Child
  • Deprecate score_type option in favour of the score_mode option #13478
Query DSL
Search
  • Deprecate _search/exists in favour of regular _search with size 0 and terminate_after 1 #13910 (issue: #13682)
  • Deprecate the scan search type. #12994 (issue: #12983)

New features

edit
Aggregations
  • Add percentiles_bucket pipeline aggregation #13186
  • Add stats_bucket / extended_stats_bucket pipeline aggs #13128
Analysis
Geo
  • Adds geo_centroid metric aggregator #13846 (issue: #13621)

Enhancements

edit
Allocation
  • Add cluster-wide setting for total shard limit #14563 (issue: #14456)
  • Early terminate high disk watermark checks on single data node cluster #13882 (issue: #9391)
  • Also use PriorityComparator in shard balancer #13256 (issue: #13249)
  • Add support for filtering by publish IP address #8801
CAT API
  • Add duration field to /_cat/snapshots #14385
  • Add cat API for repositories and snapshots #14247 (issue: #13919)
  • Adds disk used by indices to _cat/allocation #13783 (issue: #13529)
Core
  • Verify Checksum once it has been fully written to fail as soon as possible #13896
Exceptions
  • Deduplicate cause if already contained in shard failures #14432
  • Give a better exception when running from freebsd jail without enforce_statfs=1 #14135 (issue: #12018)
  • Make root_cause of field conflicts more obvious #13976 (issue: #12839)
  • Use a dedicated id to serialize EsExceptions instead of it’s class name. #13629
  • Validate class before cast. #12913 (issue: #12842)
  • Improve error message of ClassCastExceptions #12821 (issue: #12135)
Geo
Index APIs
Index Templates
  • Accumulate validation errors when validating index templates #12901 (issue: #12900)
Internal
  • Fix dangling comma in ClusterBlock#toString #14483
  • Improve some logging around master election and cluster state #14481
  • Add workaround for JDK-8014008 #14274
  • Cleanup IndexMetaData #14119
  • More helpful error message on parameter order #13737
  • Cleanup InternalClusterInfoService #13543
  • Remove and forbid use of com.google.common.base.Throwables #13409 (issue: #13224)
  • Remove cyclic dependencies between IndexService and FieldData / BitSet caches #13381
  • Remove and forbid use of com.google.common.base.Objects #13355 (issue: #13224)
  • Remove and forbid use of com.google.common.collect.ImmutableList #13227 (issue: #13224)
  • Remove and forbid use of com.google.common.collect.Lists #13170
  • Remove unused code from query_string parser and settings #13098
  • Consolidate duplicate logic in RoutingTable all*ShardsGrouped #13082 (issue: #13081)
  • Turn DestructiveOperations.java into a Guice module. #13046 (issue: #4665)
  • Remove CachedDfSource #12973 (issue: #12864)
  • Enable indy (invokedynamic) compile flag for Groovy scripts by default #8201 (issue: #8184)
Java API
  • Prevents users from building a BulkProcessor with a null client #12497
Logging
  • Move logging for the amount of free disk to TRACE #14403 (issue: #12843)
Packaging
  • Drop ability to execute on Solaris #14200
  • Nuke ES_CLASSPATH appending, JarHell fail on empty classpath elements #13880 (issues: #13812, #13864)
  • improve seccomp syscall filtering #13829
  • Block process execution with seccomp on linux/amd64 #13753
  • Remove JAVA_HOME detection from the debian init script #13514 (issues: #13403, #9774)
Plugin Cloud AWS
Plugin Cloud GCE
  • cloud-gce plugin should check discovery.type #13809 (issue: #13614)
Plugin Discovery EC2
  • Adding US-Gov-West #14358
  • Improved building of disco nodes #14155
Plugin Repository S3
Plugins
  • Don’t be lenient in PluginService#processModule(Module) #14306
  • Adds a validation for plugins script to check if java is set #13633 (issue: #13613)
  • Plugins: Removed plugin.types #13055
  • Improve java version comparison and explicitly enforce a version format #13010 (issues: #12441, #13009)
  • Output plugin info only in verbose mode #12908 (issue: #12907)
Query DSL
  • Internal: simplify filtered query conversion to lucene query #13312 (issue: #13272)
  • Remove unsupported rewrite from multi_match query builder #13073 (issue: #13069)
  • Remove unsupported rewrite option from match query builder #13069
  • Make FunctionScore work on unmapped field with missing parameter #13060 (issue: #10948)
Scripting
  • Add property permissions so groovy scripts can serialize json #14500 (issue: #14488)
Scroll
  • Optimize sorted scroll when sorting by _doc. #12983
Search
  • fix numerical issue in function score query #14085
  • Optimize scrolls for constant-score queries. #13311
  • Optimize counts on simple queries. #13037
Search Templates
  • Adds template support to _msearch resource #12414 (issue: #10885)
Snapshot/Restore
  • Simplify the BlobContainer blob writing interface #13434
  • Add readonly option for repositories #13144 (issues: #11753, #7831)
Stats
  • Add os.allocated_processors stats #14409 (issue: #13917)
  • Adds stats counter for failed indexing requests #13130 (issue: #8938)

Bug fixes

edit
Aggregations
  • Pass extended bounds into HistogramAggregator when creating an unmapped aggregator #14742 (issue: #14735)
  • Added correct generic type parameter on ScriptedMetricBuilder #14018 (issue: #13986)
  • Pipeline Aggregations at the root of the agg tree are now validated #13475 (issue: #13179)
  • Estimate HyperLogLog bias via k-NN regression #13243
Allocation
  • Fix calculation of next delay for delayed shard allocation #14765
  • Take ignored unallocated shards into account when making allocation decision #14678 (issue: #14670)
  • Only allow rebalance operations to run if all shard store data is available #14591 (issue: #14387)
  • Delayed allocation can miss a reroute #14494 (issues: #14010, #14011, #14445)
  • Check rebalancing constraints when shards are moved from a node they can no longer remain on #14259 (issue: #14057)
CAT API
  • Properly set indices and indicesOptions on subrequest made by /_cat/indices #14360
CRUD
  • Index name expressions should not be broken up #13691 (issue: #13665)
Cluster
  • Handle shards assigned to nodes that are not in the cluster state #14586 (issue: #14584)
Core
  • Use fresh index settings instead of relying on @IndexSettings #14578 (issue: #14319)
  • Fork Lucene PatternTokenizer to apply LUCENE-6814 (closes #13721) #14571 (issue: #13721)
  • Record all bytes of the checksum in VerifyingIndexOutput #13923 (issues: #13848, #13896)
  • When shard becomes active again, immediately increase its indexing buffer #13918 (issue: #13802)
  • Close TokenStream in finally clause #13870 (issue: #11947)
  • LoggingRunnable.run should catch and log all errors, not just Exception? #13718 (issue: #13487)
Exceptions
  • Fix ensureNodesAreAvailable’s error message #14007 (issue: #13957)
Fielddata
  • Don’t cache top level field data for fields that don’t exist #14693
Geo
  • Geo: Allow numeric parameters enclosed in quotes for geohash_grid aggregation #14440 (issue: #13132)
  • Resync Geopoint hashCode/equals method #14124 (issue: #14083)
  • Fix GeoPointFieldMapper to index geohash at correct precision. #13649 (issue: #12467)
Index APIs
  • Field stats: Fix NPE for index constraint on empty index #14841
  • Field stats: Added format option for index constraints #14823 (issue: #14804)
  • Restore previous optimize transport action name for bw comp #14221 (issue: #13778)
  • Forbid index name . and .. #13862 (issue: #13858)
Index Templates
  • Validate settings specified in index templates at template creation time #12892 (issue: #12865)
Internal
  • fix mvn verify on jigsaw with 2.1 #14750
  • fixup issues with 32-bit jvm #14609
  • Failure to update the cluster state with the recovered state should make sure it will be recovered later #14485
  • Gateway: a race condition can prevent the initial cluster state from being recovered #13997
  • Verify actually written checksum in VerifyingIndexOutput #13848
  • An inactive shard is activated by triggered synced flush #13802
Logging
  • Don’t log multi-megabyte guice exceptions. #13782
  • Moving system property setting to before it can be used #13660 (issue: #13658)
Mapping
  • Make _type use doc values #14783 (issue: #14781)
  • Mapping: Allows upgrade of indexes with only search_analyzer specified #14677 (issue: #14383)
Packaging
  • Handle system policy correctly #14704 (issue: #14690)
  • Startup script exit status should catch daemonized startup failures #14170 (issue: #14163)
  • Don’t let ubuntu try to install its crazy jayatana agent. #13813 (issue: #13785)
Parent/Child
  • Remove unnecessary usage of extra index searchers #12864
Plugin Delete By Query
  • Fix Delete-by-Query with Shield #14658 (issue: #14527)
  • Delete by query to not wrap the inner query into an additional query element #14302 (issue: #13326)
Plugins
  • Fix plugin list command error message #14288 (issue: #14287)
  • Fix HTML response during redirection #11374 (issue: #11370)
REST
  • XContentFactory.xContentType: allow for possible UTF-8 BOM for JSON XContentType #14611 (issue: #14442)
  • RestUtils.decodeQueryString ignores the URI fragment when parsing a query string #13365 (issue: #13320)
Search
  • Fix the quotes in the explain message for a script score function without parameters #11398
Settings
  • ByteSizeValue.equals should normalize units #13784
Snapshot/Restore
  • Snapshot restore and index creates should keep index settings and cluster blocks in sync #13931 (issue: #13213)
  • Fix blob size in writeBlob() method #13574 (issue: #13434)
Stats
  • Add extra validation into cluster/stats #14699 (issue: #7390)
  • Omit current* stats for OldShardStats #13801 (issue: #13386)
Translog
  • Translog recovery can repeatedly fail if we run out of disk #14695
  • Pending operations in the translog prevent shard from being marked as inactive #13759 (issue: #13707)

Regressions

edit
Internal

Upgrades

edit
Core
  • Upgrade Lucene to 5.3.1 #14669
  • Upgrade to lucene-5.3.0. #13239
Geo
  • Update to spatial4j 0.5 for correct Multi-Geometry #14269 (issue: #9904)
Internal
Plugin Cloud AWS
Plugin Discovery EC2
  • Upgrade to aws 1.10.33 #14672