IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
5.0.0-alpha1 Release Notes (Changes previously released in 2.x)
edit5.0.0-alpha1 Release Notes (Changes previously released in 2.x)
editThe changes listed below were first released in the 2.x series. Changes released for the first time in Elasticsearch 5.0.0-alpha1 are listed in 5.0.0-alpha1 Release Notes.
Breaking changes
edit- Index APIs
- Internal
- Logging
- Mapping
- Nested Docs
- Scripting
- Search
Breaking Java changes
edit- Allocation
-
- Speed up shard balancer by reusing shard model while moving shards that can no longer be allocated to a node #16926
New features
editEnhancements
edit- Aliases
- Allocation
-
- Skip capturing least/most FS info for an FS with no total #16001 (issue: #15919)
- Speed improvements for BalancedShardsAllocator #15678 (issue: #6372)
- Simplify delayed shard allocation #14808
- 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
- Analysis
- CAT API
- Cluster
-
- Shard state action request logging #16396
- Safe cluster state task notifications #15777
- Reroute once per batch of shard failures #15510
- Add callback for publication of new cluster state #15494 (issue: #15482)
- Use general cluster state batching mechanism for shard started #15023 (issues: #14725, #14899)
- Use general cluster state batching mechanism for shard failures #15016 (issues: #14725, #14899)
- Set an newly created IndexShard’s ShardRouting before exposing it to operations #14918 (issue: #10708)
- Uniform exceptions for TransportMasterNodeAction #14737
- Core
-
- Remove log4j exception hiding #16834
- Avoid cloning MessageDigest instances #16479
- Add a hard check to ensure we are running with the expected lucene version #16305 (issue: #16301)
- If we can’t get a MAC address for the node, use a dummy one #15266 (issue: #10099)
- Simplify shard inactive logging #15259 (issue: #15252)
- Simplify IndexingMemoryController#checkIdle #15252 (issue: #15251)
- IndexingMemoryController should not track shard index states #15251 (issues: #13918, #15225)
- Verify Checksum once it has been fully written to fail as soon as possible #13896
- Discovery
- Exceptions
-
- Added file name to exceptions when failing to read index state #16850 (issue: #16713)
-
Add Exception class name to message in
NotSerializableExceptionWrapper
#16325 - 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
- Fielddata
-
- Update GeoPoint FieldData for GeoPointV2 #14345
- Geo
- Index APIs
- Index Templates
- Internal
-
- Implement available for all StreamInput classes #17218
- Cleanup search sub transport actions and collapse o.e.action.search.type package into o.e.action.search #16758 (issue: #11710)
- Simplify the Text API. #15511
- Simpler using compressed oops flag representation #15509 (issue: #15489)
- Info on compressed ordinary object pointers #15489 (issues: #13187, #455)
- Explicitly log cluster state update failures #15428 (issues: #14899, #15016, #15023)
- Use transport service to handle RetryOnReplicaException to execute replica action on the current node #15363
- Make IndexShard operation be more explicit about whether they are expected to run on a primary or replica #15282
- Avoid trace logging allocations in TransportBroadcastByNodeAction #15221
- Only trace log shard not available exceptions #14950 (issue: #14927)
- Transport options should be immutable #14760
- Fix dangling comma in ClusterBlock#toString #14483
- Improve some logging around master election and cluster state #14481
- Add System#exit(), Runtime#exit() and Runtime#halt() to forbidden APIs #14473 (issue: #12596)
- Simplify XContent detection. #14472
- Add threadgroup isolation. #14353
- Cleanup plugin security #14311
- Add workaround for JDK-8014008 #14274
- Refactor retry logic for TransportMasterNodeAction #14222
- Remove MetaDataSerivce and it’s semaphores #14159 (issue: #1296)
- Cleanup IndexMetaData #14119
- Add SpecialPermission to guard exceptions to security policy. #13854
- Clean up scripting permissions. #13844
- Factor groovy out of core into lang-groovy #13834 (issue: #13725)
- More helpful error message on parameter order #13737
- Factor expressions scripts out to lang-expression plugin #13726 (issue: #13725)
- 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)
- Enable indy (invokedynamic) compile flag for Groovy scripts by default #8201 (issue: #8184)
- Java API
-
- Add created flag to IndexingOperationListener#postIndex #17340 (issue: #17333)
- Align handling of interrupts in BulkProcessor #15527 (issue: #14833)
- BulkProcessor backs off exponentially by default #15513 (issue: #14829)
- Reject refresh usage in bulk items when using and fix NPE when no source #15082 (issue: #7361)
- BulkProcessor retries after request handling has been rejected due to a full thread pool #14829 (issue: #14620)
- Logging
- Mapping
-
- Expose the reason why a mapping merge is issued. #16059 (issue: #15989)
-
Add sub-fields support to
bool
fields. #15636 (issue: #6587) - Improve cross-type dynamic mapping updates. #15633 (issue: #15568)
- Make mapping updates more robust. #15539
- Make mapping serialization more robust. #15480
- Make mappings immutable. #15313 (issue: #9365)
- Make MappedFieldType.checkTypeName part of MappedFieldType.checkCompatibility. #15245
- Register field mappers at the node level. #14896 (issue: #14828)
- Network
-
- Provide better error message when an incompatible node connects to a node #17182 (issue: #17090)
- Add additional fallback to http.publish_port and restrict fallback to transport.publish_port #16626 (issue: #14535)
- only allow code to bind to the user’s configured port numbers/ranges #14549
- Port of publishAddress should match port of corresponding boundAddress #14535 (issues: #14503, #14513, #14514)
- Packaging
-
- Windows service: Use JAVA_HOME environment variable in registry #16552 (issue: #13521)
- Default standard output to the journal in systemd #16159 (issues: #15315, #16134)
- Use egrep instead of grep -E for Solaris #15755 (issue: #15628)
- punch thru symlinks when loading plugins/modules #15311
- set ActiveProcessLimit=1 on windows #15055
- set RLIMIT_NPROC = 0 on bsd/os X systems. #15039
- 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
- Get lang-javascript, lang-python, securemock ready for script refactoring #13695
- Remove some bogus permissions only needed for tests. #13620
- Remove java.lang.reflect.ReflectPermission "suppressAccessChecks" #13603
- Remove JAVA_HOME detection from the debian init script #13514 (issues: #13403, #9774)
- Plugin Cloud AWS
- Plugin Cloud Azure
- Plugin Cloud GCE
- Plugin Discovery EC2
-
- Adding US-Gov-West #14358
- Plugin Ingest Attachment
- Plugins
-
- Expose http.type setting, and collapse al(most all) modules relating to transport/http #15434 (issue: #14148)
- Ban RuntimePermission("getClassLoader") #15253
- Add nicer error message when a plugin descriptor is missing #15200 (issue: #15197)
- Don’t be lenient in PluginService#processModule(Module) #14306
- Adds a validation for plugins script to check if java is set #13633 (issue: #13613)
- Output plugin info only in verbose mode #12908 (issue: #12907)
- Query DSL
- REST
- Recovery
- Reindex API
- Scripting
-
- Remove suppressAccessChecks permission for Groovy script plugin #16839 (issue: #16527)
- Class permission for Groovy references #16660 (issue: #16657)
- Scripting: Allow to get size of array in mustache #16193
- Enhancements to the mustache script engine #15661
- Add property permissions so groovy scripts can serialize json #14500 (issue: #14488)
- Remove ScriptEngineService.unwrap. #13958
- Remove ScriptEngineService.execute. #13956
- Search
- Settings
-
- Log warning if max file descriptors too low #16506
- Snapshot/Restore
- Stats
- Top Hits
- Translog
-
- Check for tragic event on all kinds of exceptions not only ACE and IOException #15535
- Tribe Node
Bug fixes
edit- Aggregations
-
- 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)
- Build empty extended stats aggregation if no docs collected for bucket #16972 (issues: #16812, #9544)
- Set meta data for pipeline aggregations #16516 (issue: #16484)
- Filter(s) aggregation should create weights only once. #15998
-
Make
missing
on terms aggs work with all execution modes. #15746 (issue: #14882) - Run pipeline aggregations for empty buckets added in the Range Aggregation #15519 (issue: #15471)
- [Children agg] fix bug that prevented all child docs from being evaluated #15457
- Correct typo in class name of StatsAggregator #15321 (issue: #14730)
- Fix significant terms reduce for long terms #14948 (issue: #13522)
- Fix NPE in Derivative Pipeline when current bucket value is null #14745
- 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)
- Aliases
- Allocation
-
-
IndicesStore checks for
allocated elsewhere
for every shard not alocated on the local node #17106 - Prevent peer recovery from node with older version #15775
- 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)
-
IndicesStore checks for
- Analysis
- Bulk
- CAT API
- CRUD
- Cache
-
- Handle closed readers in ShardCoreKeyMap #16027
- Cluster
-
- Index deletes not applied when cluster UUID has changed #16825 (issue: #11665)
- Only fail the relocation target when a replication request on it fails #15791 (issue: #15790)
- Handle shards assigned to nodes that are not in the cluster state #14586 (issue: #14584)
- Bulk cluster state updates on index deletion #11258 (issue: #7295)
- Core
-
- BitSetFilterCache duplicates its content. #15836 (issue: #15820)
- Limit the max size of bulk and index thread pools to bounded number of processors #15585 (issue: #15582)
- AllTermQuery’s scorer should skip segments that never saw the requested term #15506
- Include root-cause exception when we fail to change shard’s index buffer #14867
- Restore thread interrupt flag after an InterruptedException #14799 (issue: #14798)
- 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
- Expressions
- Fielddata
-
- Don’t cache top level field data for fields that don’t exist #14693
- Geo
-
- Remove .geohash suffix from GeoDistanceQuery and GeoDistanceRangeQuery #15871 (issue: #15179)
- 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)
- Highlighting
- Index APIs
-
- Field stats: Index constraints should remove indices in the response if the field to evaluate is empty #14868
- Field stats: Fix NPE for index constraint on empty index #14841
-
Field stats: Added
format
option for index constraints #14823 (issue: #14804) -
Forbid index name
.
and..
#13862 (issue: #13858)
- Inner Hits
- Internal
-
- Log uncaught exceptions from scheduled once tasks #15824 (issue: #15814)
- FunctionScoreQuery should implement two-phase iteration. #15602
- Make sure the remaining delay of unassigned shard is updated with every reroute #14890 (issue: #14808)
- Throw a meaningful error when loading metadata and an alias and index have the same name #14842 (issue: #14706)
- 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
- Remove all setAccessible in tests and forbid #13539
- Remove easy uses of setAccessible in tests. #13537
- Ban setAccessible from core code, restore monitoring stats under java 9 #13531 (issue: #13527)
- Logging
- Mapping
-
- Put mapping operations must update metadata of all types. #16264 (issue: #16239)
-
Fix serialization of
search_analyzer
. #16255 - Reuse metadata mappers for dynamic updates. #16023 (issue: #15997)
- Fix MapperService#searchFilter(…) #15923 (issue: #15757)
- Fix initial sizing of BytesStreamOutput. #15864 (issue: #15789)
- MetaDataMappingService should call MapperService.merge with the original mapping update. #15508
- MapperService: check index.mapper.dynamic during index creation #15424 (issue: #15381)
- Only text fields should accept analyzer and term vector settings. #15308
-
Mapper parsers should not check for a
tokenized
property. #15289 - Validate that fields are defined only once. #15243 (issue: #15057)
- Check mapping compatibility up-front. #15175 (issue: #15049)
- Don’t treat default as a regular type. #15156 (issue: #15049)
- Don’t ignore mapping merge failures. #15144 (issue: #15049)
- Treat mappings at an index-level feature. #15142
- Make _type use doc values #14783 (issue: #14781)
- Network
- Packaging
-
- Fix waiting for pidfile #16718 (issue: #16717)
- Fix Windows service installation failure #15549 (issue: #15349)
- Enable es_include at init #15173
- 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
- Percolator
- Plugin Delete By Query
- Plugin Discovery GCE
- Plugin Mapper Attachment
-
- Fix toXContent() for mapper attachments field #15110
- Plugin Repository S3
- Plugins
- Query DSL
- REST
-
- Remove detect_noop from REST spec #16386
- Make text parsing less lenient. #15679
- Throw exception when trying to write map with null keys #15479 (issue: #14346)
- Fix OOM in AbstractXContentParser #15350 (issue: #15338)
- 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)
- Recovery
- Reindex API
- Scripting
- Search
-
- Do not apply minimum_should_match on auto generated boolean query if the coordination factor is disabled. #16155
- Do not apply minimum-should-match on a boolean query if the coords are disabled #16078 (issue: #15858)
- Fix blended terms take 2 #15894 (issue: #15860)
- Fix NPE when a segment with an empty cache gets closed. #15202 (issue: #15043)
- Fix the quotes in the explain message for a script score function without parameters #11398
- Settings
- Snapshot/Restore
-
- Prevent closing index during snapshot restore #16933 (issue: #16321)
- Add node version check to shard allocation during restore #16520 (issue: #16519)
- 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
- Task Manager
- Translog
-
- Never delete translog-N.tlog file when creation fails #15788
- Close recovered translog readers if createWriter fails #15762 (issue: #15754)
- Fail and close translog hard if writing to disk fails #15420 (issue: #15333)
- Prevent writing to closed channel if translog is already closed #15012 (issue: #14866)
- Don’t delete temp recovered checkpoint file if it was renamed #14872 (issue: #14695)
- 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)
- Tribe Node
Regressions
edit- Analysis
- Internal
- Plugin Cloud Azure
- REST
Upgrades
edit- Core
-
- Upgrade to Lucene 5.5.0 official release #16742
- Upgrade to lucene 5.5.0-snapshot-850c6c2 #16615
- Upgrade to lucene 5.5.0-snapshot-4de5f1d #16400 (issues: #16373, #16399)
- Update lucene to r1725675 #16114
- Upgrade to lucene-5.5.0-snapshot-1721183. #15575
- Upgrade Lucene to 5.4.0-snapshot-1715952 #14951
- Upgrade Lucene to 5.4.0-snapshot-1714615 #14784
- Upgrade to lucene-5.4.0-snapshot-1712973. #14619
- update to lucene-5.4.x-snapshot-1711508 #14398
- Upgrade to lucene-5.4-snapshot-1710880. #14320
- Upgrade to lucene-5.4-snapshot-1708254. #14074
- upgrade lucene to r1702265 #13439
- Upgrade master to lucene 5.4-snapshot r1701068 #13324
- Geo
- Internal
- Plugin Cloud AWS
- Plugin Cloud Azure
- Plugin Discovery Azure
- Plugin Discovery EC2
-
- Upgrade to aws 1.10.33 #14672
- Plugin Lang JS
-
- upgrade rhino for plugins/lang-javascript #14466
- Scripting