WARNING: Version 6.2 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Elasticsearch version 6.0.0-alpha1 (Changes previously released in 5.x)
editElasticsearch version 6.0.0-alpha1 (Changes previously released in 5.x)
editThe changes listed below were first released in the 5.x series. Changes released for the first time in Elasticsearch 6.0.0-alpha1 are listed in Elasticsearch version 6.0.0-alpha1.
Breaking Changes
editBreaking Java Changes
edit- Aggregations
- Allocation
- Cluster
- Core
-
- Remove ability to plug-in TransportService #20505
- Discovery
-
- Remove pluggability of ElectMasterService #21031
- Exceptions
- Ingest
- Internal
-
- Replace SearchExtRegistry with namedObject #22492
- Replace Suggesters with namedObject #22491
- Consolidate the last easy parser construction #22095
- Introduce XContentParser#namedObject #22003
- Pass executor name to request interceptor to support async intercept calls #21089
- Remove TransportService#registerRequestHandler leniency #20469 (issue: #20468)
- Java API
-
- Fold InternalSearchHits and friends into their interfaces #23042
- Network
- Plugins
- Query DSL
- Scripting
-
- Refactor ScriptType to be a Top-Level Class #21136
- Search
Deprecations
editNew Features
edit- Aggregations
- Analysis
- CAT API
- CRUD
- Highlighting
- Index APIs
- Ingest
- Mapping
- Plugin Discovery File
- Query DSL
- Reindex API
- Search
- Settings
-
- Add infrastructure for elasticsearch keystore #22335
- Similarities
Enhancements
edit- Aggregations
-
-
Add
count
to rest output ofgeo_centroid
#24387 (issue: #24366) -
Allow scripted metric agg to access
_score
#24295 - Add BucketMetricValue interface #24188
- Move aggs CommonFields and TYPED_KEYS_DELIMITER from InternalAggregation to Aggregation #23987
- Use ParseField for aggs CommonFields rather than String #23717
- Share XContent rendering code in terms aggs #23680
- Add unit tests for ParentToChildAggregator #23305 (issue: #22278)
- First step towards incremental reduction of query responses #23253
-
value_type
is useful regardless of scripting. #22160 (issue: #20163) - Support for partitioning set of terms #21626 (issue: #21487)
- Rescorer should be applied in the TopHits aggregation #20978 (issue: #19317)
-
Add
- Aliases
- Allocation
-
- Trigger replica recovery restarts by master when primary relocation completes #23926 (issue: #23904)
- Makes the same_shard host dynamically updatable #23397 (issue: #22992)
- Include stale replica shard info when explaining an unassigned primary #22826
- Adds setting level to allocation decider explanations #22268 (issue: #21771)
- Improves allocation decider decision explanation messages #21771
- Prepares allocator decision objects for use with the allocation explain API #21691
- Balance step in BalancedShardsAllocator for a single shard #21103
- Process more expensive allocation deciders last #20724 (issue: #12815)
- Separates decision making from decision application in BalancedShardsAllocator #20634
- Analysis
- CAT API
- CRUD
- Cache
- Circuit Breakers
- Cluster
-
- Extract a common base class to allow services to listen to remote cluster config updates #24367
- Prevent nodes from joining if newer indices exist in the cluster #23843
- Connect to new nodes concurrently #22984 (issue: #22828)
- Keep NodeConnectionsService in sync with current nodes in the cluster state #22509
- Add a generic way of checking version before serializing custom cluster object #22376 (issue: #22313)
- Add validation for supported index version on node join, restore, upgrade & open index #21830 (issue: #21670)
- Let ClusterStateObserver only hold onto state that’s needed for change detection #21631 (issue: #21568)
- Cache successful shard deletion checks #21438
- Remove mutable status field from cluster state #21379
- Skip shard management code when updating cluster state on client/tribe nodes #20731
- Add clusterUUID to RestMainAction output #20503
- Core
-
- Regex upgrades #24316 (issue: #24226)
- Detect remnants of path.data/default.path.data bug #24099 (issues: #23981, #24052, #24074, #24093)
- Await termination after shutting down executors #23889
- Add early-access check #23743 (issue: #23668)
- Adapter action future should restore interrupts #23618 (issue: #23617)
- Disable bootstrap checks for single-node discovery #23598 (issues: #23585, #23595)
- Enable explicitly enforcing bootstrap checks #23585 (issue: #21864)
- Add equals/hashcode method to ReplicationResponse #23215
- Simplify ElasticsearchException rendering as a XContent #22611
- Remove setLocalNode from ClusterService and TransportService #22608
- Rename bootstrap.seccomp to bootstrap.system_call_filter #22226 (issue: #21940)
- Cleanup random stats serialization code #22223
- Avoid corruption when deserializing booleans #22152
- Reduce memory pressure when sending large terms queries. #21776
- Install a security manager on startup #21716
- Log node ID on startup #21673
- Ensure source filtering automatons are only compiled once #20857 (issue: #20839)
- Improve scheduling fairness when batching cluster state changes with equal priority #20775 (issue: #20768)
- Add production warning for pre-release builds #20674
- Add serial collector bootstrap check #20558
- Do not log full bootstrap checks exception #19989
- Dates
-
- Improve error handling for epoch format parser with time zone (#22621) #23689
- Discovery
-
- Introduce single-node discovery #23595
- UnicastZenPing shouldn’t ping the address of the local node #23567
- MasterFaultDetection can start after the initial cluster state has been processed #23037 (issue: #22828)
- Simplify Unicast Zen Ping #22277 (issues: #19370, #21739, #22120, #22194)
- Prefer joining node with conflicting transport address when becoming master #22134 (issues: #22049, #22120)
- Engine
- Exceptions
- Geo
- Highlighting
- Index APIs
-
- Open and close index to honour allow_no_indices option #24222 (issue: #24031)
- Wildcard cluster names for cross-cluster search #23985 (issue: #23893)
- Indexing: Add shard id to indexing operation listener #22606
- Better error when can’t auto create index #22488 (issues: #21448, #22435)
-
Add date-math support to
_rollover
#20709
- Ingest
-
- Lazy load the geoip databases #23337
-
add
ignore_missing
flag to ingest plugins #22273 - Added ability to remove pipelines via wildcards (#22149) #22191 (issue: #22149)
- Enables the ability to inject serialized json fields into root of document #22179 (issue: #21898)
- compile ScriptProcessor inline scripts when creating ingest pipelines #21858 (issue: #21842)
-
add
ignore_missing
option to SplitProcessor #20982 (issues: #19995, #20840) - add ignore_missing option to convert,trim,lowercase,uppercase,grok,rename #20194 (issue: #19995)
- introduce the JSON Processor #20128 (issue: #20052)
- Internal
-
-
Add cross cluster support to
_field_caps
#24463 (issue: #24334) - Log JVM arguments on startup #24451
- Preserve cluster alias throughout search execution to lookup nodes by cluster and ID #24438
- Move RemoteClusterService into TransportService #24424
- Enum related performance additions. #24274 (issue: #24226)
- Add a dedicated TransportRemoteInfoAction for consistency #24040 (issue: #23969)
- Simplify sorted top docs merging in SearchPhaseController #23881
- Synchronized CollapseTopFieldDocs with lucenes relatives #23854
- Cleanup SearchPhaseController interface #23844
- Do not create String instances in Strings methods accepting StringBuilder #22907
-
Improve connection closing in
RemoteClusterConnection
#22804 (issue: #22803) - Remove some more usages of ParseFieldMatcher #22437 (issues: #19552, #22130)
- Remove some more usages of ParseFieldMatcher #22398 (issues: #19552, #22130)
- Remove some more usages of ParseFieldMatcher #22395 (issues: #19552, #22130)
- Remove some ParseFieldMatcher usages #22389 (issues: #19552, #22130)
- Introduce ToXContentObject interface #22387 (issue: #16347)
- Add infrastructure to manage network connections outside of Transport/TransportService #22194
- Replace strict parsing mode with response headers assertions #22130 (issues: #11859, #19552, #20993)
-
Start using
ObjectParser
for aggs. #22048 (issue: #22009) - Don’t output null source node in RecoveryFailedException #21963
- ClusterService should expose "applied" cluster states (i.e., remove ClusterStateStatus) #21817
-
Rename ClusterState#lookupPrototypeSafe to
lookupPrototype
and remove "unsafe" unused variant #21686 - ShardActiveResponseHandler shouldn’t hold to an entire cluster state #21470 (issue: #21394)
- Remove unused ClusterService dependency from SearchPhaseController #21421
- Remove special case in case no action filters are registered #21251
- Use TimveValue instead of long for CacheBuilder methods #20887
- Remove SearchContext#current and all it’s threadlocals #20778 (issue: #19341)
- Remove poor-mans compression in InternalSearchHit and friends #20472
-
Add cross cluster support to
- Java API
- Java High Level REST Client
-
- Add utility method to parse named XContent objects with typed prefix #24240 (issue: #22965)
- Convert suggestion response parsing to use NamedXContentRegistry #23355
- UpdateRequest implements ToXContent #23289
- Add javadoc for DocWriteResponse.Builders #23267
- Expose WriteRequest.RefreshPolicy string representation #23106
-
Use
typed_keys
parameter to prefix suggester names by type in search responses #23080 (issue: #22965) - Add parsing from xContent to MainResponse #22934
- Parse elasticsearch exception’s root causes #22924
- Add parsing method to BytesRestResponse’s error #22873
- Add parsing methods to BulkItemResponse #22859
- Add parsing method for ElasticsearchException.generateFailureXContent() #22815
- Add parsing method for ElasticsearchException.generateThrowableXContent() #22783
- Add parsing methods for UpdateResponse #22586
- Add parsing from xContent to InternalSearchHit and InternalSearchHits #22429
- Add fromxcontent methods to index response #22229
- Add fromXContent() methods for ReplicationResponse #22196 (issue: #22082)
- Add parsing method for ElasticsearchException #22143
- Add fromXContent method to GetResponse #22082
- Java REST Client
- Logging
-
- Log deleting indices at info level #22627 (issue: #22605)
- Expose logs base path #22625
- Log failure to connect to node at info instead of debug #21809 (issue: #6468)
- Truncate log messages from the end #21609 (issue: #21602)
- Ensure logging is initialized in CLI tools #20575
- Give useful error message if log config is missing #20493
- Complete Elasticsearch logger names #20457 (issue: #20326)
- Logging shutdown hack #20389 (issue: #20304)
- Disable console logging #20387
- Warn on not enough masters during election #20063 (issue: #8362)
- Mapping
-
-
Do not index
_type
when there is at most one type. #24363 - Only allow one type on 6.0 indices #24317 (issue: #15613)
- token_count type : add an option to count tokens (fix #23227) #24175 (issue: #23227)
- Atomic mapping updates across types #22220
- Only update DocumentMapper if field type changes #22165
- Better error message when _parent isn’t an object #21987
- Create the QueryShardContext lazily in DocumentMapperParser. #21287
-
Do not index
- Nested Docs
-
- Avoid adding unnecessary nested filters when ranges are used. #23427
- Network
-
- Set available processors for Netty #24420 (issue: #6224)
- Adjust default Netty receive predictor size to 64k #23542 (issue: #23185)
- Keep the pipeline handler queue small initially #23335
- Set network receive predictor size to 32kb #23284 (issue: #23185)
- TransportService.connectToNode should validate remote node ID #22828 (issue: #22194)
- Disable the Netty recycler #22452 (issues: #22189, #22360, #22406, #5904)
- Tell Netty not to be unsafe in transport client #22284
- Introduce a low level protocol handshake #22094
- Detach handshake from connect to node #22037
- Reduce number of connections per node depending on the nodes role #21849
- Add a connect timeout to the ConnectionProfile to allow per node connect timeouts #21847 (issue: #19719)
- Grant Netty permission to read system somaxconn #21840
- Remove connectToNodeLight and replace it with a connection profile #21799
- Lazy resolve unicast hosts #21630 (issues: #14441, #16412)
- Fix handler name on message not fully read #21478
- Handle rejected pings on shutdown gracefully #20842
- Network: Allow to listen on virtual interfaces. #19568 (issues: #17473, #19537)
- Packaging
-
- Introduce Java version check #23194 (issue: #21102)
- Improve the out-of-the-box experience #21920 (issues: #18317, #21783)
- Add empty plugins dir for archive distributions #21204 (issue: #20342)
- Make explicit missing settings for Windows service #21200 (issue: #18317)
- Change permissions on config files #20966
- Add quiet option to disable console logging #20422 (issues: #15315, #16159, #17220)
- Percolator
- Plugin Discovery EC2
-
- Settings: Migrate ec2 discovery sensitive settings to elasticsearch keystore #23961 (issue: #22475)
- Add support for ca-central-1 region to EC2 and S3 plugins #22458 (issue: #22454)
- Support for eu-west-2 (London) cloud-aws plugin #22308 (issue: #22306)
- Add us-east-2 AWS region #21961 (issue: #21881)
- Add setting to set read timeout for EC2 discovery and S3 repository plugins #21956 (issue: #19078)
- Plugin Ingest GeoIp
- Plugin Lang Painless
-
- Allow painless to load stored fields #24290
- Start on custom whitelists for Painless #23563
- Fix Painless’s implementation of interfaces returning primitives #23298 (issue: #22983)
- Allow painless to implement more interfaces #22983
- Generate reference links for painless API #22775
- Painless: Add augmentation to String for base 64 #22665 (issue: #22648)
- Improve painless’s ScriptException generation #21762 (issue: #21733)
- Add Debug.explain to painless #21723 (issue: #20263)
- Implement the ?: operator in painless #21506
- In painless suggest a long constant if int won’t do #21415 (issue: #21313)
- Support decimal constants with trailing [dD] in painless #21412 (issue: #21116)
- Implement reading from null safe dereferences #21239
- Painless negative offsets #21080 (issue: #20870)
- Remove more equivalents of the now method from the Painless whitelist. #21047
- Disable regexes by default in painless #20427 (issue: #20397)
- Plugin Repository Azure
- Plugin Repository S3
- Plugins
-
- Plugins: Add support for platform specific plugins #24265
- Plugins: Remove leniency for missing plugins dir #24173
- Modify permissions dialog for plugins #23742
- Plugins: Add plugin cli specific exit codes #23599 (issue: #15295)
- Plugins: Output better error message when existing plugin is incompatible #23562 (issue: #20691)
- Add the ability to define search response listeners in search plugin #22682
- Pass ThreadContext to transport interceptors to allow header modification #22618 (issue: #22585)
- Provide helpful error message if a plugin exists #22305 (issue: #22084)
- Add shutdown hook for closing CLI commands #22126 (issue: #22111)
- Allow plugins to install bootstrap checks #22110
- Clarify that plugins can be closed #21669
- Plugins: Convert custom discovery to pull based plugin #21398
- Removing plugin that isn’t installed shouldn’t trigger usage information #21272 (issue: #21250)
- Remove pluggability of ZenPing #21049
- Make UnicastHostsProvider extension pull based #21036
- Revert "Display plugins versions" #20807 (issues: #18683, #20668)
- Provide error message when plugin id is missing #20660
- Query DSL
-
- Make it possible to validate a query on all shards instead of a single random shard #23697 (issue: #18254)
- QueryString and SimpleQueryString Graph Support #22541
- Additional Graph Support in Match Query #22503 (issue: #22490)
- RangeQuery WITHIN case now normalises query #22431 (issue: #22412)
- Un-deprecate fuzzy query #22088 (issue: #15760)
- support numeric bounds with decimal parts for long/integer/short/byte datatypes #21972 (issue: #21600)
- Using ObjectParser in MatchAllQueryBuilder and IdsQueryBuilder #21273
-
Expose splitOnWhitespace in
Query String Query
#20965 (issue: #20841) - Throw error if query element doesn’t end with END_OBJECT #20528 (issue: #20515)
-
Remove
lowercase_expanded_terms
andlocale
from query-parser options. #20208 (issue: #9978)
- REST
-
- Allow passing single scrollID in clear scroll API body #24242 (issue: #24233)
- Validate top-level keys when parsing mget requests #23746 (issue: #23720)
- Cluster stats should not render empty http/transport types #23735
- Add parameter to prefix aggs name with type in search responses #22965
- Add a REST spec for the create API #20924
- Add response params to REST params did you mean #20753 (issues: #20722, #20747)
- Add did you mean to strict REST params #20747 (issue: #20722)
- Reindex API
-
- Increase visibility of doExecute so it can be used directly #22614
- Improve error message when reindex-from-remote gets bad json #22536 (issue: #22330)
- Reindex: Better error message for pipeline in wrong place #21985
- Timeout improvements for rest client and reindex #21741 (issue: #21707)
- Add "simple match" support for reindex-from-remote whitelist #21004
- Make reindex-from-remote ignore unknown fields #20591 (issue: #20504)
- Scripting
-
- Expose multi-valued dates to scripts and document painless’s date functions #22875 (issue: #22162)
- Wrap VerifyError in ScriptException #21769
- Log ScriptException’s xcontent if file script compilation fails #21767 (issue: #21733)
- Support binary field type in script values #21484 (issue: #14469)
- Mustache: Add {{#url}}{{/url}} function to URL encode strings #20838
-
Expose
ctx._now
in update scripts #20835 (issue: #17895)
- Search
-
- Remove leniency when merging fetched hits in a search response phase #24158
- Set shard count limit to unlimited #24012
- Streamline shard index availability in all SearchPhaseResults #23788
- Search took time should use a relative clock #23662
-
Prevent negative
from
parameter in SearchSourceBuilder #23358 (issue: #23324) - Remove unnecessary result sorting in SearchPhaseController #23321
-
Expose
batched_reduce_size
via_search
#23288 (issue: #23253) - Adding fromXContent to Suggest and Suggestion class #23226 (issue: #23202)
- Adding fromXContent to Suggestion.Entry and subclasses #23202
- Add CollapseSearchPhase as a successor for the FetchSearchPhase #23165
- Integrate IndexOrDocValuesQuery. #23119
- Detach SearchPhases from AbstractSearchAsyncAction #23118
- Fix GraphQuery expectation after Lucene upgrade to 6.5 #23117 (issue: #23102)
- Nested queries should avoid adding unnecessary filters when possible. #23079 (issue: #20797)
- Add xcontent parsing to completion suggestion option #23071
- Add xcontent parsing to suggestion options #23018
- Separate reduce (aggs, suggest and profile) from merging fetched hits #23017
- Add a setting to disable remote cluster connections on a node #23005
- First step towards separating individual search phases #22802
- Add parsing from xContent to SearchProfileShardResults and nested classes #22649
- Move SearchTransportService and SearchPhaseController creation outside of TransportSearchAction constructor #21754
- Don’t carry ShardRouting around when not needed in AbstractSearchAsyncAction #21753
- ShardSearchRequest to take ShardId constructor argument rather than the whole ShardRouting #21750
- Use index uuid as key in the alias filter map rather than the index name #21749
- Add indices and filter information to search shards api output #21738 (issue: #20916)
- remove pointless catch exception in TransportSearchAction #21689
- Optimize query with types filter in the URL (t/t/_search) #20979
- Makes search action cancelable by task management API #20405
- Search Templates
-
- Add profile and explain parameters to template API #20451
- Settings
-
- Add secure file setting to keystore #24001
- Add a property to mark setting as final #23872
-
Remove obsolete index setting
index.version.minimum_compatible
. #23593 - Provide a method to retrieve a closeable char[] from a SecureString #23389
- Update indices settings api to support CBOR and SMILE format #23309 (issues: #23242, #23245)
- Improve setting deprecation message #23156 (issue: #22849)
- Add secure settings validation on startup #22894
- Allow comma delimited array settings to have a space after each entry #22591 (issue: #22297)
- Allow affix settings to be dynamic / updatable #22526
- Allow affix settings to delegate to actual settings #22523
- Make s3 repository sensitive settings use secure settings #22479
- Speed up filter and prefix settings operations #22249
- Add precise logging on unknown or invalid settings #20951 (issue: #20946)
- Snapshot/Restore
-
- Ensure every repository has an incompatible-snapshots blob #24403 (issue: #22267)
- Change snapshot status error to use generic SnapshotException #24355 (issue: #24225)
- Duplicate snapshot name throws InvalidSnapshotNameException #22921 (issue: #18228)
- Fixes retrieval of the latest snapshot index blob #22700
- Use general cluster state batching mechanism for snapshot state updates #22528 (issue: #14899)
- Synchronize snapshot deletions on the cluster state #22313 (issue: #19957)
- Abort snapshots on a node that leaves the cluster #21084 (issue: #20876)
- Stats
-
- Show JVM arguments #24450
- Add cross-cluster search remote cluster info API #23969 (issue: #23925)
- Add geo_point to FieldStats #21947 (issue: #20707)
- Include unindexed field in FieldStats response #21821 (issue: #21952)
- Remove load average leniency #21380
- Strengthen handling of unavailable cgroup stats #21094 (issue: #21029)
- Add basic cgroup CPU metrics #21029
- Suggesters
- Task Manager
-
- Limit IndexRequest toString() length #22832
- Improve the error message if task and node isn’t found #22062 (issue: #22027)
- Add descriptions to create snapshot and restore snapshot tasks. #21901 (issue: #21768)
- Add proper descriptions to reindex, update-by-query and delete-by-query tasks. #21841 (issue: #21768)
- Add search task descriptions #21740
- Tribe Node
- Upgrade API
-
- Allow plugins to upgrade templates and index metadata on startup #24379
Bug Fixes
edit- Aggregations
-
- InternalPercentilesBucket should not rely on ordered percents array #24336 (issue: #24331)
- Align behavior HDR percentiles iterator with percentile() method #24206
-
The
filter
andsignificant_terms
aggregations should parse thefilter
as a filter, not a query. #23797 - Completion suggestion should also consider text if prefix/regex is missing #23451 (issue: #23340)
- Fixes the per term error in the terms aggregation #23399
- Fixes terms error count for multiple reduce phases #23291 (issue: #23286)
- Fix scaled_float numeric type in aggregations #22351 (issue: #22350)
- Allow terms aggregations on pure boolean scripts. #22201 (issue: #20941)
- Fix numeric terms aggregations with includes/excludes and minDocCount=0 #22141 (issue: #22140)
-
Fix
missing
on aggs onboolean
fields. #22135 (issue: #22009) - IP range masks exclude the maximum address of the range. #22018 (issue: #22005)
-
Fix
other_bucket
on thefilters
agg to be enabled if a key is set. #21994 (issue: #21951) - Rewrite Queries/Filter in FilterAggregationBuilder and ensure client usage marks query as non-cachable #21303 (issue: #21301)
- Percentiles bucket fails for 100th percentile #21218
- Thread safety for scripted significance heuristics #21113 (issue: #18120)
-
ip_range
aggregation should accept null bounds. #21043 (issue: #21006) - Fixes bug preventing script sort working on top_hits aggregation #21023 (issue: #21022)
- Fixed writeable name from range to geo_distance #20860
- Fix date_range aggregation to not cache if now is used #20740
-
The
top_hits
aggregation should compile scripts only once. #20738
- Allocation
-
- Discard stale node responses from async shard fetching #24434 (issue: #24007)
- Cannot force allocate primary to a node where the shard already exists #22031 (issue: #22021)
- Promote shadow replica to primary when initializing primary fails #22021
- Trim in-sync allocations set only when it grows #21976 (issue: #21719)
- Allow master to assign primary shard to node that has shard store locked during shard state fetching #21656 (issue: #19416)
- Keep a shadow replicas' allocation id when it is promoted to primary #20863 (issue: #20650)
- IndicesClusterStateService should clean local started when re-assigns an initializing shard with the same aid #20687
- IndexRoutingTable.initializeEmpty shouldn’t override supplied primary RecoverySource #20638 (issue: #20637)
- Update incoming recoveries stats when shadow replica is reinitialized #20612
-
index.routing.allocation.initial_recovery
limits replica allocation #20589
- Analysis
- Bulk
- CAT API
- CRUD
- Cache
- Circuit Breakers
- Cluster
-
- Don’t set local node on cluster state used for node join validation #23311 (issues: #21830, #3, #4, #6, #9)
- Allow a cluster state applier to create an observer and wait for a better state #23132 (issue: #21817)
- Cluster allocation explain to never return empty response body #23054
- IndicesService handles all exceptions during index deletion #22433
- Remove cluster update task when task times out #21578 (issue: #21568)
- Core
-
- Check for default.path.data included in path.data #24285 (issue: #24283)
- Improve performance of extracting warning value #24114 (issue: #24018)
- Reject duplicate settings on the command line #24053
- Restrict build info loading to ES jar, not any jar #24049 (issue: #21955)
- Streamline foreign stored context restore and allow to perserve response headers #22677 (issue: #22647)
- Support negative numbers in readVLong #22314
- Add a StreamInput#readArraySize method that ensures sane array sizes #21697
- Use a buffer to do character to byte conversion in StreamOutput#writeString #21680 (issue: #21660)
- Fix ShardInfo#toString #21319
- Protect BytesStreamOutput against overflows of the current number of written bytes. #21174 (issue: #21159)
- Return target index name even if _rollover conditions are not met #21138
- .es_temp_file remains after system crash, causing it not to start again #21007 (issue: #20992)
- StoreStatsCache should also ignore AccessDeniedException when checking file size #20790 (issue: #17580)
- Dates
- Discovery
-
- ZenDiscovery - only validate min_master_nodes values if local node is master #23915 (issue: #23695)
- Close InputStream when receiving cluster state in PublishClusterStateAction #22711
- Do not reply to pings from another cluster #21894 (issue: #21874)
- Add current cluster state version to zen pings and use them in master election #20384 (issue: #20348)
- Engine
-
- Close and flush refresh listeners on shard close #22342
- Die with dignity on the Lucene layer #21721 (issue: #19272)
-
Fix
InternalEngine#isThrottled
to not always returnfalse
. #21592 -
Retrying replication requests on replica doesn’t call
onRetry
#21189 (issue: #20211) - Take refresh IOExceptions into account when catching ACE in InternalEngine #20546 (issue: #19975)
- Exceptions
- Highlighting
- Index APIs
-
- Fixes restore of a shrunken index when initial recovery node is gone #24322 (issue: #24257)
- Honor update request timeout #23825
- Ensure shrunk indices carry over version information from its source #22469 (issue: #22373)
-
Validate the
_rollover
target index name early to also fail if dry_run=true #21330 (issue: #21149) - Only negate index expression on all indices with preceding wildcard #20898 (issues: #19800, #20033)
- Fix IndexNotFoundException in multi index search request. #20188 (issue: #3839)
- Index Templates
- Ingest
-
- Improve missing ingest processor error #23379 (issue: #23392)
- update _ingest.timestamp to use new ZonedDateTime #23174 (issue: #23168)
- fix date-processor to a new default year for every new pipeline execution #22601 (issue: #22547)
- fix index out of bounds error in KV Processor #22288 (issue: #22272)
- Fixes GrokProcessor’s ignorance of named-captures with same name. #22131 (issue: #22117)
- fix trace_match behavior for when there is only one grok pattern #21413 (issue: #21371)
- Stored scripts and ingest node configurations should be included into a snapshot #21227 (issue: #21184)
- make painless the default scripting language for ScriptProcessor #20981 (issue: #20943)
- no null values in ingest configuration error messages #20616
- JSON Processor was not properly added #20613
- Inner Hits
- Internal
-
- Fix NPE if field caps request has a field that exists not in all indices #24504
- Add infrastructure to mark contexts as system contexts #23830
- Always restore the ThreadContext for operations delayed due to a block #23349
- Index creation and setting update may not return deprecation logging #22702
- Rethrow ExecutionException from the loader to concurrent callers of Cache#computeIfAbsent #21549
- Restore thread’s original context before returning to the ThreadPool #21411
- Fix NPE in SearchContext.toString() #21069
- Prevent AbstractArrays from release bytes more than once #20819
- Source filtering should treat dots in field names as sub objects. #20736 (issue: #20719)
- IndicesAliasesRequest should not implement CompositeIndicesRequest #20726
- Ensure elasticsearch doesn’t start with unuspported indices #20514 (issue: #20512)
- Java API
-
- Don’t output empty ext object in SearchSourceBuilder#toXContent #22093 (issue: #20969)
- Transport client: Fix remove address to actually work #21743
- Add a HostFailureListener to notify client code if a node got disconnected #21709 (issue: #21424)
- Fix InternalSearchHit#hasSource to return the proper boolean value #21441 (issue: #21419)
- Null checked for source when calling sourceRef #21431 (issue: #19279)
- ClusterAdminClient.prepareDeletePipeline method should accept pipeline id to delete #21228
- fix IndexResponse#toString to print out shards info #20562
- Java High Level REST Client
-
- Correctly parse BulkItemResponse.Failure’s status #23432
- Java REST Client
-
- Make buffer limit configurable in HeapBufferedConsumerFactory #23970 (issue: #23958)
- RestClient asynchronous execution should not throw exceptions #23307
- Don’t use null charset in RequestLogger #22197 (issue: #22190)
- Rest client: don’t reuse the same HttpAsyncResponseConsumer across multiple retries #21378
- Logging
-
- Do not prematurely shutdown Log4j #21519 (issue: #21514)
- Assert status logger does not warn on Log4j usage #21339
- Fix logger names for Netty #21223 (issue: #20457)
- Fix logger when you can not create an azure storage client #20670 (issues: #20633, #20669)
- Avoid unnecessary creation of prefix loggers #20571 (issue: #20570)
- Fix logging hierarchy configs #20463
- Fix prefix logging #20429
- Mapping
-
- Preserve response headers when creating an index #23950 (issue: #23947)
- Improves disabled fielddata error message #23841 (issue: #22768)
- Fix MapperService StackOverflowError #23605 (issue: #23604)
- Fix NPE with scaled floats stats when field is not indexed #23528 (issue: #23487)
-
Range types causing
GetFieldMappingsIndexRequest
to fail due toNullPointerException
inRangeFieldMapper.doXContentBody
wheninclude_defaults=true
is on the query string #22925 - Disallow introducing illegal object mappings (double ..) #22891 (issue: #22794)
-
The
_all
default mapper is not completely configured. #22236 - Fix MapperService.allEnabled(). #22227
-
Dynamic
date
fields should use theformat
that was used to detect it is a date. #22174 (issue: #9410) -
Sub-fields should not accept
include_in_all
parameter #21971 (issue: #21710) - Mappings: Fix get mapping when no indexes exist to not fail in response generation #21924 (issue: #21916)
- Fail to index fields with dots in field names when one of the intermediate objects is nested. #21787 (issue: #21726)
- Uncommitted mapping updates should not efect existing indices #21306 (issue: #21189)
- Nested Docs
-
- Fix bug in query builder rewrite that ignores the ignore_unmapped option #22456
- Network
-
- Respect promises on pipelined responses #23317 (issues: #23310, #23322)
- Ensure that releasing listener is called #23310
-
Pass
forceExecution
flag to transport interceptor #22739 - Ensure new connections won’t be opened if transport is closed or closing #22589 (issue: #22554)
- Prevent open channel leaks if handshake times out or is interrupted #22554
- Execute low level handshake in #openConnection #22440
- Handle connection close / reset events gracefully during handshake #22178
- Do not lose host information when pinging #21939 (issue: #21828)
- DiscoveryNode and TransportAddress should preserve host information #21828
- Die with dignity on the network layer #21720 (issue: #19272)
- Fix connection close header handling #20956 (issue: #20938)
- Ensure port range is readable in the exception message #20893
- Prevent double release in TcpTransport if send listener throws an exception #20880
- Packaging
-
- Fall back to non-atomic move when removing plugins #23548 (issue: #35)
- Another fix for handling of paths on Windows #22132 (issue: #21921)
- Fix handling of spaces in Windows paths #21921 (issues: #20809, #21525)
- Add option to skip kernel parameters on install #21899 (issue: #21877)
- Set vm.max_map_count on systemd package install #21507
- Export ES_JVM_OPTIONS for SysV init #21445 (issue: #21255)
- Debian: configure start-stop-daemon to not go into background #21343 (issues: #12716, #21300)
- Generate POM files with non-wildcard excludes #21234 (issue: #21170)
- [Packaging] Do not remove scripts directory on upgrade #20452
- [Package] Remove bin/lib/modules directories on RPM uninstall/upgrade #20448
- Parent/Child
- Percolator
- Plugin Analysis Stempel
- Plugin Discovery EC2
- Plugin Ingest GeoIp
-
- [ingest-geoip] update geoip to not include null-valued results from #20455
- Plugin Lang Painless
-
- painless: Fix method references to ctor with the new LambdaBootstrap and cleanup code #24406
- Fix Painless Lambdas for Java 9 #24070 (issue: #23473)
- Fix painless’s regex lexer and error messages #23634
- Replace Painless’s Cast with casting strategies #23369
- Fix Bad Casts In Painless #23282 (issue: #23238)
- Don’t allow casting from void to def in painless #22969 (issue: #22908)
- Fix def invoked qualified method refs #22918
- Whitelist some ScriptDocValues in painless #22600 (issue: #22584)
- Update Painless Loop Counter to be Higher #22560 (issue: #22508)
- Fix some issues with painless’s strings #22393 (issue: #22372)
- Test fix for def equals in Painless #21945 (issue: #21801)
- Fix a VerifyError bug in Painless #21765
- Fix Lambdas in Painless to be Able to Use Top-Level Variables Such as params and doc #21635 (issues: #20869, #21479)
- Fix String Concatenation Bug In Painless #20623
- Plugin Repository Azure
- Plugin Repository HDFS
- Plugin Repository S3
- Plugins
-
- Fix delete of plugin directory on remove plugin #24266 (issue: #24252)
- Use a marker file when removing a plugin #24252 (issue: #24231)
- Remove hidden file leniency from plugin service #23982 (issue: #12465)
- Add check for null pluginName in remove command #22930 (issue: #22922)
- Use sysprop like with es.path.home to pass conf dir #18870 (issue: #18689)
- Query DSL
-
- FuzzyQueryBuilder should error when parsing array of values #23762 (issue: #23759)
-
Fix parsing for
max_determinized_states
#22749 (issue: #22722) - Fix script score function that combines _score and weight #22713 (issue: #21483)
- Fixes date range query using epoch with timezone #21542 (issue: #21501)
-
Allow overriding all-field leniency when
lenient
option is specified #21504 (issues: #20925, #21341) - Max score should be updated when a rescorer is used #20977 (issue: #20651)
- Fixes MultiMatchQuery so that it doesn’t provide a null context #20882
- Fix silently accepting malformed queries #20515 (issue: #20500)
- Fix match_phrase_prefix query with single term on _all field #20471 (issue: #20470)
- REST
-
- [API] change wait_for_completion default according to docs #23672
- Deprecate request_cache for clear-cache #23638 (issue: #22748)
- HTTP transport stashes the ThreadContext instead of the RestController #23456
- Fix date format in warning headers #23418 (issue: #23275)
- Align REST specs for HEAD requests #23313 (issue: #21125)
- Correct warning header to be compliant #23275 (issue: #22986)
- Fix get HEAD requests #23186 (issue: #21125)
- Handle bad HTTP requests #23153 (issue: #23034)
- Fix get source HEAD requests #23151 (issue: #21125)
- Properly encode location header #23133 (issues: #21057, #23115)
- Fix template HEAD requests #23130 (issue: #21125)
- Fix index HEAD requests #23112 (issue: #21125)
- Fix alias HEAD requests #23094 (issue: #21125)
- Strict level parsing for indices stats #21577 (issue: #21024)
- The routing query string param is supported by mget but was missing from the rest spec #21357
- fix thread_pool_patterns path variable definition #21332
- Read indices options in indices upgrade API #21281 (issue: #21099)
- ensure the XContentBuilder is always closed in RestBuilderListener #21124
- Add correct Content-Length on HEAD requests #21123 (issue: #21077)
- Make sure HEAD / has 0 Content-Length #21077 (issue: #21075)
- Adds percent-encoding for Location headers #21057 (issue: #21016)
- Whitelist node stats indices level parameter #21024 (issue: #20722)
- Remove lenient URL parameter parsing #20722 (issue: #14719)
- XContentBuilder: Avoid building self-referencing objects #20550 (issues: #19475, #20540)
- Recovery
-
- Provide target allocation id as part of start recovery request #24333 (issue: #24167)
- Fix primary relocation for shadow replicas #22474 (issue: #20300)
- Don’t close store under CancellableThreads #22434 (issue: #22325)
- Use a fresh recovery id when retrying recoveries #22325 (issue: #22043)
- Allow flush/force_merge/upgrade on shard marked as relocated #22078 (issue: #22043)
- Fix concurrency issues between cancelling a relocation and marking shard as relocated #20443
- Reindex API
-
- Fix throttled reindex_from_remote #23953 (issues: #23828, #23945)
- Fix reindex with a remote source on a version before 2.0.0 #23805
- Make reindex wait for cleanup before responding #23677 (issue: #23653)
- Reindex: do not log when can’t clear old scroll #22942 (issue: #22937)
- Fix reindex-from-remote from <2.0 #22931 (issue: #22893)
- Fix reindex from remote clearing scroll #22525 (issue: #22514)
- Fix source filtering in reindex-from-remote #22514 (issue: #22507)
- Remove content type detection from reindex-from-remote #22504 (issue: #22329)
- Don’t close rest client from its callback #22061 (issue: #22027)
- Keep context during reindex’s retries #21941
- Ignore IllegalArgumentException with assertVersionSerializable #21409 (issues: #20767, #21350)
- Bump reindex-from-remote’s buffer to 200mb #21222 (issue: #21185)
- Fix reindex-from-remote for parent/child from <2.0 #21070 (issue: #21044)
- Scripting
-
- Convert script/template objects to json format internally #23308 (issue: #23245)
-
Script: Fix value of
ctx._now
to be current epoch time in milliseconds #23175 (issue: #23169) -
Expose
ip
fields as strings in scripts. #21997 (issue: #21977) - Add support for booleans in scripts #20950 (issue: #20949)
- Native scripts should be created once per index, not per segment. #20609
- Search
-
-
Include all aliases including non-filtering in
_search_shards
response #24489 - Cross-cluster search: propagate original indices per cluster #24328
- Query string default field #24214
-
Speed up parsing of large
terms
queries. #24210 - IndicesQueryCache should delegate the scorerSupplier method. #24209
- Disable graph analysis at query time for shingle and cjk filters producing tokens of different size #23920 (issue: #23918)
- Fix cross-cluster remote node gateway attributes #23863
- Use a fixed seed for computing term hashCode in TermsSliceQuery #23795
- Honor max concurrent searches in multi-search #23538 (issue: #23527)
- Avoid stack overflow in multi-search #23527 (issue: #23523)
- Fix query_string_query to transform "foo:*" in an exists query on the field name #23433 (issue: #23356)
- Factor out filling of TopDocs in SearchPhaseController #23380 (issues: #19356, #23357)
- Replace blocking calls in ExpandCollapseSearchResponseListener by asynchronous requests #23053 (issue: #23048)
- Ensure fixed serialization order of InnerHitBuilder #22820 (issue: #22808)
- Improve concurrency of ShardCoreKeyMap. #22316
-
Make
-0
compare less than+0
consistently. #22173 (issue: #22167) - Fix boost_mode propagation when the function score query builder is rewritten #22172 (issue: #22138)
- FiltersAggregationBuilder: rewriting filter queries, the same way as in FilterAggregationBuilder #22076
- Fix cross_fields type on multi_match query with synonyms #21638 (issue: #21633)
- Fix match_phrase_prefix on boosted fields #21623 (issue: #21613)
- Respect default search timeout #21599 (issues: #12211, #21595)
- Remove LateParsingQuery to prevent timestamp access after context is frozen #21328 (issue: #21295)
- Make range queries round up upper bounds again. #20582 (issues: #20579, #8889)
- Throw error when trying to fetch fields from source and source is disabled #20424 (issues: #20093, #20408)
-
Include all aliases including non-filtering in
- Search Templates
- Settings
-
- Do not set path.data in environment if not set #24132 (issue: #24099)
- Correct handling of default and array settings #24074 (issues: #23981, #24052)
- Fix merge scheduler config settings #23391
- Settings: Fix keystore cli prompting for yes/no to handle console returning null #23320
-
Expose
search.highlight.term_vector_multi_value
as a node level setting #22999 - NPE when no setting name passed to elasticsearch-keystore #22609
-
Handle spaces in
action.auto_create_index
gracefully #21790 (issue: #21449) - Fix settings diff generation for affix and group settings #21788
- Don’t reset non-dynamic settings unless explicitly requested #21646 (issue: #21593)
- Fix Setting.timeValue() method #20696 (issue: #20662)
-
Add a hard limit for
index.number_of_shard
#20682 - Include complex settings in settings requests #20622
- Snapshot/Restore
-
- Fixes maintaining the shards a snapshot is waiting on #24289
- Fixes snapshot status on failed snapshots #23833 (issue: #23716)
- Fixes snapshot deletion handling on in-progress snapshot failure #23703 (issue: #23663)
- Prioritize listing index-N blobs over index.latest in reading snapshots #23333
- Gracefully handles pre 2.x compressed snapshots #22267
- URLRepository should throw NoSuchFileException to correctly adhere to readBlob contract #22069 (issue: #22004)
- Fixes shard level snapshot metadata loading when index-N file is missing #21813
- Ensures cleanup of temporary index-* generational blobs during snapshotting #21469 (issue: #21462)
- Fixes get snapshot duplicates when asking for _all #21340 (issue: #21335)
- Stats
-
- Avoid overflow when computing total FS stats #23641
- Handle existence of cgroup version 2 hierarchy #23493 (issue: #23486)
- Handle long overflow when adding paths' totals #23293 (issue: #23093)
- Fix control group pattern #23219 (issue: #23218)
- Fix total disk bytes returning negative value #23093
- Implement stats for geo_point and geo_shape field #22391 (issue: #22384)
- Use reader for doc stats #22317 (issue: #22285)
- Avoid NPE in NodeService#stats if HTTP is disabled #22060 (issue: #22058)
- Add support for "include_segment_file_sizes" in indices stats REST handler #21879 (issue: #21878)
- Remove output_uuid parameter from cluster stats #21020 (issue: #20722)
-
Fix FieldStats deserialization of
ip
field #20522 (issue: #20516)
- Task Manager
-
- Task Management: Make TaskInfo parsing forwards compatible #24073 (issue: #23250)
- Fix hanging cancelling task with no children #22796
- Fix broken TaskInfo.toString() #22698 (issue: #22387)
- Task cancellation command should wait for all child nodes to receive cancellation request before returning #21397 (issue: #21126)
- Term Vectors
- Tribe Node
Regressions
edit- Bulk
- Core
- Highlighting
- Logging
- Network
- Plugin Discovery EC2
- Plugin Repository S3
- Plugins
-
- Plugins: Add back user agent when downloading plugins #20872
- Search
Upgrades
edit- Aggregations
- Core
-
- Upgrade to Lucene 6.5.0 #23750
- Upgrade from JNA 4.2.2 to JNA 4.4.0 #23636
- Upgrade to lucene-6.5.0-snapshot-d00c5ca #23385
- Upgrade to lucene-6.5.0-snapshot-f919485. #23087
- Upgrade to Lucene 6.4.0 #22724
- Update Jackson to 2.8.6 #22596 (issue: #22266)
- Upgrade to lucene-6.4.0-snapshot-084f7a0. #22413
- Upgrade to lucene-6.4.0-snapshot-ec38570 #21853
- Upgrade to lucene-6.3.0. #21464
- Dates
- Internal
-
- Upgrade to Lucene 6.4.1. #22978
- Logging
- Network
- Plugin Repository Azure