6.0.0-alpha1 Release Notes (Changes previously released in 5.x)edit

The 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 6.0.0-alpha1 Release Notes.

Breaking changesedit

Aliases
  • Validate alias names the same as index names #20771 (issue: #20748)
CRUD
  • Fixed naming inconsistency for fields/stored_fields in the APIs #20166 (issues: #18943, #20155)
Core
  • Add system call filter bootstrap check #21940
  • Remove ignore system bootstrap checks #20511
Internal
Packaging
  • Rename service.bat to elasticsearch-service.bat #20496 (issue: #17528)
Plugin Lang Painless
  • Remove all date now methods from Painless #20766 (issue: #20762)
Query DSL
  • Fix name of enabled_position_increments #22895
REST
Search
  • Remove DFS_QUERY_AND_FETCH as a search type #22787
Settings

Breaking Java changesedit

Aggregations
  • Move getProperty method out of MultiBucketsAggregation.Bucket interface #23988
  • Remove getProperty method from Aggregations interface and impl #23972
  • Move getProperty method out of Aggregation interface #23949
Allocation
Cluster
  • Remove PROTO-based custom cluster state components #22336 (issue: #21868)
Core
  • Remove ability to plug-in TransportService #20505
Discovery
  • Remove pluggability of ElectMasterService #21031
Exceptions
  • Remove IndexTemplateAlreadyExistsException and IndexShardAlreadyExistsException #21539 (issue: #21494)
  • Replace IndexAlreadyExistsException with ResourceAlreadyExistsException #21494
Ingest
  • Change type of ingest doc meta-data field TIMESTAMP to Date #22234 (issue: #22074)
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
  • Remove HttpServer and HttpServerAdapter in favor of a simple dispatch method #22636 (issue: #18482)
  • Unguice Transport and friends #20526
Plugins
  • Deguice rest handlers #22575
  • Plugins: Replace Rest filters with RestHandler wrapper #21905
  • Plugins: Remove support for onModule #21416
  • Cleanup sub fetch phase extension point #20382
Query DSL
  • Resolve index names in indices_boost #21393 (issue: #4756)
Scripting
  • Refactor ScriptType to be a Top-Level Class #21136
Search
  • Remove QUERY_AND_FETCH search type #22996
  • Cluster search shards improvements: expose ShardId, adjust visibility of some members #21752

Deprecationsedit

Java API
  • Add BulkProcessor methods with XContentType parameter #23078 (issue: #22691)
  • Deprecate and remove "minimumNumberShouldMatch" in BoolQueryBuilder #22403
Plugin Repository S3
  • S3 Repository: Deprecate remaining repositories.s3.* settings #24144 (issue: #24143)
  • Deprecate specifying credentials through env vars, sys props, and remove profile files #22567 (issues: #21041, #22479)
Query DSL
  • Add deprecation logging message for fuzzy query #20993 (issue: #15760)
REST
  • Optionally require a valid content type for all rest requests with content #22691 (issue: #19388)
Scripting
  • Change Namespace for Stored Script to Only Use Id #22206
Shadow Replicas
  • Add a deprecation notice to shadow replicas #22647 (issue: #22024)
Stats
  • Deprecate _field_stats endpoint #23914

New featuresedit

Aggregations
  • Initial version of an adjacency matrix using the Filters aggregation #22239 (issue: #22169)
Analysis
  • Adds pattern keyword marker filter support #23600 (issue: #4877)
  • Expose WordDelimiterGraphTokenFilter #23327 (issue: #23104)
  • Synonym Graph Support (LUCENE-6664) #21517
  • Expose Lucenes Ukrainian analyzer #21176 (issue: #19433)
CAT API
  • Provides a cat api endpoint for templates. #20545 (issue: #20467)
CRUD
  • Allow an index to be partitioned with custom routing #22274 (issue: #21585)
Highlighting
Index APIs
  • Add FieldCapabilities (_field_caps) API #23007 (issue: #22438)
Ingest
  • introduce KV Processor in Ingest Node #22272 (issue: #22222)
