IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. 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