5.0.0 Combined Release Notesedit
The list below covers all changes from 5.0.0-alpha1 to 5.0.0 GA excluding changes which were already released in the 2.x series, which can be found in 5.0.0-alpha1 Release Notes (Changes previously released in 2.x).
Also see Breaking changes in 5.0.
Breaking changesedit
- Aggregations
- Aliases
- Allocation
- Remove DisableAllocationDecider #13313
- Analysis
- CAT API
- Improve cat thread pool API #19721 (issue: #19590)
- Row-centric output for _cat/fielddata #18068 (issue: #10249)
- Add raw recovery progress to cat recovery API #17064 (issue: #17022)
- Remove host from cat nodes API #16656 (issues: #12959, #16575)
- Using the accept header in the request instead of content-type in _cat API. #14421 (issue: #14195)
- CRUD
- Cache
- Remove deprecated query cache settings #15592
- Cluster
- Core
- Remove ignore system bootstrap checks #20511
- Remove minimum master nodes bootstrap check #20082
- Keep input time unit when parsing TimeValues #19102
- Remove cluster name from data path #18554 (issue: #17810)
- Add max number of processes check #16919
- Add mlockall bootstrap check #16909
- One log #16703 (issue: #16585)
- Engine
- Exceptions
- Fielddata
- Geo
- Deprecate GeoDistance enums and remove geo distance script helpers #19783
- Index APIs
- Indexed Scripts/Templates
- Inner Hits
-
Also do not serialize
_index
key in search response for parent/child inner hits #19011 -
Don’t include
_id
,_type
and_index
keys in search response for inner hits #18995 (issue: #18091) - Nested inner hits shouldn’t use relative paths #18567 (issue: #16653)
- Drop top level inner hits in favour of inner hits defined in the query dsl #17816 (issue: #11118)
-
Also do not serialize
- Internal
- Logging
- Mapping
-
Remove
_timestamp
and_ttl
on 5.x indices. #18980 (issue: #18280) - Add a soft limit on the mapping depth. #17400
- Disable fielddata on text fields by defaults. #17386
- Add limit to total number of fields in mapping #17357
- Change the field mapping index time boost into a query time boost. #16900
- Deprecate string in favor of text/keyword. #16877
- Term vector APIs should no longer update mappings #16285
-
Remove the
format
option of the_source
field. #15398 - Remove transform #13657 (issue: #12674)
-
Remove
- Packaging
- Rename service.bat to elasticsearch-service.bat #20496 (issue: #17528)
- Remove -D handling in args for windows plugin script #20378 (issue: #18207)
- Set default min heap equal to default max heap #20080 (issues: #16334, #17728, #18311)
- Remove allow running as root #18694 (issue: #18688)
- Require /bin/bash in packaging #18259 (issue: #18251)
- Remove plugin script parsing of system properties #18207 (issue: #18140)
- Add JVM options configuration file #17675 (issue: #17121)
- Parent/Child
- Percolator
- Plugin Delete By Query
- Plugin Lang Painless
- Plugins
- Query DSL
- REST
- Change separator for shards preference #20786 (issues: #20722, #20769)
- Parameter improvements to Cluster Health API wait for shards #20223 (issue: #20216)
-
Switch indices.exists_type from
{index}/{type}
to{index}/_mapping/{type}
. #20055 (issue: #15613) -
Only use
PUT
for index creation, not POST. #20001 (issues: #15613, #18160) - Remove camelCase support #17933 (issue: #8988)
- Remove case parameter from rest apis #17774 (issue: #8988)
- Disallow unquoted field names #15351 (issue: #9800)
- Limit the accepted length of the _id #16036 (issue: #16034)
- Scripting
- Hardcode painless as the default scripting lang and add legacy script default for stored scripts #20310 (issue: #20122)
- Remove deprecated 1.x script and template syntax #19387 (issue: #13729)
- Allow only a single extension for a scripting engine #18332 (issue: #10598)
- Remove sandbox option for script settings, allow only registering a single language. #18226 (issues: #10598, #17114)
- Search
-
Rename
fields
tostored_fields
and adddocvalue_fields
#18992 (issue: #18943) - Remove only node preference #18875 (issue: #18822)
- Add search preference to prefer multiple nodes #18872 (issue: #18822)
- Add a soft limit on the number of shards that can be queried in a single search request. #17396
- Remove deprecated reverse option from sorting #17282 (issue: #17047)
- Remove some deprecations #14331
- Remove search exists api #13911 (issues: #13682, #13910)
- Remove the scan and count search types. #13310
-
Rename
- Search Refactoring
- Settings
- Default max local storage nodes to one #19964 (issues: #19679, #19748)
- Persistent Node Names #19456 (issue: #19140)
- Remove support for properties #19398 (issues: #19388, #19391)
- Rename boostrap.mlockall to bootstrap.memory_lock #18669
-
Register
indices.query.bool.max_clause_count
setting #18341 (issue: #18336) - Remove settings and system properties entanglement #18198 (issue: #18197)
-
Remove
action.get.realtime
setting #17857 (issue: #12543) -
Remove ability to specify arbitrary node attributes with
node.
prefix #17402 (issue: #17280) -
Enforce
discovery.zen.minimum_master_nodes
is set when bound to a public ip #17288 - Prevent index level setting from being configured on a node level #17144 (issue: #16799)
- Remove support for node.client setting #16963 (issue: #16565)
- Remove es.max-open-files flag #16757 (issues: #16506, #483)
- Enforce node level limits if node is started in production env #16733 (issue: #16727)
- Make settings validation strict #16365
- Remove the ability to fsync on every operation and only schedule fsync task if really needed #16257 (issue: #16152)
- Script settings #16197
- Remove index.flush_on_close entirely #15977
- Restore chunksize of 512kb on recovery and remove configurability #15235 (issue: #15161)
- Remove ancient deprecated and alternative recovery settings #15234
- Similarities
- Snapshot/Restore
- Stats
- Term Vectors
- Remove DFS support from TermVector API #16452
- Translog
- Warmers
Breaking Java changesedit
- Aggregations
- getKeyAsString and key_as_string should be the same for terms aggregation on boolean field #15393
- Allocation
- Analysis
- Simplify Analysis registration and configuration #14355
- CRUD
- Cache
- Core
- Discovery
- Highlighting
- Register Highlighter instances instead of classes #18859
- Internal
- Remove TransportService#registerRequestHandler leniency #20469 (issue: #20468)
- Consolidate search parser registries #20000
- Move all FetchSubPhases to o.e.search.fetch.subphase #19702
- Squash the rest of o.e.rest.action #19698
- Clean up BytesReference #19196
- Cleanup ClusterService dependencies and detached from Guice #18941
- Simplify SubFetchPhase interface #18881
- Simplify FetchSubPhase registration and detach it from Guice #18862
- Remove duplicate getters from DiscoveryNode and DiscoveryNodes #17410 (issue: #16963)
- Cli: Switch to jopt-simple #17024 (issue: #11564)
- Replace ContextAndHeaders with a ThreadPool based ThreadLocal implementation #15776
- Remove NodeBuilder #15354
- Fix IndexSearcherWrapper interface to not depend on the EngineConfig #14654
- Cleanup query parsing and remove IndexQueryParserService #14452
- Remove circular dependency between IndicesService and IndicesStore #14285
- Remove guice injection from IndexStore and friends #14279
- Replace IndicesLifecycle with a per-index IndexEventListener #14217 (issue: #13259)
- Simplify similarity module and friends #13942
- Refactor SearchRequest to be parsed on the coordinating node #13859
- Java API
- Mapping
- Network
- Parent/Child
- Percolator
- Plugins
- Cleanup sub fetch phase extension point #20382
- Remove IndexTemplateFilter #20072
- Switch custom ShardsAllocators to pull based model #20071
- Make custom allocation deciders use pull based extensions #20040
- Migrate query registration from push to pull #19376
- Add components getter as bridge between guice and new plugin init world #19371
- Remove CustomNodeAttributes extension point #19348
- Add RepositoryPlugin interface for registering snapshot repositories #19324
- Simplified repository api for snapshot/restore #19292
- Switch most search extensions from push to pull #19238
- Move RestHandler registration to ActionModule and ActionPlugin #19165
- Pull actions from plugins #19108
- Switch analysis from push to pull #19073
- Remove guice from Mapper plugins #19018
- Fail to start if plugin tries broken onModule #19025
- Simplify ScriptModule and script registration #18903
- Cut over settings registration to a pull model #18890
- Enforce isolated mode for all plugins #17276
- Don’t use guice for QueryParsers #15761
- Remove guice from the index level #14518
- Remove shard-level injector #13881
- Query DSL
- Scripting
- Search
- Search Refactoring
- Settings
- Snapshot/Restore
- Store
- Standardize state format type for global and index level metadata #17123
- Suggesters
Deprecationsedit
- CRUD
- Deprecate found and created in delete and index rest responses #19633
- Plugin Discovery Azure Classic
- Plugin Mapper Attachment
- Query DSL
- Query Refactoring
-
Splits
phrase
andphrase_prefix
in match query intoMatchPhraseQueryBuilder
andMatchPhrasePrefixQueryBuilder
#17508
-
Splits
- Scripting
- Search
- Templates
New featuresedit
- Aggregations
- Aliases
- Allocation
- Analysis
- Circuit Breakers
- Discovery
- Add two phased commit to Cluster State publishing #13062
- Geo
- Index APIs
- Ingest
- Java REST Client
- Mapping
- Percolator
- Plugin Analysis ICU
- Plugin Discovery File
- Plugin Ingest Attachment
- Plugin Mapper Attachment
- Migrate mapper attachments plugin to main repository #14605
- Plugin Repository HDFS
- Plugin Repository S3
- Add support for path_style_access #15114
- Query DSL
- Reindex API
- Scripting
- Scroll
- Search
- Settings
- Add infrastructure to transactionally apply and reset dynamic settings #15278
- Snapshot/Restore
- Stats
- Store
- Suggesters
- Task Manager
- Translog
Enhancementsedit
- Aggregations
- Make the heuristic to compute the default shard size less aggressive. #19659
- Add _bucket_count option to buckets_path #19571 (issue: #19553)
- Remove AggregationStreams #19507
- Migrate serial_diff aggregation to NamedWriteable #19483
- Migrate most remaining pipeline aggregations to NamedWriteable #19480
- Migrate moving_avg pipeline aggregation to NamedWriteable #19420
- Migrate matrix_stats to NamedWriteable #19418
- Migrate derivative pipeline aggregation to NamedWriteable #19407
- Migrate top_hits, histogram, and ip_range aggregations to NamedWriteable #19375
- Migrate nested, reverse_nested, and children aggregations to NamedWriteable #19374
- Migrate geohash_grid and geo_bounds aggregations to NamedWriteable #19372
- Clean up significant terms aggregation results #19365
- Migrate range, date_range, and geo_distance aggregations to NamedWriteable #19321
- Migrate terms aggregation to NamedWriteable #19277
- Migrate sampler and missing aggregations to NamedWriteable #19259
- Migrate global, filter, and filters aggregation to NamedWriteable #19220
- Migrate the cardinality, scripted_metric, and geo_centroid aggregations to NamedWriteable #19219
- Use a static default precision for the cardinality aggregation. #19215
- Migrate more aggregations to NamedWriteable #19199
- Migrate stats and extended stats to NamedWriteable #19198
- Migrate sum, min, and max aggregations over to NamedWriteable #19194
- Start migration away from aggregation streams #19097
- Automatically set the collection mode to breadth_first in the terms aggregation when the cardinality of the field is unknown or smaller than the requested size. #18779 (issue: #9825)
- Rename PipelineAggregatorBuilder to PipelineAggregationBuilder. #18677 (issue: #18377)
- AggregatorBuilder and PipelineAggregatorBuilder do not need generics. #18368 (issue: #18133)
- Rename AggregatorBuilder to AggregationBuilder #18377 (issue: #18367)
-
Add the ability to use the breadth_first mode with nested aggregations (such as
top_hits
) which require access to score information. #18127 (issue: #9825) - Make significant terms work on fields that are indexed with points. #18031
-
Add tests and documentation for using
time_zone
in date range aggregation #16955 (issue: #10130) - Fixes serialisation of Ranges #16674
- Allocation
- Verify AllocationIDs in replication actions #20320
- Mark shard as stale on non-replicated write, not on node shutdown #20023 (issue: #18919)
- Add routing changes API to RoutingAllocation #19992
- Primary shard allocator observes limits in forcing allocation #19811 (issue: #19446)
- Use primary terms as authority to fail shards #19715
- Add recovery source to ShardRouting #19516
-
Allow
_shrink
to N shards if source shards is a multiple of N #18699 - Only filter intial recovery (post API) when shrinking an index #18661
- Estimate shard size for shrinked indices #18659
- Only fail relocation target shard if failing source shard is a primary #18574 (issue: #16144)
- Simplify delayed shard allocation #18351 (issue: #18293)
- Limit retries of failed allocations per index #18467 (issue: #18417)
- Immutable ShardRouting #17821
- Add the shard’s store status to the explain API #17689 (issue: #17372)
- Write shard state metadata as soon as shard is created / initializing #16625 (issue: #14739)
- Reuse existing allocation id for primary shard allocation #16530 (issue: #14739)
- Remove version in ShardRouting (now obsolete) #16243 (issue: #14739)
- Prefer nodes that previously held primary shard for primary shard allocation #16096 (issue: #14739)
- Extend reroute with an option to force assign stale primary shard copies #15708 (issue: #14739)
- Allocate primary shards based on allocation IDs #15281 (issue: #14739)
- Persist currently started allocation IDs to index metadata #14964 (issue: #14739)
- Use ObjectParser to parse AllocationID #14962 (issue: #14831)
- Persist allocation ID with shard state metadata on nodes #14831 (issue: #14739)
- Analysis
- Stop using cached component in _analyze API #19929 (issue: #19827)
- Specify custom char_filters/tokenizer/token_filters in the analyze API #15671 (issue: #8878)
- Add a MultiTermAwareComponent marker interface to analysis factories. #19028 (issues: #18064, #9978)
- Add Flags Parameter for Char Filter #18363 (issue: #18362)
- Core: better error message when analyzer created without tokenizer or… #18455 (issue: #15492)
- Move AsciiFolding earlier in FingerprintAnalyzer filter chain #18281 (issue: #18266)
- Improve error message if resource files have illegal encoding #17237 (issue: #17212)
- Benchmark
- Add client-benchmark-noop-api-plugin to stress clients even more in benchmarks #20103
- CAT API
- Add health status parameter to cat indices API #20393
- Includes the index UUID in the _cat/indices API #19204 (issue: #19132)
- Add node name to Cat Recovery #18187 (issue: #8041)
- Add support for documented byte/size units and for micros as a time unit in _cat API #17779
- Add _cat/tasks #17551
- Cat health supports ts=0 option #13508 (issue: #10109)
- Expose http address in cat/nodes #16770
- [cat/recovery] Make recovery time a TimeValue() #16743 (issue: #9209)
- :CAT API: remove space at the end of a line #15250 (issue: #9464)
- CRUD
- Cache
- Circuit Breakers
- Cluster
- Add clusterUUID to RestMainAction output #20503
- Batch process node left and node failure #19289 (issue: #19282)
- Index creation waits for write consistency shards #18985
- Inline reroute with process of node join/master election #18938 (issue: #17270)
- Index creation does not cause the cluster health to go RED #18737 (issues: #9106, #9126)
- Cluster Health class improvements #18673
- Adds tombstones to cluster state for index deletions #17265 (issues: #16358, #17435)
- Enable acked indexing #17038 (issue: #7572)
- Cluster Health should run on applied states, even if waitFor=0 #17440
- Resolve index names to Index instances early #17048
- Remove DiscoveryNode#shouldConnectTo method #16898 (issue: #16815)
- Fail demoted primary shards and retry request #16415 (issue: #14252)
- Illegal shard failure requests #16275
- Shard failure requests for non-existent shards #16089 (issue: #14252)
- Add handling of channel failures when starting a shard #16041 (issue: #15895)
- Wait for new master when failing shard #15748 (issue: #14252)
- Master should wait on cluster state publication when failing a shard #15468 (issue: #14252)
- Split cluster state update tasks into roles #14899 (issue: #13627)
- Add timeout mechanism for sending shard failures #14707 (issue: #14252)
- Add listener mechanism for failures to send shard failed #14295 (issue: #14252)
- Core
- Add production warning for pre-release builds #20674
- Add serial collector bootstrap check #20558
- Rename Netty TCP transports thread factories from http_* to transport_* #20207
- Do not log full bootstrap checks exception #19989
- Mark halting the virtual machine as privileged #19923 (issues: #19272, #19806)
- Makes index creation more friendly #19450 (issue: #9126)
- Clearer error when handling fractional time values #19158 (issue: #19102)
- Read Elasticsearch manifest via URL #18999 (issue: #18996)
- Throw if the local node is not set #18963 (issue: #18962)
- Bootstrap check for OnOutOfMemoryError and seccomp #18756 (issue: #18736)
- Log OS and JVM on startup #18557
- Add GC overhead logging #18419
- Refactor JvmGcMonitorService for testing #18378
- Default to server VM and add client VM check #18155
- Add system bootstrap checks escape hatch #18088
- Avoid sliced locked contention in internal engine #18060 (issue: #18053)
- Add heap size bootstrap check #17728 (issue: #17490)
- Remove hostname from NetworkAddress.format #17601 (issue: #17604)
- Bootstrapping bootstrap checks #17595 (issues: #17474, #17570)
- Add max map count check #16944
- Remove PROTOTYPE from BulkItemResponse.Failure #17433 (issue: #17086)
- Throw an exception if Writeable.Reader reads null #17332
- Remove PROTOTYPE from RescorerBuilders #17330
- Port Primary Terms to master #17044 (issues: #14062, #14651, #17038)
- Use index UUID to lookup indices on IndicesService #17001
- Add -XX+AlwaysPreTouch JVM flag #16937
- Add max size virtual memory check #16935
- Use and test relative time in TransportBulkAction #16916
- Bump Elasticsearch version to 5.0.0-SNAPSHOT #16862
- Assert that we can write in all data-path on startup #16745
- Add G1GC check on startup #16737 (issue: #10740)
- Shards with heavy indexing should get more of the indexing buffer #14121
- Remove and ban ImmutableMap #13939 (issue: #13224)
- Finish banning ImmutableSet #13820 (issue: #13224)
- Removes and bans ImmutableSet #13754 (issue: #13224)
- Remove and ban ImmutableMap#entrySet #13724
- Forbid ForwardingSet #13720 (issue: #13224)
- Dates
- Discovery
- Engine
- Only try to read new segments info if we really flushed the index #20474
- Use _refresh instead of reading from Translog in the RT GET case #20102
- Remove writeLockTimeout from InternalEngine #16930
- Don’t guard IndexShard#refresh calls by a check to isRefreshNeeded #16118
- Never call a listerner under lock in InternalEngine #15786
- Use System.nanoTime() to initialize Engine.lastWriteNanos #14321
- Flush big merges automatically if shard is inactive #14275
- Remove Engine.Create #13955
- Remove the disabled autogenerated id optimization from InternalEngine #13857
- Exceptions
- Improve startup exception #20083
- Make NotMasterException a first class citizen #19385
- Do not catch throwable #19231
- Make the index-too-old exception more explicit #18438
- Add index name in IndexAlreadyExistsException default message #18274
- Fix typos in exception/assert/log messages in core module. #16649
- Add field names to several mapping errors #16508 (issue: #16378)
- Add serialization support for more important IOExceptions #15766
- Adds exception objects to log messages. #14827 (issue: #10021)
- Add stack traces to logged exceptions where missing #13825 (issue: #10021)
- Remove reflection hacks from ElasticsearchException #13796
- Rename QueryParsingException to a more generic ParsingException #13631
- Add *Exception(Throwable cause) constructors/ call where appropriate #13544 (issue: #10021)
- Expressions
- Geo
- GeoBoundingBoxQueryBuilder should throw IAE when topLeft and bottomRight are the same coordinate #18668 (issues: #18458, #18631)
- Enhanced lat/long error handling #16833 (issue: #16137)
- Fix a potential parsing problem in GeoDistanceSortParser #17111
- Geo: Add validation of shapes to ShapeBuilders #15551 (issue: #14416)
- Make remaining ShapeBuilders implement Writeable #15010 (issue: #14416)
-
Geo: Remove internal
translated
flag from LineStringBuilder #14969 - Make PointBuilder, CircleBuilder & EnvelopeBuilder implement Writable #14933 (issue: #14416)
- Merging BaseLineString and BasePolygonBuilder with subclass #14887 (issue: #14482)
- Moving static factory methods to ShapeBuilders #14529
- Remove InternalLineStringBuilder and InternalPolygonBuilder #14482 (issue: #14416)
- Highlighting
- Switch Highlighting to ObjectParser #17363
- Use HighlightBuilder in SearchSourceBuilder #15376 (issue: #15044)
- Joint parsing of common global Hightlighter and subfield parameters #15368 (issue: #15285)
- Enable HighlightBuilder to create SearchContextHighlight #15324
- Add fromXContent method to HighlightBuilder #15157
- Index APIs
- Index Templates
- Ingest
- Add "version" field to Pipelines #20343 (issue: #20171)
- Make it possible for Ingest Processors to access AnalysisRegistry #20233
- add ignore_missing option to convert,trim,lowercase,uppercase,grok,rename #20194 (issue: #19995)
- Add support for parameters to the script ingest processor #20136
- introduce the JSON Processor #20128 (issue: #20052)
- Allow rename processor to turn leaf fields into branch fields #20053 (issue: #19892)
- remove ability to set field value in script-processor configuration #19981
- Add REST _ingest/pipeline to get all pipelines #19603 (issue: #19585)
- Show ignored errors in verbose simulate result #19404 (issue: #19319)
- update foreach processor to only support one applied processor. #19402 (issue: #19345)
- Skip the execution of an empty pipeline #19200 (issue: #19192)
-
Add
ignore_failure
option to all ingest processors #18650 (issue: #18493) - new ScriptProcessor for Ingest #18193
- Expose underlying processor to blame for thrown exception within CompoundProcessor #18342 (issue: #17823)
- Avoid string concatentation in IngestDocument.FieldPath #18108
- add ability to specify multiple grok patterns #18074 (issue: #17903)
- add ability to disable ability to override values of existing fields in set processor #17902 (issue: #17659)
- Streamline option naming for several processors #17892 (issue: #17835)
- add automatic type conversion support to ConvertProcessor #17263 (issue: #17139)
- Give the foreach processor access to the rest of the document #17172 (issue: #17147)
- Added ingest statistics to node stats API #16915
-
Add
ingest_took
to bulk response #16876 - Add ingest info to node info API, which contains a list of available processors #16865
- Use diffs for ingest metadata in cluster state #16847
- hide null-valued metadata fields from WriteableIngestDocument#toXContent #16557
- Ingest: use bulk thread pool for bulk request processing (was index before) #16539 (issue: #16503)
- Add foreach processor #16432
- revert PipelineFactoryError handling with throwing ElasticsearchParseException in ingest pipeline creation #16355
- Add processor tags to on_failure metadata in ingest pipeline #16324 (issue: #16202)
- catch processor/pipeline factory exceptions and return structured error responses #16276 (issue: #16010)
- Ingest: move get/put/delete pipeline methods to ClusterAdminClient #16242
- Geoip processor: remove redundant latitude and longitude fields and make location an object with lat and lon subfields #16173
- Inner Hits
- Internal
- Remove poor-mans compression in InternalSearchHit and friends #20472
- Don’t register SearchTransportService handlers more than once #20468
- Unguice SearchModule #20456
- Deguice SearchService and friends #20423
- NodeStats classes to implement Writeable rather then Streamable #20327
- More info classes to implement Writeable rather than Streamable #20288 (issue: #20255)
- Internal: Split disk threshold monitoring from decider #20018
- Switching LockObtainFailedException over to ShardLockObtainFailedException #19991 (issue: #19978)
- update and delete by query requests to implement IndicesRequest.Replaceable #19961
- VersionFetchSubPhase should not use Versions#loadDocIdAndVersion #19944
- Remove useless PK lookup in IndicesTTLService #19945
- ignore some docker craziness in seccomp environment checks #19754
- Make Priority an enum #19448
- Snapshot UUIDs in blob names #19421 (issues: #18156, #18815, #19002, #7540)
- Add RestController method for deprecating in one step #19343
- Tighten ensure atomic move cleanup #19309 (issue: #19036)
- Enable checkstyle ModifierOrder #19214
- Expose task information from NodeClient #19189
- Changed rest handler interface to take NodeClient #19170
- Deprecate ExceptionsHelper.detailedMessage #19160 (issue: #19069)
- Factor out ChannelBuffer from BytesReference #19129
- Cleanup Compressor interface #19125
- Hot methods redux #19016 (issue: #16725)
- Remove forked joda time BaseDateTime class #18953
- Support optional ctor args in ConstructingObjectParser #18725
- Remove thread pool from page cache recycler #18664 (issue: #18613)
- Do not automatically close XContent objects/arrays #18549 (issue: #18433)
- Remove use of a Fields class in snapshot responses #18497
- Removes multiple toXContent entry points for SnapshotInfo #18494
- Removes unused methods in the o/e/common/Strings class #18346
- Determine content length eagerly in HttpServer #18203
- Consolidate query generation in QueryShardContext #18129
- Make reset in QueryShardContext private #18113
- Remove Strings#splitStringToArray #18110
- Add toString() to GetResponse #18102
- ConstructingObjectParser adapts ObjectParser for ctor args #17596 (issue: #17352)
- Makes Script type writeable #17908 (issue: #17753)
- FiltersAggregatorBuilder: Don’t create new context for inner parsing #17851
- Clean up serialization on some stats #17832 (issue: #17085)
- Normalize registration for SignificanceHeuristics #17830 (issue: #17085)
- Make (read|write)NamedWriteable public #17829 (issue: #17682)
- Use try-with-resource when creating new parser instances where possible #17822
- Don’t pass XContentParser to ParseFieldRegistry#lookup #17794
- Internal: Remove threadlocal from document parser #17764
- Cut range aggregations to registerAggregation #17757 (issue: #17085)
- Remove ParseFieldMatcher from AbstractXContentParser #17756 (issue: #17417)
- Remove parser argument from methods where we already pass in a parse context #17738
- Switch SearchAfterBuilder to writeGenericValue #17735 (issue: #17085)
- Remove StreamableReader #17729 (issue: #17085)
- Cleanup nested, has_child & has_parent query builders for inner hits construction #17719 (issue: #11118)
- Make AllocationCommands NamedWriteables #17661
- Isolate StreamableReader #17656 (issue: #17085)
- Create registration methods for aggregations similar to those for queries #17653 (issues: #17085, #17389)
- Remove PROTOTYPEs from QueryBuilders #17632 (issue: #17085)
- Remove registerQueryParser #17608
- ParseField#getAllNamesIncludedDeprecated to not return duplicate names #17504
- Rework a query parser and improve registration #17458
- Clean up QueryParseContext and don’t hold it inside QueryRewrite/ShardContext #17417
- Remove PROTOTYPE from MLT.Item #17481 (issue: #17085)
- Remove PROTOTYPE from VersionType #17480 (issue: #17085)
- Remove PROTOTYPEs from highlighting #17466 (issue: #17085)
- Remove PROTOTYPEs from ingest #17434 (issue: #17085)
- Start to rework query registration #17424
- Factor out slow logs into Search and IndexingOperationListeners #17398
- Remove PROTOTYPE from Suggesters #17370
- Remove PROTOTYPE from SortBuilders #17337 (issue: #17085)
- Remove PROTOTYPE from ShapeBuilders #17336 (issue: #17085)
- Replace FieldStatsProvider with a method on MappedFieldType. #17334
- Stop using PROTOTYPE in NamedWriteableRegistry #17284 (issue: #17085)
- Support scheduled commands in current context #17077
- Thread limits #17003
- Remove leniency from segments info integrity checks #16985 (issue: #16973)
- Rename SearchServiceTransportAction to SearchTransportService #16880
- Decouple the TransportService and ClusterService #16872 (issue: #16788)
- Refactor bootstrap checks #16844 (issues: #16733, #16835)
- Add LifecycleRunnable #16752
- Hot inlined methods in your area #16725
- Move IndicesQueryCache and IndicesRequestCache into IndicesService #16603
- Forbid use of java.security.MessageDigest#clone() #16543 (issue: #16479)
- Make IndicesWarmer a private class of IndexService #16470
- Simplify IndicesFieldDataCache and detach from guice #16469
- Uppercase ells (L) in long literals #16329 (issue: #16279)
- ShardId equality and hash code inconsistency #16319 (issue: #16217)
- Ensure all resources are closed on Node#close() #16316 (issue: #13685)
- Make index uuid available in Index, ShardRouting & ShardId #16217
- Move RefreshTask into IndexService and use since task per index #15933
- Make IndexingMemoryController private to IndicesService #15877
- Cleanup IndexingOperationListeners infrastructure #15875
- Remove and forbid use of j.u.c.ThreadLocalRandom #15862 (issue: #15294)
- Fix IntelliJ query builder type inference issues #15429
- Remove and forbid use of Collections#shuffle(List) and Random#<init>() #15299 (issue: #15287)
- Remove and forbid use of the type-unsafe empty Collections fields #15187
- Move IndicesService.canDeleteShardContent to use IndexSettings #15150 (issue: #15059)
- Simplify MonitorService construction and detach from guice #15035
- Use Supplier for StreamInput#readOptionalStreamable #14806
- Add variable-length long encoding #14780
- Extend usage of IndexSetting class #14731 (issue: #14251)
- Fold SimilarityModule into IndexModule #14284
- Move to lucene BoostQuery #14264
- Use built-in method for computing hash code of longs #14213
- Refactor ShardFailure listener infrastructure #14206
- Add methods for variable-length encoding integral arrays #14087
- Fold IndexAliasesService into IndexService #14044
- Remove unneeded Module abstractions #13944
- Query refactoring: simplify IndexQueryParserService parse methods #13938 (issue: #13859)
- Remove and forbid use of com.google.common.collect.Iterators #13916 (issue: #13224)
- Remove and forbid use of com.google.common.collect.ImmutableCollection #13909 (issue: #13224)
- Remove and forbid use of com.google.common.io.Resources #13908 (issue: #13224)
- Remove and forbid use of com.google.common.hash.* #13907 (issue: #13224)
- Remove and forbid use of com.google.common.net.InetAddresses #13905 (issue: #13224)
- Remove and forbid use of com.google.common.collect.EvictingQueue #13903 (issue: #13224)
- Replace Guava cache with simple concurrent LRU cache #13879
- Remove ClusterSerivce and IndexSettingsService dependency from IndexShard #13853
- Start making RecoverySourceHandler unittestable #13840
- Remove IndexService dep. from IndexShard #13797
- Remove ES internal deletion policies in favour of Lucenes implementations #13794
- Move ShardTermVectorService to be on indices level as TermVectorService #13786
- Move ShardPercolateService creation into IndexShard #13777
-
Remove
ExpressionScriptCompilationException
andExpressionScriptExecutionException
#13742 - Reduced the number of ClusterStateUpdateTask variants #13735
- Add a BaseParser helper for stream parsing #13615
- Remove and forbid use of com.google.common.primitives.Ints #13596 (issue: #13224)
- Remove and forbid use of com.google.common.math.LongMath #13575 (issue: #13224)
- Remove and forbid use of com.google.common.base.Joiner #13572 (issue: #13224)
- Replace and ban next batch of Guava classes #13562 (issue: #13224)
- Remove and forbid use of com.google.common.collect.Iterables #13559 (issue: #13224)
- Replace LoadingCache usage with a simple ConcurrentHashMap #13552 (issue: #13224)
- Use Supplier instead of Reflection #13545
- Remove and forbid use of com.google.common.base.Preconditions #13540 (issue: #13224)
- Remove and forbid use of guava Function, Charsets, Collections2 #13533 (issue: #13224)
- Remove and forbid use of com.google.common.collect.ImmutableSortedMap #13525 (issue: #13224)
- Remove and forbid use of several com.google.common.util. classes #13524 (issue: #13224)
- Cleanup SearchRequest & SearchRequestBuilder #13518
- Remove and forbid use of com.google.common.collect.Queues #13498 (issue: #13224)
- Remove and forbid use of com.google.common.base.Preconditions#checkNotNull #13493 (issue: #13224)
- Remove and forbid use of com.google.common.collect.Sets #13463 (issue: #13224)
- Remove and forbid use of com.google.common.collect.Maps #13438 (issue: #13224)
- Remove use of underscore as an identifier #13353
- Remove and forbid the use of com.google.common.base.Predicate(s)? #13349 (issues: #13224, #13314)
- This commit removes com.google.common.io #13302 (issue: #13224)
- Java API
- Ensure PutMappingRequest.buildFromSimplifiedDef input are pairs #19837 (issue: #19836)
- Start from a random node number so that clients do not overload the first node configured #14143
- Switch QueryBuilders to new MatchPhraseQueryBuilder #18753
-
Improve adding clauses to
span_near
andspan_or
query #18485 (issue: #18478) - QueryBuilder does not need generics. #18133
- Remove copy constructors from request classes and TransportMessage type #16640 (issue: #15776)
- Java REST Client
- Add support for a RestClient path prefix #20190
- Add "Async" to the end of each Async RestClient method #20172 (issue: #20168)
- Allow RestClient to send array-based headers #20151
- Add response body to ResponseException error message #19653 (issue: #19653)
- Simplify Sniffer initialization and automatically create the default HostsSniffer #19599
- Remove duplicate dependency declaration for http client #19580 (issue: #19281)
- Add callback to customize http client settings #19373
- Rest Client: add short performRequest method variants without params and/or body #19340 (issue: #19312)
- Logging
- 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)
- Add node name to decider trace logging #20437 (issue: #20379)
- Logging shutdown hack #20389 (issue: #20304)
- Disable console logging #20387
- Skip loading of jansi from log4j2 #20334
- Configure AWS SDK logging configuration #20313 (issue: #20294)
- Warn if unsupported logging configuration present #20309
- Size limit deprecation logs #20287 (issues: #20235, #20254)
- Increase visibility of deprecation logger #20254 (issue: #11033)
- Add log message about enforcing bootstrap checks #19451
- Improve logging for batched cluster state updates #19255
- Send HTTP Warning Header(s) for any Deprecation Usage from a REST request #17804 (issue: #17687)
- Throw IllegalStateException when handshake fails due to version or cluster mismatch #18676
- Mapping
- Automatically downgrade text and keyword to string on indexes imported from 2.x #20177
-
Do not parse numbers as both strings and numbers when not included in
_all
. #20167 -
Don’t index the
_version
field #20132 -
The root object mapper should support updating
numeric_detection
,date_detection
anddynamic_date_formats
. #20119 (issue: #20111) -
Automatically upgrade analyzed string fields that have
index_options
orposition_increment_gap
set. #20002 (issue: #19974) - Mappings: Support dots in field names in mapping parsing #19899 (issue: #19443)
- Save one utf8 conversion in KeywordFieldMapper. #19867
- Do not parse the created version from the settings every time a field is parsed. #19824
-
Elasticsearch should reject dynamic templates with unknown
match_mapping_type
. #17285 (issue: #16945) -
Upgrade
string
fields totext
/keyword
even ifinclude_in_all
is set. #19004 (issue: #18974) - Adds a methods to find (and dynamically create) the mappers for the parents of a field with dots in the field name #18106 (issue: #15951)
-
Automatically upgrade analyzed strings with an analyzer to
text
. #17861 - Support dots in field names when mapping already exists #17759 (issue: #15951)
- Use the new points API to index numeric fields. #17746 (issues: #11513, #16751, #17007, #17700)
- Simplify AllEntries, AllField and AllFieldMapper: #17613
-
Make
parseMultiField
part ofparseField
. #17313 - Automatically add a sub keyword field to string dynamic mappings. #17188
- Remove friction from the mapping changes in 5.0. #16991
- Rework norms parameters for 5.0. #16987
- Moved dynamic field handling in doc parsing to end of parsing #16798
- Remove the MapperBuilders utility class. #16609
-
Make the
index
property a boolean. #16161 -
Remove the ability to enable doc values with the
fielddata.format
setting. #16147 - Be stricter about parsing boolean values in mappings. #16146
- Fix default doc values to be enabled when a field is not indexed. #16141
- Dynamically map floating-point numbers as floats instead of doubles. #15319 (issue: #13851)
- Simplify MetaDataMappingService. #15217
- Remove MergeMappingException. #15177
- Network
- Avoid early initializing Netty #19819 (issue: #5644)
- Network: Allow to listen on virtual interfaces. #19568 (issues: #17473, #19537)
- Explicitly tell Netty to not use unsafe #19786 (issues: #19562, #5624)
- Enable Netty 4 extensions #19767 (issue: #19526)
- Modularize netty #19392
- Simplify TcpTransport interface by reducing send code to a single send method #19223
- Do not start scheduled pings until transport start #18702
- Packaging
- Add quiet option to disable console logging #20422 (issues: #15315, #16159, #17220)
- Explicitly disable Netty key set replacement #20249
- Remove explicit parallel new GC flag #18767
- Use JAVA_HOME or java.exe in PATH like the Linux scripts do #18685 (issue: #4913)
- Don’t mkdir directly in deb init script #18503 (issue: #18307)
- Increase default heap size to 2g #18311 (issues: #16334, #17686, #18309)
- Switch init.d scripts to use bash #18308 (issue: #18259)
- Switch scripts to use bash #18251 (issue: #14002)
- Further simplifications of plugin script #18239 (issue: #18207)
- Pass ES_JAVA_OPTS to JVM for plugins script #18140 (issue: #16790)
- Remove unnecessary sleep from init script restart #17966
- Explicitly set packaging permissions #17912 (issue: #17634)
-
rpm uses non-portable
--system
flag touseradd
#14596 (issue: #14211) - Adding JAVA_HOME to documents and env config file #11338 (issue: #11291)
- Added RPM metadata #17477
- Elasticsearch ownership for data, logs, and configs #17197 (issue: #12688)
- Fail early on JDK with compiler bug #16418 (issues: #16097, #16362)
- Make security non-optional #16176
- Remove RuntimePermission("accessDeclaredMembers") #15378
- Remove Guava as a dependency #14055 (issue: #13224)
- Remove Guava as a dependency #14054 (issue: #13224)
- Percolator
- Also support query term extract for queries wrapped inside a FunctionScoreQuery #19184
- Add support for synonym query to percolator query term extraction #19066
- Add percolator query extraction support for dismax query #18845
- Improve percolate query performance by not verifying certain candidate matches #18696
- Improve percolator query term extraction #18610
- PercolatorQueryBuilder cleanup by using MemoryIndex#fromDocument(…) helper #17669 (issue: #9386)
- Add scoring support to the percolator query #17385 (issue: #13827)
- Add query extract support for the blended term query and the common terms query #17347
- Add support for several span queries in ExtractQueryTermsService #17323
- Add support for TermsQuery in ExtractQueryTermsService #17316
- Replace percolate APIs with a percolator query #16349 (issues: #10741, #11264, #13176, #13978, #4317, #7297)
- Plugin Analysis Kuromoji
- Add nbest options and NumberFilter #17173
- Plugin Discovery EC2
- Plugin Discovery GCE
- Plugin Ingest Attachment
- Minor attachment processor improvements #16574
- Plugin Lang Painless
- Disable regexes by default in painless #20427 (issue: #20397)
- Catch OutOfMemory and StackOverflow errors in Painless #19936
- Change Painless Tree Structure for Variable/Method Chains #19459
- Add replaceAll and replaceFirst #19070
- Painless Initializers #19012
- Add augmentation #19003
- Infer lambda arguments/return type #18983
- Fix explicit casts and improve tests. #18958
- Add lambda captures #18954
- improve Debugger to print code even if it hits exception #18932 (issue: #1)
- Move semicolon hack into lexer #18931
- Add flag support to regexes #18927
- improve lambda syntax (allow single expression) #18924
- Remove useless dropArguments in megamorphic cache #18913
- non-capturing lambda support #18911 (issue: #18824)
- fix bugs in operators and more improvements for the dynamic case #18899
- improve unary operators and cleanup tests #18867 (issue: #18849)
- Add support for the find operator (=) and the match operator (==) #18858
- Remove casts and boxing for dynamic math #18849 (issue: #18847)
- Refactor def math #18847
- Add support for /regex/ #18842
- Array constructor references #18831
- Method references to user functions #18828
- Add } as a delimiter. #18827 (issue: #18821)
- Add Lambda Stub Node #18824
- Add capturing method references #18818 (issue: #18748)
- Add Functions to Painless #18810
- Add Method to Get New MethodWriters #18771
- Static For Each #18757
- Method reference support #18748 (issue: #18578)
- Add support for the new Java 9 MethodHandles#arrayLength() factory #18734
- Improve painless compile-time exceptions #18711 (issue: #18600)
- add java.time packages to painless whitelist #18621
- Add Function Reference Stub to Painless #18578
- improve painless whitelist coverage of java api #18533
- Definition cleanup #18463
- Made def variable casting consistent with invokedynamic rules #18425
- Use Java 9 Indy String Concats, if available #18400 (issue: #18398)
- Add method overloading based on arity #18385
- Refactor WriterUtils to extend ASM GeneratorAdapter #18382
- Whitelist expansion #18372
- Remove boxing when loading and storing values in "def" fields/arrays, remove boxing onsimple method calls of "def" methods #18359
- Some cleanups #18352
- Use isAssignableFrom instead of relying on ClassCastException #18350
- Build descriptor of array and field load/store in code #18338
- Rename the dynamic call site factory to DefBootstrap #18335
- Cleanup of DynamicCallSite #18323
- Improve exception stacktraces #18319
- Make Line Number Available in Painless #18298
- Remove input, support params instead #18287
- Decouple ANTLR AST from Painless #18286
- _value support in painess? #18284
- Long priority over Float #18282
- _score as double, not float #18277
- Add ctx keyword to painless. #18264
- Painless doc access #18262
- Retrieve _score directly from Scorer #18258
- Implement needsScore() correctly. #18247
- Add synthetic length property as alias to Lists, so they can be used like arrays #18241
- Use better typing for dynamic method calls #18234
- Array load/store and length with invokedynamic #18232 (issue: #18201)
- Switch painless dynamic calls to invokedynamic, remove perf hack/cheat #18201
- Add fielddata accessors (.value/.values/.distance()/etc) #18169
- painless: optimize/simplify dynamic field and method access #18151
- Painless: Single-Quoted Strings #18150
- Painless Clean Up #17428
- Make Painless a Module #16755
- Minor Clean up #16457
- Remove Extra String Concat Token #16382
- Plugin Mapper Attachment
- minor attachments cleanups: IDE test support and EPUB format #14626
- Plugin Mapper Size
- Plugin Repository Azure
- Plugin Repository HDFS
- merge current hdfs improvements to master #15588
- Plugin Repository S3
- Plugins
- Revert "Display plugins versions" #20807 (issues: #18683, #20668)
- Provide error message when plugin id is missing #20660
- Print message when removing plugin with config #20338
- Plugins: Update official plugin location with unified release #19996
- Allow plugins to upgrade global custom metadata on startup #19962
- Switch aggregations from push to pull #19839
- Display plugins versions #18683
- Add ScriptService to dependencies available for plugin components #19770
- Make NamedWriteableRegistry immutable and add extension point for named writeables #19764
- Log one plugin info per line #19441
- Make rest headers registration pull based #19440
- Add resource watcher to services available for plugin components #19401
- Add some basic services to createComponents for plugins #19380
- Make plugins closeable #19137
- Plugins: Add status bar on download #18695
- Add did-you-mean for plugin cli #18942 (issue: #18896)
- Plugins: Remove name() and description() from api #18906
- Emit nicer error message when trying to install unknown plugin #18876 (issue: #17226)
- Add plugin information for Verbose mode #18051 (issue: #16375)
- Cli: Improve output for usage errors #17938
- Cli: Add verbose output with zip url when installing plugin #17662 (issue: #17529)
- PluginManager: Add xpack as official plugin #17227
- CliTool: Cleanup and document Terminal #16443
- Plugin cli: Improve maven coordinates detection #16384 (issue: #16376)
- Enforce plugin zip does not contain zip entries outside of the plugin dir #16361
- CliTool: Allow unexpected exceptions to propagate #16359
- Reduce complexity of plugin cli #16336
- Remove Plugin.onIndexService. #15029 (issue: #14896)
- Open up QueryCache and SearcherWrapper extension points #14303
- Query DSL
- Throw exception when multiple field names are provided as part of query short syntax #19871 (issue: #19791)
- Query parsers to throw exception when multiple field names are provided #19791 (issue: #19547)
-
Allow empty json object in request body in
_count
API #19595 (issue: #19422) -
Treat zero token in
common
terms query as MatchNoDocsQuery #18656 - Handle empty query bodies at parse time and remove EmptyQueryBuilder #17624 (issues: #17540, #17541)
- Enforce MatchQueryBuilder#maxExpansions() to be strictly positive #18464
-
Don’t allow
fuzziness
formulti_match
typescross_fields
,phrase
andphrase_prefix
#18322 (issues: #6866, #7764) - Add MatchNoDocsQuery, a query that matches no documents and prints the reason why in the toString method. #17780
-
Adds
ignore_unmapped
option to geo queries #17751 -
Adds
ignore_unmapped
option to nested and P/C queries #17748 - SimpleQueryParser should call MappedFieldType.termQuery when appropriate. #17678
-
An
exists
query on an object should query a single term. #17186 (issue: #17131) - Function Score Query: make parsing stricter #16617 (issue: #16583)
- Parsers should throw exception on unknown objects #14255 (issue: #10974)
- UNICODE_CHARACTER_CLASS fix #11598 (issue: #10146)
- Query Refactoring
- REST
- 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)
- Add exclusion support to response filtering #19865
- Only write forced_refresh if we forced a refresh #19669 (issue: #19629)
- Add Location header to the index, update, and create APIs #19509 (issue: #19079)
-
Add support for
wait_for_events
to the_cluster/health
REST endpoint #19432 (issue: #19419) - Rename Search Template REST spec names #19178
- Adding status field in _msearch error request bodies #18586 (issue: #18013)
- Add semicolon query string parameter delimiter #18186 (issue: #18175)
- Enable HTTP compression by default with compression level 3 #18066 (issue: #7309)
- Allow JSON with unquoted field names by enabling system property #17801 (issue: #17674)
- More robust handling of CORS HTTP Access Control #16092
- Add option to exclude based on paths in XContent #16017
- Recovery
- Pass on maxUnsafeAutoIdTimestamp on recovery / relocation #20300
- Non-blocking primary relocation hand-off #19013 (issues: #15900, #18553)
- index shard should be able to cancel check index on close. #18839 (issue: #12011)
- TransportNodesListGatewayStartedShards should fall back to disk based index metadata if not found in cluster state #17663 (issue: #17630)
- Recover broken IndexMetaData as closed #17187
- Relocation source should be marked as relocating before starting recovery to primary relocation target #16500
- Operation counter for IndexShard #15956 (issue: #15900)
- Primary relocation handoff #15900 (issues: #15532, #16274, #19013)
- Remove recovery threadpools and throttle outgoing recoveries on the master #15372
- Refactor StoreRecoveryService to be a simple package private util class #13766
- Reindex API
-
Only ask for
_version
we need it #19693 (issue: #19135) - Use fewer threads when reindexing-from-remote #19636
- Support authentication with reindex-from-remote #19310
- Support requests_per_second=-1 to mean no throttling in reindex #19101 (issue: #19089)
- Implement ctx.op = "delete" on _update_by_query and _reindex #18614 (issue: #18043)
- Make Reindex cancellation tests more uniform #18498
- Makes DeleteByQueryRequest implements IndicesRequest #18466
- Teach reindex to retry on search failures #18331 (issue: #18059)
- Remove ReindexResponse in favor of BulkIndexByScrollResponse #18205
- Stricter validation of Reindex’s requests_per_second #18028
- Properly mark reindex’s child tasks as child tasks #17770
- Make reindex throttling dynamic #17262
- Throttling support for reindex #17039
- Add ingest pipeline support to reindex #16932
-
Only ask for
- Scripting
- Parse script on storage instead of on retrieval #20356
- Migrate elasticsearch native script examples to the main repo #19334 (issue: #14662)
- Remove ClusterState from compile api #19136
- Mustache: Render Map as JSON #18856 (issue: #18970)
- Compile each Groovy script in its own classloader #18918 (issue: #18572)
- Include script field even if it value is null #18384 (issue: #16408)
- Skipping hidden files compilation for script service #16286 (issue: #15269)
- Rename Plan A to Painless #16245
- Add plumbing for script compile-time parameters #15464
- Factor mustache → modules/lang-mustache #15328
- Scroll
- Add an index setting to limit the maximum number of slices allowed in a scroll request. #18782
- Search
- Limit batch size when scrolling #19367 (issue: #19249)
- Record method counts while profiling query components #18302
- Change default similarity to BM25 #18948 (issue: #18944)
- Add a parameter to cap the number of searches the msearch api will concurrently execute #18721
- Introduces GeoValidationMethod to GeoDistanceSortBuilder #18036
- Switches from empty boolean query to matchNoDocs #18007 (issue: #17981)
- Allow binary sort values. #17959 (issues: #17971, #6077)
- Fail query if it contains very large rescores #17917 (issue: #17522)
- Type filters should not have a performance impact when there is a single type. #17350
- Store _all payloads on 1 byte instead of 4. #16899
-
Refuse to load fields from _source when using the
fields
option and support wildcards. #15017 (issues: #10783, #14489) - Add response into ClearScrollResponse #13835 (issue: #13817)
- Shuffle shards for _only_nodes + support multiple specifications like cluster API #12575 (issues: #12546, #12700)
- Search Refactoring
- Removes the now obsolete SearchParseElement implementations #18233
- Remove RescoreParseElement #17441
- Remove HighlighterParseElement #17303
- Move top level parsing of sort element to SortBuilder #17248
- Switch to using refactored SortBuilder instead of using BytesReference in serialization #17205 (issues: #17146, #17257)
- Add build() method to SortBuilder implementations #17146 (issue: #10217)
- Refactoring of Suggestions #17096 (issue: #10217)
-
Move sort
order
field up into SortBuilder #17035 - Moves SortParser:parse(…) to only require QueryShardContext #16999 (issue: #15178)
- Change internal representation of suggesters #16873
- Make GeoDistanceSortBuilder serializable, 2nd try #16572 (issues: #15178, #16151)
- Move missing() from SortBuilder interface to class #16225 (issues: #15178, #16151)
- Remove deprecated parameters from ScriptSortBuilder #16153 (issue: #15178)
- Refactor GeoSortBuilder #16151 (issue: #15178)
- Refactor FieldSortBuilder #16127 (issue: #15178)
- Make sort order enum writable. #16124 (issue: #15178)
- Make DistanceUnit writable. #16122 (issue: #15178)
- RescoreBuilder: Add parsing and creating of RescoreSearchContext #16014 (issue: #15559)
- Make RescoreBuilder and nested QueryRescorer Writable #15953 (issue: #15559)
- Explain api: move query parsing to the coordinating node #14270
- Switch query parsers to use ParseField #14249 (issue: #8964)
- Refactoring of Aggregations #14136
- Sequence IDs
- Settings
- Add precise logging on unknown or invalid settings #20951 (issue: #20946)
-
Make
action.auto_create_index
setting a dynamic cluster setting #20274 (issue: #7513) - Removes space between # and the setting in elasticsearch.yml #20094 (issue: #20090)
- Validates new dynamic settings from the current state #19122 (issue: #19046)
- Improve error message if a setting is not found #18920 (issue: #18663)
- Cleanup placeholder replacement #17335
- Switch to registered Settings for all IndexingMemoryController settings #17778 (issue: #17442)
- Add guard against null-valued settings #17310 (issue: #17292)
- Useful error message for null property placeholder #17293 (issue: #17292)
- Archive cluster level settings if unknown or broken #17246
- Improve error message if setting is not found #17230
- Improve upgrade experience of node level index settings #17223 (issue: #17187)
- Settings with complex matchers should not overlap #16754
- Moves GCE settings to the new infra #16722 (issue: #16720)
- Add filtering support within Setting class #16629 (issue: #16598)
- Migrate AWS settings to new settings infrastructure #16602 (issue: #16293)
-
Remove
gateway.initial_meta
and always rely on min master nodes #16446 - Rewrite SettingsFilter to be immutable #16425
- Simplify azure settings #16363
- Convert PageCacheRecycler settings #16341
- Monitor settings #16313
- Cut over tribe node settings to new settings infra #16311
- Convert multcast plugin settings to the new infra #16295
-
Convert
request.headers.*
to the new settings infra #16292 - Migrate Azure settings to new settings infrastructure #16291
- Validate logger settings and allow them to be reset via API #16289
- Switch NodeEnvironment’s settings to new settings #16273
- Simplify AutoCreateIndex and add more tests #16270
- Convert several pending settings #16269
- Migrate query caching settings to the new settings infra. #16267
-
Convert
action.auto_create_index
andaction.master.force_local
to the new settings infra #16263 -
Convert
cluster.routing.allocation.type
andprocessors
to the new settings infra. #16238 - Validate tribe node settings on startup #16237
- Move node.client, node.data, node.master, node.local and node.mode to new settings infra #16230
- Moved http settings to the new settings infrastructure #16188
- Migrate network service to the new infra #16187
- Convert client.transport settings to new infra #16183
- Move discovery.* settings to new Setting infrastructure #16182
- Change over to o.e.common.settings.Setting for http settings #16181
- Convert "path.*" and "pidfile" to new settings infra #16180
- Migrate repository settings to the new settings API #16178
- Convert "indices.*" settings to new infra. #16177
- Migrate gateway settings to the new settings API. #16175
- Convert several node and test level settings #16172
- Run Metadata upgrade tool on every version #16168
- Check for invalid index settings on metadata upgrade #16156
-
Validate the settings key if it’s simple chars separated by
.
#16120 - Validate known global settings on startup #16091
- Cut over all index scope settings to the new setting infrastrucuture #16054 (issues: #12790, #12854, #16032, #6732)
-
Remove updatability of
index.flush_on_close
#15964 (issue: #15955) - Move all dynamic settings and their config classes to the index level #15955 (issue: #6732)
- Always require units for bytes and time settings #15948 (issue: #11437)
- Make MetaData parsing less lenient. #15828
- Move async translog sync logic into IndexService #15584
-
Remove
index.merge.scheduler.notify_on_failure
and default totrue
#15572 (issue: #15570) - Remove cache concurrency level settings that no longer apply #14210 (issues: #13224, #13717, #7836)
- Similarities
- Snapshot/Restore
- Delete differing files in the store before restoring #20220 (issue: #20148)
- Adds ignoreUnavailable option to the snapshot status API #20066 (issue: #18522)
- Check restores in progress before deleting a snapshot #19853
- Snapshot repository cleans up empty index folders #19751
- BlobContainer#writeBlob no longer can overwrite a blob #19749 (issue: #15579)
- More resilient blob handling in snapshot repositories #19706 (issues: #18156, #18815, #19421, #7540)
- Adding repository index generational files #19002 (issue: #18156)
- Raised IOException on deleteBlob #18815 (issue: #18530)
- Adds UUIDs to snapshots #18228 (issue: #18156)
- Clarify the semantics of the BlobContainer interface #18157 (issue: #15580)
- Change BlobPath.buildAsString() method #18461
- Remove the Snapshot class in favor of using SnapshotInfo #18167 (issue: #18156)
- Stats
- Add mem section back to cluster stats #20255 (issue: #17278)
- Add network types to cluster stats #20144
- Add missing field type in the FieldStats response. #19241 (issue: #17750)
- Expose the ClusterInfo object in the allocation explain output #19106 (issue: #14405)
- Add total_indexing_buffer/_in_bytes to nodes info API #18914 (issue: #18651)
- Allow FieldStatsRequest to disable cache #18900
- Remove index_writer_max_memory stat from segment stats #18651 (issues: #14121, #7440)
- Move DocStats under Engine to get more accurate numbers #18587
- Do not return fieldstats information for fields that exist in the mapping but not in the index. #18212 (issue: #17980)
- Add whether the shard state fetch is pending to the allocation explain API #18119 (issue: #17372)
- Add Failure Details to every NodesResponse #17964 (issue: #3740)
- Add I/O statistics on Linux #15915 (issue: #15296)
- Add points to SegmentStats. #17775 (issue: #16974)
- Remove FieldStats.Float. #17749
- Show configured and remaining delay for an unassigned shard. #17515 (issue: #17372)
- indexing stats now contain indexing ops from recovery [ISSUE] #17412
- Normalize unavailable load average #16061 (issues: #12049, #14741, #15907, #15932, #15934)
- Add load averages to OS stats on FreeBSD #15934 (issue: #15917)
- Expose pending cluster state queue size in node stats #14040 (issue: #13610)
- Store
- Suggesters
- Task Manager
- Rename Task Persistence into Storing Task Results #19982
- Fetch result when wait_for_completion #18905
- Create get task API that falls back to the .tasks index #18682
- Add ability to store results for long running tasks #17928
- Move parentTaskId into TransportRequest #17872
- Shorten the serialization of the empty TaskId #17870
- Expose whether a task is cancellable in the _tasks list API #17464 (issue: #17369)
- Add ability to group tasks by common parent #17341
- Add start time and duration to tasks #16829
- Combine node name and task id into single string task id #16744
- Add task status #16356 (issue: #16344)
- Extend tracking of parent tasks to master node, replication and broadcast actions #15931
- Translog
- Fsync documents in an async fashion #20145
- Add checksumming and versions to the Translog’s Checkpoint files #19797
- Beef up Translog testing with random channel exceptions #18997
- Do not replay into translog on local recovery #18547
- FSync translog outside of the writers global lock #18360
- Remove ChannelReference and simplify Views #15898
- Simplify TranslogWriter to always write to a stream #15771
- Remove TranslogService and fold it into synchronous IndexShard API #13707
Bug fixesedit
- Aggregations
- 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 - Fix agg profiling when using breadth_first collect mode #20156
- Throw exception when maxBounds greater than minBounds #19855 (issue: #19833)
-
Undeprecates
aggs
in the search request #19674 (issue: #19504) -
Change how
nested
andreverse_nested
aggs know about their nested depth level #19550 (issues: #11749, #12410) - Make ExtendedBounds immutable #19490 (issue: #19481)
- Aggregations fix: support include/exclude strings for IP and dates #18408 (issue: #17705)
- Fix xcontent rendering of ip terms aggs. #18003 (issue: #17971)
- Improving parsing of sigma param for Extended Stats Bucket Aggregation #17562 (issue: #17499)
- Fixes NPE when no window is specified in moving average request #17556 (issue: #17516)
- Fixes Filter and FiltersAggregation to work with empty query #17542 (issue: #17518)
-
Fixes the defaults for
keyed
in the percentiles aggregations #17217 - Correct typo in class name of StatsAggregator #15264 (issue: #14730)
- Allocation
- 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 - Upon being elected as master, prefer joins' node info to existing cluster state #19743
- Fix NPE when initializing replica shard has no UnassignedInfo #19491 (issue: #19488)
- Make shard store fetch less dependent on the current cluster state, both on master and non data nodes #19044 (issue: #18938)
- Fix recovery throttling to properly handle relocating non-primary shards #18701 (issue: #18640)
- Replica shards must be failed before primary shards #15686
- Analysis
- Bulk
- CAT API
- CRUD
-
GET operations should not extract fields from
_source
. #20158 (issues: #15017, #20102) - Squash a race condition in RefreshListeners #18806
- Prevent TransportReplicationAction to route request based on stale local routing table #16274 (issues: #12573, #12574)
- Resolves the conflict between alias routing and parent routing by applying the alias routing and ignoring the parent routing. #15371 (issue: #3068)
-
GET operations should not extract fields from
- Cache
- Circuit Breakers
- Cluster
- Fixes issue with dangling index being deleted instead of re-imported #19666
- Allow routing table to be filtered by index pattern #19688
- Use executor’s describeTasks method to log task information in cluster service #19531
- Acknowledge index deletion requests based on standard cluster state acknowledgment #18602 (issues: #16442, #18558)
- Dangling indices are not imported if a tombstone for the index exists #18250 (issue: #18249)
- Fix issue with tombstones matching active indices in cluster state #18058 (issue: #18054)
- Shard state action channel exceptions #16057 (issue: #15748)
- Core
-
Makes
m
case sensitive in TimeValue #19649 (issue: #19619) - Guard against negative result from FileStore.getUsableSpace when picking data path for a new shard #19554
- Handle rejected execution exception on reschedule #19505
- Fix concurrency bug in IMC that could cause it to check too infrequently #18357
- Iterables.flatten should not pre-cache the first iterator #18355 (issue: #18353)
- Avoid race while retiring executors #18333
- Refactor UUID-generating methods out of Strings #17837 (issue: #17819)
- Node names cleanup #17723 (issue: #17718)
- NullPointerException from IndexingMemoryController when a version conflict happens during recovery #17569
- Handle RejectedExecution gracefully in TransportService during shutdown #16965
-
Makes
- Discovery
- Engine
- Expressions
- replace ScriptException with a better one #18600
- Geo
- Highlighting
- Index APIs
- Ingest
- no null values in ingest configuration error messages #20616
- JSON Processor was not properly added #20613
- Don’t rebuild pipeline on every cluster state update #20189
- Add dotexpander processor #20078
- Fix NPE when simulating a pipeline with no id #19650
- Change foreach processor to use ingest metadata for array element #19609 (issue: #19592)
- No other processors should be executed after on_failure is called #19545
- rethrow script compilation exceptions into ingest configuration exceptions #19318
-
Rename from
ingest-useragent
plugin toingest-user-agent
and its processor fromuseragent
touser_agent
#19261 - Fix ignore_failure behavior in _simulate?verbose and more cleanup #18987
- Pipeline Stats: Fix concurrent modification exception #18177 (issue: #18126)
- Validate properties values according to database type #17940 (issue: #17683)
- Ingest does not close its factories #17626 (issue: #17625)
- Handle regex parsing errors in Gsub and Grok Processors #17260
- add on_failure exception metadata to ingest document for verbose simulate #16562
- The IngestDocument copy constructor should make a deep copy #16248 (issue: #16246)
- Inner Hits
- Internal
- Prevent AbstractArrays from release bytes more than once #20819
- IndicesAliasesRequest should not implement CompositeIndicesRequest #20726
- Ensure elasticsearch doesn’t start with unuspported indices #20514 (issue: #20512)
- Remove ListTasksResponse#setDiscoveryNodes() #19773 (issue: #19772)
- Priority values should be unmodifiable #19447
- Extract AbstractBytesReferenceTestCase #19141
- Add XPointValues #18011 (issue: #18010)
- Fix BulkItemResponse.Failure.toString #17871
- Enable unmap hack for java 9 #16986 (issue: #1)
- Fix issues with failed cache loads #14315
- Allow parser to move on the START_OBJECT token when parsing search source #14145
- Ensure searcher is release if wrapping fails #14107
- Avoid deadlocks in Cache#computeIfAbsent #14091 (issue: #14090)
- Java API
- Java REST Client
- Logging
- 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
- Hack around Log4j bug rendering exceptions #20306 (issue: #20304)
- Avoid prematurely triggering logger initialization #20170
- Only log running out of slots when out of slots #19637
- Mapping
- Allow position_gap_increment for fields in indices created prior to 5.0 #20806 (issues: #19510, #20413)
- Validate blank field name #19860 (issue: #19251)
- Better error message when mapping configures null #18809 (issue: #18803)
- Make doc_values accessible for _type #18220
-
Fix and test handling of
null_value
. #18090 (issue: #18085) -
Fail automatic string upgrade if the value of
index
is not recognized. #18082 (issue: #18062) - Fix dynamic check to properly handle parents #17864 (issues: #17644, #17854)
- Fix array parsing to remove its context when finished parsing #17768
- Disallow fielddata loading on text fields that are not indexed. #17747
- Make dynamic template parsing less lenient. #17249
- Fix dynamic mapper when its parent already has an update #17065
- Fix copy_to when the target is a dynamic object field. #15216 (issues: #111237, #11237)
- Preserve existing mappings on batch mapping updates #15130 (issues: #14899, #15129)
- Network
- Fix connection close header handling #20956 (issue: #20938)
- Ensure port range is readable in the exception message #20893
- Fix expect 100 continue header handling #19904 (issue: #19834)
- Fixes netty4 module’s CORS config to use defaults #19874
- Fix various concurrency issues in transport #19675
- Verify lower level transport exceptions don’t bubble up on disconnects #19518 (issue: #19096)
- Packaging
- [Packaging] Do not remove scripts directory on upgrade #20452
- [Package] Remove bin/lib/modules directories on RPM uninstall/upgrade #20448
- Fix handling of spaces for jvm.options on Windows #19951 (issue: #19941)
- Disable service in pre-uninstall #19328
- Remove extra bin/ directory in bin folder #18630
- Filter client/server VM options from jvm.options #18473
- Preserve config files from RPM install #18188 (issue: #18158)
- Fix typo in message for variable setup ES_MAX_MEM #18168
-
Don’t run
mkdir
when $DATA_DIR contains a comma-separated list #17419 (issue: #16992) - Fix exit code #17082
- Set MAX_OPEN_FILES to 65536 #17431 (issue: #17430)
- [windows] Service command still had positional start command #17391
- Do not pass double-dash arguments on startup #17087 (issue: #17084)
- Parent/Child
- Percolator
- Plugin Discovery Azure Classic
- Plugin Discovery EC2
- Plugin Discovery GCE
- Plugin Ingest Attachment
- Plugin Ingest GeoIp
- [ingest-geoip] update geoip to not include null-valued results from #20455
- Plugin Lang Painless
- Fix String Concatenation Bug In Painless #20623
- Fix break bug in for/foreach loops. #20146
- Fix compound assignment with string concats #18933 (issue: #18929)
- Fix horrible capture #18907 (issue: #18899)
- Fix Casting Bug #18871
- Remove Grammar Ambiguities #18531
- Remove if/else ANTLR ambiguity. #18428
- Fix insanely slow compilation #18410 (issue: #18398)
- Fix Bug in Painless Assignment #18379
- Fix bracket shortcuts #18263
- Plugin Repository Azure
- Plugin Repository S3
- Plugin Store SMB
- Plugins
- Query DSL
- Fixes MultiMatchQuery so that it doesn’t provide a null context #20882
- Fix silently accepting malformed queries #20515 (issue: #20500)
- query_string_query should take term length into consideration when fuzziness is auto #20299 (issue: #15972)
- Throw ParsingException if a query is wrapped in an array #19750 (issue: #12887)
- Restore parameter name auto_generate_phrase_queries #19514 (issue: #19512)
- Resolve string dates and date math to millis before evaluating for rewrite in range query #17239
-
constant_score
query should throw error on more than one filter #17135 (issue: #17126) - Single IPv4 addresses in IP field term queries #16068 (issue: #16058)
- Make strategy optional in GeoShapeQueryBuilder readFrom and writeTo #13963
- Query Refactoring
- REST
- Recovery
- Fix concurrency issues between cancelling a relocation and marking shard as relocated #20443
-
Move
reset recovery
into RecoveriesCollection #19466 (issue: #19473) - Fix replica-primary inconsistencies when indexing during primary relocation with ongoing replica recoveries #19287 (issue: #19248)
-
Invoke
IndexingOperationListeners
also when recovering from store or remote #17406 - Prevent interruption while store checks lucene files for consistency #16308
- Mark shard as recovering on the cluster state thread #14276 (issues: #13766, #14115)
- Reindex API
- Scripting
- Search
- Do not cache script queries. #20799 (issue: #20763)
- Throw error when trying to fetch fields from source and source is disabled #20424 (issues: #20093, #20408)
-
Source filtering should keep working when the source contains numbers greater than
Long.MAX_VALUE
. #20278 (issue: #11508) -
Fix NPE when running a range query on a
scaled_float
with no upper bound. #20253 - Fix NPE during search with source filtering if the source is disabled. #20093 (issue: #7758)
- Restore assignment of time value when deserializing a scroll instance #19977 (issue: #18820)
- Fix explain output for dfs query #19972 (issue: #15369)
- Don’t recursively count children profile timings #19397 (issue: #18693)
- fix explain in function_score if no function filter matches #19185
- Fix NPEs due to disabled source #18957
- Require timeout units when parsing query body #19077 (issue: #19075)
- Close SearchContext if query rewrite failed #18727
-
Fix parsing single
rescore
element in SearchSourceBuilder #18440 (issue: #18439) - Fail queries on not indexed fields. #18014
- Fix for search after #16271
- Do not be lenient when parsing CIDRs #14874 (issue: #14862)
- Settings
- Fix Setting.timeValue() method #20696 (issue: #20662)
-
Add a hard limit for
index.number_of_shard
#20682 - Include complex settings in settings requests #20622
- Fix filter cache setting to allow percentages #20335 (issue: #20330)
- Move cluster.routing.allocation.same_shard.host setting to new settings infrastructure #20046 (issue: #20045)
- Validate settings against dynamic updaters on the master #19088 (issue: #19046)
- Register "cloud.node.auto_attributes" setting in EC2 discovery plugin #18678
- Use object equality to compare versions in IndexSettings #18103
- fix exists method for list settings when using numbered setting format #17949
- convert settings for ResourceWatcherService to new infrastructure #17948
- Register bootstrap settings #16513
- Add settings filtering to node info requests #16445
- Ban write access to system properties #14914
- Snapshot/Restore
- Stats
- Store
- Task Manager
- Term Vectors
- Translog
- Fix RAM usage estimation of LiveVersionMap. #20123 (issue: #19787)
- Fix translog replay multiple operations same doc #18611 (issues: #18547, #18623)
- Snapshotting and sync could cause a dead lock TranslogWriter #18481 (issues: #1, #18360, #2)
- Move translog recover outside of the engine #17422
- Mark shard active during recovery; push settings after engine finally inits #16250 (issues: #14121, #16209)
Regressionsedit
Upgradesedit
- Core
- Upgrade to Lucene 6.2.0 #20147 (issue: #20092)
- Update to jackson 2.8.1 #18939 (issue: #18076)
- Upgrade to Lucene 6.1.0. #18926
- Upgrade to lucene-6.1.0-snapshot-3a57bea. #18786
- Upgrade to Lucene 6.0.1. #18648 (issues: #17535, #28)
- Upgrade to lucene 6 release #17657
- Upgrade to lucene-6.0.0-f0aa4fc. #17075
- upgrade to lucene 6.0.0-snapshot-bea235f #16964
- Upgrade to Jackson 2.7.1 #16801 (issue: #16294)
- Ingest
- Internal
- Bump master (3.0-snapshot) to java 8 #13314
- Network
- Packaging
- Plugin Discovery EC2
- Scripting
- Dependencies: Updates to mustache 0.9.3 #20337
- Search Templates