Mapping
  • Add the ability to set a normalizer on keyword fields. #21919 (issue: #18064)
  • Add RangeFieldMapper for numeric and date range types #21002 (issue: #20999)
Plugin Discovery File
Query DSL
  • Add "all fields" execution mode to simple_query_string query #21341 (issues: #19784, #20925)
  • Add support for quote_field_suffix to simple_query_string. #21060 (issue: #18641)
  • Add "all field" execution mode to query_string query #20925 (issue: #19784)
Reindex API
  • Add automatic parallelization support to reindex and friends #20767 (issue: #20624)
Search
  • Introduce incremental reduction of TopDocs #23946
  • Add federated cross cluster search capabilities #22502 (issue: #21473)
  • Add field collapsing for search request #22337 (issue: #21833)
Settings
  • Add infrastructure for elasticsearch keystore #22335
Similarities
  • Adds boolean similarity to Elasticsearch #23637 (issue: #6731)

Enhancementsedit

Aggregations
  • Add count to rest output of geo_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)
Aliases
  • Handle multiple aliases in _cat/aliases api #23698 (issue: #23661)
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
  • Support Keyword type in Analyze API #23161
  • Expose FlattenGraphTokenFilter #22643
  • Analyze API Position Length Support #22574
  • Remove AnalysisService and reduce it to a simple name to analyzer mapping #20627 (issues: #19827, #19828)
CAT API
  • Adding built-in sorting capability to _cat apis. #20658 (issue: #16975)
  • Add health status parameter to cat indices API #20393
CRUD
  • Use correct block levels for TRA subclasses #22224
  • Make index and delete operation execute as a single bulk item #21964
