WARNING: Version 2.1 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
2.0.0-beta1 Release Notes
edit2.0.0-beta1 Release Notes
editBreaking changes
edit- Aggregations
-
- Removed unused factor parameter in DateHistogramBuilder #12850 (issue: #6490)
- Aggregation: Removed Old Script Java API from metrics aggregations #12236
-
Change the default
min_doc_count
to 0 on histograms. #10904 - Speed up include/exclude in terms aggregations with regexps, using Lucene regular expressions #10418 (issues: #7526, #9848)
-
Clean up time zone options for
date_histogram
#9637 (issue: #9062) -
Add
offset
to date_histogram, replacingpre_offsest
andpost_offset
#9597 (issue: #9062) - Facets: Removal from master. #7337
- Changed the respnose structure of the percentiles aggregation #6079 (issue: #5870)
- Aliases
- Allocation
- Analysis
- Bulk
-
- Remove Bulk UDP #7595
- CAT API
- CRUD
-
- Remove core delete-by-query implementation #10859 (issue: #10067)
-
Remove
async
replication #10171 (issue: #10114) - Remove async replication from the docs and REST spec #10162 (issue: #10114)
- Delete api: remove broadcast delete if routing is missing when required #10136 (issue: #9123)
-
Version types
EXTERNAL
&EXTERNAL_GTE
test for version equality in read operation & disallow them in the Update API #5929 (issues: #5661, #5663)
- Cache
- Circuit Breakers
- Cluster
- Core
-
- Remove MergeScheduler pluggability #11585
- Don’t allow indices containing too-old segments to be opened #11072 (issues: #10215, #11095)
- Remove Restart API and remove Node#stop() #9921 (issue: #9841)
- Remove component settings from AbstractComponent #9919
- Refactor settings filtering, adding regex support #9748 (issue: #6295)
- Cut over to Path API for file deletion #8366
- Switch to murmurhash3 to route documents to shards. #7954
- Resiliency: Throw exception if the JVM will corrupt data. #7580
- Remove deprecated gateways #5520 (issue: #5422)
- Discovery
- Engine
-
- Remove full flush / FlushType.NEW_WRITER #9559
- Exceptions
- Fielddata
-
- Fielddata: Remove soft/resident caches. #7443
- Highlighting
- Index APIs
- Index Templates
- Internal
-
- Flatten SearchService and clean up build-in registration #12807 (issue: #12783)
- Consolidate shard level abstractions #11847
- Bake in TieredMergePolicy #11588
- Remove Translog interface #10988
- Remove InternalNode class and use Node directly #9844
- Remove OperationRouting abstraction #9085
- Drop support for state written pre 0.90 #8850
- Remove some more bwc code #8778
- Remove optional original indices #8777 (issue: #7406)
- Remove runtime version checks #8768
- Remove NoneGateway, NoneGatewayAllocator, & NoneGatewayModule #8537
- Simplify reading / writing from and to BlobContainer #7551
- Refactor guice startup #7289
- Fixed filters execution order and fix potential concurrency issue in filter chains #7023 (issues: #7019, #7021)
- Make transport action name available in TransportAction base class #6860
- Cleanup Rest Response #5612
-
Remove
Releasable
in favor ofCloseable
[ISSUE] #5423
- Java API
-
- Java api: remove execution from TermsQueryBuilder as it has no effect #12884
- Enhancement/terms lookup fixes #12870
- Centralize admin implementations and action execution #10955
- Automatically thread client based action listeners #10940
- Remove redundant BytesQueryBuilder in favour of using WrapperQueryBuilder internally #10919
- Aggregations: Clean up response API for Aggregations #9221
- QueryBuilders cleanup (add and deprecate) #8667 (issue: #8721)
- Remove operationThreaded setter from ExplainRequestBuilder #7186
- Remove unnecessary intermediate interfaces #6517 (issue: #4355)
- Unify IndicesOptions constants #6068 (issue: #6059)
- Remove operation threading from broadcast actions #6044
- Remove search operation threading option #6042
- Make Create/Update/Delete classes less mutable #5939 (issue: #5917)
- Logging
-
- Truncate log messages at 10,000 characters by default #11050
- Mapping
-
- Disallow type names to start with dots for new indices except for .percolator #12561 (issue: #12560)
- Remove ability to configure _index #12356 (issues: #12027, #12329)
- Enforce field names do not contain dot #12068
- Restrict fields with the same name in different types to have the same core settings #11812 (issue: #8871)
-
Lockdown
_timestamp
field #11794 (issues: #6730, #8143) -
Remove the
compress
/compress_threshold
options of the BinaryFieldMapper #11280 -
Remove ability to set the value of meta fields inside
_source
#11074 (issue: #11051) - Remove file based default mappings #10870 (issue: #10620)
- Validate dynamic mappings updates on the master node. #10634 (issues: #8650, #8688)
- Remove delete mapping API #10231 (issue: #8877)
-
Lock down
_ttl
field #9914 (issue: #8143) -
Lock down
_size
field #9913 (issue: #8143) -
Lock down
_field_names
field #9912 (issue: #8143) -
Remove
_boost
field #9897 (issue: #8875) -
Lock down
_routing
field #9895 (issue: #8143) -
Lock down
_index
field #9870 (issue: #8143) -
Lock down
_type
field #9869 (issue: #8143) -
Lock down
_id
field #9842 (issue: #8143) -
Lock down
_uid
field #9836 (issue: #8143) - Remove the ability to have custom per-field postings and doc values formats. #9741 (issue: #8746)
-
Remove support for new indexes using
path
setting in object/nested fields orindex_name
in any field #9570 (issue: #6677) - Remove type prefix support from field names in queries #9492 (issue: #8872)
-
Remove
index_analyzer
setting to simplify analyzer logic #9451 (issue: #9371) - Remove type level default analyzers #9430 (issues: #8874, #9365)
-
Remove
_analyzer
field #9381 (issue: #9279) - Remove fieldSearchAnalyzer and fieldSearchQuoteAnalyzer from MapperService. #9262
-
Remove
allow_type_wrapper
setting #9185 - Add doc values support to boolean fields. #7961 (issues: #4678, #7851)
-
Remove unsupported
postings_format
/doc_values_format
#7604 (issues: #7238, #7566) - Mappings: Update mapping on master in async manner #6648
- The binary field shouldn’t be stored by default, because it is already available in the _source #4957
- More Like This
- NOT CLASSIFIED
-
- Rivers removal. #11568
- Network
- Packaging
- Parent/Child
- Plugins
-
- Simplify Plugin API for constructing modules #12952
- Use name from plugin descriptor file to determine plugin name #12775 (issue: #12715)
- make java.version mandatory for jvm plugins #12424
- Adapt pluginmanager to the new world #12408
- Refactor pluginservice #12367 (issue: #11917)
- CLITool: Port PluginManager to use CLITool #12290
- One single (global) way to register custom query parsers #11481
- Don’t overwrite plugin configuration when removing/upgrading plugins #7890 (issue: #5064)
- Query DSL
-
- Don’t allow fuzziness specified as a % and require edits [0,2] instead #12229 (issue: #10638)
- Remove filter parsers. #10985
-
Deprecate the
limit
filter. #10532 -
Remove
fuzzy_like_this
query #10391 - Function Score: Refactor RandomScoreFunction to be consistent, and return values in range [0.0, 1.0] #7446 (issue: #6907)
-
Remove
numeric_range
filter #7242 (issues: #4034, #7108) -
Remove
custom_score
andcustom_boost_factor
queries #5076
- REST
-
-
Cluster state: return
routing_nodes
only when requested through specific flag #10486 (issue: #10412) - Remove jsonp support and associated tests #9242 (issue: #9108)
-
Remove
status
code from main action/
#8865 - Add all meta fields to the top level json document in search response #8131
- Security: Disable JSONP by default #6795
- Removed Index Status API #6062 (issue: #4854)
-
Cluster state: return
- Recovery
- Scripting
-
- Remove deprecated script APIs #11619
- Add script type and script name to error messages #11449 (issue: #6653)
- Added a new script construct #10649
- Remove deprecated methods from ScriptService #10476
-
Remove support for
script.disable_dynamic
setting #10286 (issue: #10116) - Cleanup ScriptService & friends in preparation for #6418 #9992 (issue: #6418)
- Removed deprecated script parameter names #9815
- Disable dynamic Groovy scripting by marking Groovy as not sandboxed [ISSUE] #9655
- Created a parameter parser to standardise script options #7977
-
Script with
_score
: remove dependency of DocLookup and scorer #7819 (issues: #7043, #7487) - Remove MVEL as a built-in scripting language #6610
- Switch to Groovy as the default scripting language #6571 (issue: #6233)
- Disable dynamic scripting by default #5943 (issue: #5853)
- Search
-
- Cut over to the Lucene filter cache #10897
- Remove terms filter lookup cache. #9056
- Fix script fields to be returned as a multivalued field when they produce a list #8592 (issue: #3015)
- Remove partial fields #8133
- Only return aggregations on the first page with scroll and forbidden with scan #7497 (issue: #1642)
- Settings
-
- Do not permit multiple settings files #13043 (issue: #13042)
- change CORS allow origin default to allow no origins #11890 (issue: #11169)
- Require units for time and byte-sized settings, take 2 #11437 (issues: #10888, #7616, #7633)
-
Remove
mapping.date.round_ceil
setting for date math parsing #8889 (issues: #8556, #8598) -
Add a
index.query.parse.allow_unmapped_fields
setting that fails if queries refer to unmapped fields. #6928 (issue: #6664) - Change default filter cache to 10% and circuit breaker to 60% #5990
- Shadow Replicas
- Snapshot/Restore
-
- Url repository should respect repo.path for file urls #11687
- Fix FSRepository location configuration #11157 (issues: #10828, #11068)
-
Remove obsolete
expand_wildcards_open
andexpand_wildcards_close
options #10744 (issues: #10743, #6097) - Automatic verification of all files that are being snapshotted with Snapshot/Restore #7159 (issue: #5593)
- Add Partial snapshot state #5793 (issue: #5792)
- Stats
-
- Remove network stats & info #12054
- Update fs stats #12053
- Update OS stats #12049
- Update process stats #12043
- Remove sigar completely #12010
- Replacing sigar #11995 (issue: #11034)
-
Removed
id_cache
from stats and cat apis. #11183 (issue: #5269) - Cleanup JVM info and stats #10553
-
Add human readable
start_time
andrefresh_interval
#5544 (issue: #5280) - Migrating NodesInfo API to use plugins instead of singular plugin #5072
- Store
- Term Vectors
-
- More consistent naming for term vector[s] #8484
Deprecations
edit- Fielddata
-
- Remove non-default fielddata formats. #11669
- Geo
- NOT CLASSIFIED
- Settings
New features
edit- Aggregations
-
- Add HDRHistogram as an option in percentiles and percentile_ranks aggregations #12362 (issue: #8324)
- Aggregations: Adds other bucket to filters aggregation #11948 (issue: #11289)
- Aggregations: Pipeline Aggregation to filter buckets based on a script #11941
- Adds cumulative sum aggregation #11825
- Allow users to perform simple arithmetic operations on histogram aggregations #11601 (issue: #11029)
- Aggregations: add serial differencing pipeline aggregation #11196 (issue: #10190)
- Add Holt-Winters to moving_avg aggregation #11043
- Make it possible to configure missing values. #11042 (issue: #5324)
- Adding Sum Bucket Aggregation #11013 (issue: #11007)
- Adding Average Bucket Aggregation #11010 (issue: #11006)
- min_bucket aggregation #10900 (issue: #9999)
- Pipeline aggregations: Ability to perform computations on aggregations #10568 (issues: #10000, #10002, #9293, #9876)
- Sampler aggregation #10221 (issue: #8108)
-
PercentageScore
heuristic for significant_terms #9747 (issue: #9720) - Return the sum of the doc counts of other buckets in terms aggregations. #8213
- Significant terms: add scriptable significance heuristic #7850
- Scriptable Metrics Aggregation #7075 (issue: #5923)
- Added pre and post offset to histogram aggregation #6980 (issue: #6605)
- Added Filters aggregation #6974 (issues: #6118, #6119)
- Add children aggregation #6936
- Significant Terms: Add google normalized distance and chi square #6858
- Infrastructure for changing easily the significance terms heuristic #6561
- Added percentile rank aggregation #6432 (issue: #6386)
- Deferred aggregations prevent combinatorial explosion #6128
- Support bounding box aggregation on geo_shape/geo_point data types. [ISSUE] #5634
- Add reverse nested aggregation [ISSUE] #5485
- Cardinality aggregation [ISSUE] #5426
- Percentiles aggregation [ISSUE] #5323
- Significant_terms aggregation #5146
- Add preserve original token option to ASCIIFolding #5115 (issue: #4931)
- Add script support to value_count aggregations. #5007 (issue: #5001)
- Allocation
- Analysis
- CAT API
-
- Add _cat/nodeattrs API #12534 (issue: #8000)
- Add wildcard support for header names #11367 (issue: #10811)
- Show open and closed indices in _cat/indices #7936 (issue: #7907)
- Add /_cat/fielddata to display fielddata usage #6086 (issue: #4593)
- Add _cat/plugins endpoint [ISSUE] #4824
- Add _cat/segments [ISSUE] #4711
- CRUD
- Cache
-
- Query Cache: Support shard level query response caching #7161
- Circuit Breakers
- Core
- Dates
- Index APIs
- Index Templates
- Indexed Scripts/Templates
- Internal
-
- Added an option to add arbitrary headers to the client requests #7127
- Java API
- Logging
- Mapping
- More Like This
- Percolator
-
- Enable percolation of nested documents #5082
- Plugin Delete By Query
-
- Add delete-by-query plugin #11516
- Plugins
- Query DSL
-
-
Query DSL: Add
filter
clauses tobool
queries. #11142 - Add span within/containing queries. #10913
- Add time_zone setting for query_string #8164 (issue: #7880)
-
Add
format
support for date range filter and queries #7821 (issue: #7189) -
Add
min_score
parameter to function score query to only match docs above this threshold #7814 (issue: #6952) - Function score multi values #5940 (issue: #3960)
-
Add the
field_value_factor
function to the function_score query #5519 -
Added
cross_fields
type to multi_match query #5005 (issue: #2959) - Allow for executing queries based on pre-defined templates [ISSUE] #4879
-
Query DSL: Add
- REST
- Recovery
- Scripting
-
- Add Multi-Valued Field Methods to Expressions #11105
- Add support for fine-grained settings #10116 (issues: #10274, #6418)
- Add script engine for Lucene expressions #6819 (issue: #6818)
- Add Groovy as a scripting language, add groovy sandboxing #6233
- Add Groovy as a scripting language, switching default from Mvel → Groovy #6106
- Search
-
- Validate API: provide more verbose explanation #10147 (issues: #1412, #88247)
- Add inner hits to nested and parent/child queries #8153 (issues: #3022, #3152)
- Sorting: Allow _geo_distance to handle many to many geo point distance #7097 (issue: #3926)
- Add search-exists API to check if any matching documents exist for a given query #7026 (issue: #6995)
- Add an option to early terminate document collection when searching/counting #6885 (issue: #6876)
- Sequential rescores [ISSUE] #4748
- Search Templates
- Settings
- Shadow Replicas
- Stats
- Store
- Suggesters
- Term Vectors
- Top Hits
-
- Add top_hits aggregation #6124
- Upgrade API
Enhancements
edit- Aggregations
-
- Make ValueParser.DateMath aware of timezone setting #12886 (issue: #12278)
- Fix setting timezone on default DateTime formatter #12581 (issue: #12531)
- Aggregations: Add better validation of moving_avg model settings #12280
- Aggregations: Adds a new GapPolicy - NONE #11951
- Aggregations: Makes ValueFormat and ValueFormatter never null #11943 (issue: #10594)
-
Add cost minimizer to tune
moving_avg
parameters #11881 - Aggregations: moving_avg model parser should accept any numeric #11778 (issue: #11487)
- Renaming reducers to Pipeline Aggregators #11275
-
Improve
include
/exclude
clause list speed and scalability #11188 (issue: #11176) - Remove pointless term frequency lookups. #11094 (issue: #11093)
- Rename Moving Average models to their "common" names #10964
- Derivative Aggregation x-axis units normalisation #10898
- Added context for significant_terms scoring #10633 (issue: #10613)
- Removed aggregations from ReduceContext #10509
-
Format bucket key_as_string in
date_histogram
according totime_zone
#9744 (issue: #9710) - Refactor aggregations to use lucene5-style collectors. #9544 (issues: #6477, #9098)
-
Add
offset
option to histogram aggregation #9505 (issue: #9417) - Unify histogram implementations #9446
- Internal simplifications. #9097
- Numeric metric aggregations are now formattable #9032 (issue: #6812)
- Adds methods to get to/from as Strings for Range Aggs #9026 (issue: #9003)
-
Made the
nested
,reverse_nested
andchildren
aggs ignore unmapped nested fields or unmapped child / parent types. #8808 (issue: #8760) - Do not sort histogram buckets on shards. #8797
-
Make
size
property parsing inconsistent #8645 (issue: #6061) - Do not take deleted documents into account in aggregations filters. #8540
- Added getProperty method to Aggregations #8421
- Meta data support with each aggregation request/response #8279 (issue: #6465)
- Buckets can now be serialized outside of an Aggregation #8113 (issue: #8110)
- Support for arrays of numeric values in include/exclude clauses #7727 (issue: #7714)
- Add ability to sort on multiple criteria #7662 (issues: #6917, #7588)
- Encapsulate AggregationBuilder name and make getter public #7425
- Merge LongTermsAggregator and DoubleTermsAggregator. #7279
- Remove the logic to optionally sort/dedup values on the fly. #7276
- Make the list of buckets for terms and histogram returned as a java.util.List. #7275
- Stops direct subclassing of InternalNumericMetricsAggregation #7058
- Better JSON output scoping #6985 (issue: #7004)
-
Better heuristic for setting default
shard_size
in terms aggregation #6960 (issue: #6857) - Added an option to show the upper bound of the error for the terms aggregation #6778 (issue: #6696)
- Extend allowed characters in aggregation name [ISSUE] #6702
- Moved BucketsAggregator#docCounts field to IntArray #6529
- GlobalOrdinalsStringTermsAggregator is inefficient for high-cardinality fields [ISSUE] #6518
-
Remove
ordinals
execution hint. #6499 - Delegation of nextReader calls #6477
-
Add
shard_min_doc_count
parameter to terms aggregation #6143 (issues: #5998, #6041) -
Add
shard_min_doc_count
parameter for significant terms similar toshard_size
#6041 -
Add
include
/exclude
support to global ordinals based terms and significant terms aggregations #6000 - Lower the initial sizing of sub aggregations. #5994
- Improve the way sub-aggregations are collected. #5975
- Add global ordinal based implementations for significant terms aggregation #5970
- Use collectExistingBucket() if a bucket already exists #5955
- Significant_terms agg: added option for a backgroundFilter #5944
- Improve terms aggregation to perform the segment ordinal to global ordinal lookup post segment collection #5895
- Remove abstraction in the percentiles aggregation. #5859
- Instantiate facets/aggregations during the QUERY phase. #5821
- Aggregation cleanup #5699
- Aggregations cleanup #5614
-
Refactor common code for unmapped aggregators into
NonCollectingAggregator
. #5528 - Significant_terms agg only creates term frequency cache when necessary #5459 (issue: #5450)
-
Added
extended_bounds
support for date_/histogram aggs #5444 (issue: #5224) - Make aggregations CacheRecycler-free. #5419 (issue: #4929)
- Added support for sorting buckets based on sub aggregation down the current hierarchy #5340 (issue: #5253)
- Terms aggs: only use ordinals on low-cardinality fields by default. #5304 (issue: #5303)
- Rest API needs to be consistent across all multi-bucket aggs [ISSUE] #4926
- cleanup of aggregations api #4894 (issue: #4922)
- Aliases
- Allocation
-
-
Add
expectedShardSize
to ShardRouting and use it in path.data allocation #12947 (issue: #11271) - Make RoutingNodes read-only by default #12690
- Avoid extra reroutes of delayed shards in RoutingService #12678 (issues: #12456, #12515, #12532)
- Reroute shards when a node goes under disk watermarks #12452 (issue: #12422)
- No need to find replica copy when index is created #12435
- Adapt IndicesClusterStateService to use allocation ids #12397 (issues: #12242, #12387)
- Simplify handling of ignored unassigned shards #12339
- Initial Refactor Gateway Allocator #12335
- Use recently added allocation ids for shard started/failed #12299 (issue: #12242)
- Unique allocation id #12242
- Allow shards to be allocated if leftover shard from different index exists #12237 (issue: #10677)
- Simplify assignToNode to only do initializing #12235
- Simplify ShardRouting and centralize move to unassigned #11634
-
When using
recover_on_any_node
on shared filesystem, respect Deciders #11168 - Async fetch of shard started and store during allocation #11101 (issue: #9502)
- Verify shards index UUID when fetching started shards #10200
- Early terminate if the cluster can’t be rebalanced #9162
- Speed-up disk-threshold decider #8803 (issue: #6372)
- DiskThresholdDecider#remain(…) should take shards relocating away into account #8659 (issue: #8538)
- Take percentage watermarks into account for reroute listener #8382 (issues: #8367, #8368)
- Reroute shards automatically when high disk watermark is exceeded #8270 (issue: #8146)
- Add rebalance enabled allocation decider #8190 (issue: #7288)
- Add option to take currently relocating shards' sizes into account #7785 (issues: #6168, #7753)
- Allow primaries that have never been allocated to be allocated if under the low watermark #6209 (issue: #6196)
- Add explanations for all AllocationDeciders #4934 (issues: #2483, #4380)
- Make shard balancing deterministic if weights are identical #4866
-
Add
- Analysis
-
-
Document and test custom analyzer
position_offset_gap
#10934 (issue: #1812) - Expose Latvian analyzer #7542
- Improve Hunspell error messages #6850
- Share numeric date analyzer instances between mappings #6843
- Add missing pre built analysis components #6770
- PatternAnalyzer should use PatternTokenFilter instead [ISSUE] #6717
- More resource efficient analysis wrapping usage #6714
- Add additional Analyzers, Tokenizers, and TokenFilters from Lucene #6693 (issue: #5935)
- Use non analyzed token stream optimization everywhere #6001
- Add support for char filters in the analyze API #5148
-
Document and test custom analyzer
- Bulk
- CAT API
-
- Add scroll stats to cat API #12331 (issue: #12330)
-
Add option to
_cat/indices
to return index creation date #11524 #11688 (issue: #11524) - Add node id to _cat apis #10246 (issue: #10226)
- Mark shadow replicas with s in _cat/shards output #10023 (issue: #9772)
-
Add total index memory in
_cat/indices
#7824 (issue: #7008) - Add file descriptor details to cat/nodes #7655 (issue: #7652)
- Add configured thread pool sizes to _cat/thread_pool [ISSUE] #5366
- Added thread pool cat api #4906 (issue: #4907)
- RestTable.renderValue() doesn’t know about tera and peta [ISSUE] #4871
- Clean up cat headers #4853 (issue: #4852)
- CRUD
- Cache
-
-
Left over from the
query_cache
torequest_cache
rename #12478 - Rename caches. #11893 (issue: #11569)
- Give the filter cache a smaller maximum number of cached filters. #11833
- Remove the query parser cache. #10856
- Don’t use the fixed bitset filter cache for child nested level filters, but the regular filter cache instead #9740 (issue: #8810)
- Use a smaller expected size when serializing query results #9485
- Use correct number of bytes in query cache accounting #9479
- Use a 1024 byte minimum weight for filter cache entries #8304 (issues: #8249, #8268)
- Immediately remove filter cache entries on cache clear #8289 (issue: #8285)
- Add hit and miss count to Query Cache #7355
- Warmer (search) to support query cache #7326
- Add a request level flag to control Query Cache #7167
- Add a periodic cleanup thread for IndexFieldCache caches #7015 (issue: #7010)
-
Left over from the
- Circuit Breakers
-
- Add support for registering custom circuit breaker #8795
- Circuit Breakers: Log if CircuitBreaker is tripping #8050
- Include name of the field that caused a circuit break in the log and exception message #5841 (issue: #5718)
- Increase RamAccountingTermsEnum flush size from 1mb to 5mb #5335
- Add circuit breaker for parent/child id cache #5325 (issue: #5325)
- Add circuit breaker functionality to parent/child id field data cache [ISSUE] #5276
- Cluster
-
- Remove double call to elect primaries #12147
- Rename MetaData.uuid → MetaData.clusterUUID and IndexMetaData.uuid→ IndexMetaData.indexUUID #11914 (issue: #11831)
- Add MetaData.uuid to ClusterState.toXContent #11832
- Remove scheduled routing #11776
- Reset registeredNextDelaySetting on reroute #11759
- Add Unassigned meta data #11653
- Remove deprecated METADATA cluster block level #10779 (issue: #9203)
-
Make
routing_nodes
an independent metric option in cluster state api #10412 (issue: #10352) - Add support for cluster state diffs #10212
- Add METADATA_READ and METADATA_WRITE blocks #9203 (issues: #10521, #10522, #2833, #3703, #5855, #5876, #8102)
- Don’t mark cluster health as timed out if desired state is reached #8683
- Add missing cluster blocks handling for master operations #7763 (issue: #7740)
- Master election should demotes nodes which try to join the cluster for the first time #7558 (issue: #7493)
- Do not use a background thread to disconnect node which are removed from the ClusterState #7543
- Refactored ClusterStateUpdateTask protection against execution on a non master #7511 (issue: #7493)
- Remove unneeded cluster state serialization during cluster join #6949
- Resend failed shard messages when receiving a cluster state still referring to the failed shards #6881
- Send shard exists requests if shard exists locally but is not allocated to the node #6870
- Don’t attempt to start or fail shard if no master node can be found #6841
- Improve handling of failed primary replica handling #6825 (issue: #6808)
- Add local node to cluster state #6811
- During relocation, process pending mapping update in phase 2 #6762 (issue: #6648)
- Improve pending api to include current executing class #6744
- Start Master|Node fault detection pinging immediately during discovery #6706 (issue: #6480)
- Clean shard bulk mapping update to only use type name #6695
-
Ensure
index.version.created
is consistent #6660 - Refactored AckedClusterStateUpdateTask & co. to remove code repetitions in subclasses #6559
- Wait till node is part of cluster state for join process #6480
- Do not use versions to optimize cluster state copying for a first update from a new master #6466
- Improve cluster update settings api #6244
- When sending shard start/failed message due to a cluster state change, use the master indicated in the new state rather than current #6189
- Raise node disconnected even if the transport is stopped #5918
- Moved the updateMappingOnMaster logic into a single place. #5850 (issue: #5798)
- A new ClusterStateStatus to indicate cluster state life cycles #5741
- Optimize multiple cluster state processing on receiving nodes [ISSUE] #5139
- Introduced a new IMMEDIATE priority - higher than URGENT #5098 (issue: #5062)
- Bulk process of shard started/failed should not execute on already processed events [ISSUE] #5061
- Core
-
- Improve jvmcheck error failure #12696
- Use explict flag if index should be created on engine creation #12671
- Move Streams.copyTo(String|Bytes)FromClasspath() into StreamsUtils #12598
- Improve toString on EsThreadPoolExecutor #12535 (issue: #9732)
- Carry over shard exception failure to master node #12263
- Allow IBM J9 2.8+ in version check #11850
- Use System.nanoTime for ThreadPool’s estimated time, since it’s less likely to go backwards #11626
- Cleanup MergeScheduler infrastrucutre #11602
- Reduce shard inactivity timeout to 5m #11479 (issues: #11179, #11336)
- Fail shard if search execution uncovers corruption #11440 (issue: #11419)
-
Acquire IndexWriter’s
write.lock
lock before shard deletion #11127 (issue: #11097) - Ban PathUtils.get (for now, until we fix the two remaining issues) #11069 (issues: #11065, #11068)
- Refactor SSD/FileStore logic out of NodeEnvironment #10755 (issue: #10717)
- Refactor TransportShardReplicationOperationAction #10749 (issue: #10032)
- Make getFileStore a bit more defensive #10696
- Ref count write operations on IndexShard #10610
- Rename START phase into VERIFY_INDEX #10570
- Refresh if many deletes in a row use up too much version map RAM #10312 (issue: #7052)
- Add before/afterIndexShardDelete callbacks to index lifecycle #10173
- Move GatewayShardsState logic into IndexShard #10093
- Don’t rethrow already handled merge exceptions #10083
- NodeEnv should lock all shards for an index #9799
- Retry if shard deletes fail due to IOExceptions #9784
- Only do a single listAll from FileSwitchDir #9666 (issue: #6636)
- Consolidate index / shard deletion in IndicesService #9605
- Increase default xlog flush size from 200mb to 512 mb #9341 (issue: #9265)
- Pass through all exceptions in IndicesLifecycleListeners #9330
- Pass index settings to IndicesLifecycle#beforeIndexCreated and #afterIndexShardClosed #9245
- Delete shard content under lock #9083 (issues: #8608, #9009)
- Remove IndexEngine #8955
- Remove Gateway abstraction #8954
- Use Lucene’s defaults for compound file format #8934 (issue: #8919)
- Remove explicit .cleanUp() on cache clear #8924
- Cleanup LocalGatewayShardsState #8852
- Let Lucene kick off merges normally #8643
- Cut over MetaDataStateFormat to Path API in Gateway #8609
- Ensure shards are deleted under lock on close #8579
- Add before/after indexDeleted callbacks to IndicesLifecycle #8569 (issue: #8551)
- Free pending search contexts if index is closed #8551
- Ban all usage of Future#cancel(true) #8494
- Set bloom default to false even when Directory doesn’t have a codecService #8442
- Introduce shard level locks to prevent concurrent shard modifications #8436
- Observe cluster state on health request #8350
- Remove usage of Directory#fileExists #8233
- Introduce a RefCounted interface and basic impl #8210
- Use 1 instead of 0 as filler version value for nested docs #8145
- Add cluster and index state checksums #8010 (issue: #7586)
- Resiliency: Perform write consistency check just before writing on the primary shard #7873
- Add ActionRunnable support to ThreadPool to simplify async operation on bounded threadpools #7765
- Change the default cache filter impl from FixedBitSet to WAH8DocIdSet #7577 (issues: #6280, #7037)
- Verify checksums on merge #7360
- Change numeric data types to use SORTED_NUMERIC docvalues type #6967
- Disable loading of bloom filters by default #6959 (issues: #6298, #6349)
- Don’t close/reopen IndexWriter when changing RAM buffer size #6856
- Don’t acquire dirtyLock on autoid for create #6584
- Reuse Lucene’s TermsEnum for faster _uid/version lookup during indexing #6298 (issue: #6212)
- Entirely cut over to TopDocs#merge for merging shard docs in the reduce phase #6197
- Don’t use AllTokenStream if no fields were boosted [ISSUE] #6187
- Remove SerialMergeScheduler [ISSUE] #6120
- Throttling incoming indexing when Lucene merges fall behind [ISSUE] #6066
- Use Lucene built-in checksumming [ISSUE] #5924
- Don’t lookup version for auto generated id and create #5917
- Use Lucene’s defaults for CMS settings #5912 (issue: #5882)
- Change default merge throttling to 50MB / sec #5902
- Don’t lookup version for auto generated id and create #5785
- Prevent fsync from creating 0-byte files #5746
- Move to use serial merge schedule by default #5447
- Force merges to not happen when indexing a doc / flush #5319
- Reuse pages more agressively in BigArrays. #5300 (issue: #5299)
- Dates
- Discovery
-
- Wait on incoming joins before electing local node as master #12161
- Don’t join master nodes or accept join requests of old and too new nodes #11972 (issue: #11924)
- Prevent over allocation for multicast ping request #10896
- Unicast Ping should close temporary connections after returning ping results #10849
- Prevent stale master nodes from sharing dated cluster states to nodes that have moved to a different master node #9632
- Publishing timeout to log at WARN and indicate pending nodes #9551
- Concurrent node failures can cause unneeded cluster state publishing #8933 (issue: #8804)
- Client: Only fetch the node info during node sampling #8685
- Don’t wait joinThread when stopping #8359 (issue: #8327)
- Improve handling of multicast binding exceptions #8243 (issue: #8225)
- Simplify discovery node initialization if version is unknown #8055 (issue: #8051)
- Remove MasterFaultDetection.Listener.notListedOnMaster #7995
- Only accept unicast pings once started #7950
- Add a finalize round to multicast pinging #7924
- During discovery, master fault detection should fall back to cluster state thread upon error #7908 (issue: #7834)
- Close ping handler’s executor service properly #7903
- NodesFD: simplify concurrency control to fully rely on a single map #7889
- During discovery, remove any local state and use clusterService.state instead #7834
- Update ZenDiscovery fields via the cluster service update task. #7790
- Give a unique id to each ping response #7769
- UnicastZenPing don’t rename configure host name #7747 (issue: #7719)
- Node join requests should be handled at lower priority than master election #7733
- Not all master election related cluster state update task use Priority.IMMEDIATE #7718
- Accumulated improvements to ZenDiscovery #7493 (issue: #2488)
- UnicastZenPing should also ping last known discoNodes #7336
- With unicast discovery, only disconnect from temporary connected nodes #6966
- During discovery, verify connect when sending a rejoin cluster request #6779
- Have a dedicated join timeout that is higher than ping.timeout for join #6342
- Unicast discovery enhancement #5508
- Engine
-
- Pre sync flush cleanups #11252
- Remove flushNeeded in favor of IW#hasUncommittedChanges() #11225
- Remove the ability to flush without flushing the translog #11193
- Make SearchFactory static class in InternalEngine #11154
- Move back to single EngineConfig #10586 (issue: #10584)
- Remove reflection call to waitForMerges #10102
- Always fail engine on corruption #10092
- Move InternalEngine.segmentStats() into abstract Engine #9728 (issue: #9727)
- Move more methods into abstract Engine #9717
- Move as much as possible into abstract Engine #9678
- Factor out settings updates from Engine #9625
- Close Engine immediately if a tragic event strikes. #9616 (issue: #9517)
- Refactor InternalEngine into abstract Engine and classes #9585
- Remove FlushType and make resources final in InternalEngine #9565
- Remove dirty flag and force boolean for refresh #9484
- Simplify Engine construction and ref counting #9211
- Fold engine into IndexShard #9181
- Don’t acquire Engine’s readLock in segmentsStats #8910 (issue: #8905)
- Remove engine related command classes #8900
- Allow InternalEngine to be stopped and started #8784 (issue: #8720)
- Flush IndexWriter to disk on close and shutdown #7563
- Ensure close is called under lock in the case of an engine failure #5800
- Fail the engine/shard when refresh failed #5633
- Exceptions
-
- Improve startup exceptions (especially file permissions etc) #13050
- Fix formatting of startup/configuration errors #13029
- Add serialization support for InterruptedException #12981
- Include stacktrace in rendered exceptions #12260 (issue: #12239)
- Render structured exceptions in mget / mpercolate #12240
- Add index name to the upgrade exception #12213
- Promote headers to first class citizens on exceptions #12006
- Parameterized exception messages #11981
- Carry on rest status if exceptions are not serializable #11973
- Render strucutred exception in multi search #11849
- Reduce the size of the XContent parsing exception #11642
- Remove ElasticsearchIAE and ElasticsearchISE #10862 (issue: #10794)
- Improve exception handling in transport local execution #10554
- Fix typo when primary is not available to index a document (UnavailableShardsException) #10140
- Change IndexPrimaryShardNotAllocatedException from 409 to 500 #7987 (issue: #7632)
- Nest original exception while creating NoShardAvailableActionException #7757 (issue: #7756)
- Improve exception from Store.failIfCorrupted #7695 (issue: #7596)
- Introduced a new elasticsearch exception family that can hold headers #7269
- Better message for invalid internal transport message format #6916
- Function Score: Add missing whitespace in error message when throwing exception #6155
- Fielddata
-
- Consult field info before fetching field data #12403
- Remove the dependecy on IndexFielddataService from MapperService. #12371
- Enable doc values by default, when appropriate #10209 (issue: #8312)
- Change threshold value of fielddata.filter.frequency.max/min #9522 (issue: #9327)
- Fielddata: Remove custom comparators and use Lucene’s instead #6981 (issue: #5980)
- Switch fielddata to use Lucene doc values APIs. #6908
- Make BytesValues.WithOrdinals more similar to Lucene’s SortedSetDocValues #6524
- Don’t expose hashes in Fielddata anymore. #6500
- Add a dedicated field data type for the _index field mapper. #6073 (issue: #5848)
- Provide meaningful error message if field has no fielddata type #5979 (issue: #5930)
- Use segment ordinals as global ordinals if possible #5873 (issue: #5854)
- Make use of global ordinals in parent/child queries #5846
- Added a AppendingDeltaPackedLongBuffer-based storage format to single value field data #5706
- Remove AtomicFieldData.isValuesOrdered. #5688
- Add global ordinals #5672
- Moved the decision to load p/c fielddata eagerly to a better place. #5569
- Geo
-
- Update ShapeBuilder and GeoPolygonQueryParser to accept non-closed GeoJSON #11161 (issue: #11131)
- Remove local Lucene Spatial package #10966
- Add merge conflicts to GeoShapeFieldMapper #10533 (issues: #10513, #10514)
- Coordinates can contain more than two elements (x,y) in GeoJSON parser. #9542 (issue: #9540)
- Revert "[GEO] Update GeoPolygonFilter to handle ambiguous polygons" #9463 (issues: #5968, #9304, #9339, #9462)
- Update GeoPolygonFilter to handle polygons crossing the dateline #9339 (issues: #5968, #8672, #9304)
- GeoPolygonFilter not properly handling dateline and pole crossing #9171 (issue: #5968)
- Removing unnecessary orientation enumerators #9036 (issues: #8978, #9035)
- Add optional left/right parameter to GeoJSON #8978 (issue: #8764)
- Feature/Fix for OGC compliant polygons failing with ambiguity #8762 (issue: #8672)
- Fixes BoundingBox across complete longitudinal range #7340 (issue: #5218)
- Adds support for GeoJSON GeometryCollection #7123 (issue: #2796)
- Added caching support to geohash_filter #6478
- Allow to parse lat/lon as strings and coerce them #5626
- Improve error detection in geo_filter parsing #5371 (issue: #5370)
- Improve geo distance accuracy [ISSUE] #5192
- Add support for distances in nautical miles #5088 (issue: #5085)
- Highlighting
- Index APIs
-
- Show human readable Elasticsearch version that created index and date when index was created #11509 (issue: #11484)
- Add check to MetaData#concreteIndices to prevent NPE #10342 (issue: #10339)
- Set maximum index name length to 255 bytes #8158 (issue: #8079)
-
Add
wait_if_ongoing
option to _flush requests #6996 - Unified MetaData#concreteIndices methods into a single method that accepts indices (or aliases) and indices options #6169
- Fix detection of unsupported fields with validate API #5782 (issue: #5685)
- Index Templates
- Indexed Scripts/Templates
-
- Indexed scripts/templates: return response body when script is not found #10396 (issue: #7325)
- Make sure headers are handed over to internal requests and streamline versioning support #7569
- Use preference("_local") on get calls. #7477
- Indexed Scripts/Templates: Return error message on 404 #7335 (issue: #7325)
- Inner Hits
- Internal
-
- Cleanup bootstrap package. #13053 (issue: #13044)
- Drop commons-lang dependency #12972
- Flatten IndicesModule and add tests #12921 (issue: #12783)
- Flatten ClusterModule and add more tests #12916 (issue: #12783)
- Allow a plugin to supply its own query cache implementation #12881
- Remove Environment.resolveConfig #12872
- Remove ClassLoader from Settings #12868
- Transport: allow to de-serialize arbitrary objects given their name #12571
- Add RealtimeRequest marker interface to group realtime operations together #12537
- Forbid Files.isHidden. #12484 (issue: #12465)
- Remove unused QueryParseContext argument in MappedFieldType#rangeQuery() #12417
- Simplify Replica Allocator #12401
- Replace primaryPostAllocated flag and use UnassignedInfo #12374
- Add the ability to wrap an index searcher. #12364
- Cleanup TransportSingleShardAction and TransportInstanceSingleOperationAction #12361
- Remove TransportSingleCustomOperationAction in favour of TransportSingleShardAction #12350
- updated the elasticsearch versioning format #12210
- Cleanup the data structures used in MetaData class for alias and index lookups #12202
- Make 2.0.0.beta1-SNAPSHOT the current version. #12151 (issue: #12148)
- Remove mapper references from Engines #12130
- Cleanup ShardRoutingState uses and hide implementation details of ClusterInfo #12126
- Consolidate ShardRouting construction #12125
- Change JarHell to operate on Path instead of URL #12109
- Refactor MetaData to split off the concrete index name logic to a dedicated service #12058
- really ban exitVM with security policy #11982
- Cut over to writeable for TransportAddress #11949
- Internal: make sure ParseField is always used in combination with parse flags #11859
- Remove XContentParser.map[Ordered]AndClose(). #11846
- Remove reroute with no reassign #11804
- Use abstract runnable in scheduled ping #11795
- Mark store as corrupted instead of deleting state file on engine failure #11769
- Add DateTime ctors without timezone to forbidden APIs #11743
- Fold ShardGetService creation away from Guice into IndexShard #11606
- Create ShardSuggestService/Metrics manually outside of guice #11605
- Minimize the usage of guava classes in interfaces, return types, arguments #11501
- Make CompressedXContent.equals fast again. #11428 (issue: #11247)
- Consolidate shard level modules without logic into IndexShardModule #11416
- Serialization: Remove old version checks #11397
- Catch UnsatisfiedLinkError on JNA load #11385
- Deduplicate field names returned by simpleMatchToFullName & simpleMatchToIndexNames in FieldMappersLookup #11377 (issue: #10916)
- Rename TransportShardReplicationOperationAction to TransportReplicationAction #11332
- Absorb ImmutableSettings into Settings #11321 (issue: #7633)
- Make some sec mgr / bootup classes package private and final. #11312
- Tighten up our compression framework. #11279
- Uid#createTypeUids to accept a collection of ids rather than a list #11263
- Remove need for generics in ContextAndHeaderHolder #11222
- Remove dependency on hppc:esoteric. #11144
- Improve path mgmt on init, better error messages, symlink support #11106
- Ensure JNA is fully loaded when its available, but don’t fail its not #10989
- Transport: read/writeGenericValue to support BytesRef #10878
- Remove Preconditions class #10873
- Remove index/indices replication infra code #10861
- Wait forever (or one day) for indices to close #10833 (issue: #10680)
- Reduce code duplication in TransportIndexAction/TransportShardBulkAction. #10819
-
Don’t create a new BigArrays instance for every call of
withCircuitBreaking
#10800 (issue: #10798) - Change BigArrays to not extend AbstractComponent #10798
- Use Tuple only as return value in Bootstrap #10784
- CommitStats doesn’t need to allow for null values in commit user data #10774 (issue: #10687)
- Prevent injection of unannotated dynamic settings #10763 (issue: #10614)
- Refactor and cleanup transport request handling #10730
-
Add
fairness
option to KeyedLock. #10703 - Cleanup local code transport execution #10582
- Make APIs work per-segment like Lucene’s Collector. #10389
- Transport: shortcut local execution #10350 (issue: #10247)
- Fix string comparisons #10204
- Remove unsafe field in BytesStreamInput #10157
- Make assert less strict to ensure local node is not null #10076
- Use provided cluster state for indices service validations #10014
- Fix Java 8 _ variable warning #10013
- Stop passing default cluster name to cluster state read operations #9888
- Add missing @Override annotations. #9832
- Some more simple fs cleanups. #9827
- Fix errors reported by error-prone #9817
- Remove redundant fs metadata ops. #9807
- Removed Master from names.txt #9698 (issue: #9687)
- Remove XCollector. #9677
- Introduce TimedPrioritizedRunnable base class to all commands that go into InternalClusterService.updateTasksExecutor #9671 (issues: #8077, #9354)
- Search: Reuse Lucene’s MultiCollector. #9549
-
Add
beforeIndexAddedToCluster
callback #9514 - Remove HandlesStreamInput/Output #9486
- Add AliasesRequest interface to mark requests that manage aliases #9460
- ClusterInfoService should wipe local cache upon unknown exceptions #9449
- Fix shard state tranport action names #9440 (issue: #7105)
- Minor hygiene, Removed Redundant inheritance #9427
- Clean up memory reuse a bit. #9272
- Remove includeExisting flag from adding ObjectMapper and FieldMapper listeners #9184
- Reduce the size of the search thread pool. #9165 (issue: #9135)
- Assert that we do not call blocking code from transport threads #9164
- Remove reduced stack size and use JVM default instead #9158 (issue: #9135)
- Remove IndexCloseListener & Store.OnCloseListener #9009 (issues: #8436, #8608)
- Remove circular dependency between IndicesService and IndicesStore #8918
- Remove some Internal* abstractions #8904
- Remove action names bwc layer #8758 (issue: #7105)
- Add File.java to forbidden APIs #8666
- Inverse DocIdSets' heuristic to find out fast DocIdSets. #8380
- Temporarily ban buggy IOUtils methods with forbidden #8375
- Refactor shard recovery from anonymous class to ShardRecoveryHandler #8363
- Make indexQueryParserService available from ParseContext #8252 (issue: #8248)
- Allow to configure custom thread pools #8247
- Expose concurrency_level setting on all caches #8112 (issue: #7836)
- Resiliency: Be more conservative if index.version.created is not set #8018
- Split internal fetch request used within scroll and search #7870 (issues: #6933, #7319, #7856)
- Never send requests after transport service is stopped #7862
- Split internal free context request used after scroll and search #7856 (issues: #6933, #7319)
- Clarify when a shard search request gets created to be only used locally #7855
- Add a listener thread pool #7837
- Remove unused ForceSyncDirectory #7804
- Force execution of delete index requests #7799
- Check if from + size don’t cause overflow and fail with a better error #7778 (issue: #7774)
- Make sure that internally generated percolate request re-uses the original headers and request context #7767
- Make sure that update internal requests share the same original headers and request context #7766
- Make sure that all delete mapping internal requests share the same original headers and context #7736
- Added scrollId/s setters to the different scroll requests/responses #7722
- Make sure that original headers are used when executing search as part of put warmer #7711
- Refactor copy headers mechanism to not require a client factory #7675 (issue: #7594)
- In thread pools, use DirectExecutor instead of deprecated API #7636
- Change LZFCompressedStreamOutput to use buffer recycler when allocating encoder #7613
- Introduced a transient context to the rest request #7610
- Refactor copy headers mechanism in REST API #7594 (issue: #6513)
- Deduplicate useful headers that get copied from REST to transport layer #7590
- Remove DocSetCache. #7582
- Extract a common base class for (Master|Nodes)FaultDetection #7512 (issue: #7493)
- Removing useless methods and method parameters from ObjectMapper.java and TypeParsers.java #7474 (issue: #7271)
- Extended ActionFilter to also enable filtering the response side #7465
- Removed ConcurrentHashMapV8 #7392 (issues: #6400, #7296)
- Move index templates api back to indices category and make put template and create index implement IndicesRequest #7378
- Make sure that multi_search request hands over its context and headers to its corresponding search requests #7374
- Make sure that multi_percolate request hands over its context and headers to its corresponding shard requests #7371
- Clarify XContentParser/Builder interface for binary vs. utf8 values #7367
- Remove CacheRecycler. #7366
- Get request while percolating existing documents to keep around headers and context of the original percolate request #7333
- Auto create index to keep around headers and context of the request that caused it #7331
- Switch to fixed thread pool by default for management threads #7320 (issue: #7318)
- Make sure that all shard level requests hold the original indices #7319
- Refactored TransportMessage context #7303
- Made it possible to disable the main transport handler in TransportShardSingleOperationAction #7285
- Adjusted BroadcastShardOperationResponse subclasses visibility #7255
- Add some @Nullable annotations and fix related compilation warnings. #7251
- Adjusted visibility for BroadcastShardOperationRequest subclasses and their constructors #7235
- Changed every single index operation to not replace the index within the original request #7223
- Adjusted TermVectorRequest serialization to not serialize and de-serialize the index twice #7221
- Refactored TransportSingleCustomOperationAction, subclasses and requests #7214
- Removed needless serialization code from TransportIndexReplicationAction and corresponding request object #7211
- Added transient header support for TransportMessage #7187
- Check for null references that may be returned due to concurrent changes or inconsistent cluster state #7181
- Better categorization for transport actions #7105
- Added a cli infrastructure #7094
- Introduced the notion of a FixedBitSetFilter that guarantees to produce a FixedBitSet #7037 (issue: #7031)
- Remove use of recycled set in filters eviction #7012
- Refactor TransportActions #6989
- Expose the indices names in every action relates to if applicable #6933
- Rename FieldMapper.termsFilter to fieldDataTermsFilter. #6888
- Make XContentBuilder Releasable #6869
- Remove (mostly) unused failure member from ShardSearchFailure. #6861 (issue: #6837)
- Use KeyedLock in IndexFieldDataService #6855
- Cleanup of the transport request/response messages #6834
- Don’t replace indices within ActionRequest and check blocks against concrete indices #6777 (issues: #1, #2)
- Separate parsing implementation from setter in SearchParseElement #6758 (issue: #3602)
- Remove intern calls on FieldMapper#Names for better performance #6747
- Disable explicit GC by default #6637
- Make sure we don’t reuse arrays when sending an error back #6631
- Wrap RateLimiter rather than copy RateLimitedIndexOutput #6625
- Re-shade MVEL as a dependency #6570
- Copy the headers from REST requests to the corresponding TransportRequest(s) #6513 (issue: #6464)
- Better default size for global index → alias map #6504
- Use ConcurrentHashMapV8 for lower memory overhead #6400
- Made base64 decode parsing to detect more errors #6348 (issue: #6334)
- Change the default type of the page recycler to CONCURRENT instead of SOFT_CONCURRENT. #6320
- Some minor cleanups #6210
- Remove SoftReferences from StreamInput/StreamOutput #6208
- Use t-digest as a dependency. #6142
- Add support for Byte and BytesRef to the XContentBuilder #6127
- Remove unused dump infra #6060
- Made it mandatory to specify IndicesOptions when calling MetaData#concreteIndices #6059
- Limit the number of bytes that can be allocated to process requests. #6050
- Fix code typo in FieldSortBuilder.java #5937
- Improved bloom filter hashing #5901
- Field data diet. #5874
- Cleanup FileSystemUtils #5806
- Make writePrimitive*() and readPrimitive*() methods public. #5710
- LongHash add/key not consistent [ISSUE] #5693
- Releasable bytes output + use in transport / translog #5691
- Make Releasable extend AutoCloseable. #5689
-
Replaces usage of
StringBuffer
withStringBuilder
#5606 (issue: #5605) - Internally manipulate the terms execution hint as an enum instead of a String. #5530
- Let ByteArray/BigByteArray.get() indicate whether a byte[] was materialized. #5529
- BytesReference.Helper should never materialize a byte[] array. #5517
- Clean the query parse context after usage #5475
- BytesReference usage to properly work when hasArray is not available #5455
- MulticastChannel returned wrong channel in shared mode #5441
- New class PagedBytesReference: BytesReference over pages #5427 (issue: #5420)
- Rewrite BytesStreamOutput on top of BigArrays/ByteArray. #5331 (issue: #5159)
- Add tracking of allocated arrays. #5264
- Remove thread local recycler #5254
- Recycler: better lifecycle control for pooled instances #5217 (issue: #5214)
- Remove useless URL instantiation #5206
- Variable renamings to reduce unnecessary variable naming diversity #5075
- Add RamUsageEstimator#sizeOf(Object) to forbidden APIs #4975
- Remove redundant version checks in transport serialisation #4731
- Java API
-
- PrefixQueryParser takes a String as value like its Builder #12204 (issue: #12032)
- Fix FuzzyQuery to properly handle Object, number, dates or String. #12020 (issue: #11865)
- Treat path object as a simple value instead of Iterable in XContentBuilder #11903 (issue: #11771)
- IdsQueryBuilder: Allow to add a list in addition to array #11409 (issue: #5089)
- Fix typed parameters in IndexRequestBuilder and CreateIndexRequestBuilder #11382 (issue: #10825)
- Unify SearchResponse and BroadcastOperationResponse code around shards header #11064
- Remove duplicated buildAsBytes and corresponding toString methods #11063
- Remove duplicated consistency level and replication type setters #10188
- Package private getters to become public if there have corresponding public setters #9273
- Add internal liveness action to transport client #8763
- Added utility method #8594
- Enabled overriding the request headers in the clients #8258
- Adding setters or making them public in ActionRequests #8123 (issue: #8122)
- Add indices setter to IndicesRequest interface #7734
- Mark transport client as such when instantiating #7552
- Allow nullable queryBuilder in FilteredQueryBuilder to match rest api #7398 (issue: #7365)
- Some PercolateRequest "setters" allow for method chaining, some don’t [ISSUE] #7294
- Throw IllegalStateException if you try to .addMapping for same type more than once #7243 (issue: #7231)
- XContentBuilder.map(Map) method modified to use a wildcard for value’s type. #7212
- Add suggestRequest to Requests and fix broken javadocs in client #7207 (issue: #7206)
- Add index, type and id to ExplainResponse #7201
- Add a blocking variant of close() method to BulkProcessor #6586 (issues: #4158, #6314)
- Client intermediate interfaces removal follow-up #6563 (issue: #6517)
- TransportClient: Improve logging, fix minor issue #6376
-
flush
method for BulkProcessor class. #5575 (issue: #5570) - Add BoolFilterBuilder#hasClauses to be consitent with BoolQueryBuilder #5476 (issue: #5472)
- Allow iteration over MultiGetRequest#Item instances #5470 (issue: #3061)
- Java API does not have a way to set global highlighting settings [ISSUE] #5281
- Logging
-
- Adds a setting to control source output in indexing slowlog #12806 (issue: #4485)
- Add more debugging information to the Awareness Decider #12490 (issue: #12431)
- Add shadow indicator when using shadow replicas #12399
- Log warn message if leftover shard is detected #11826
- Add -XX:+PrintGCDateStamps when using GC Logs #11735 (issue: #11733)
- ClusterStateObserver should log on trace on timeout #11722
- Better error messages when mlockall fails #11433
- Display low disk watermark to be consistent with documentation #11313 (issue: #10588)
- Add logging for failed TTL purges #11302 (issue: #11019)
- Add index name to log statements when settings update fails #11124
- Add logging of slow cluster state tasks #10907 (issue: #10874)
- Logging: add the ability to specify an alternate logging configuration location #10852 (issues: #2044, #7395)
- Log sending translog operation batches to nodes #10544
- Log only a summary line of filesystem detail for all path.data on node startup #10527 (issue: #10502)
- Add INFO logging saying whether each path.data is on an SSD #10502
- Use static logger name in Engine.java #10497
- Miscellaneous additional logging and cleanups #10376
- Fix logging a RoutingNode object, log an object with a good .toString instead #9863
- Logging: improve logging messages added in #9562 #9603 (issue: #9562)
- Change logging to warning to match pattern #9593
- Add logging around gateway shard allocation #9562
- Added a simple request tracer, logging incoming and outgoing Transport requests #9286
- Log when upgrade API starts and stops #9229 (issue: #9227)
- Reduce apache (cloud-aws) logging when rootLogger is DEBUG #8856
- Log byte and doc size for slow merges #8855 (issue: #8853)
- Separately log file deletions #8662 (issue: #8603)
- Clarify index removal log message #8641
- Add log4j-extras dependency #8464 (issue: #7927)
- Log how long IW.rollback took, and when MockFSDir starts its check index #8388
- Change log level for mpercolate #8306
- Suppress long mapping logging during mapping updates (unless in TRACE) #7949
- Add log4j-extras dependency #7947 (issue: #7927)
- Boostrap: Log startup exception to console if needed and to file as error #6581
- Log script change/add and removal at INFO level #6104
- Include thread name when logging IndexWriter’s infoStream messages #5973
- Tie in IndexWriter’s infoStream output to "lucene.iw" logger with level=TRACE #5934 (issue: #5891)
- Be less verbose logging ClusterInfoUpdateJob failures #5222
- Togglable stacktrace display #5187 (issues: #5102, #5103)
- Add EnhancedPatternLayout to logging.yml options #4991
- Mapping
-
-
Move the
_size
mapper to a plugin. #12582 - Remove index name from mapping parser #12352
- Remove AbstractFieldMapper #12089
- Completely move doc values and fielddata settings to field types #12014
- Move short name access out of field type #11977
- Rename "root" mappers to "metadata" mappers #11962
- Mappings: Remove close() from Mapper #11863
- Move merge simulation of fieldtype settings to fieldtype method #11783 (issue: #8871)
- Hide more fieldType access and cleanup null_value merging #11770 (issue: #11764)
- Replace fieldType access in mappers with getter #11764
- Remove SmartNameObjectMapper #11686
- Add equals/hashcode to fieldtypes #11644
-
Shortcut
exists
andmissing
queries when no types/docs exist #11586 - Remove leftover sugar methods from FieldMapper #11565
- Make index level mapping apis use MappedFieldType #11559
- Move null value handling into MappedFieldType #11544
- Refactor core index/query time properties into FieldType #11422 (issue: #8871)
- Validate parsed document does not have trailing garbage that is invalid json #11414 (issue: #2315)
- Remove generics from FieldMapper #11292
- Cleanup field name handling #11272
- Remove document parse listener #11243
- Remove SmartNameFieldMappers #11216
- Make DocumentMapper.refreshSource() private. #11209
- Make mapping updates atomic wrt document parsing. #11205
-
Remove the
ignore_conflicts
option. #11203 -
Add back support for
enabled
/includes
/excludes
in_source
field #11171 (issue: #11116) - Make FieldNameAnalyzer less lenient. #11141
- Remove mapper listeners #11045
- Remove traverse functions from Mapper #11027
- Consolidate document parsing logic #10802
- Wait for required mappings to be available on the replica before indexing. #10786
- Join MergeResults with MergeContext since they are almost the same #10765
- Restrict murmur3 field type to sane options #10738 (issue: #10465)
- Simplify dynamic mappings updates. #10720 (issue: #10593)
- Simplified mapper lookups #10705 (issue: #8871)
- Remove dead code after previous refactorings #10666 (issue: #8877)
- Same code path for dynamic mappings updates and updates coming from the API. #10593 (issues: #8688, #9364, #9851)
-
Add
enabled
flag for_field_names
to replace disabling throughindex:no
#9893 - Fix field mappers to always pass through index settings #9780
-
Add
ignore_missing
option totimestamp
#9104 (issues: #8882, #9049) - Include currentFieldName into ObjectMapper errors #9020
-
Store
_timestamp
by default. #8139 - Better validation of mapping JSON #7534 (issue: #7205)
- Make lookup structures immutable. #7486
-
Report conflict when merging
_all
field mapping and throw exception when doc_values specified #7377 (issue: #777) - Enforce non-null settings. #7032
- Control whether MapperService docMapper iterator should contain DEFAULT_MAPPING #6793
- Call callback on actual mapping processed #6748
- Improve performance for many new fields introduction in mapping #6707
- Better logic on sending mapping update new type introduction #6669
- Wait for mapping updates during local recovery #6666
- Check if root mapping is actually valid #6093 (issues: #4483, #5864)
- Support empty properties array in mappings #6006 (issue: #5887)
- Update default precision step, modulo tests #5908 (issue: #5905)
- Add lucene LMSimilarity #5701 (issue: #5697)
- Support externalValue() in mappers #4986
- Norms disabling on existing fields [ISSUE] #4813
-
Move the
- More Like This
-
-
Renamed
ignore_like
tounlike
#11117 - Lenient default parameters #9412
- Remove MLT Field Query #8238
- Support for when all fields are deprecated #8067
- Add versatile like parameter #8039
-
Replace
percent_terms_to_match
withminimum_should_match
#7898 - Default to all possible fields for items #7382
- Switch to using the multi-termvectors API #7014
- Fetch text from all possible fields if none are specified #6740
- Ensure selection of best terms is indeed O(n) #6657
- Create only one MLT query per field for all queried items #6404
- Add the ability to specify the analyzer used for each Field #6329
- Added syntax for single item specification. #6311
- Values of a multi-value fields are compared at the same level #6310
-
Replaced
exclude
withinclude
to avoid double negation #6248 -
Allow for both
like_text
anddocs
/ids
to be specified. #6246 - Added the ability to include the queried document for More Like This API. #6067
- Fix behavior on default boost factor for More Like This. #6021
- Added searching for multiple similar documents #5857 (issue: #4075)
-
Renamed
- NOT CLASSIFIED
- Nested Docs
- Network
-
- Don’t print lots of noise on IPv4 only hosts. #13026
- Remove support for address resolving in InetSocketTransportAddress #13020 (issue: #13014)
- Log network configuration at debug level #12979
- Use preferIPv6Addresses for sort order, not preferIPv4Stack #12951
- Make sure messages are fully read even in case of EOS markers. #11768 (issue: #11748)
- Add profile name to TransportChannel #11261 (issue: #10483)
- Default value for socket reuse should not be null #11255
- Make Netty exceptionCaught method protected #10464
- Remove content thread safe from REST layer #10429
- Add getter for channel in NettyTransportChannel #10319
- Schedule transport ping interval #10189
- Return useful error message on potential HTTP connect to Transport port #10108 (issue: #2139)
- Change access modifiers to protected in Netty HTTP Transport #9724
- Add profiles to Netty transport infos #9134
- Support binding on multiple host/port pairs #8098
- Chunk direct buffer usage by networking layer #7811
- Make sure channel closing never happens on i/o thread #7726
- Support "default" for tcpNoDelay and tcpKeepAlive #7136 (issue: #7115)
- Refactoring to make MessageChannelHandler extensible #6915 (issue: #6889)
- Refactoring to make Netty MessageChannelHandler extensible #6889
- Improve large bytes request handling by detecting content composite buffer #6756
- Use loopback when localhost is not resolved #5719
- Packaging
-
- Bats testing: Remove useless systemctl check #12724 (issue: #12682)
- improve sanity of securitymanager file permissions #12609
- Remove Core Lib directory #12485 (issue: #12010)
- Do not kill process on service shutdown #12298 (issue: #11248)
- Improve JVM Arch Detection #12274 (issue: #12256)
- fail plugins on version mismatch #12221
- Allow use of bouncycastle #12102
- Give a better exception when a jar contains same classfile twice. #12093
- Don’t jarhell check system jars #11979
- detect jar hell before installing a plugin #11963 (issue: #11946)
- jar hell check should fail, if jars require higher java version #11936
- Fail startup (and tests) on jar hell #11932 (issue: #11926)
- Load plugins into classpath in bootstrap #11918 (issue: #11917)
- steps to remove dangerous security permissions #11898
- Packaging: Add LICENSE and NOTICE files for all core dependencies #11705 (issues: #10684, #2794)
- Export hostname as environment variable for plugin manager #11399 (issues: #10902, #9474)
- Use our provided JNA library, versus one installed on the system #11163
- Remove unnecessary permissions. #11132
- Tighten up script security more #10999
- Add pid file to Environment #10986
- Bail if ES is run as root #10970
- Remove exitVM permissions #10963
- Remove JNI permissions, improve JNI testing. #10962
- Remove shutdownHooks permission #10953
- Simplify securitymanager init #10936
- Exclude jackson-databind dependency #10924
- Remove reflection permission for sun.management. #10848 (issue: #10553)
- Security manager cleanups #10844
- Add common SystemD file for RPM/DEB package #10725
- Enable securitymanager #10717
- Remove working directory #10672
- Standardization of packages structure and install #10595 (issue: #10330)
- Add properties files to configure startup and installation scripts #10330
- Use direct mapping call in Kernel32Library #9923 (issue: #9802)
- service.bat file should explicitly use the Windows find command. #9532
- CliTool: Add command to warn on permission/owner change #9508
- Export the hostname as environment variable #9474 (issue: #8470)
- Windows: makes elasticsearch.bat more friendly to automated processes #9160 (issue: #8913)
- Shutdown: Add support for Ctrl-Close event on Windows platforms to grace… #8993
- Packaging: Add java7/8 java-package paths to init script #8815 (issue: #7383)
- Check if proc file exists before calling sysctl #8793 (issue: #4978)
- Factor out PID file creation and add tests #8775 (issue: #8771)
- deb: add systemd service config for upcoming Jessie #8765 (issue: #8493)
- bin/elasticsearch: add help, fix endless loop #8729 (issues: #2168, #7104)
- Allow configuration of the GC log file via an environment variable #8479 (issues: #8471, #8479)
- Introduce elasticsearch.in.bat (i.e. es.in for Windows) #8244 (issue: #8237)
- Make .zip and .tar.gz release artifacts contain same files #7578 (issue: #2793)
- Add default oracle jdk 7 (x64) path to JDK_DIRS #7132
- Prevent init script from returning when the service isn’t actually started #6909
- Windows: Modify command window title (windows) #6752 (issue: #6336)
- Remove java-6 directories from debian init script #6350
- Reset locale to C in bin/elasticsearch #6047
- Remove spaces from commented config lines in elasticsearch.yml and logging.yml [ISSUE] #5842
- Use the new command line syntax in the init script #5033
- Startup: Add ES_HOME to ES_INCLUDE search path #4958
- Mark lucene-expression as provided in pom.xml #4861 (issues: #4858, #4859)
- Move systemd files from /etc to /usr/lib #4029
- Parent/Child
-
- Enforce _parent field resolution to be strict #9521 (issue: #9461)
- Reduce memory usage in top children query #8165
-
Adding
min
score mode to parent-child queries #7771 (issue: #7603) -
Support
min_children
andmax_children
onhas_child
query/filter [ISSUE] #6019 - Fix P/C assertions for rewrite reader #5731
- Migrated p/c queries from id cache to field data. #4878 (issue: #4930)
- Percolator
-
- Don’t cache percolator query on loading percolators #12862
-
Change
percolator.getTime
→percolator.time
#11954 - The query parse context should be fetched from the IndexQueryParseService #11929
- Introduce index option named index.percolator.map_unmapped_fields_as_string #9054 (issues: #9025, #9053)
-
Remove
index.percolator.allow_unmapped_fields
setting. #8439 - Percolator should cache index field data instances. #7081 (issue: #6806)
- Reuse IndexFieldData instances between percolator queries #6845 (issue: #6806)
- Add MemoryIndex reuse when percolating doc with nested type #5332
- Plugin Cloud AWS
- Plugin Cloud GCE
-
- Update to GCE API v1-rev71-1.20.0 [ISSUE] #12835
- Plugins
-
- Lucene SPI support for plugins. #13051
- Ensure additionalSettings() do not conflict #12967
- Validate checksums for plugins if available #12888 (issue: #12750)
- Expose zen ElectMasterService as a Discovery extension point #12828
- Introduce a formal ExtensionPoint class to stream line extensions #12826
- Flatten Allocation modules and add back ability to plugin ShardsAllocators #12818 (issue: #12781)
- Apply additional plugin settings only if settings are not explicit #12796
- PluginManager: Do not try other URLs if specific URL was passed #12766
- PluginManager: Fix elastic.co download URLs, add snapshot ones #12641 (issue: #12632)
- Fix plugin script to allow spaces in ES_HOME #12610 (issue: #12504)
- PluginManager: Add Support for basic auth #12445
- Ensure logging configuration is loaded in plugin manager #12081 (issue: #12064)
- Simplify Plugin Manager for official plugins #11805
- Allow security rule for advanced SSL configutation #11751
- Use of default CONF_DIR/CONF_FILE in plugin install #10721 (issues: #10673, #7946)
- Always send current ES version when downloading plugins #10131
- FileSystemUtils: Only create backup copies if files differ #9592
- Add executable flag to every file in bin/ after install #7177
-
Lucene version checker should use
Lucene.parseVersionLenient
#7056 - Introduced pluggable filter chain to be able to filter transport actions execution #6921
- Enables plugins to define default logging configuration for their needs. #6805 (issue: #6802)
-
bin/plugin
tests for missing plugin name when passing--url
#6013 (issues: #5976, #5977) - Check plugin Lucene version #4984
- Serving _site plugins do not pick up on index.html for sub directories #4850 (issue: #4845)
- Add version to plugins #4378 (issues: #2668, #2784)
- Query DSL
-
- Remove attemped (not working) support for array in not query parser #12890
- simple query string: remove (not working) support for alternate formats #12798 (issue: #12794)
- RegexpQueryParser takes a String as value like its Builder #12200 (issue: #11896)
- Expose Lucene’s new TopTermsBlendedFreqScoringRewrite. #12129
- Default fuzzy transpositions to true #12090 (issue: #9278)
-
Special case the
_index
field in queries #12027 (issue: #3316) - Add support for query boost to SimpleQueryStringBuilder. #11696 (issue: #11274)
- Change geo filters into queries #11137
- Make the script filter a query. #11126
-
Function score: Add
default
tofield_value_factor
#10845 (issue: #10841) - Return positions of parse errors found in JSON #10837 (issue: #3303)
- Enable Lucene ranking behaviour for numeric term queries #10790 (issue: #10628)
-
Add support for
minimum_should_match
tosimple_query_string
#9864 (issue: #6449) -
Raise an exception on an array of values being sent as the factor for a
field_value_factor
query #9246 (issue: #7408) - function_score: use query and filter together #8675 (issue: #8638)
- Add option for analyzing wildcard/prefix to simple_query_strinq #8422 (issue: #787)
-
Expose
max_determinized_states
in regexp query, filter #8384 (issue: #8357) - FunctionScore: RandomScoreFunction now accepts long, as well a strings. #8311 (issue: #8267)
- Be stricter parsing ids for ids query #7945 (issue: #7686)
- Function Score: Add optional weight parameter per function #7137 (issue: #6955)
- Add time zone setting for relative date math in range filter/query #7113 (issue: #3729)
-
Add support for the
_name
parameter to thesimple_query_string
query #6979 -
Function score parser should throw exception if both
functions:[]
and singlefunction
given #5995 - Refactor SimpleQueryParser settings into separate Settings class, add "lenient" option #5208 (issue: #5011)
- Throw parsing exception if terms filter or query has more than one field #5137 (issue: #5014)
- Add "locale" parameter to query_string and simple_query_string #5131 (issue: #5128)
-
Add support for
lowercase_expanded_terms
flag to simple_query_string #5126 (issue: #5008) -
Add fuzzy/slop support to
simple_query_string
#4985 -
Range filter no cache behaviour for
now
with rounding #4955 (issues: #4846, #4947) -
Expose
dist
/pre
/post
options for SpanNotQuery #4452
- REST
-
- Suppress rest exceptions by default and log them instead #12991
- Create Snapshot: remove _create from POST path to match PUT #11928 (issue: #11897)
-
Add
rewrite
query parameter to theindices.validate_query
API spec #11580 (issue: #10147) - Unify query_string parameters parsing #11057
- HttpServer: Support relative plugin paths #10975 (issue: #10958)
-
Remove global
source
parameter from individual APIs in REST spec #10863 - Add more utilities for source/body handling in RestAction #10724
- Add option to only return simple exception messages #10117
- Better detection of CBOR #10026 (issue: #7640)
-
Expose
master_timeout
flag onGET _template
&HEAD _template
#9688 -
Add support for multi-index query parameters for
_cluster/state
#9295 (issue: #5229) -
Remove
indices_boost
URL param #9244 (issue: #6281) - Support JSON request body in scroll, clear scroll, and analyze APIs #9076 (issue: #5866)
- Adds parameters to API endpoint cluster put settings specification #8769
-
Added
_shards
header to all write responses. #7994 - Changed the root rest endpoint (/) to use cluster service #7933 (issue: #7899)
- Add the cluster name to the "/" endpoint #7524
- A content decompressor that throws a human readable message when #7241
- Added missing percolate API parameters to the rest spec #7173
- Add REST API spec for /_search_shards endpoint #5907
- Rest layer refactoring phase 2 + recycling in http layer #5708
-
Add
explain
flag support to the reroute API #5027 (issues: #2483, #5169) - Throw exception if an additional field was placed inside the "query" body #4913 (issue: #4895)
- REST API: Consistent get field mapping response #4822 (issue: #4738)
- Rest API: Ensure 503 signals == retry on another node [ISSUE] #4066
- Recovery
-
- Reduce cluster update reroutes with async fetch #11421
- Check if the index can be opened and is not corrupted on state listing #11269 (issue: #11226)
- No need to send mappings to the master node on phase 2. #11207
- Allow to recover into a folder containing a corrupted shard #10558
- Integrate translog recovery into Engine / InternalEngine #10452
- Only cancel recovery when primary completed relocation #10218
- Wipe shard state before switching recovered files live #10179 (issue: #10053)
- Engine: update index buffer size during recovery and allow configuring version map size #10046 (issues: #6363, #6667)
- Unify RecoveryState management to IndexShard and clean up semantics #9902 (issue: #9503)
- Only iterate the files that we recovered from the commit #9761
- Add a timeout to local mapping change check #9575
- Node shut down during the last phase of recovery needlessly fails shard [ISSUE] #9496
- Flush immediately after a remote recovery finishes (unless there are ongoing ones) #9439
- Don’t throttle recovery indexing operations #9396 (issue: #9394)
- Release store lock before blocking on mapping updates #9102
- Ensure shards are identical after recovery #8723
- Be more resilient to partial network partitions #8720
- Throw IndexShardClosedException if shard is closed #8648
- Allow to cancel recovery sources when shards are closed #8555
- Refactor RecoveryTarget state management #8092 (issues: #7315, #7893)
- During recovery, mark last file chunk to fail fast if payload is truncated #7830
- Remove unneeded waits on recovery cancellation #7717
-
Set a default of 5m to
recover_after_time
when any of theexpected*Nodes
is set #6742 - Add a best effort waiting for ongoing recoveries to cancel on close #6741
- Cancel recovery if shard on the target node closes during recovery operation #6645
- RecoveryID should not be a per JVM but per Node #6207
- Before deleting a local unused shard copy, verify we’re connected to the node it’s supposed to be on #6191
- Change default recovery throttling to 50MB / sec #5913
- Fail replica shards locally upon failures #5847 (issue: #5800)
- Scripting
-
-
Allow scripts to expose whether they use the
_score
. #12695 - Add path.scripts directory #12668
- Simplify CacheKey used for scripts #12092
- Allow executable expression scripts for aggregations #11689 (issue: #11596)
- Unify script and template requests across codebase #11164 (issues: #10113, #10810, #11091)
- Minor TimeZone Fix #10994
- Run groovy scripts with no permissions #10969
- Add Field Methods #10890
- Remove groovy sandbox #10480 (issue: #10156)
- Allow plugins to define custom operations that they use scripts for #10419 (issue: #10347)
- Add String to the default whitelisted receivers #9837 (issue: #8866)
-
Make
script.groovy.sandbox.method_blacklist_patch
truly append-only #9473 - Make groovy sandbox method blacklist dynamically additive #9470
- Add explicit error message when script_score script returns NaN #8750 (issue: #2426)
- Add explainable script again #8665 (issues: #7245, #8561)
- Use groovy-x.y.z-indy jar for better scripting performance #8183 (issue: #8182)
- Add GroovyCollections to the sandbox whitelist #7250 (issues: #7088, #7089)
- Make ScoreAccessor utility class publicly available for other script engines #6898 (issue: #6864)
- Remove setNextScore in SearchScript. #6864
- Add a transformer to translate constant BigDecimal to double #6609
- Add Groovy sandboxing for GString-based method invocation #6596
- Fix optional default script loading #6582
- Exposed _uid, _id and _type fields as stored fields (_fields notation) #6406
-
Allow scripts to expose whether they use the
- Search
-
- Split SearchModule.configure() into separate methods #12827
- Only compute scores when necessary with FiltersFunctionScoreQuery. #12707
-
Speed up the
function_score
query when scores are not needed. #12693 - Make fetch sub phases pluggable #12400 (issue: #10729)
- Add _replica and _replica_first as search preference. #12244 (issue: #12222)
- Add global search timeout setting #12211 (issue: #12149)
- Term Query: Be more strict during parsing #12195 (issue: #12184)
- Clean up handling of missing values when merging shard results on the coordinating node. #12127 (issue: #9155)
- Always return metadata in get/search APIs. #11816 (issue: #8068)
-
Search
preference
based on node specification #11464 (issue: #5925) - Do not specialize TermQuery vs. TermsQuery. #11308
- Minor refactor of MultiValueMode removing apply and reduce #11290
- Make FilteredQuery a forbidden API. #11224 (issue: #6511)
- Count api to become a shortcut to the search api #11198 (issues: #9110, #9117)
- Make SCAN faster. #11180
- Remove (dfs_)query_and_fetch from the REST API #10864 (issue: #9606)
- Cut over to IndexSearcher.count. #10674
- Single value numeric queries shouldn’t be handled by NumericRangeQuery #10648 (issue: #10646)
- Query scoring change for single-value queries on numeric fields #10631 (issue: #10628)
- Remove unused normsField from MatchAllQuery #10592
- Replace deprecated filters with equivalent queries. #10531 (issue: #8960)
- Avoid calling DocIdSets.toSafeBits. #9546
-
Merge
search_type=count
andsize=0
. #9296 (issue: #7630) - Parse terms filters on a single term as a term filter. #9014
- Close active search contexts on SearchService#close() #8947 (issue: #8940)
- Surgically removed slow scroll #8780
-
Filter cache: add a
_cache: auto
option and make it the default. #8573 (issue: #8449) - Do not force the post-filter to be loaded into a BitSet. #8488
- Reduce memory usage during fetch source sub phase #8138
-
Don’t let
took
be negative. #7968 - Switch to Lucene QueryRescorer #7707 (issue: #6232)
- Use FixedBitSetFilterCache for delete-by-query #7581 (issue: #7037)
- Speed up string sort with custom missing value #7005
- Wrap filter only once in ApplyAcceptedDocsFilter #6873
- Remove Queries#optimizeQuery - already handled in BooleanQuery #6743
- Improve 404 on missing scroll id #6063 (issue: #6040)
- Return missing (404) if a scroll_id is cleared that no longer exists. #5865 (issue: #5730)
-
Speed up
exists
andmissing
filters on high-cardinality fields [ISSUE] #5659 - Freq terms enum #5597
- Capture and set start time in Delete By Query operations #5540
- Add dedicated /_search/template endpoint for query templates #5353
- Add failures reason to delete by query response #5095 (issue: #5093)
- Use patched version of ReferenceManager to prevent infinite loop in ReferenceManager#acquire() #5043
- Improve scroll search by using IndexSearcher#searchAfter(…) #4968 (issue: #4940)
- Settings
-
- Throw Exception for missing settings file #12833 (issue: #11510)
- Remove lenient store type parsing #12735
-
Add
path.shared_data
#12729 (issues: #11065, #12714) - Add node setting to send SegmentInfos debug output to System.out #11546
- ResourceWatcher: Rename settings to prevent watcher clash #11359 (issues: #11033, #11175)
- Die cwd die #10923 (issue: #10877)
-
Remove
cluster.routing.allocation.balance.primary
#9159 -
Add
http.publish_port
setting to the HTTP module #8807 (issue: #8137) -
Don’t accept a dynamic update to
min_master_nodes
which is larger then current master node count #8321 - Validates bool values in yaml for node settings #8186 (issue: #8097)
- Security: Disable CORS by default #7642 (issue: #7151)
- Store index creation time in index metadata #7218 (issue: #7119)
-
Make
cluster.routing.allocation.allow_rebalance
a dynamic setting #7095 (issue: #7092) - Security: Allow to configure CORS allow-credentials header to work via SSL #7059 (issue: #6380)
-
Allow
index.merge.scheduler.max_thread_count
to be dynamically changed #6925 (issue: #6882) - Security: Support regular expressions for CORS allow-origin to match against #6923 (issues: #5601, #6891)
- Added three frequency levels for resource watching #6896
- Added more utility methods to Settings #6840
- Improve Settings#get lookup for camel case support #6765
- Security: Make JSONP responses optional. #6164
- Allow to change concurrent merge scheduling setting dynamically #6098
-
Trimmed the main
elasticsearch.yml
configuration file #5861 -
Throw error when incorrect setting applied to
auto_expand_replicas
[ISSUE] #5752 -
Add
getAsRatio
to Settings class, allow DiskThresholdDecider to take percentages #5690 - Corrected issue with throttle type setting not respected upon updates #5392
-
Made possible to dynamically update
discovery.zen.publish_timeout
cluster setting #5068 (issue: #5063)
- Shadow Replicas
- Snapshot/Restore
-
- Add support for bulk delete operation in snapshot repository #12587 (issue: #12533)
- Create a directory during repository verification #12323 (issue: #11611)
- Add validation of snapshot FileInfo during parsing #12108
- Add checksum to snapshot metadata files #12002 (issue: #11589)
- Snapshot info should contain version of elasticsearch that created the snapshot #11985 (issue: #11980)
- Extract all shard-level snapshot operation into dedicated SnapshotShardsService #11756
- Add snapshot name validation logic to all snapshot operations #11617
- Change metadata file format #11507
- Add support for applying setting filters when displaying repository settings #11270 (issue: #11265)
- Check that reading indices is allowed before creating their snapshots #11133
-
Don’t throw an exception if repositories are unregistered with
*
#11113 - Improve the error message when attempting to snapshot a closed index #10608 (issue: #10579)
- AbstractBlobContainer.deleteByPrefix() should not list all blobs #10366 (issue: #10344)
- Batching of snapshot state updates #10295
- Expand wildcards in snapshot #9903 (issue: #6097)
- Refactor how restore cleans up files after snapshot was restored #9770
- Add ability to retrieve currently running snapshots #9400 (issues: #7859, #8782, #8887)
- Add support for changing index settings during restore process #9285 (issue: #7887)
- Override write(byte[] b, int off, int len) in FilterOutputStream for better performance #8749 (issue: #8748)
- Allow custom metadata to specify whether or not it should be in a snapshot #7901 (issue: #7900)
- Add repository validation #7680 (issue: #7096)
- Write Snapshots directly to the blobstore stream #7637
- It should be possible to restore an index without restoring its aliases [ISSUE] #6457
- Snapshot/Restore: Add ability to restore partial snapshots #6368 (issue: #5742)
- Switch to shared thread pool for all snapshot repositories #6182 (issue: #6181)
- Improve speed of running snapshot cancelation #5244 (issue: #5242)
- Add ability to get snapshot status for running snapshots #5123 (issue: #4946)
- Add throttling to snaphost and restore operations #4891 (issue: #4855)
- Stats
-
- Refactor, remove _node/network and _node/stats/network. #12922 (issue: #12889)
- Expose ClassloadingMXBean in Node Stats #12764 (issue: #12738)
- Count scans in search stats and add metrics for scrolls #12069 (issue: #9109)
- Field stats: added index_constraint option #11259 (issue: #11187)
- Add CommitStats to supply information about the current commit point #10687
- Add throttle stats to index stats and recovery stats #10097
-
Recovery: add total operations to the
_recovery
API #10042 (issue: #9368) - Add pending tasks count to cluster health #9877
- Hot threads should include timestamp and params #9773
-
Added
verbose
option to segments api, with full ram tree as first additional element per segment #9111 -
Add
ignore_idle_threads
(default: true) to hot threads #8985 (issue: #8908) - Add more fine grained memory stats from Lucene segment reader to index stats #8832
- Add time in index throttle to index stats. #7896 (issue: #7861)
-
Add
segments.index_writer_max_memory
to stats #7440 (issues: #6483, #7438) - Track the number of times the CircuitBreaker has been tripped #6134 (issue: #6130)
- Remove field names in stats url #6054 (issue: #5671)
- Add suggest stats #5563 (issue: #4032)
- Disable RAM usage estimation on Lucene 3.x segments. #5202 (issue: #5201)
- Store
-
- Fall back to reading SegmentInfos from Store if reading from commit fails #11403 (issue: #11361)
- Consolidate directory lock obtain code #11390
- Read segment info from latest commit whenever possible #11361
- Move to one data.path per shard #10461 (issue: #9498)
- Schedule pending delete if index store delete fails #9856
- Improve safety when deleting files from the store #9801
- Add simple cache for StoreStats #9709 (issue: #9683)
- Use Directory#fileLength() less during calculating checksums #9689
- Cache fileLength for fully written files #9683
- Populate metadata.writtenBy for pre 1.3 index files. #9152
- Expose ShardId via LeafReader rather than Directory API #8812
- Synchronize operations that modify file mappings on DistributorDirectory #8408
- Drop pre 0.90 compression BWC #8385
- Use DistributorDirectory only if there are more than one data direcotry #8383
- Cut over MetaDataStateFormat to NIO Path API #8297
- Remove special file handling from DistributorDirectory #8276
- Try to increment store before searcher is acquired #7792
- Fold two hashFile implemenation into one #7720
- Before deleting shard verify that another node holds an active shard instance #6692
-
Make a hybrid directory default using
mmapfs
/niofs
#6636
- Suggesters
- Term Vectors
-
- Only load term statistics if required #11737
- Requests are now timed #9583
- Support for shard level caching of term vectors #8395
- Add support for distributed frequencies #8144
- Add support for realtime term vectors #7846
- Support for custom analyzers in term vectors and MLT query #7801
- Support for artificial documents #7530
- Support for version and version_type #7480
- Return found: false for docs requested between index and refresh #7124 (issue: #7121)
- Adds support for wildcards in selected fields #7061
- Compute term vectors on the fly if not stored in index #6567 (issue: #5184)
- Top Hits
- Translog
-
- Make translog file name parsing strict #11875
- Some smallish translog cleanups #11200
- Add translog checkpoints to prevent translog corruption #11143 (issues: #10933, #11011)
- Make modifying operations durable by default. #11011 (issue: #10933)
- Use buffered translog type also when sync is set to 0 #10993
- Remove useless random translog directory selection #10589
- Handle truncated translog gracefully #9797 (issue: #9699)
- Don’t rename recovery translog in gateway #9719
- Cut over to Path API #8611
- Refactor the Translog.read(Location) method #7780
- Write translog opSize twice #7735
- Remove unused stream #7683
- Clean up translog interface #7564
- Add translog checksums #7232 (issue: #6554)
-
Set default translog
flush_threshold_ops
to unlimited, to flush by byte size by default and not penalize tiny documents #6783 (issue: #6443) -
Use unlimited
flush_threshold_ops
for translog (again) [ISSUE] #6726 - Raise proper failure if not fully reading translog entry #6562
-
Use unlimited
flush_threshold_ops
for translog #5900 - Fix visibility in buffered translog #5609
- Use BytesReference to write to translog files #5463
- Don’t throttle the translog stage of recovery [ISSUE] #4890
- Tribe Node
-
- Index level blocks, index conflict settings #5501
- Upgrade API
Bug fixes
edit- Aggregations
-
- Aggregation: Fix AggregationPath.subPath() to not throw ArrayStoreException #13035
- Throw error if cardinality aggregator has sub aggregations #12989 (issue: #12988)
- Full path validation for pipeline aggregations #12595 (issue: #12360)
- Upgrade HDRHistogram to version 2.1.6. #12554
- Fixes serialization of HDRHistogram in percentiles aggregations #12505
- Fix cidr mask conversion issue for 0.0.0.0/0 and add tests #12005 #12430 (issue: #12005)
- Adds new script API to ValuesSourceMetricsAggregationBuilder #12152
- Aggregations: Makes SKIP Gap Policy work correctly for Bucket Script aggregation #11970
-
moving_avg
forecasts should not include current point #11641 - Allow aggregations_binary to build and parse #11473 (issue: #11457)
- Fix bug where moving_avg prediction keys are appended to previous prediction #11465 (issue: #11454)
- Sibling Pipeline Aggregations can now be nested in SingleBucketAggregations #11380 (issue: #11379)
- Fixed Moving Average prediction to calculate the correct keys #11375 (issue: #11369)
-
Queries with
size:0
break aggregations that need scores #11358 (issue: #11119) - Fix geo bounds aggregation when longitude is 0 #11090 (issue: #11085)
- Fixes Infinite values return from geo_bounds with non-zero bucket-ordinals #10917 (issue: #10804)
- Sampler agg could not be used with Terms agg’s order. #10785 (issue: #10719)
-
Fix
_as_string
output to only show when format specified #10571 (issue: #10284) - Fix multi-level breadth-first aggregations. #10411 (issues: #9544, #9823)
- Be lenient when converting local to utc time in time zone roundings #10031 (issue: #10025)
- Prevent negative intervals in date_histogram #9690 (issue: #9634)
- Make the nested aggregation call sub aggregators with doc IDs in order #9548 (issue: #9547)
- Remove limitation on field access within aggs to the types provided in the search #9487
- Validate the aggregation order on unmapped terms in terms agg. #8952 (issue: #8946)
- Fix date_histogram issues during a timezone DST switch #8655 (issue: #8339)
- Fix geohash grid doc counts computation on multi-valued fields #8574 (issue: #8512)
- Parser throws NullPointerException when Filter aggregation clause is empty #8527 (issue: #8438)
- Fixes scripted metrics aggregation when used as a sub aggregation #8037 (issue: #8036)
- Makes script params consistent with other APIs in scripted_metric #7969
- Significant terms can throw error on index with deleted docs. #7960 (issue: #7951)
- Fixes resize bug in Geo bounds Aggregator #7565 (issue: #7556)
- The nested aggregator should iterate over the child doc ids in ascending order. #7514 (issue: #7505)
- Fixes pre and post offset serialisation for histogram aggs #7313 (issue: #7312)
-
key_as_string
only shown when format specified in terms agg #7160 (issue: #7125) - Fixed value count so it can be used in terms order #7051 (issue: #7050)
- Fix infinite loop in the histogram reduce logic. #7022 (issue: #6965)
- More lenient type parsing in histo/cardinality aggs #6948 (issue: #6893)
- Fixed Histogram key_as_string bug #6830 (issue: #6655)
- Fix JSON response for significant terms #6535
- Fix reducing of range aggregations. #6484 (issue: #6435)
- Fix cardinality aggregation when doc values field is empty #6413
- Fixed conversion of date field values when using multiple date formats #6266 (issue: #6239)
- Fail queries that have two aggregations with the same name. #6258 (issue: #6255)
- Aggregations parsing is too lenient. #5837 (issue: #5827)
- Fix DateHistogramBuilder to use a String pre_offset and post_offset #5587 (issue: #5586)
- DateHistogram.Bucket should return the date key in UTC [ISSUE] #5477
- Fix cardinality memory-usage considerations. #5452
- Allow scripts to return more than 4 values in aggregations. #5416 (issue: #5414)
- Invoke postCollection on aggregation collectors #5387
- Fixed a bug in date_histogram aggregation parsing #5379 (issue: #5375)
- Fix NPE/AIOOBE when building a bucket which has not been collected. #5250 (issue: #5048)
- Changing the sorting for terms aggs, #5237 (issue: #5236)
- Changed the caching of FieldDataSource in aggs to be based on field name… #5205 (issue: #5190)
- date_histogram against empty index results in ArrayIndexOutOfBoundsException [ISSUE] #5179
- Fix BytesRef owning issue in string terms aggregations. #5039 (issue: #5021)
- Fix hashCode values of aggregations' BytesValues. #5006 (issue: #5004)
- Sorting terms agg by sub-aggegation doesn’t respect asc/desc when executing on a single shard [ISSUE] #4951
- Fixed an issue where there are sub aggregations executing on a single shard #4869 (issue: #4843)
- Aliases
- Allocation
-
- Fix messaging about delayed allocation #12515 (issue: #12456)
- ThrottlingAllocationDecider should not counting relocating shards #12409
- Shard Started messages should be matched using an exact match #11999
- Reroute after node join is processed #11960 (issues: #11776, #11923)
- GatewayAllocator: reset rerouting flag after error #11519 (issue: #11421)
- Weight deltas must be absolute deltas #9149 (issue: #9023)
-
Fix handling of
dangling_timeout
set to 0 andauto_import_dangled
true #8257 - Enable ClusterInfoService by default #8206
- Improve handling of failed primary replica handling #6816 (issue: #6808)
- Do not ignore ConnectTransportException for shard replication operations #6813
- Failed shards could be re-assigned to the same nodes if multiple replicas failed at once #5725
- BalancedShardAllocator makes non-deterministic rebalance decisions [ISSUE] #4867
- Analysis
-
- Custom analyzer names and aliases must not start with _ #11303 (issue: #9596)
- Fix tokenizer settings in SynonymTokenFilterFactory #10489
- CharArraySet doesn’t know how to lookup the original string in an ImmutableList. #6238 (issue: #6237)
- Analyze API: Default analyzer accidentally removed stopwords #6043 (issue: #5974)
- Bulk
-
- Fix: Use correct OpType on Failure in BulkItemResponse #12060 (issue: #9821)
- Allow null values in the bulk action/metadata line parameters #11459 (issue: #11458)
- Throw exception if unrecognized parameter in bulk action/metadata line #11331 (issue: #10977)
-
_default_
mapping should be picked up from index template during auto create index from bulk API #10762 (issue: #10609) - Removed duplicate timeout param #10205
- Handle failed request when auto create index is disabled #8163 (issue: #8125)
- Bulk operation can create duplicates on primary relocation #7729
- Cluster block with auto create index bulk action can cause bulk execution to not return #7109 (issue: #7086)
- Do not fail whole request on closed index #6790 (issue: #6410)
- Fix return of wrong request type on failed updates #6646 (issue: #6630)
- Bulk request which try and fail to create multiple indices may never return #6436
- Fix mapping creation on bulk request #5623
- Ensure that index specific failures do not affect whole request #4995 (issue: #4987)
- Failed preparsing does not fail whole bulk request #4781 (issue: #4745)
- CAT API
-
- _cat/nodes: Thread null handling through stats and info #9938 (issue: #6297)
- Fix NullPointerException in cat-recovery API #6190
- _cat/allocation returns -1 as disk.total for clients nodes [ISSUE] #5948
- ElasticsearchIllegalStateException when invoking _cat plugins [ISSUE] #5715
- Node version sometimes empty in _cat/nodes [ISSUE] #5480
- CRUD
-
-
detect_noop
now understandsnull
as a valid value #11210 (issue: #11208) - The parent option on update request should be used for upsert only. #9612 (issue: #4538)
- Don’t throw DAEE on replica for create operation; use IW.updateDocument/s instead #7146 (issue: #7142)
- MultiGet: Fail when using no routing on an alias to an index that requires routing #7145
- Add parameter to GET API for checking if generated fields can be retrieved #6973 (issue: #6676)
- DocumentMissingException is also thrown on update retries #6724 (issue: #6355)
-
- Cache
-
- Store filter cache statistics at the shard level instead of index. #11886
- Don’t use bitset cache for children filters. #10663 (issues: #10629, #10662)
- Remove query-cache serialization optimization. #9500 (issue: #9294)
- Queries are never cached when date math expressions are used (including exact dates) #9269 (issue: #9225)
- Change default eager loading behaviour for nested fields and parent/child in bitset cache #8440
- Don’t eagerly load NestedDocsFilter in bitset filter cache, because it is never used. #8414 (issue: #8394)
- Fixed bitset filter cache leftover in nested filter #8303
- Cleanup non nested filter to not flip the FixedBitSet returned by the wrapped filter. #8232 (issue: #8227)
- Move the child filter over to the fixed bitset cache. #8171
- Circuit Breakers
-
- Make "noop" request breaker a non-dynamic setting #8179
-
Only set
breaker
when stats are retrieved #7721 - Disable circuit breaking for BigArrays #6381 (issue: #6332)
- Percolator doesn’t reduce CircuitBreaker stats in every case. #5588
- Fix possible discrepancy in circuit breaker in parent/child #5526
- Fix issue where circuit breaker was always reset to 80% upon startup #5334
- NullPointerException in RamAccounntingTermsEnum [ISSUE] #5326
- Cluster
-
- Changes in unassigned info and version might not be transferred as part of cluster state diffs #12387
- Rename cluster state uuid to updateId #11862 (issue: #11831)
- ClusterHealth shouldn’t fail with "unexpected failure" if master steps down while waiting for events #11493
- Write state also on data nodes if not master eligible #9952 (issue: #8823)
- GatewayService should register cluster state listener before checking for current state #8789
-
Extend refresh-mapping logic to the
_default_
type #8413 (issue: #4760) - ClusterHealthAPI does not respect waitForEvents when local flag is set #7731
- Use node’s cluster name as a default for an incoming cluster state who misses it #7414 (issue: #7386)
- Use the provided cluster state instead of fetching a new cluster state from cluster service. #7013
- During recovery, only send mapping updates to master if needed #6772 (issue: #6762)
- Check for index blocks against concrete indices on master operations [ISSUE] #6694
- Also send Refresh and Flush actions to relocation targets #6545
- Do not execute cluster state changes if current node is no longer master #6230
- Add cluster name to state #5624 (issue: #5622)
- TransportMasterNodeOperationAction: tighter check for postAdded cluster state change #5548 (issue: #5499)
- Core
-
- Remove Settings.getAsClass #12744 (issues: #12643, #12656)
- ThreadPools: schedule a timeout check after adding command to queue #12319
- Throw LockObtainFailedException exception when we can’t lock index directory #12203
- Only clear open search ctx if the index is delete or closed via API #12199 (issue: #12116)
- Close lock even if we fail to obtain #11412
- Balance new shard allocations more evenly on multiple path.data #11185 (issue: #11122)
- Use System.nanoTime for elapsed time #11058
- Increase default rate limiting for snapshot, restore and recovery to 40 MB/sec #10185 (issue: #6018)
- Also throttle delete by query when merges fall behind #9986
- Promptly cleanup updateTask timeout handler #9621
- Disable auto gen id optimization #9468 (issue: #8788)
- Verify the index state of concrete indices after alias resolution #9057
-
ignore_unavailable
shouldn’t ignore closed indices #9047 (issue: #7153) - Hard wire utf-8 encoding, so unicode filenames work #8847
- Remove unnecessary index removal on index creation #8639
- Remove _state directory if index has been deleted #8610
- Disable bloom filters #8572 (issues: #8564, #8571)
- Return 0 instead of -1 for unknown/non-exposed ramBytesUsed() #8291 (issue: #8239)
- Don’t catch FNF/NSF exception when reading metadata #8207
- Don’t handle FNF exceptions when reading snapshot #8086
- Upgrade to Jackson Smile 2.4.1.1 #7327 (issue: #18)
- Force refresh when versionMap is using too much RAM #6443 (issue: #6378)
- Use XNativeFSLockFactory instead of the buggy Lucene 4.8.1 version [ISSUE] #6424
- Restore shard routing. #6393 (issues: #5562, #6391)
- Don’t report terms as live if all it’s docs are filtered out #6221 (issue: #6211)
- Ensure pending merges are updated on segment flushes #5780 (issue: #5779)
- Dates
-
- Add millisecond parser for dynamic date fields mapped from "yyyy/MM/dd" #12977 (issue: #12873)
- Query string time zone not working #10883 (issue: #10477)
- DateMath: Use time zone when rounding. #9885 (issue: #9814)
-
Resolve
now
in date ranges in percolator and alias filters at search time instead of parse time #8534 (issue: #8474)
- Discovery
-
- Make sure NodeJoinController.ElectionCallback is always called from the update cluster state thread #12372
- ZenDiscovery: #11960 failed to remove eager reroute from node join #12019
- Node receiving a cluster state with a wrong master node should reject and throw an error #9963
- Check index uuid when merging incoming cluster state into the local one #9541 (issue: #9489)
- Only retry join when other node is not (yet) a master #8972
- Removed unnecessary DiscoveryService reference from LocalDiscovery #8415 (issue: #8539)
- Improve the lifecycle management of the join control thread in zen discovery. #8327
- UnicastZenPing - use temporary node ids if can’t resolve node by it’s address #7719
- Transport client: Don’t add listed nodes to connected nodes list in sniff mode #7067 (issues: #6811, #6829, #6894)
- Handle ConnectionTransportException during a Master/Node fault detection ping during Discovery #6686
- Engine
-
- Fix NPE when streaming commit stats #11266
- Sync translog before closing engine #10484
- Fixes InternalIndexShard callback handling of failure #8644 (issue: #5945)
- Add current translog ID to commit meta before closing #8245
-
The
index.fail_on_corruption
setting is not updateable #6941 - Closing an IndexReader on an already relocated / closed shard can cause memory leaks [ISSUE] #5825
- Exceptions
-
- Use StartupError to format all exceptions hitting the console #13041 (issue: #13040)
- Improve console logging on startup exception #12976
- Don’t special-case on ElasticsearchWrapperException in toXContent #12015 (issue: #11994)
- Implement toXContent on ShardOpertionFailureException #11155 (issue: #11017)
- Remove double exception handling that causes false replica failures #10990
- Fixing copy/paste mistake in SearchRequest.extraSource’s exception message #8118 (issue: #8117)
- Turn unexpected exceptions when reading segments into CorruptedIndexException #7693
- Throw better error if invalid scroll id is used #5738 (issue: #5730)
- Fielddata
-
- Reclaim memory from fielddata synchronously when an explicit clear is performed. #11697 (issue: #11695)
- Load fielddata on behalf of scripts. #10997
- Fix iterator over global ordinals. #8627 (issue: #8580)
- Fix FieldDataWeighter generics to accept RamUsage instead of AtomicFieldData #6262 (issue: #6260)
- Eager fielddata loading not working #5557
- Geo
-
- Correct ShapeBuilder coordinate parser to ignore values in 3rd+ dimension #10539 (issue: #10510)
- Fix hole intersection at tangential coordinate #10332 (issue: #9511)
- Fix validate_* merge policy for GeoPointFieldMapper #10165 (issue: #10164)
- Correct bounding box logic for GeometryCollection type #9550 (issue: #9360)
- Throw helpful exception for Polygons with holes outside of shell #9105 (issue: #9071)
- GIS envelope validation #9091 (issues: #2544, #8672, #9067, #9079, #9080)
- Fix for NPE enclosed in SearchParseException for a "geo_shape" filter or query #8785 (issue: #8432)
- Fix for geohash neighbors when geohash length is even. #8529 (issue: #8526)
- Fix geohash grid aggregation on multi-valued fields. #8513 (issue: #8507)
- Fix for ArithmeticException[/ by zero] when parsing a polygon #8475 (issue: #8433)
- Remove unnecessary code from geo distance builder #8338
- Fix IndexedGeoBoundingBoxFilter to not modify the bits of other filters. #8325
- Fix circle radius calculation #7338 (issue: #7301)
- Improved error handling in geo_distance #7272 (issue: #7260)
- Fixes computation of geohash neighbours #7247 (issue: #7226)
- Better error for invalid multipolygon #7190 (issue: #7126)
- Fix geo_shapes which intersect dateline #7188 (issue: #7016)
- Fixes parse error with complex shapes #6976 (issue: #5773)
- Issue with polygons near date line #6282 (issue: #6179)
-
optimize_bbox
for geo_distance filters can cause missing results [ISSUE] #6008 - Add exceptions to GeoPointFieldMapper #5403 (issue: #5390)
- Highlighting
-
- Plain highlighter to use analyzer defined on a document level #6267 (issue: #5497)
- Implement BlendedTermQuery#extractTerms to support highlighing. #5247 (issue: #5246)
- Made SearchContextHighlight.Field class immutable to prevent from unwanted updates #5223 (issue: #5175)
- Highlighting on a wildcard field name causes the wildcard expression to be returned rather than the actual field name [ISSUE] #5221
- Fixed multi term queries support in postings highlighter for non top-level queries #5143 (issues: #4052, #5127)
- Index APIs
-
- Remove expansion of empty index arguments in RoutingTable #10148 (issue: #9081)
- Fix to make GET Index API consistent with docs #9178 (issue: #9148)
- Upsert does not use ttl value #8715 (issue: #3256)
- Fix GET index API always running all features #8392
- Fix optimize behavior with force and flush flags. #7920 (issues: #7886, #7904)
- Fixed validate query parsing issues #6114 (issues: #6111, #6112, #6116)
- Indexed Scripts/Templates
-
- Fix updating templates. #10526 (issue: #10397)
- ScriptService can deadlock entire nodes if script index is recovering #8901
- GetIndexedScript call can deadlock #8266
- Make template params take arrays #8255
- Cleaned up various issues #7787 (issues: #7559, #7560, #7567, #7568, #7647)
-
Change the default
auto_expand
for the.scripts
index to0-all
#7502 -
Fix
.script
index template. #7500
- Inner Hits
-
-
Reset the
ShardTargetType
after serializing inner hits. #12261 - Properly support named queries for both nested and parent child inner hits #11880 (issues: #10661, #10694)
- Fix multi level parent/child bug #11199
- Make sure size=0 works on the inner_hits level. #10388 (issue: #10358)
- Make sure inner hits also works for nested fields defined in object field #10353 (issue: #10334)
- Fix bug where parse error is thrown if a inner filter is used in a nested filter/query. #10309 (issue: #10308)
- Fix nested stored field support. #10235 (issue: #9766)
- Don’t fail if an object is specified as a nested value instead of an array. #9743 (issue: #9723)
- Make sure inner hits defined on has_parent query resolve hits properly #9384
-
Reset the
- Internal
-
- Add plugin modules before (almost all) others #13061 (issue: #12783)
- Workaround JDK bug 8034057 #12970
- Fix concurrency issue in PrioritizedEsThreadPoolExecutor. #12599
- Fix ShardUtils#getElasticsearchDirectoryReader() #12594
- don’t represent site plugins with null anymore #12577
- IndicesStore shouldn’t try to delete index after deleting a shard #12494 (issue: #12487)
- ShardUtils#getElasticsearchLeafReader() should use FilterLeafReader#getDelegate() instead of FilterLeafReader#unwrap #12437
- Fix serialization of IndexFormatTooNewException and IndexFormatTooOldException #12277
- Decode URL.getPath before resolving a real file #11940
- Fix FieldDataTermsFilter.equals. #11835 (issue: #11779)
- Add a null-check for XContentBuilder#field for BigDecimals #11790 (issue: #11699)
- AsyncShardFetch can hang if there are new nodes in cluster state #11615
- Make JNA optional for tests and move classes to bootstrap package #11378 (issue: #11360)
- Transport: remove support for reading/writing list of strings, use arrays instead #11276 (issue: #11056)
- Fix CompressedString.equals. #11233
- ThreadPool: make sure no leaking threads are left behind in case of initialization failure #11061 (issue: #9107)
- Propagate headers & contexts to sub-requests #11060 (issue: #10979)
- Fix NPE in PendingDelete#toString #11032
- Ensure that explanation descriptions are not null on serialization #10689 (issue: #10399)
-
Fix possible NPE in InternalClusterService$NotifyTimeout, the
future
field is set from a different thread #10630 (issue: #3) - Allow ActionListener to be called on the network thread #10573 (issue: #10402)
- Add missing hashCode method to RecoveryState#File #10501
- Don’t try to send a mapping refresh if there is no master #10311 (issue: #10283)
- Fix PageCacheRecycler’s max page size computation. #10087 (issue: #10077)
- Close all resources if doStart fails #9898
- Snapshot status api: make sure headers are handed over to inner nodes request #9409
- Fix equality check of timevalue after serialization #9218
- AdapterActionFuture should not set currentThread().interrupt() #9141 (issue: #9001)
- PlainTransportFuture should not set currentThread().interrupt() #9001
- IndexService - synchronize close to prevent race condition with shard creation #8557
- When corruption strikes, don’t create exceptions with circular references #8331
- In fixed bitset service fix order where the warmer listener is added. #8168 (issue: #8140)
-
Only schedule another refresh if
refresh_interval
is positive #8087 (issue: #8085) - Fix serialization of PendingClusterTask.timeInQueue. #8077
- Dangling indices import ignores aliases #8059
- Fix serialization of short[] arays. #8025 (issue: #7845)
- Make close() synchronized during node shutdown #7885
- Ensure GroupShardsIterator is consistent across requests, to ensure consistent sorting #7698
- Fix ordering of Regex.simpleMatch() parameters #7661 (issue: #7651)
- Unify search context cleanup #7643 (issue: #7625)
-
Use
SEARCH
threadpool for potentially blocking operations #7624 (issue: #7623) - Make network interface iteration order consistent #7494
- Add all unsafe variants of LZF compress library functions to forbidden APIs. #7468 (issue: #8078)
- Wait until engine is started up when acquiring searcher #7456 (issue: #7455)
- Fix discovery.id.seed #7439 (issue: #7437)
- Made original indices optional for broadcast delete and delete by query shard requests #7406
- Force optimize was not passed to shard request #7405 (issue: #7404)
- Fixed a request headers bug in transport client #7302
- Fix explanation streaming #7257
- VerboseProgress(PrintWriter) does not set the writer #7254
- Fix a very rare case of corruption in compression used for internal cluster communication. #7210
- Fix BytesStreamInput(BytesReference) ctor with nonzero offset #7197
- Fix serialization bug in reroute API #7135
- Support parsing lucene minor version strings #7055
- Fix connect concurrency, can cause connection nodes to close #6964
- Drop UnsafeUtils #6963 (issue: #6962)
- When serializing HttpInfo, return null info if service is not started #6906
- Remove indicesLifecycle.Listener from IndexingMemoryController #6892
- Fix possible NPE during shutdown for requests using timeouts #6849
- Prevent NPE if engine is closed while version map is checked #6786
- If the node initialisation fails, make sure the node environment is closed correctly #6715
- IndexingMemoryController should only update buffer settings of fully recovered shards #6667 (issue: #6642)
- Fix possible race condition in checksum name generator #6662
- Allow to serialize negative thread pool sizes #6486 (issues: #5357, #6325)
-
The
ignore_unavailable
option should also ignore indices that are closed #6475 (issue: #6471) - Guava doesn’t explicitly remove entries when clearing the entire cache [ISSUE] #6296
- MetaData#concreteIndices to throw exception with a single index argument if allowNoIndices == false #6137
- Restore read/write visibility in PlainShardsIterator. #6039 (issue: #5561)
- Use TransportBulkAction for internal request from IndicesTTLService #5795 (issue: #5766)
- Take stream position into account when calculating remaining length #5677 (issue: #5667)
- Fix some warnings reported by Findbugs. #5571
- Assorted fixes for bugs in the PagedBytesReference tests #5549
- Fix for zero-sized content throwing off toChannelBuffer(). #5543
- Count latch down if sendsPing throws exception #5440
- Fix yamlBuilder() to return YAML builder instead of SMILE #5186 (issue: #5185)
- Java API
-
- Add missing support for escape to QueryStringQueryBuilder #13016
- Fix PrefixQueryBuilder to support an Object value #12124 (issue: #12032)
- Properly fix the default regex flag to ALL for RegexpQueryParser and Builder #12067 (issue: #11896)
- Java api: add missing support for boost to GeoShapeQueryBuilder and TermsQueryBuilder #11810 (issue: #11744)
- Add missing rewrite parameter to FuzzyQueryBuilder #11139 (issue: #11130)
- Ensure netty I/O thread is not blocked in TransportClient #10644
- toString for SearchRequestBuilder and CountRequestBuilder #9944 (issues: #5555, #5576)
- Added missing module registration in TransportClient for Significant Terms #7852 (issue: #7840)
- Get indexed script shouldn’t allow to set the index [ISSUE] #7553
- Add back string op type to IndexRequest #7387
- Fixed the node retry mechanism which could fail without trying all the connected nodes #6829
- Fix source excludes setting if no includes were provided [ISSUE] #6632
- BulkRequest#add(Iterable) to support UpdateRequests #6551
- Make sure afterBulk is always called in BulkProcessor #6495 (issue: #5038)
- JsonXContentGenerator#writeRawField produces invalid JSON if raw field is the first field in the json object [ISSUE] #5514
- Fix returning incorrect XContentParser #5510
- Enforce query instance checking before it wrapper as a filter #5431
- forceSource highlighting field option doesn’t have any effect when set using the Java API [ISSUE] #5220
- BulkProcessor process every n+1 docs instead of n #4265
- Logging
-
- Use task’s class name if not a TimedPrioritizeRunnable #11610
- Fix potential NPE in new tracer log if request timeout #9994 (issue: #9286)
- Fix example in logging daily rotate configuration #8550 (issue: #8464)
- Fix location information for loggers #8052 (issue: #5130)
- Fixes Logger class for BackgroundIndexer #6781
- Fix format string for DiskThresholdDecider reroute explanation #5749
- Mapping
-
-
Move the
murmur3
field to a plugin and fix defaults. #12931 (issue: #12874) - Fix field type compatiblity check to work when only one previous type exists #12779 (issue: #12753)
-
numeric_resolution
should only apply to dates provided as numbers. #11002 (issue: #10995) - Wait for mappings to be available on the primary before indexing. #10949
-
Fix
_field_names
to not have doc values #10893 (issue: #10892) - Explicitly disallow multi fields from using object or nested fields #10745
- Unneccesary mapping refreshes caused by unordered fielddata settings #10370 (issue: #10318)
- Fixed an equality check in StringFieldMapper. #10359 (issue: #10357)
- Fix doc values representation to always serliaze if explicitly set #10302 (issue: #10297)
-
Fix
_field_names
to be disabled on pre 1.3.0 indexes #10268 (issue: #9893) -
Fix
ignore_malformed
behaviour for ip fields #10112 - Update dynamic fields in mapping on master even if parsing fails for the rest of the doc #9874 (issue: #9851)
-
Throw StrictDynamicMappingException exception if
dynamic:strict
and undeclared field value isnull
#9445 (issue: #9444) -
Using
default:null
for _timestamp field creates a index loss on restart #9233 (issues: #9104, #9223) - Reencode transformed result with same xcontent #8974 (issue: #8959)
- Serialize doc values settings for _timestamp #8967 (issue: #8893)
- Update cluster state with type mapping also for failed indexing request #8692 (issue: #8650)
- Fix conflict when updating mapping with _all disabled #8426 (issues: #7377, #8423)
- Generate dynamic mappings for empty strings. #8329 (issue: #8198)
-
Throw exception if null_value is set to
null
#7978 (issue: #7273) - Posting a mapping with default analyzer fails #7902 (issue: #2716)
- Add explicit error when PUT mapping API is given an empty request body. #7618 (issue: #7536)
-
Enable merging of properties in the
_timestamp
field #7614 (issues: #5772, #6958, #777) -
Fix
index
setting in_boost
field #7557 -
Keep parameters in mapping for
_timestamp
and_size
even if disabled #7475 -
Report conflict when trying to disable
_ttl
#7316 (issues: #7293, #777) - Make sure that multi fields are serialized in a consistent order. #7220 (issue: #7215)
- Fix dynamic mapping of geo_point fields #7175 (issue: #6939)
- Improve IP address validation #7141 (issue: #7131)
-
Fix
copy_to
behavior on nested documents. #7079 (issue: #6701) - Add multi_field support for Mapper externalValue (plugins) #6867 (issue: #5402)
- Fix possibility of losing meta configuration on field mapping update #6550 (issue: #5053)
-
Allow _version to use
disk
as a doc values format. #6523 - Path-based routing doesn’t work with doc values [ISSUE] #5844
- geo_point doesn’t allow null values as of 1.1.0 [ISSUE] #5680
- Check "store" parameter for binary mapper and check "index_name" for all mappers #5585 (issue: #5474)
- Fix dynamic_type in dynamic_template #5564 (issue: #5256)
- Fix include_in_all for multi field #5522 (issue: #5364)
- merge GeoPoint specific mapping properties #5506 (issue: #5505)
-
Merge
null_value
for boolean field and removeinclude_in_all
for boolean field in doc #5503 (issue: #5502) - Geo Point Fieldmapper: Allow distance for geohash precision #5449 (issue: #5448)
- Make sure get field mapping request is executed on node hosting the index #5225 (issue: #5177)
-
Added
fields
support togeo_point
andcompletion
field type #4963
-
Move the
- More Like This
-
- Fix potentially unpositioned enum [ISSUE] #12066
-
Fix
exclude
with artificial documents #8679 - Fixes many misbehaving user parameters #8028 (issue: #2914)
-
Fix
percent_terms_to_match
#7754 -
Remove unused
search_query_hint
parameter #7691 - More Like This API would not take into account size and from in request body #5981
- NOT CLASSIFIED
-
- Rivers might not get started due to missing _meta document [ISSUE] #4864
- Nested Docs
-
- Nested agg needs to reset root doc between segments. #9441 (issues: #9436, #9437)
- Fix handling of multiple buckets being emitted for the same parent doc id in nested aggregation #9346 (issues: #8454, #9317)
- In reverse nested aggregation, fix handling of the same child doc id being processed multiple times. #9345 (issues: #9263, #9346)
- The parent filter of the nested aggregator isn’t resolved correctly all the time #9335 (issue: #9280)
- Change nested agg to execute in doc id order #8454
-
If the
_type
field isn’t indexed nested inner docs must be filtered out. #7410 -
The
nested
aggregator should also resolve and use the parentFilter of the closestreverse_nested
aggregator. #7048 (issue: #6994) - Allow sorting on nested sub generated field #6151 (issue: #6150)
-
A nested
nested
aggregation falls outside of its parentnested
aggregation bounds #5728
- Network
-
- Deduplicate addresses from resolver. #12995
-
Remove usage of
InetAddress#getLocalHost
#12959 - Fix network binding for ipv4/ipv6 #12942 (issues: #12906, #12915)
- Transport: Do not make the buffer skip while a stream is open. #11988
- Transport: fix racing condition in timeout handling #10220 (issue: #10187)
- Netty: Add HTTP pipelining support #8299 (issue: #2665)
- Fix NPE when initializing an accepted socket in NettyTransport. #6144
- Packaging
-
- Fix variable substitution for OS’s using systemd #12909
- Fix rpm -e removing /etc/elasticsearch #12785
- Makes sure all POMs contain a description #12771 (issue: #12550)
- use spaces liberally in integration tests and fix space handling #12710 (issue: #12709)
- rpm and deb create scripts directory #12704 (issue: #12702)
- Fix shaded jar packaging #12589
- Fix Bootstrap to not call System.exit #12586
- elasticsearch (again) adds CWD to classpath [ISSUE] #12580
- jsr166e was left out of shaded jar #12194 (issue: #12193)
- Don’t add CWD to classpath when ES_CLASSPATH isn’t set. #12001 (issue: #12000)
- Fix endless looping if starting fails #11836
- Postrm script should not fail #11678 (issue: #11373)
- Create PID_DIR in init.d script #11674 (issue: #11594)
- Fix missing dependencies for RPM/DEB packages #11664 (issue: #11522)
- Update project.name in bin/elasticsearch script #11348
- Add antlr and asm dependencies #9696
- Added quotes to allow spaces in installation path #8428 (issue: #8441)
- Move forbidden api signature files to dev-tools. #7921 (issue: #7917)
-
Parsing command line args multiple times throws
AlreadySelectedException
#7282 - Don’t remove ancestors on deb removal #7078 (issue: #5770)
- Shade mustache into org.elasticsearch.common package #6193 (issue: #6192)
- Export JAVA_HOME in RPM init script #5434
- Set permission in debian postinst script correctly #5158 (issue: #3820)
- RPMs: Add timeout to shutdown with KILL signal #4721 (issue: #5020)
- Parent/Child
-
- Explicitly disabled the query cache #12955
-
Fix
_parent.type
validation #11436 -
Fix 2 bugs in
children
agg #10263 (issues: #10158, #9544, #9958) - Post collection the children agg should also invoke that phase on its wrapped child aggs. #9291 (issue: #9271)
- Fix concurrency issues of the _parent field data. #9030 (issue: #8396)
- Fixed p/c filters not being able to be used in alias filters. #8649 (issues: #5916, #8628)
- Missing parent routing causes NullPointerException in Bulk API #8506 (issue: #8365)
-
The
children
agg didn’t take deleted document into account #8180 - Check if there is a search context, otherwise throw a query parse exception. #8177 (issue: #8031)
-
has_parent
filter must take parent filter into account when executing the inner query/filter #8020 (issue: #7362) -
A
has_child
or other p/c query wrapped in a query filter may emit wrong results #7685 -
Add support for the field data loading option to the
_parent
field. #7402 (issue: #7394) - If _parent field points to a non existing parent type, then skip the has_parent query/filter #7362 (issue: #7349)
- Disabled parent/child queries in the delete by query api. #5916 (issue: #5828)
- Parse has_child query/filter after child type has been parsed #5838 (issue: #5783)
- Parent / child queries should work with non-default similarities #4979 (issue: #4977)
- Percolator
-
-
Support filtering percolator queries by date using
now
#12215 (issue: #12185) - Fix NPE when percolating a document that has a _parent field configured in its mapping #12214 (issue: #12192)
- Load percolator queries before shard is marked POST_RECOVERY #11799 (issue: #10722)
-
Fail nicely if
nested
query withinner_hits
is used in a percolator query #11793 (issue: #11672) - Prevent PercolateResponse from serializing negative VLong #11138
- Fix wrong use of currentFieldName outside of a parsing loop #10307
- Support encoded body as query string param consistently #9628
- Take filters from aliases into account #9590 (issue: #6241)
- Fixed bug when using multi percolate api with routing #9161 (issue: #6214)
- Pass down the types from the delete mapping request to the delete by query request #7091 (issue: #7087)
- Fix memory leak when percolating with nested documents #6578
- Fix handling of nested documents #6544 (issue: #6540)
- Percolator: Fix assertion in percolation with nested docs #6263
- Add num_of_shards statistic to percolate context #6123 (issue: #6037)
- The percolator needs to take deleted percolator documents into account. #5843 (issue: #5840)
- Propagate percolate mapping changes to cluster state #5776
- Fix highlighting in percolate existing doc api #5108
- Make highlight query also work in the percolate api #5090
-
Percolator response always returns the
matches
key. #4882 (issue: #4881)
-
Support filtering percolator queries by date using
- Plugin Cloud Azure
- Plugin Delete By Query
-
- Fix number of deleted/missing documents in Delete-By-Query #11745
- Plugins
-
- Fix automatically generated URLs for official plugins in PluginManager #12885
- Skip hidden files #12465 (issue: #12433)
- strip elasticsearch- and es- from any plugin name #12160 (issues: #12143, #12158)
- remove elasticsearch- from name of official plugins #12158 (issues: #11805, #12143)
- Fix pluginmanager permissions for bin/ scripts #12157 (issue: #12142)
- Only load a plugin once from the classpath #11301
- Let HTTPS work correctly #10983
- HTTP: Ensure url path expansion only works inside of plugins #10815
- Installation failed when directories are on different file systems #9011 (issue: #8999)
- NPE when plugins dir is inaccessible #8839 (issue: #8837)
- Plugins failed to load since #8666 #8756
- Support usage of ES_JAVA_OPTS in plugin commands #8288
- Fix config path extraction from plugin handle #7935
-
Plugins with only
bin
andconfig
do not install correctly #7154 (issue: #7152) -
bin/plugin
removes itself [ISSUE] #6745 - Removing plugin does not fail when plugin dir is read only #6735 (issue: #6546)
- Fix github download link when using specific version #6321
- Properly quote $JAVA in bin/plugin #5765
- NPE in PluginsService when starting elasticsearch with a wrong user #5196 (issues: #4186, #5195)
- Upgrading analysis plugins fails #5034 (issues: #4936, #5030)
- Query DSL
-
-
Add support for
disable_coord
param toterms
query #12756 (issue: #12755) - Do not track named queries that are null #12691 (issue: #12683)
-
multi_match
query applies boosts too many times. #12294 - QueryString ignores maxDeterminizedStates when creating a WildcardQuery #12269 (issue: #12266)
- Rewrite set twice in WildcardQueryParser [ISSUE] #12207
- Fix RegexpQueryBuilder#maxDeterminizedStates #12083 (issue: #11896)
- CommonTermsQuery fix for ignored coordination factor #11780 (issue: #11730)
-
Fix support for
_name
in some queries #11694 -
Better exception if array passed to
term
query. #11384 (issue: #11246) -
Query DSL: Fix
bool
parsing. #11120 (issue: #10985) - Score value is 0 in _explanation with random_score query [ISSUE] #10742
- Avoid NPE during query parsing #10333
-
Function score: Apply
min_score
to sub query score if no function provided #10326 (issue: #10253) - function_score: undo "Remove explanation of query score from functions" #9826
- Fix wrong error messages in MultiMatchQueryParser #8597
- DateMath: Fix semantics of rounding with inclusive/exclusive ranges. #8556 (issue: #8424)
-
Minor fixes to the
match
query #8352 (issue: #6932) - Make simple_query_string leniency more fine-grained #8162 (issue: #7967)
- Fix NumberFormatException in Simple Query String Query #7876 (issue: #7875)
- Empty bool {} should return match_all #7347 (issue: #7240)
- Function Score: Fix explain distance string #7248
- Function Score: Remove explanation of query score from functions #7245
- Cache range filter on date field by default #7122 (issue: #7114)
- Throw exception if function in function score query is null #6784 (issue: #6292)
- QueryParser can return null from a query #6723 (issue: #6722)
- Fix MatchQueryParser not parsing fuzzy_transpositions #6300
- Range/Term query/filter on dates fail to handle numbers properly #5969
- Fixing questionable PNRG behavior #5613 (issues: #5454, #5578)
- Add slop to prefix phrase query after parsing query string #5438 (issues: #5005, #5437)
- Allow edit distances > 2 on FuzzyLikeThisQuery #5374 (issue: #5292)
- Use FieldMapper to create the low level term queries in CommonTermQuery #5273 (issue: #5258)
- Make exists/missing behave consistently with exists/missing. #5145 (issue: #5142)
- Allow specifying nested fields in simple_query_string #5110 (issue: #5091)
- Added exception to match and multi-match queries if passed an invalid type param #4971 (issue: #4964)
- Filtered query parses _name incorrectly [ISSUE] #4960
-
Never cache a range filter that uses the
now
date expression. #4828 (issue: #4846)
-
Add support for
- Query Refactoring
-
- Query DSL: don’t cache type filter in DocumentMapper #12447
- REST
-
-
Return
408 REQUEST_TIMEOUT
if_cluster/health
times out #12780 -
fielddata_fields
query string parameter was ignored. #11368 (issue: #11025) - Update RestRequest.java #11305
- Render non-elasticsearch exception as root cause #10850 (issue: #10836)
-
Add
fielddata_fields
to the REST spec #9399 (issues: #4492, #9398) - Get field mapping api should honour pretty flag #8806 (issue: #6552)
-
Passing
fielddata_fields
as a non array causes OOM #8203 - Reroute API response didn’t filter metadata #7523 (issue: #7520)
- Allows all options for expand_wildcards parameter #7290 (issue: #7258)
- Added support for empty field arrays in mappings #7271 (issue: #6133)
- Empty HTTP body returned from _recovery API on empty cluster [ISSUE] #5743
- Search template: Put source param into template variable #5598 (issue: #5556)
- Fix possible exception in toCamelCase method #5207
- Source filtering with wildcards broken when given multiple patterns #5133 (issue: #5132)
-
Ignore case when parsing
script_values_sorted|unique
in aggregations. #5010 (issue: #5009) - scroll REST API should support source parameter #4942 (issue: #4941)
- Fix potential NPE when no source and no body #4932 (issues: #4892, #4900, #4901, #4902, #4903, #4924)
- mtermvectors REST API should support source parameter #4910 (issue: #4902)
- percolate REST API should support source parameter #4909 (issue: #4903)
- mpercolate REST API should support source parameter #4908 (issue: #4900)
- msearch REST API should support source parameter #4905 (issue: #4901)
- mget REST API should support source parameter #4893 (issue: #4892)
- Cluster state toXContent serialization only returns needed data #4889 (issue: #4885)
-
Return
- Recovery
-
-
Endless recovery loop with
indices.recovery.file_chunk_size=0Bytes
#12919 - Rethrow exception during recovery finalization even if source is not broken #12667
- Check for incompatible mappings while upgrading old indices #12406 (issue: #11857)
- Fix MapperException detection during translog ops replay #11583 (issue: #11363)
- Fix recovered translog ops stat counting when retrying a batch #11536 (issue: #11363)
- Restart recovery upon mapping changes during translog replay #11363 (issue: #11281)
- Add engine failure on recovery finalization corruption back #11241
- Decrement reference even if IndexShard#postRecovery barfs #11201
- Fail recovery if retry recovery if resetRecovery fails #11149
- Refactor state format to use incremental state IDs #10316
- RecoveryState.File.toXContent reports file length as recovered bytes #10310
- Fail shard when index service/mappings fails to instantiate #10283
- Gateway: improve assertion at the end of shard recovery #10028
- Synchronize RecoveryState.timer methods #9943
- Don’t recover from buggy version #9925 (issues: #7210, #9922)
- Fix deadlock problems when API flush and finish recovery happens concurrently #9648
- Handle corruptions during recovery finalization #9619
- Mapping update task back references already closed index shard #9607
- Update access time of ongoing recoveries #9506 (issue: #8720)
- Cleaner interrupt handling during cancellation #9000
- Harden recovery for old segments #8399
- Prefer recovering the state file that uses the latest format. #8343
- Change check for finished to a ref count check #8271 (issue: #8092)
- RecoveriesCollection.findRecoveryByShard should call recoveryStatus.tryIncRef before accessing fields #8231 (issue: #8092)
- Mapping check during phase2 should be done in cluster state update task #7744
- Don’t update indexShard if it has been removed before #7509
- Increment Store refcount on RecoveryTarget #6844
- Recovery from local gateway should re-introduce new mappings #6659
- Honor time delay when retrying recoveries #6226
- Do not start a recovery process if the primary shard is currently allocated on a node which is not part of the cluster state #6024
-
Endless recovery loop with
- Scripting
-
- Consistently name Groovy scripts with the same content #12296 (issue: #12212)
- Execute Scripting Engine before searching for inner templates in template query #11512
- Allow script language to be null when parsing #10976 (issue: #10926)
- File scripts cache key to include language and prevent conflicts #10033
- Avoid unnecessary utf8 conversion when creating ScriptDocValues for a string field. #9557 (issue: #6908)
- Disallow method pointer expressions in Groovy scripting #9509
- Make _score in groovy scripts comparable #9094 (issue: #8828)
- Function score and optional weight : avg score is wrong #9004 (issue: #8992)
- Return new lists on calls to getValues. #8591 (issue: #8576)
- Add score() back to AbstractSearchScript #8417 (issues: #8377, #8416)
- Clear the GroovyClassLoader cache before compiling #8062 (issues: #7658, #8073)
- Fix NPE in ScriptService when script file with no extension is deleted #7953 (issue: #7689)
- Scripting: Wrap groovy script exceptions in a serializable Exception object #6628 (issue: #6598)
- Remove ScriptDocValues.EMPTY. #5650 (issue: #5646)
- Scroll
- Search
-
- Never cache match_all queries. #13032
- _all: Stop NPE querying _all when it doesn’t exist #12495 (issue: #12439)
- Free all pending search contexts if index is closed or removed #12180 (issue: #12116)
- Release search contexts after failed dfs or query phase for dfs queries #11434 (issue: #11400)
- Don’t truncate TopDocs after rescoring #11342 (issues: #11277, #7707)
- Matched queries: Remove redundant and broken code #10694 (issue: #10661)
- Make sure that named filters/ queries defined in a wrapped query/filters aren’t lost #9166 (issue: #6871)
- Fix paging on strings sorted in ascending order. #9157 (issue: #9136)
- Terms filter lookup caching should cache values, not filters. #9027 (issues: #1, #2)
- Refactor term analysis for simple_query_string prefix queries #8435
- Use ConcurrentHashMap in SCAN search to keep track of the reader states. #7499 (issue: #7478)
-
Make
ignore_unmapped
work for sorting cross-index queries. #7039 (issue: #2255) - Query DSL: Improved explanation for match_phrase_prefix #6767 (issue: #2449)
- The query_string cache should returned cloned Query instances. #6733 (issue: #2542)
- Match query with operator and, cutoff_frequency and stacked tokens #6573
- XFilteredQuery default strategy prefers query first in the deleted docs … #6254 (issue: #6247)
-
limit
filter returns wrong results if deleted document are present [ISSUE] #6234 - Use default forceAnalyzeQueryString if no query builder is present #6217 (issue: #6215)
- Read full message on free context #6148 (issues: #5730, #6147)
- Missing scroll id now returns 404 #6040 (issue: #5729)
- Search might not return on thread pool rejection #6032 (issue: #4887)
- Scroll api reduce phase fails if shard failures occur #6022
- Fix setting of readerGen in BytesRefOrdValComparator on nested documents. #5986
- Improved SearchContext.addReleasable. #5799 (issue: #5703)
- Replace InternalSearchResponse#EMPTY with InternalSearchResponse#empty() #5775
- The clear scroll apis should optionally accepts a scroll_id in the request body. #5734 (issue: #5726)
- Make sure successful operations are correct if second search phase is fast #5713
- Do not propagate errors from onResult to onFailure. #5629
- Fix IndexShardRoutingTable’s shard randomization to not throw out-of-bounds exceptions. #5561 (issue: #5559)
- Convert TermQuery to PrefixQuery if PHRASE_PREFIX is set #5553 (issue: #5551)
- Use patched version of TermsFilter to prevent using wrong cached results #5393 (issue: #5363)
- Fix SearchContext occasionally closed prematurely #5170 (issue: #5165)
- Exposed shard id related to a failure in delete by query #5125 (issue: #5095)
- Fix AndDocIdSet#IteratorBasedIterator to not violate initial doc state #5070 (issue: #5049)
- Search Templates
- Settings
-
- Do not swallow exceptions thrown while parsing settings #13039 (issue: #13028)
- Add explicit check that we have reached the end of the settings stream when parsing settings #12451 (issue: #12382)
- Medium Interval time for ResourceWatcher should be 30 seconds #12423
- Copy the classloader from the original settings when checking for prompts #12419 (issue: #12340)
- Replace references to ImmutableSettings with Settings #11843
- Do not prompt for node name twice #11668 (issue: #11564)
- Always normalize root paths during resolution of paths #11446 (issue: #11426)
- Prevent changing the number of replicas on a closed index #11410 (issue: #9566)
- Read configuration file with .yaml suffix #10909 (issue: #9706)
- Validate number_of_shards/_replicas without index setting prefix #10701 (issue: #10693)
- Fix handling of IndicesOptions in update settings REST API #10030
- Reset TieredMP settings only if the value actually changed #9497 (issue: #8890)
-
cluster.routing.allocation.disk.threshold_enabled
accepts wrong values [ISSUE] #9309 - Ensure fields are overriden and not merged when using arrays #8381 (issue: #6887)
- Tab characters in YAML should throw an exception #8355 (issue: #8259)
-
Dynamic changes to
max_merge_count
are now picked up by index throttling #8136 (issue: #8132) - Validate create index requests' number of primary/replica shards #7496 (issue: #7495)
- LogConfigurator resolveConfig also reads .rpmnew or .bak files #7457
- Fix bug in PropertyPlaceholder and add unit tests #6034
- Shadow Replicas
- Snapshot/Restore
-
- Improve repository verification failure message #11925 (issue: #11922)
- Improve logging of repository verification exceptions. #11763 (issue: #11760)
- Blob store shouldn’t try deleting the write.lock file at the end of the restore process #11517
- Move in-progress snapshot and restore information from custom metadata to custom cluster state part #11486 (issue: #8102)
- Sync up snapshot shard status on a master restart #11450 (issue: #11314)
- Fix cluster state task name for update snapshot task #11197
- Don’t reuse source index UUID on restore #10367
- Separate repository registration #10354 (issue: #10351)
- Automatically add "index." prefix to the settings are changed on restore if the prefix is missing #10269 (issue: #10133)
- Delete operation should ignore finalizing shards on nodes that no longer exist #9981 (issue: #9924)
- Allow deletion of snapshots with corrupted snapshot files #9569 (issue: #9534)
- Better handling of index deletion during snapshot #9418 (issue: #9024)
- Add validation of restored persistent settings #9051 (issue: #8830)
- Improve snapshot creation and deletion performance on repositories with large number of snapshots #8969 (issue: #8958)
- Switch to write once mode for snapshot metadata files #8782 (issue: #8696)
-
Restore with
wait_for_completion:true
should wait for succesfully restored shards to get started #8545 (issue: #8340) - Keep the last legacy checksums file at the end of restore #8358 (issue: #8119)
- Restore of indices that are only partially available in the cluster #8341 (issue: #8224)
- Fix snapshotting of a single closed index #8047 (issue: #8046)
- Make it possible to delete snapshots with missing metadata file #7981 (issue: #7980)
- Make sure indices cannot be renamed into restored aliases #7918 (issue: #7915)
- Allow to get metadata from arbitrary commit points #7376
- Improve recovery / snapshot restoring file identity handling #7351
- Fix NPE in SnapshotsService on node shutdown #7322 (issue: #6506)
- Fail restore if snapshot is corrupted #6938
- Add ability to snapshot replicating primary shards #6139 (issue: #5531)
- Fix for hanging aborted snapshot during node shutdown #5966 (issue: #5958)
- Fix snapshot status with empty repository #5791 (issue: #5790)
- Add retry mechanism to get snapshot method #5411
- Restore of an existing index using rename doesn’t completly open the index after restore [ISSUE] #5212
- Restore process should replace the mapping and settings if index already exists #5211 (issue: #5210)
- Handle "true"/"false" in snapshot api for "include_global_state" #4956 (issue: #4949)
- Stats
-
- Use time with nanosecond resolution calculated at the executing node #12346 (issue: #12345)
- Failure during the fetch phase of scan should invoke the failed fetch… #12087 (issue: #12086)
- Fix wrong reused file bytes in Recovery API reports #11965 (issue: #11876)
- Fix RecoveryState timestamps #11871 (issue: #11870)
- Translog: stats fail to serialize size #10105
- Translog: make sure stats’s op count and size are in sync #10041
- Fix open file descriptors count on Windows #9397 (issue: #1563)
- Relax restrictions on filesystem size reporting in DiskUsage #9283 (issues: #9249, #9260)
- Fix wrong search stats groups in indices API #8950 (issue: #7644)
- Fix Bloom filter ram usage calculation #8584 (issue: #8564)
- Filter indices stats for translog #8263 (issue: #8262)
- Stats: _status with #shards >> queue capacity failing with BroadcastShardOperationFailedException [ISSUE] #7916
-
Update action returns before updating stats for
NONE
operations #7639 - NPE in ShardStats when routing entry is not set yet on IndexShard #7358 (issue: #7356)
- Recovery API should also report ongoing relocation recoveries #6585
- Indices stats options #6390
- Fix recovery percentage > 100% #6138 (issue: #6113)
- Disabled query size estimation in percolator #5372 (issue: #5339)
- Use num of actual threads if busiestThreads is larger #4928 (issue: #4927)
- Store
-
- Ensure we mark store as corrupted if we fail to read the segments info #11230 (issue: #11226)
- Fix NPE when checking for active shards before deletion #11110 (issue: #10172)
- Shard not deleted after relocation if relocated shard is still in post recovery #10172 (issue: #10018)
- Only ack index store deletion on data nodes #9672 (issue: #9605)
- Only fail recovery if files are inconsistent #8779
- Use Lucene checksums if segment version is >= 4.9.0 #8599 (issue: #8587)
- Calculate Alder32 Checksums for legacy files in Store#checkIntegrity #8407
- Add BWC layer to .si / segments_N hashing to identify segments accurately #7436 (issues: #7351, #7434)
- Ignore segments.gen on metadata snapshots #7379
- DistributorDirectory shouldn’t search for directory when reading existing file #7323 (issue: #7306)
- Delete unallocated shards under a cluster state task #6902
- Searcher might not be closed if store hande can’t be obtained #5884
- Suggesters
-
- Prevent DirectCandidateGenerator to reuse an unclosed analyzer #12670
- Ensure empty string completion inputs are not indexed #11158 (issue: #10987)
- Ensure collate option in PhraseSuggester only collates on local shard #11156 (issue: #9377)
- Make GeoContext mapping idempotent #10602 (issues: #10581, #8937)
- Return an HTTP error code when a suggest request failed instead of 200 #10104
- Fix CompletionFieldMapper to correctly parse weight #8197 (issue: #8090)
- Infinite loop in GeolocationContextMapping [ISSUE] #7433
- Bugs with encoding multiple levels of geo precision #7369 (issue: #7368)
- Completion mapping type throws a misleading error on null value #6926 (issue: #6399)
- Tie-break suggestions by term #5978
- Fix Lucene’s getFiniteStrings to not consume Java stack #5927
- Geo context suggester: Require precision in mapping #5647 (issue: #5621)
- ContextSuggester: Adding couple of tests to catch more bugs #5596 (issue: #5525)
- Category type should be called "category" instead of "field" in context suggester #5469
- Two bugfixes for the completion format #4973
- marvel.agent Background thread had an uncaught exception: java.lang.NullPointerException [ISSUE] #4970
- NullPointerException (NPE) in completion suggester requests [ISSUE] #4788
- Term Vectors
- Top Hits
-
-
Protected against
size
andoffset
larger than total number of document in a shard #12518 (issue: #12510) - Inconsistent sorting of top_hits fixed [ISSUE] #7697
- Properly support top_hits aggregation in a nested and reverse_nested aggregations. #7164 (issue: #3022)
-
Make
_source
parsing intop_hits
aggregation consistent with the search api #6997 -
Track scores should be applied properly for
top_hits
aggregation. #6934
-
Protected against
- Translog
-
- Ignore EngineClosedException during translog fysnc #12384
- Don’t convert possibly corrupted bytes to UTF-8 #11911
- Mark translog as upgraded in the engine even if a legacy generation exists #11860 (issue: #11858)
- Fail #snapshot if translog is closed #10809 (issue: #10807)
- Translog leaks filehandles if it’s corrupted or truncated #8372
- Better support for partial buffer reads/writes in translog infrastructure #6576 (issue: #6441)
- Lower the translog flush triggers to workaround #6363 [ISSUE] #6377
- Tribe Node
- Upgrade API
Regressions
edit- CRUD
-
-
Indexing a document fails when setting
version=0
&version_type=external
[ISSUE] #5662
-
Indexing a document fails when setting
- Core
-
- Switch back to ConcurrentMergeScheduler as the default [ISSUE] #5817
- Discovery
- Internal
-
- Restore streamInput() performance over PagedBytesReference. #5589
- Mapping
- Network
-
- Only resolve host if explicitly allowed. #12986
Upgrades
edit- Core
-
- Upgrade to Lucene 5.2.1. #11662
- Upgrade to Lucene 5.2 #11534
- Upgrade Jackson to 2.5.3 #11307
- Upgrade to lucene-5.2.0-snapshot-1681024 #11296
- Upgrade to lucene-5.2.0-snapshot-1680200. #11218
- Upgrade to lucene-5.2.0-snapshot-1678978. #11125
- Upgrade to HPPC 0.7.1 #11035
- Upgrade to lucene-5.2-snapshot-1675363. #10727 (issue: #10728)
- Upgrade to Lucene 5.2 r1675100 #10699
- Upgrade to Lucene-5.2-snapshot-1674183. #10641
- Upgrade to Lucene 5.2 r1673726 #10612
- Upgrade to lucene-5.2.0-snapshot-1673124. #10562
- Update forbiddenapis to version 1.8 #10555
- Upgrade to lucene-5.1.0-snapshot-1671894. #10468
- Update to Lucene 5.1 snapshot r1671277 #10435
- Upgrade to Jackson 2.5.1 #10210
- Upgrade to Jackson 2.5.1 #10134
- Upgrade to lucene r1662607 #9915 (issue: #1)
- Upgrade to Lucene r1660560 #9746
- Upgrade to Lucene snapshot r1656366 #9524 (issue: #8870)
- Upgrade to lucene r1654549 snapshot #9402
- Upgrade to lucene-5.1.0-snapshot-1652032. #9318
- Upgrade to lucene 5 r1650327 #9206
- Upgrade to current Lucene 5.0.0 snapshot #8588
- Upgrade master to lucene 5.0 snapshot #8347
- Upgrade to Jackson 2.4.2 #7934 (issue: #7932)
- Upgrade to Lucene 4.10.1 snapshot #7844 (issue: #7905)
- Upgrade Guava to 18.0. #7593 (issue: #6268)
- Upgrade to Lucene 4.10 #7584
- Version bump HPPC to 0.6.0 #7139
- Upgrade Jackson to 2.4.1 #6757
- Upgrade to Lucene 4.9 #6623
- Upgrade to Guava 17 #5953
- Upgrade to Lucene 4.8.0 #5932
- Update forbidden-apis to 1.5.1 and remove the relaxed failOnMissingClasses setting, fix typo #5863
- Upgrade to Lucene 4.7.2 #5802
- Update JNA to 4.1.0, properly warn on error, hint at noexec mount #5636 (issue: #5493)
- Upgrade to Lucene 4.7.1 #5635
- Update to forbidden-apis 1.4.1 #5495 (issue: #5492)
- Move master to Java 1.7 #5268 (issue: #5267)
- Upgrade to Lucene 4.6.1 #4898 (issue: #4897)
- Dates
-
- Update joda-time to v2.7 #9610
- Geo
- Network
- Scripting