You are looking at documentation for an older release.
Not what you want? See the
current release documentation.
2.0.0-beta1 Release Notesedit
Breaking changesedit
- 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
Deprecationsedit
- Fielddata
- Remove non-default fielddata formats. #11669
- Geo
- NOT CLASSIFIED
- Settings
New featuresedit
- 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
Enhancementsedit
- 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 fixesedit
- 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
Regressionsedit
- 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
Upgradesedit
- 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