Cache
Circuit Breakers
  • Closing a ReleasableBytesStreamOutput closes the underlying BigArray #23941
  • Add used memory amount to CircuitBreakingException message (#22521) #22693 (issue: #22521)
  • Cluster Settings Updates should not trigger circuit breakers. #20827
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
  • Engine: store maxUnsafeAutoIdTimestamp in commit #24149
  • Replace EngineClosedException with AlreadyClosedExcpetion #22631
Exceptions
Geo
Highlighting
  • Add support for fragment_length in the unified highlighter #23431
  • Add BreakIteratorBoundaryScanner support #23248
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
Java API
  • Added types options to DeleteByQueryRequest #23265 (issue: #21984)
  • prevent NPE when trying to uncompress a null BytesReference #22386
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
  • move ignore parameter support from yaml test client to low level rest client #22637
  • Warn log deprecation warnings received from server #21895
  • Support Preemptive Authentication with RestClient #21336
  • Provide error message when rest request path is null #21233 (issue: #21232)
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
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
Percolator
  • Allowing range queries with now ranges inside percolator queries #23921 (issue: #23859)
  • Add term extraction support for MultiPhraseQuery #23176
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
  • Add Backoff policy to azure repository #23387 (issue: #22728)
Plugin Repository S3
  • Removes the retry mechanism from the S3 blob store #23952 (issue: #22845)
  • S3 Repository: Eagerly load static settings #23910
  • S3 repository: Add named configurations #22762 (issues: #22479, #22520)
  • Make the default S3 buffer size depend on the available memory. #21299
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 and locale 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
  • Provide informative error message in case of unknown suggestion context. #24241
  • Allow different data types for category in Context suggester #23491 (issue: #22358)
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 fixesedit

Aggregations
  • InternalPercentilesBucket should not rely on ordered percents array #24336 (issue: #24331)
  • Align behavior HDR percentiles iterator with percentile() method #24206
  • The filter and significant_terms aggregations should parse the filter 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 on boolean fields. #22135 (issue: #22009)
  • IP range masks exclude the maximum address of the range. #22018 (issue: #22005)
  • Fix other_bucket on the filters 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
  • AsciiFoldingFilter’s multi-term component should never preserve the original token. #21982
  • Pre-built analysis factories do not implement MultiTermAware correctly. #21981
  • Can load non-PreBuiltTokenFilter in Analyze API #20396
  • Named analyzer should close the analyzer that it wraps #20197
Bulk
CAT API
  • Consume full_id request parameter early #21270 (issue: #21266)
CRUD
  • Reject external versioning and explicit version numbers on create #21998
  • MultiGet should not fail entirely if alias resolves to many indices #20858 (issue: #20845)
  • Fixed date math expression support in multi get requests. #20659 (issue: #17957)
Cache
  • Invalidate cached query results if query timed out #22807 (issue: #22789)
  • Fix the request cache keys to not hold references to the SearchContext. #21284
  • Prevent requests that use scripts or now() from being cached #20750 (issue: #20645)
Circuit Breakers
  • ClusterState publishing shouldn’t trigger circuit breakers #20986 (issues: #20827, #20960)
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
  • Fix time zone rounding edge case for DST overlaps #21550 (issue: #20833)
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 return false. #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
  • Stop returning "es." internal exception headers as http response headers #22703 (issue: #17593)
  • Fixing shard recovery error message to report the number of docs correctly for each node #22515 (issue: #21893)
Highlighting
  • Fix FiltersFunctionScoreQuery highlighting #21827
  • Fix highlighting on a stored keyword field #21645 (issue: #21636)
  • Fix highlighting of MultiTermQuery within a FunctionScoreQuery #20400 (issue: #20392)
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
  • Fix integer overflows when dealing with templates. #21628 (issue: #21622)
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
  • Replace NestedChildrenQuery with ParentChildrenBlockJoinQuery #24016 (issue: #24009)
  • Changed DisMaxQueryBuilder to extract inner hits from leaf queries #23512 (issue: #23482)
  • Inner hits and ignore unmapped #21693 (issue: #21620)
  • Skip adding a parent field to nested documents. #21522 (issue: #21503)
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 to NullPointerException in RangeFieldMapper.doXContentBody when include_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 the format 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
  • Add null check in case of orphan child document #22772 (issue: #22770)
Percolator
  • Fix memory leak when percolator uses bitset or field data cache #24115 (issue: #24108)
  • Fix NPE in percolator’s now range check for percolator queries with range queries #22356 (issue: #22355)
Plugin Analysis Stempel
  • Fix thread safety of Stempel’s token filter factory #22610 (issue: #21911)
Plugin Discovery EC2
  • Fix ec2 discovery when used with IAM profiles. #21048 (issue: #21039)
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
  • Azure blob store’s readBlob() method first checks if the blob exists #23483 (issue: #23480)
  • Fixes default chunk size for Azure repositories #22577 (issue: #22513)
  • readonly on azure repository must be taken into account #22055 (issues: #22007, #22053)
Plugin Repository HDFS
  • Fixing permission errors for KERBEROS security mode for HDFS Repository #23439 (issue: #22156)
Plugin Repository S3
  • Handle BlobPath’s trailing separator case. Add test cases to BlobPathTests.java #23091
  • Fixes leading forward slash in S3 repository base_path #20861
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)
Search Templates
  • No longer add illegal content type option to stored search templates #24251 (issue: #24227)
  • SearchTemplateRequest to implement CompositeIndicesRequest #21865 (issue: #21747)
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
  • Fix _termvectors with preference to not hit NPE #21959
  • Return correct term statistics when a field is not found in a shard #21922 (issue: #21906)
Tribe Node

Regressionsedit

Bulk
Core
  • Source filtering: only accept array items if the previous include pattern matches #22593 (issue: #22557)
Highlighting
  • Handle SynonymQuery extraction for the FastVectorHighlighter #20829 (issue: #20781)
Logging
  • Restores the original default format of search slow log #21770 (issue: #21711)
Network
Plugin Discovery EC2
  • Fix ec2 discovery when used with IAM profiles. #21042 (issue: #21039)
Plugin Repository S3
  • Fix s3 repository when used with IAM profiles #21058 (issue: #21048)
Plugins
  • Plugins: Add back user agent when downloading plugins #20872
Search
  • Handle specialized term queries in MappedFieldType.extractTerm(Query) #21889 (issue: #21882)

Upgradesedit

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