See issues on GitHub
Breaking changes
- Aliases:
- Benchmark:
- Benchmark api: removed leftovers #10180
- Core:
- Resiliency: Throw exception if the JVM will corrupt data #7580
- Engine:
- [ENGINE] Remove full flush / FlushType.NEW_WRITER #9559
- Index APIs:
- Plugins:
- Recovery:
- Scripting:
Deprecations
- CRUD:
- Core:
- Core: deprecate index.fail_on_merge_failure #10084
- Mapping:
- More Like This:
- Deprecation: MLT Field Query #8253
- Network:
- Search:
- Core: add deprecation messages for delete-by-query #10082
New features
- Aggregations:
- CAT API:
- Circuit Breakers:
- Circuit Breakers: Add NoopCircuitBreaker used in NoneCircuitBreakerService #8063
- Engine:
- More Like This:
- MLT Query: Support for artificial documents #7725
- Query DSL:
- Search:
- Store:
- Term Vectors:
- Term Vectors/MLT Query: support for different analyzers than default at the field #7801
Enhancements
- Aggregations:
- Aggregations: deprecate
pre_zone
and <code>post_zone indate_histogram
#9722 (issue: #9062) - Aggregations: Add 'offset' option to date_histogram #9614 (issue: #9062)
- Aggregations: Numeric metric aggregations are now formattable #9032 (issue: #6812)
- Aggregations: Adds methods to get to/from as Strings for Range Aggs #9026 (issue: #9003)
- Made the
nested
, <code>reverse_nested andchildren
aggs ignore unmapped nested fields or unmapped child / parent types. #8808 (issue: #8760) - Fixed #6061 size parsing consistent for strings #8645
- Aggregations: Do not take deleted documents into account in aggregations filters. #8540
- Aggs - support for arrays of numeric values in include/exclude clauses #7727 (issue: #7714)
- Aggregations: Adds ability to sort on multiple criteria #7662 (issues: #6917, #7588)
- Aggregations: Properly support top_hits aggregation in a nested and reverse_nested aggregations. #7164 (issue: #3022)
- Aggregations: deprecate
- Allocation:
- Allocation: Speed-up disk-threshold decider #8803 (issue: #6372)
- Allocation: DiskThresholdDecider#remain(...) should take shards relocating away into account #8659 (issue: #8538)
- Allocation: Take percentage watermarks into account for reroute listener #8382 (issues: #8367, #8368)
- Allocation: Reroute shards automatically when high disk watermark is exceeded #8270 (issue: #8146)
- Add option to take currently relocating shards' sizes into account #7785 (issues: #6168, #7753)
- CAT API:
- Circuit Breakers:
- Circuit Breakers: Log if CircuitBreaker is tripping #8050
- Core:
- Core: don't rethrow already handled merge exceptions #10083
- [ENV] NodeEnv should lock all shards for an index #9799
- [CORE] Allow primary promotion on shadow replica without failing the shard #9786
- [INDICES] Retry if shard deletes fail due to IOExceptions #9784
- Core: only do a single listAll from FileSwitchDir #9666 (issue: #6636)
- Core: Remove ability to run optimize and upgrade async #9640 (issue: #9638)
- Update joda-time to v2.7 #9610
- [CORE] Consolidate index / shard deletion in IndicesService #9605
- Minor hygiene, Removed Redundant inheritance #9427
- Core: don't throttle recovery indexing operations #9396 (issue: #9394)
- Core: 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
- Core: Fix Store.checkIntegrity() for lucene 3.x index files. #9234
- Core: Don't verify adler32 for lucene 3.x terms dict/terms index. #9142
- [CORE] Delete shard content under lock #9083 (issues: #8608, #9009)
- [SEARCH] close active contexts on SearchService#close() #8947 (issue: #8940)
- Core: use Lucene's defaults for compound file format #8934 (issue: #8919)
- [CORE] Remove explicit .cleanUp() on cache clear #8924
- Core: clarify index removal log message #8641
- [CORE] Ensure shards are deleted under lock on close #8579
- [INDEX] Add before/after indexDeleted callbacks to IndicesLifecycle #8569 (issue: #8551)
- [CORE] Free pending search contexts if index is closed #8551
- [CORE] Ban all usage of Future#cancel(true) #8494
- Core: set bloom default to false even when Directory doesn't have a codecService #8442
- [CORE] Introduce shard level locks to prevent concurrent shard modifications #8436
- Discovery: Don't wait joinThread when stopping #8359 (issue: #8327)
- [STATE] Observe cluster state on health request #8350
- [UTILITIES] Introduce a RefCounted interface and basic impl #8210
- Use 1 instead of 0 as filler version value for nested docs #8145
- [CORE] Add cluster and index state checksums #8010 (issue: #7586)
- Resiliency: Perform write consistency check just before writing on the primary shard #7873
- [CORE] Add ThreadPool.terminate to streamline shutdown #7868
- [CORE] Add ActionRunnable support to ThreadPool to simplify async operation on bounded threadpools #7765
- Internal: Add missing cluster blocks handling for master operations #7763 (issue: #7740)
- Discovery:
- [Discovery] Prevent stale master nodes from sharing dated cluster states to nodes that have moved to a different master node #9632
- Discovery: publishing timeout to log at WARN and indicate pending nodes #9551
- Discovery: Concurrent node failures can cause unneeded cluster state publishing #8933 (issue: #8804)
- [CLIENT] Only fetch the node info during node sampling #8685
- Discovery: don't accept a dynamic update to min_master_nodes which s larger then current master node count #8321
- Discovery: Improve handling of multicast binding exceptions #8243 (issue: #8225)
- Discovery: Simplify discovery node initialization if version is unknown #8055 (issue: #8051)
- Discovery: Close ping handler's executor service properly #7903
- Engine:
- [CORE] move InternalEngine.segmentStats() into abstract Engine #9728 (issue: #9727)
- [ENGINE] Move more methods into abstract Engine #9717
- [CORE] Move as much as possible into abstract Engine #9678
- [ENGINE] Factor out settings updates from Engine #9625
- [ENGINE] Close Engine immediately if a tragic event strikes. #9616 (issue: #9517)
- [CORE] Refactor InternalEngine into abstract Engine and classes #9585
- [ENGINE] Remove FlushType and make resources final in InternalEngine #9565
- [ENGINE] Simplify Engine construction and ref counting #9211
- [CORE] Fold engine into IndexShard #9181
- Core: Don't acquire Engine's readLock in segmentsStats #8910 (issue: #8905)
- [ENGINE] Remove engine related command classes #8900
- Internal: allow InternalEngine to be stopped and started #8784 (issue: #8720)
- [ENGINE] Flush IndexWriter to disk on close and shutdown #7563
- Geo:
- Revert "[GEO] Update GeoPolygonFilter to handle ambiguous polygons" #9463 (issues: #5968, #9304, #9339, #9462)
- Geo: Update GeoPolygonFilter to handle polygons crossing the dateline #9339 (issues: #5968, #8672, #9304)
- Geo: GeoPolygonFilter not properly handling dateline and pole crossing #9171 (issue: #5968)
- Geo: Removing unnecessary orientation enumerators #9036 (issues: #8978, #9035)
- Geo: Add optional left/right parameter to GeoJSON #8978 (issue: #8764)
- Geo: Feature/Fix for OGC compliant polygons failing with ambiguity #8762 (issue: #8672)
- Geo: Fixes BoundingBox across complete longitudinal range #7340 (issue: #5218)
- Index Templates:
- Internal:
- Core: fix typo when primary is not available to index a document (UnavailableShardsException) #10140
- [SHARD] make assert less strict to ensure local node is not null #10076
- Use provided cluster state for indices service validations #10014
- some more simple fs cleanups. #9827
- Removed 'Master' from names.txt #9698 (issue: #9687)
- Internal: Introduce TimedPrioritizedRunnable base class to all commands that go into InternalClusterService.updateTasksExecutor #9671 (issues: #8077, #9354)
- Update Groovy dependency to 2.4.0 #9520
- Add
beforeIndexAddedToCluster
callback #9514 - [CACHE] Use a smaller expected size when serializing query results #9485
- [CACHE] Use correct number of bytes in query cache accounting #9479
- Internal: add AliasesRequest interface to mark requests that manage aliases #9460
- Internal: ClusterInfoService should wipe local cache upon unknown exceptions #9449
- Internal: fix shard state tranport action names #9440 (issue: #7105)
- Mappings: Remove includeExisting flag from adding ObjectMapper and FieldMapper listeners #9184
- Internal: assert that we do not call blocking code from transport threads #9164
- [EXEC] Remove reduced stack size #9158 (issue: #9135)
- Search: parse terms filters on a single term as a term filter. #9014
- Internal: remove IndexCloseListener & Store.OnCloseListener #9009 (issues: #8436, #8608)
- Core: add ignore_idle_threads (default: true) to hot threads #8985 (issue: #8908)
- Remove circular dependency between IndicesService and IndicesStore #8918
- Remove some Internal* abstractions #8904
- [HEALTH] Don't mark health as timed out if desired state is reached #8683
- Internal: 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)
- Internal: Make indexQueryParserService available from ParseContext #8252 (issue: #8248)
- Internal: Allow to configure custom thread pools #8247
- Internal: Expose concurrency_level setting on all caches #8112 (issue: #7836)
- Resiliency: Be more conservative if index.version.created is not set #8018
- Internal: split internal fetch request used within scroll and search #7870 (issues: #6933, #7319, #7856)
- Internal: split internal free context request used after scroll and search #7856 (issues: #6933, #7319)
- Internal: Clarify when a shard search request gets created to be only used locally #7855
- Internal: Add a listener thread pool #7837
- Internal: remove ForceSyncDirectory #7804
- Internal: Check if from + size don't cause overflow and fail with a better error #7778 (issue: #7774)
- Internal: make sure that internally generated percolate request re-uses the original headers and request context #7767
- Internal: make sure that update internal requests share the same original headers and request context #7766
- Internal: Nest original exception while creating NoShardAvailableActionException #7757 (issue: #7756)
- Internal: make sure that all delete mapping internal requests share the same original headers and context #7736
- Internal: make sure that original headers are used when executing search as part of put warmer #7711
- Java API:
- Java API: package private getters to become public if there have corresponding public setters #9273
- java: QueryBuilders cleanup (add and deprecate) #8667
- Added utility method #8594
- Java API: Enabled overriding the request headers in the clients #8258
- Internal: add indices setter to IndicesRequest interface #7734
- Logging:
- Store: renaming temp files should log errors of delete in trace #9933
- Fix logging a RoutingNode object, log an object with a good .toString instead #9863
- Logging: improve logging messages added in #9562 #9603
- Logging: add logging around gateway shard allocation #9562
- Logging: Log byte and doc size for slow merges #8855 (issue: #8853)
- Core: separately log file deletions #8662 (issue: #8603)
- Logging: Add log4j-extras dependency #8464 (issue: #7927)
- Core: log how long IW.rollback took, and when MockFSDir starts its check index #8388
- Logs: Change log level for mpercolate #8306
- Logging: suppress long mapping logging during mapping updates (unless in TRACE) #7949
- Add log4j-extras dependency #7947 (issue: #7927)
- Core: Add EnhancedPatternLayout to logging.yml options #4991
- Mapping:
- More Like This:
- NOT CLASSIFIED:
- [LIFECYCLE] Add before/afterIndexShardDelete callback #10173
- Network:
- Netty HTTP Transport: Change access modifiers to protected #9724
- Transport: added a simple request tracer, logging incoming and outgoing requests #9286
- Netty Transport: Add profiles to transport infos #9134
- Netty: Support binding on multiple host/port pair #8098
- Internal: Chunk direct buffer usage by networking layer #7811
- Netty: Make sure channel closing never happens on i/o thread #7726
- Packaging:
- 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)
- Packaging: Check if proc file exists before calling sysctl #8793 (issue: #4978)
- deb: add systemd service config for upcoming Jessie #8765 (issue: #8493)
- bin/elasticsearch: add help, fix endless loop #8729 (issues: #2168, #7104)
- Packaging: Introduce elasticsearch.in.bat (i.e. es.in for Windows) #8244 (issue: #8237)
- add more checks to build_release.py #7913
- Prevent init script from returning when the service isn't actually started #6909
- Boostrap: Log startup exception to console if needed and to file as error #6581
- Packaging: Use the new command line syntax in the init script #5033
- Startup: Add ES_HOME to ES_INCLUDE search path #4958
- Parent/Child:
- Parent/child: Reduce memory usage in top children query #8165
- Percolator:
- Plugins:
- [PLUGINS] Always send current ES version when downloading plugins #10131
- Query DSL:
- Add support for
minimum_should_match
to <code>simple_query_string #9864 (issue: #6449) - inner hits: Nested parent field should be resolved based on the parent inner hit definition #9251 (issue: #8153)
- Raise an exception on an array of values being sent as the factor for a ... #9246 (issue: #7408)
- inner_hits: Added another more compact syntax for inner hits. #8770
- function_score: use query and filter together #8675 (issue: #8638)
- Query: add option for analyzing wildcard/prefix to simple_query_strinq #8422 (issue: #787)
- Query DSL: 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)
- Adding "min" score mode to parent-child queries #7771 (issue: #7603)
- Query DSL: Throw parsing exception if terms filter or query has more than one field #5137 (issue: #5014)
- Query DSL: Expose dist/pre/post options for SpanNotQuery #4452
- Add support for
- REST:
- [HTTP] add option to only return simple exception messages #10117
- Rest: expose
master_timeout
flag on <code>GET _template &HEAD _template
#9688 - Rest: Adding support of multi-index query parameters for _cluster/state #9295 (issue: #5229)
- Adds parameters to API endpoint cluster put settings specification #8769
- Change IndexPrimaryShardNotAllocatedException from 409 to 500 #7987 (issue: #7632)
- Percolator: Added missing percolate API parameters to the rest spec #7173
- Recovery:
- Recovery: add throttle stats #10097
- Engine: update index buffer size during recovery and allow configuring version map size #10046 (issues: #6363, #6667)
- Recovery: unify RecoveryState management to IndexShard and clean up semantics #9902 (issue: #9503)
- [RECOVERY] Only iterate the files that we recovered from the commit #9761
- Recovery: add a timeout to local mapping change check #9575
- Recovery: flush immediately after a remote recovery finishes (unless there are ongoing ones) #9439
- [RECOVERY] Release store lock before blocking on mapping updates #9102
- [RECOVERY] Ensure shards are identical after recovery #8723
- Recovery: be more resilient to partial network partitions #8720
- [RECOVERY] Throw IndexShardClosedException if shard is closed #8648
- Backport
ShardRecoveryHandler
refactorings to 1.x #8570 - Recovery: refactor RecoveryTarget state management #8092 (issues: #7315, #7893)
- Scripting:
- Scripting: Add String to the default whitelisted receivers #9837 (issue: #8866)
- Scripting: Make
script.groovy.sandbox.method_blacklist_patch
truly append-only #9473 - Scripting: Make groovy sandbox method blacklist dynamically additive #9470
- Scripting: Add explainable script again #8665 (issues: #7245, #8561)
- Scripting: Created a parameter parser to standardise script options #7977
- Provide more context variables in update scripts #5724 (issues: #1607, #2230, #2231)
- Search:
- Settings:
- Snapshot/Restore:
- [RESTORE] Refactor how restore cleans up files after snapshot was restored #9770
- Snapshot/Restore: add support for changing index settings during restore... #9285 (issue: #7887)
- Snapshot/Restore: Override write(byte[] b, int off, int len) in FilterOutputStream for better performance #8749 (issue: #8748)
- Snapshot/Restore: Allow custom metadata to specify whether or not it sho... #7901 (issue: #7900)
- Stats:
- Store:
- [INDICES] Schedule pending delete if index store delete fails #9856
- [STORE] Improve safety when deleting files from the store #9801
- [STORE] Add simple cache for StoreStats #9709 (issue: #9683)
- [STORE] use Directory#fileLength() less during calculating checksums #9689
- [STORE] Cache fileLength for fully written files #9683
- [STORE] Synchronize operations that modify file mappings on DistributorDirectory #8408
- [STORE] Cut over MetaDataStateFormat to NIO Path API #8297
- [STORE] Remove special file handling from DistributorDirecotry #8276
- [STORE] Fold two hashFile implemenation into one #7720
- Term Vectors:
- Translog:
- Upgrade:
- Core: upgrade to Lucene 4.10.4 bugfix release #9960
- Internal: Log when upgrade starts and stops #9229 (issue: #9227)
- Dependencies: Upgrade netty to 3.10.0.Final #9132
- upgrade to lucene 4.10.3 release #9100
- Internal: Upgrade to Jackson 2.4.2 #7934 (issue: #7932)
- Internal: Upgrade to Lucene 4.10.1 snapshot #7844 (issue: #7905)
Bug fixes
- Aggregations:
- Aggregations: Be lenient when converting local to utc time in time zone roundings #10031 (issue: #10025)
- Aggs: Fix rounding issue using
date_histogram
with <code>pre_zone_adjust_large_interval #9828 (issue: #8209) - Aggs: Fix rounding issues when using
date_histogram
and time zones #9790 (issues: #7673, #9491) - Aggregations: Prevent negative intervals in date_histogram #9690 (issue: #9634)
- Aggs: Remove limitation on field access within aggs to the types provided in the search #9487
- Aggs: nested agg needs to reset root doc between segments. #9441 (issues: #9436, #9437)
- Aggs: Fix handling of multiple buckets being emitted for the same parent doc id in nested aggregation #9346 (issues: #8454, #9317)
- Aggs: In reverse nested aggregation, fix handling of the same child doc id being processed multiple times. #9345 (issues: #9263, #9346)
- Aggs: The parent filter of the nested aggregator isn't resolved correctly all the time #9335 (issue: #9280)
- Aggs: post collection the children agg should also invoke that phase on its wrapped child aggs. #9291 (issue: #9271)
- Aggs: Validate the aggregation order on unmapped terms in terms agg. #8952 (issue: #8946)
- Aggregations: Fix date_histogram issues during a timezone DST switch #8655 (issue: #8339)
- Fielddata: Fix iterator over global ordinals. #8627 (issue: #8580)
- Aggregations: Fix geohash grid doc counts computation on multi-valued fields #8574 (issue: #8512)
- Aggregations: Parser throws NullPointerException when Filter aggregation clause is empty #8527 (issue: #8438)
- Aggregations: Fix geohash grid aggregation on multi-valued fields. #8513 (issue: #8507)
- Aggregations: Change nested agg to execute in doc id order #8454
- Aggregations: The
children
agg didn't take deleted document into account #8180 - Aggregations: Fixes scripted metrics aggregation when used as a sub aggregation #8037 (issue: #8036)
- Aggregations: Makes script params consistent with other APIs in scripted_metric #7969
- Aggregations: Significant terms can throw error on index with deleted docs. #7960 (issue: #7951)
- Aggregations:
size
property parsing inconsistent [ISSUE] #6061
- Aliases:
- Allocation:
- Bulk:
- CAT API:
- Circuit Breakers:
- Circuit Breaker: Only set
breaker
when stats are retrieved #7721
- Circuit Breaker: Only set
- Core:
- Core: also throttle delete by query when merges fall behind #9986
- Internal: promptly cleanup updateTask timeout handler #9621
- Core: Disable auto gen id optimization #9468 (issue: #8788)
- Core: Verify the index state of concrete indices after alias resolution #9057
- Core:
ignore_unavailable
shouldn't ignore closed indices #9047 (issue: #7153) - Core: Terms filter lookup caching should cache values, not filters. #9027 (issues: #1, #2)
- Core: Don't forcefully release IW lock (this can cause corruption) #8892 (issue: #8588)
- Core: Hard wire utf-8 encoding, so unicode filenames work #8847
- Gateway: GatewayService should register cluster state listener before checking for current state #8789
- Core: Remove unnecessary index removal on index creation #8639
- [GATEWAY] Remove _state directory if index has been deleted #8610
- disable bloom filters #8572 (issues: #8564, #8571)
- Core: Change default eager loading behaviour for nested fields and parent/child in bitset cache #8440
- Core: Don't eagerly load NestedDocsFilter in bitset filter cache, because it is never used. #8414 (issue: #8394)
- Internal: Extend refresh-mapping logic to the _default_ type #8413 (issue: #4760)
- Internal: Translog leaks filehandles if it's corrupted or truncated #8372
- Return 0 instead of -1 for unknown/non-exposed ramBytesUsed() #8291 (issue: #8239)
- Resiliency: Don't catch FNF/NSF exception when reading metadata #8207
- Internal: Don't handle FNF exceptions when reading snapshot #8086
- Dates:
- Discovery:
- Zen: Node receiving a cluster state with a wrong master node should reject and throw an error #9963
- Discovery: check index uuid when merging incoming cluster state into the local one #9541 (issue: #9489)
- Discovery: only retry join when other node is not (yet) a master #8979 (issue: #8972)
- Discovery: Removed unnecessary DiscoveryService reference from LocalDiscovery #8415 (issue: #8539)
- Discovery: Improve the lifecycle management of the join control thread in zen discovery. #8327
- Engine:
- Geo:
- [GEO] Fix validate_* merge policy for GeoPointFieldMapper [OPEN] #10165 (issue: #10164)
- Geo: Correct bounding box logic for GeometryCollection type #9550 (issue: #9360)
- Geo: Throw helpful exception for Polygons with holes outside of shell #9105 (issue: #9071)
- Geo: GIS envelope validation #9091 (issues: #2544, #8672, #9067, #9079, #9080)
- Geo: Fix for NPE enclosed in SearchParseException for a "geo_shape" filter or query #8785 (issue: #8432)
- Geo: Fix for geohash neighbors when geohash length is even. #8529 (issue: #8526)
- Geo: Fix for ArithmeticException[/ by zero] when parsing a polygon #8475 (issue: #8433)
- geo sort: remove unnecessary code from geo distance builder #8338
- Geo: Fix IndexedGeoBoundingBoxFilter to not modify the bits of other filters. #8325
- Index APIs:
- Indices API: Fix to make GET Index API consistent with docs #9178 (issue: #9148)
- Indices API: Fixed backward compatibility issue #8387 (issue: #8364)
- Internal: Fix optimize behavior with 'force' and 'flush' flags. #7920 (issues: #7886, #7904)
- Indices API: fixes GET Alias API backwards compatibility #7892 (issue: #7793)
- Indexed Scripts/Templates:
- Internal:
- Internal: Fix PageCacheRecycler's max page size computation. #10087 (issue: #10077)
- Ensure that we don't pass negative
timeInQueue
to writeVLong #9662 (issue: #8077) - Snapshot status api: make sure headers are handed over to inner nodes request #9409
- fix equality check of timevalue after serialization #9218
- Internal: AdapterActionFuture should not set currentThread().interrupt() #9141 (issue: #9001)
- Internal: PlainTransportFuture should not set currentThread().interrupt() #9001
- Internal: IndexService - synchronize close to prevent race condition with shard creation #8557
- Index API: BWC layer for GetIndex should not block in a listener #8496
- Internal: Don't pass acceptdocs down to nonNestedDocsFilter in ParentsFilter #8463 (issue: #8461)
- Indices API: Fix GET index API always running all features #8452
- Internal: When corruption strikes, don't create exceptions with circular references #8331
- Internal: Fixed bitset filter cache leftover in nested filter #8303
- Internal: Cleanup non nested filter to not flip the FixedBitSet returned by the wrapped filter. #8232 (issue: #8227)
- Internal: Dynamic changes to
max_merge_count
are now picked up by index throttling #8136 (issue: #8132) - Internal: Only schedule another refresh if
refresh_interval
is positive #8087 (issue: #8085) - Internal: Fix serialization of PendingClusterTask.timeInQueue. #8077
- Internal: dangling indices import ignores aliases #8059
- Fix serialization of short[] arays. #8025 (issue: #7845)
- Internal: Make close() synchronized during node shutdown #7885
- Java API:
- Mappings: Fix Get field mapping api with pretty flag #8806 (issue: #6552)
- Settings: Ensure fields are overriden and not merged when using arrays #8381 (issue: #6887)
- Fixing SearchRequestBuilder aggregations call to facets #8121 (issue: #8120)
- Fixing copy/paste mistake in SearchRequest.extraSource's exception message #8118 (issue: #8117)
- Aggregations: Added missing module registration in TransportClient for Significant Terms #7852 (issue: #7840)
- Logging:
- Mapping:
- Fixes ignore_malformed behaviour for ip fields #10112
- Mapping: Throw StrictDynamicMappingException exception #9445 (issue: #9444)
- Mapping: Using default=null for _timestamp field creates a index loss on restart #9233 (issues: #9104, #9223)
- Mapping: Reencode transformed result with same xcontent #8974 (issue: #8959)
- Mapping: serialize doc values settings for _timestamp #8967 (issue: #8893)
- mappings: update cluster state with type mapping also for failed indexin... #8692 (issue: #8650)
- Mapping: Fix conflict when updating mapping with _all disabled #8426 (issues: #7377, #8423)
- Mappings: Generate dynamic mappings for empty strings. #8329 (issue: #8198)
- Mapping: Throw exception if null_value is set to null #7978 (issue: #7273)
- Mapping: Posting a mapping with default analyzer fails #7902 (issue: #2716)
- More Like This:
- MLT Query: Fix exclude with artificial documents #8679
- Network:
- Packaging:
- Parent/Child:
- Parent/child: Fix concurrency issues of the _parent field data. #9030 (issue: #8396)
- Parent/child: Fixed p/c filters not being able to be used in alias filters. #8649 (issues: #5916, #8628)
- Bulk API: Missing parent routing causes NullPointerException #8506 (issue: #8365)
- Parent/child:
has_parent
filter must take parent filter into account when executing the inner query/filter #8020 (issue: #7362)
- Percolator:
- Plugins:
- Query DSL:
- REST:
- Recovery:
- Gateway: improve assertion at the end of shard recovery #10028
- Recovery: synchronize RecoveryState.timer methods #9943
- [RECOVERY] Don't recover from buggy version #9925 (issues: #7210, #9922)
- Engine: close snapshots before recovery counter #9760 (issue: #9439)
- [ENGINE] Fix deadlock problems when API flush and finish recovery happens concurrently #9648
- [RECOVERY] Handle corruptions during recovery finalization #9619
- Core: Mapping update task back references already closed index shard #9607
- Recovery: update access time of ongoing recoveries #9506 (issue: #8720)
- Recovery: cleaner interrupt handling during cancellation #9000
- Internal: harden recovery for old segments #8399
- Gateway: Prefer recovering the state file that uses the latest format. #8343
- Recovery: change check for finished to a ref count check #8271 (issue: #8092)
- Recovery: RecoveriesCollection.findRecoveryByShard should call recoveryStatus.tryIncRef before accessing fields #8231 (issue: #8092)
- Scripting:
- Scripting: File scripts cache key to include language and prevent conflicts #10033
- script_file does not work with _update [ISSUE] #10007
- Internal: Avoid unnecessary utf8 conversion when creating ScriptDocValues for a string field. #9557 (issue: #6908)
- Scripting: Disallow method pointer expressions in Groovy scripting #9509
- Scripting: Make _score in groovy scripts comparable #9094 (issue: #8828)
- Search: Function score and optional weight : avg score is wrong #9004 (issue: #8992)
- Scripting: Return new lists on calls to getValues. #8591 (issue: #8576)
- Scripting: Add score() back to AbstractSearchScript #8417 (issues: #8377, #8416)
- Scripting: Clear the GroovyClassLoader cache before compiling #8062 (issues: #7658, #8073)
- Scripting: Fix NPE in ScriptService when script file with no extension is deleted #7953 (issue: #7689)
- Search:
- inner hits: Don't fail if an object is specified as a nested value instead of an array. #9743 (issue: #9723)
- Query cache: Remove query-cache serialization optimization. #9500 (issue: #9294)
- inner_hits: Make sure inner hits on has_parent query resolve hits properly #9384
- Query cache: Queries are never cached when date math expressions are used (including exact dates) #9269 (issue: #9225)
- Search: Make sure that named filters/ queries defined in a wrapped query/filters aren't lost #9166 (issue: #6871)
- Search: Fix paging on strings sorted in ascending order. #9157 (issue: #9136)
- Refactor term analysis for simple_query_string prefix queries #8435
- Settings:
- Settings: Reset TieredMP settings only if the value actually changed #9497 (issue: #8890)
- Settings: cluster.routing.allocation.disk.threshold_enabled accepts wrong values [ISSUE] #9309
- Settings: Tab characters in YAML should throw an exception #8355 (issue: #8259)
- Settings: LogConfigurator resolveConfig also reads .rpmnew or .bak files #7457
- Snapshot/Restore:
- Snapshot/Restore: delete operation should ignore finalizing shards on no... #9981 (issue: #9924)
- Snapshot/Restore: Allow deletion of snapshots with corrupted snapshot files #9569 (issue: #9534)
- Snapshot/Restore: better handling of index deletion during snapshot #9418 (issue: #9024)
- Snapshot/Restore: add validation of restored persistent settings #9051 (issue: #8830)
- Snapshot/Restore: restore with wait_for_completion=true should wait for succesfully restored shards to get started #8545 (issue: #8340)
- Snapshot/Restore: keep the last legacy checksums file at the end of rest... #8358 (issue: #8119)
- Snapshot/Restore: restore of indices that are only partially available i... #8341 (issue: #8224)
- Snapshot/Restore: Fix snapshotting of a single closed index #8047 (issue: #8046)
- Snapshot/Restore: Make it possible to delete snapshots with missing metadata file #7981 (issue: #7980)
- Snapshot/Restore: Make sure indices cannot be renamed into restored aliases #7918 (issue: #7915)
- Stats:
- Translog: make sure stats's op count and size are in sync #10041
- Nodes Stats: Fix open file descriptors count on Windows #9397 (issue: #1563)
- Stats: Relax restrictions on filesystem size reporting in DiskUsage #9283 (issues: #9249, #9260)
- Indices API: Fix wrong search stats groups #8950 (issue: #7644)
- Stats: Fix Bloom filter ram usage calculation #8584 (issue: #8564)
- Stats: _status with #shards >> queue capacity failing with BroadcastShardOperationFailedException [ISSUE] #7916
- Store:
- Suggesters:
- Translog:
- Tribe Node:
- Upgrade:
- Upgrade: Fix version check in bytes to upgrade that spans major versions #9340
Regression
- Mapping:
Docs
- Geo:
- Java API:
- NOT CLASSIFIED:
- Need additional line in config file, to work tutorial's example. [ISSUE] #10074
- fix typo #10045
- Fix some docs n typos #10029
- Documented default value for node_initial_primaries_recoveries #9955
- [DOCS] added a note for the default shard_size value #9873
- [DOCS] Default units for Geo Distance Agg is meters not km [ISSUE] #9812
- [doc] Link mapper-attachment type documentation to its repo #9756 (issue: #101)
- Clarify no master block [ISSUE] #9739
- Add warning to settings documentation because setting number_of_replicas on a closed can lead to index beeing not openable again #9591 (issue: #9566)
- Docs: Use the new experimental annotation. #9563
- Testing classes don't support Parameterized tests? [ISSUE] #9423
- Updates the command to add the repo #9261
- Fix typo in sample json of keyword marker tokenfilter #9253
- [TEST] Add missing docs and tests for '_cat/segments' #9179 (issue: #5856)
- [Doc] Java API: add information on JBoss EAP #8766 (issue: #3445)
- [DOCS] Document ActionNames class and related tests #8759
- Fix error in documentation #8605
- Update DiskThresholdDecider javadoc #8585 (issue: #6201)
- Docs: Fix a typo in a javadoc comment #8575
- Missing quote in the example #8565
- randomizedtesting jar versions mismatch [ISSUE] #8450
- Docs: note about confusing disk threshold settings #8437
- Docs: document action.replication_type setting #8290
- MLT Query: use ParseField#withAllDeprecated for percent_terms_to_match #8241
- Docs: Clarify that index.routing.allocation.total_shards_per_node applies to replica and primary #8002
- Docs: rolling upgrade process seems incorrect [ISSUE] #7973
- null_value and dynamic_templates not working correctly [ISSUE] #7874
- Docs : Filtering based on exact values not working [ISSUE] #7807
- Docs: Document the most important changes to zen discovery. #7746
- Inconsistent ceiling round up in range search for "lt" (less than) [ISSUE] #7203
- Packaging:
- Packaging: Added a command to start elasticsearch on bootup. #8600
Tests
- Aggregations:
- Adding tests for TimezoneRounding in 1.x #9796
- NOT CLASSIFIED:
- [TEST] Add tests that triggers truncated files on recovery #10155
- [TESTS] Make sure test end with ..Tests #9947 (issue: #9945)
- [TEST] Work around URI encode limitations in RestClient #9946 (issue: #9769)
- Tests: Add back tests.cluster #9916
- [TEST] Fix NPE in ElasticsearchIntegrationTest if no indexer is provided #9909 (issue: #9907)
- Tests: check node ports availability when using unicast discovery #9886
- Tests: Use all found index files instead of static list for static bwc tests #9854
- Tests: Remove thread leak filter #9843
- [TEST] Don't reuse single node tests node instance across tests #9813
- Kernel32LibraryTests creates JNA proxy classes [ISSUE] #9802
- Tests: Remove global shared cluster #9781 (issue: #8854)
- Test: Remove use of globalTempDir() and forbid it from future use. #9777
- Testing: Added REST tests to check if expression scripting works #9750
- Testing: Ensure RepeatOnException rule is available in test-jar #9675
- [TEST] Introduce basic validation of our REST spec #9629
- Tests: Add static indexes to fill out 0.20.x coverage. #9537
- [TEST] support stashed values within property names in our REST tests #9533
- Testing: Add test rule to repeat tests on binding exceptions #9527 (issue: #9010)
- Tests: Add type-unrestricted version of field mapper getter to SearchContext #9490
- Test: use local gateway by default #9476
- Tests: Rename tests with the same name #9370
- Internal: Change snapshot state for unreleased versions and add validation tests for constants #9228
- Tests: Add upgrade step to static bwc tests #9207
- Add 0.20.x index. #9146
- Don't enable custom data_path for backwards compatibility tests #9119
- Fix TransportNodesListShardStoreMetaData for custom data paths #9101
- [TEST] Make sure we restart the suite cluster after each test failure #9015
- [TEST] upgrade randomized runner to 2.1.11 #8930
- [TEST] LoggingListener to restore the initial logger levels after any modification #8845 (issue: #8820)
- Test: fix InternalEngineTest.testIndexWriterIFDInfoStream to pass in IntelliJ #8822
- [TEST] Pass class level test logging to external nodes #8820 (issue: #8552)
- [TEST] Add unit tests for DiskThresholdDecider settings #8816
- [TEST] guarantee REST tests execution order #8745
- [TEST] make sure rest tests info is printed for any @Rest annotated test #8680 (issue: #7795)
- [TEST] split base settings in ClusterDiscoveryConfiguration between node and transport client #8653
- [TEST] Extend unicast ports generation to support more concurrent clusters #8634
- [TEST] Register data.path for all nodes on close in InternalTestCluster #8519
- Tests: Skip bwc analysis tests if using turkish or azuri locale. #8492
- Allow -SNAPSHOT versions to be parsed by Version.fromString #8379
- [TEST] move ClusterDiscoveryConfiguration to org.elasticsearch.test.discovery #8337
- Tests: Pass through locale and timezone to test runner, and print in repro command line. #8315
- [TEST] Remove redundant call to setTemplateType() #8295
- [TEST] initialize SUITE | GLOBAL scope cluster in a private random context #8250
- [TEST]
Scope.SUITE
is not reproducible due to late cluster initialization #8220 - [TEST] Add simple BWC tests that start from pre-build indices [ISSUE] #8065
- Tests: dump all thread stacks on failure #8033
- [TEST] fix CurrentTestFailedMarker to reset its state after each test #8008
- [TEST] create client nodes using node.client: true #7911
- [TEST] Use Shutdown API only if nodes are on 1.3.3 or newer to prevent shutdown problems #7910 (issue: #7885)
- [TEST] add regular scroll REST test #7860
- Internal: MulticastChannel should wait on receiver thread to stop during shutdown #7835
- Tests: Add a more restrictive thread leaks filter #7825 (issue: #7833)
- [TEST] move REST tests to their own test group #7795
- [TEST] Only reset test cluster if a test actually failed #7775
- [TEST] Improve HTTP support in TestClusters #7738
- [TEST] Update REST client before each test in our REST tests #7737 (issues: #6734, #7723)
- Test: always run CheckIndex after a test, and fail the test if it detects corruption #7730
- Tests: always run CheckIndex on all shards created by the test [ISSUE] #7724
- [TEST] Minor REST tests infra cleanup #7723
- [TEST] Expose ability to provide http headers when sending requests in our REST tests #7710
- Tools: Add script to grab ES version for BWC tests. #7653
- Geo: [TEST] Adds tests for GeoUtils #7510
- Benchmark: BenchmarkIntegrationTest failure fixed [ISSUE] #6094
- Test: Integration tests for benchmark API. #6023 (issue: #6003)
- Test: Start nodes using node.bench true to enable benchmark api #5920 (issue: #5910)
- Recovery:
- [RECOVERY] Make recovery delay configurable #8739
- Snapshot/Restore:
- Tests: Make sure snapshots created with old version of elasticsearch can... #8968
Not classified
- NOT CLASSIFIED:
- Core: check only call rate limiter every minPauseCheckBytes during recovery [OPEN] #10185 (issue: #6018)
- Build: Check that all packages contain the same jar files #9757
- Rename Maven repository id #9733
- [BUILD] Add marvel and license to the release script #9697
- ignore intellij project/workspace files #9044
- Switch to forbidden-apis 1.7 #8620
- Recovery:
- Recovery: node shut down during the last phase of recovery needlessly fails shard [ISSUE] #9496