Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Release notes

Elasticsearch version 7.2.0

Also see Breaking changes in 7.2.

Known issues

  • Applying deletes or updates on an index after it has been shrunk may corrupt the index. In order to prevent this issue, it is recommended to stop shrinking read-write indices. For read-only indices, it is recommended to force-merge indices after shrinking, which significantly reduces the likeliness of this corruption in the case that deletes/updates would be applied by mistake. This bug is fixed in Elasticsearch 7.7 and later versions. More details can be found on the corresponding issue.
  • Indices created in 6.x with date and date_nanos fields using formats that are incompatible with java.time patterns will cause parsing errors, incorrect date calculations or wrong search results. https://github.com/elastic/elasticsearch/pull/52555 This is fixed in Elasticsearch 7.7 and later versions.

Breaking changes

Cluster Coordination
  • Reject port ranges in discovery.seed_hosts #41404 (issue: #40786)

Breaking Java changes

Infra/Plugins
  • Remove IndexStore and DirectoryService #42446

Deprecations

Authorization
  • Deprecate permission over aliases #38059
Features/Features
  • Add deprecation check for ILM poll interval <1s #41096 (issue: #39163)
Mapping
  • Enforce Completion Context Limit #38675 (issue: #32741)
Reindex
  • Reindex from remote deprecation of escaped index #41005 (issue: #40303)
Search
  • Deprecate using 0 value for min_children in has_child query #41548 #41555 (issue: #41548)
  • Deprecate support for first line empty in msearch API #41442 (issue: #41011)
Security
  • Deprecate the native realm migration tool #42142

New features

Authentication
  • Add an OpenID Connect authentication realm #40674
Distributed
  • Add support for replicating closed indices #39499 (issues: #33888, #33903, #37359, #37413, #38024, #38326, #38327, #38329, #38421, #38631, #38767, #38854, #38955, #39006, #39110, #39186, #39249, #39364)
Infra/Scripting
  • Add painless string split function (splitOnToken) #39772 (issue: #20952)
  • Add a Painless Context REST API #39382
Machine Learning
  • Add data frame feature #38934
Ranking
  • Expose proximity boosting #39385 (issue: #33382)
  • Add randomScore function in script_score query #40186 (issue: #31461)
SQL
  • Add initial geo support #42031 (issues: #29872, #37206)
  • Implement CASE…​ WHEN…​ THEN…​ ELSE…​ END #41349 (issue: #36200)
  • Introduce MAD (MedianAbsoluteDeviation) aggregation #40048 (issue: #39597)
  • Introduce SQL TIME data type #39802 (issue: #38174)
  • Introduce the columnar option for REST requests #39287 (issue: #37702)
Snapshot/Restore
  • Allow snapshotting replicated closed indices #39644 (issue: #33888)
Suggesters
  • Search as you type fieldmapper #35600 (issue: #33160)
Features/Ingest
  • Add HTML strip processor #41888
Search
  • Add an option to force the numeric type of a field sort #38095 (issue: #32601)

Enhancements

Aggregations
  • Use the breadth first collection mode for significant terms aggs. #29042 (issue: #28652)
  • Disallow null/empty or duplicate composite sources #41359 (issue: #32414)
  • Move top-level pipeline aggs out of QuerySearchResult #40319 (issue: #40177)
  • Remove throws IOException from PipelineAggregationBuilder#create #40222
  • Better error messages when pipelines reference incompatible aggs #40068 (issues: #25273, #30152)
  • Do not allow Sampler to allocate more than maxDoc size, better CB accounting #39381 (issue: #34269)
  • Force selection of calendar or fixed intervals in date histo agg #33727
Allocation
  • Reset failed allocation counter before executing routing commands #41050 (issue: #39546)
  • Supporting automatic release of index blocks. Closes #39334 #40338 (issue: #39334)
Analysis
  • Add flag to declare token filters as updateable #36103 (issue: #29051)
Authentication
  • Hash token values for storage #41792 (issues: #39631, #40765)
  • Security Tokens moved to a new separate index #40742 (issue: #34454)
  • Support concurrent refresh of refresh tokens #39631 (issue: #36872)
  • Add enabled status for token and api key service #38687 (issue: #38535)
Authorization
  • Support mustache templates in role mappings #39984 (issue: #36567)
  • Add .code_internal-* index pattern to kibana user #42247
  • Add granular API key privileges #41488 (issue: #40031)
  • Add Kibana application privileges for monitoring and ml reserved roles #40651
  • Support roles with application privileges against wildcard applications #40398
CCR
  • Replay history of operations in remote recovery #39153 (issues: #35975, #39000)
CRUD
  • Add details to BulkShardRequest#getDescription() #41711
  • Add version-based validation to reindex requests #38504 (issue: #37855)
Cluster Coordination
  • Add GET /_cluster/master endpoint #40047
  • Only connect to new nodes on new cluster state #39629 (issues: #29025, #31547)
  • Add has_voting_exclusions flag to cluster health output #38568
Data Frame
  • Persist and restore checkpoint and position #41942 (issue: #41752)
  • Complete the Data Frame task on stop #41752
  • Data Frame stop all #41156
  • Data Frame HLRC Get Stats API #40327
  • Data Frame HLRC Get API #40209
  • Data Frame HLRC Preview API #40206
  • Data Frame HLRC start & stop APIs #40154 (issue: #29546)
  • Add Data Frame client to the Java HLRC #39921
Discovery-Plugins
  • Upgrade SDK and test discovery-ec2 credential providers #41732
Distributed
  • Prevent in-place downgrades and invalid upgrades #41731
  • Add index name to cluster block exception #41489 (issue: #40870)
  • Noop peer recoveries on closed index #41400 (issue: #33888)
  • Do not trim unsafe commits when open readonly engine #41041 (issue: #33888)
  • Avoid background sync on relocated primary #40800 (issue: #40731)
  • No mapper service and index caches for replicated closed indices #40423
  • Add support for replicating closed indices #39499 (issues: #33888, #33903, #37359, #37413, #38024, #38326, #38327, #38329, #38421, #38631, #38767, #38854, #38955, #39006, #39110, #39186, #39249, #39364)
Docs Infrastructure
  • Docs: Simplifying setup by using module configuration variant syntax #40879
Engine
  • Simplify initialization of max_seq_no of updates #41161 (issues: #33842, #40249)
  • Adjust init map size of user data of index commit #40965
  • Don’t mark shard as refreshPending on stats fetching #40458 (issues: #33835, #33847)
  • Reject illegal flush parameters #40213 (issue: #36342)
  • Always fail engine if delete operation fails #40117 (issue: #33256)
  • Combine overriddenOps and skippedOps in translog #39771 (issue: #33317)
  • Return cached segments stats if include_unloaded_segments is true #39698 (issue: #39512)
  • Allow inclusion of unloaded segments in stats #39512
  • Never block on scheduled refresh if a refresh is running #39462
  • Expose external refreshes through the stats API #38643 (issue: #36712)
  • Make setting index.translog.sync_interval be dynamic #37382 (issue: #32763)
Features/CAT APIs
  • Add start and stop time to cat recovery API #40378
  • Return 0 for negative "free" and "total" memory reported by the OS #42725 (issue: #42157)
Features/Indices APIs
  • Introduce aliases version #41397 (issue: #41396)
  • Improve error message for absence of indices #39789 (issues: #38964, #39296)
  • Improved error message for absence of indices closes #38964 #39296
Features/Java High Level REST Client
  • Added param ignore_throttled=false when indicesOptions.ignoreThrottle… #42393 (issue: #42358)
  • Ignore 409 conflict in reindex responses #39543
Features/Monitoring
  • Add packaging to cluster stats response #41048 (issue: #39378)
Geo
  • Improve accuracy for Geo Centroid Aggregation #41033 (issue: #41032)
  • Add support for z values to libs/geo classes #38921
  • Add ST_WktToSQL function #35416 (issue: #29872)
Infra/Core
  • Validate non-secure settings are not in keystore #42209 (issue: #41831)
  • Implement XContentParser.genericMap and XContentParser.genericMapOrdered methods #42059
  • Remove manual parsing of JVM options #41962 (issue: #30684)
  • Clarify some ToXContent implementations behaviour #41000 (issue: #16347)
  • Remove String interning from o.e.index.Index. #40350 (issue: #40263)
  • Do not swallow exceptions in TimedRunnable #39856 (issue: #36137)
Infra/Logging
  • Reduce garbage from allocations in DeprecationLogger #38780 (issues: #35754, #37411, #37530)
Infra/Packaging
  • Clearer error message - installing windows service #33804
Infra/Resiliency
  • Limit max direct memory size to half of heap size #42006 (issues: #41954, #41962)
Infra/Scripting
  • Add implicit this for class binding in Painless #40285
  • Whitelist geo methods for Painless #40180 (issue: #24946)
Machine Learning
  • Improve message misformation error in file structure finder #42175
  • Improve hard_limit audit message #42086 (issue: #38034)
  • Add validation that rejects duplicate detectors in PutJobAction #40967 (issue: #39704)
  • Add created_by info to usage stats #40518 (issue: #38403)
  • Data frame transforms config HLRC objects #39691
  • Use scaling thread pool and xpack.ml.max_open_jobs cluster-wide dynamic #39320 (issue: #29809)
  • Add task recovery on node change #39416
  • Stop tasks on failure #39203
  • Add _preview endpoint #38924
  • Use hardened compiler options to build 3rd party libraries #453
  • Only select more complex trend models for forecasting if there is evidence that they are needed #463
  • Improve residual model selection #468
  • Stop linking to libcrypt on Linux #480
  • Improvements to hard_limit audit message #486
  • Increase maximum forecast interval from 8 weeks to a limit based on the amount of data seen, up to a maximum of 10 years #214 and #41082 (issue: #41103)
Mapping
  • Updates max dimensions for sparse_vector and dense_vector to 1024. #40597 (issue: #40492)
  • Add ignore_above in ICUCollationKeywordFieldMapper #40414 (issue: #40413)
  • Adding a soft limit to the field name length. Closes #33651 #40309 (issue: #33651)
Network
  • Update ciphers for TLSv1.3 and JDK11 if available #42082 (issues: #38646, #41385, #41808)
  • Show SSL usage when security is not disabled #40672 (issue: #37433)
  • Optimize Bulk Message Parsing and Message Length Parsing #39634 (issue: #39286)
  • Netty transport accept plaintext connections #39532 (issue: #39531)
  • Chunk + Throttle Netty Writes #39286
Ranking
  • Improve error message for ln/log with negative results in function score #41609 (issue: #41509)
Recovery
  • Peer recovery should flush at the end #41660 (issues: #33888, #39588, #40024)
  • Peer recovery should not indefinitely retry on mapping error #41099 (issue: #40913)
  • Init global checkpoint after copy commit in peer recovery #40823 (issue: #33888)
  • Ensure sendBatch not called recursively #39988
Reindex
  • Reindex from Remote allow date math #40303 (issue: #23533)
SQL
  • Implement IIF(<cond>, <result1>, <result2>) #41420 (issue: #40917)
  • Use field caps inside DESCRIBE TABLE as well #41377 (issue: #34071)
  • Implement CURRENT_TIME/CURTIME functions #40662 (issue: #40648)
  • Polish behavior of SYS TABLES command #40535 (issue: #40348)
  • Adjust the precision and scale for drivers #40467 (issue: #40357)
  • Polish parsing of CAST expression #40428
  • Fix classpath discovery on Java 10+ #40420 (issue: #40388)
  • Spec tests now use classpath discovery #40388 (issue: #40358)
  • Implement :: cast operator #38774 (issue: #38717)
Search
  • Fix range query edge cases #41160 (issue: #40937)
  • Add stopword support to IntervalBuilder #39637
  • Shortcut counts on exists queries #39570 (issue: #37475)
  • Completion suggestions to be reduced once instead of twice #39255
  • Rename SearchRequest#withLocalReduction #39108
  • Tie break search shard iterator comparisons on cluster alias #38853
  • Clean up ShardSearchLocalRequest #38574
  • Handle unmapped fields in _field_caps API #34071
  • Make 0 as invalid value for min_children in has_child query #33073 (issue: #32949)
  • Analyze numbers, dates and ips with a whitespace analyzer in text queries #27395
  • Add date and date_nanos conversion to the numeric_type sort option #40199
  • Add use_field option to intervals query #40157
  • Add overlapping, before, after filters to intervals query #38999
Security
  • Support concurrent refresh of refresh tokens #38382 (issue: #36872)
Snapshot/Restore
  • Remove IndexShard dependency from Repository #42213
  • Add shared access signature authentication support #42117
  • Support multiple repositories in get snapshot request #41799 (issue: #41210)
  • Implement Bulk Deletes for GCS Repository #41368 (issue: #40322)
  • Add Bulk Delete Api to BlobStore #40322 (issues: #40144, #40250)
  • Async Snapshot Repository Deletes #40144 (issues: #39656, #39657)
  • Allow snapshotting replicated closed indices #39644 (issue: #33888)
  • Add support for S3 intelligent tiering (#38836) #39376 (issue: #38836)
Store
  • Log missing file exception when failing to read metadata snapshot #32920
Suggesters
  • Tie-break completion suggestions with same score and surface form #39564

Bug fixes

Aggregations
  • Update error message for allowed characters in aggregation names #41573 (issue: #41567)
  • Fix FiltersAggregation NPE when filters is empty #41459 (issue: #41408)
  • Fix unmapped field handling in the composite aggregation #41280
Allocation
  • Avoid bubbling up failures from a shard that is recovering #42287 (issues: #30919, #40107)
  • Changed the position of reset counter #39678 (issue: #39546)
Analysis
  • Always use IndexAnalyzers in analyze transport action #40769 (issue: #29021)
  • Fix anaylze NullPointerException when AnalyzeTokenList tokens is null #39332
  • Fix anaylze NullPointerException when AnalyzeTokenList tokens is null #39180
Authentication
  • Refresh remote JWKs on all errors #42850
  • Fix refresh remote JWKS logic #42662
  • Fix settings prefix for realm truststore password #42336 (issues: #30241, #41663)
  • Merge claims from userinfo and ID Token correctly #42277
  • Do not refresh realm cache unless required #42169 (issue: #35218)
  • Amend prepareIndexIfNeededThenExecute for security token refresh #41697
  • Fix token Invalidation when retries exhausted #39799
Authorization
  • _cat/indices with Security, hide names when wildcard #38824 (issue: #37190)
CCR
  • CCR should not replicate private/internal settings #43067 (issue: #41268)
CRUD
  • Fix NPE when rejecting bulk updates #42923
Cluster Coordination
  • Reset state recovery after successful recovery #42576 (issue: #39172)
  • Omit non-masters in ClusterFormationFailureHelper #41344
Data Frame
  • Rewrite start and stop to answer with acknowledged #42589 (issue: #42450)
  • Set DF task state to stopped when stopping #42516 (issue: #42441)
  • Add support for fixed_interval, calendar_interval, remove interval #42427 (issues: #33727, #42297)
Distributed
  • Avoid loading retention leases while writing them #42620 (issue: #41430)
  • Do not use ifSeqNo for update requests on mixed cluster #42596 (issue: #42561)
  • Prevent order being lost for _nodes API filters #42045 (issue: #41885)
  • Ensure flush happen before closing an index #40184 (issue: #36342)
Engine
  • Account soft deletes for committed segments #43126 (issue: #43103)
  • Fix assertion error when caching the result of a search in a read-only index #41900 (issue: #41795)
  • Close and acquire commit during reset engine fix #41584 (issue: #38561)
Features/ILM
  • Make ILM force merging best effort #43246 (issues: #42824, #43245)
  • Narrow period of Shrink action in which ILM prevents stopping #43254 (issue: #43253)
Features/Indices APIs
  • Add pre-upgrade check to test cluster routing allocation is enabled #39340 (issue: #39339)
Features/Ingest
  • Build local year inside DateFormat lambda #42120
Features/Java High Level REST Client
  • Fixes a bug in AnalyzeRequest.toXContent() #42795 (issues: #39670, #42197)
  • StackOverflowError when calling BulkRequest#add #41672
  • HLRC: Convert xpack methods to client side objects #40705 (issue: #40511)
  • Rest-High-Level-Client:fix uri encode bug when url path start with / #34436 (issue: #34433)
Features/Watcher
  • NullPointerException when creating a watch with Jira action (#41922) #42081
  • Fix minor watcher bug, unmute test, add additional debug logging #41765 (issues: #29893, #30777, #33291, #35361)
  • Fix Watcher deadlock that can cause in-abilty to index documents. #41418 (issue: #41390)
Geo
  • Improve error message when polygons contains twice the same point in no-consecutive position #41051 (issue: #40998)
Highlighting
  • Bug fix for AnnotatedTextHighlighter - port of 39525 #39749 (issue: #39525)
Infra/Core
  • Fix roundUp parsing with composite patterns #43080 (issue: #42835)
  • scheduleAtFixedRate would hang #42993 (issue: #38441)
  • Only ignore IOException when fsyncing on dirs #42972 (issue: #42950)
  • Fix node close stopwatch usage #41918
  • Make ISO8601 date parser accept timezone when time does not have seconds #41896
  • Allow unknown task time in QueueResizingEsTPE #41810 (issue: #41448)
  • Parse composite patterns using ClassicFormat.parseObject #40100 (issue: #39916)
Infra/Packaging
  • Don’t create tempdir for cli scripts #41913 (issue: #34445)
  • Cleanup plugin bin directories #41907 (issue: #18109)
  • Update lintian overrides #41561 (issue: #17185)
  • Resolve JAVA_HOME at windows service install time #39714 (issue: #30720)
Infra/Settings
  • Handle UTF-8 values in the keystore #39496
  • Handle empty input in AddStringKeyStoreCommand #39490 (issue: #39413)
Machine Learning
  • Fix possible race condition when closing an opening job #42506
  • Exclude analysis fields with core field names from anomaly results #41093 (issue: #39406)
Mapping
  • Fix possible NPE in put mapping validators #43000 (issue: #37675)
  • Fix merging of text field mappers #40627
  • Fix an off-by-one error in the vector field dimension limit. #40489
  • Fix not Recognizing Disabled Object Mapper #39862 (issue: #39456)
  • Avoid copying the field alias lookup structure unnecessarily. #39726
  • Handle NaNs when detrending seasonal components #408
Network
  • Don’t require TLS for single node clusters #42826
  • Handle WRAP ops during SSL read #41611
  • SSLDriver can transition to CLOSED in handshake #41458
  • Handle Bulk Requests on Write Threadpool #40866 (issues: #39128, #39658)
Percolator
  • Fixed ignoring name parameter for percolator queries #42598 (issue: #40405)
Recovery
  • Use translog to estimate number of operations in recovery #42211 (issue: #38904)
  • Recovery with syncId should verify seqno infos #41265
  • Retain history for peer recovery using leases #39133
Reindex
  • Remote reindex failure parse fix #42928
  • Fix concurrent search and index delete #42621 (issue: #28053)
  • Propogate version in reindex from remote search #42412 (issue: #31908)
Rollup
  • Fix max boundary for rollup jobs that use a delay #42158
  • Cleanup exceptions thrown during RollupSearch #41272 (issue: #38015)
  • Validate timezones based on rules not string comparision #36237 (issue: #36229)
SQL
  • Fix wrong results when sorting on aggregate #43154 (issue: #42851)
  • Cover the Integer type when extracting values from _source #42859 (issue: #42858)
  • Fix precedence of :: psql like CAST operator #40665
Search
  • Fix IntervalBuilder#analyzeText to never return null #42750 (issue: #42587)
  • Fix sorting on nested field with unmapped #42451 (issue: #33644)
  • Always set terminated_early if terminate_after is set in the search request #40839 (issue: #33949)
  • more_like_this query to throw an error if the like fields is not provided #40632
  • Fixing 503 Service Unavailable errors during fetch phase #39086
  • Fix IndexSearcherWrapper visibility #39071 (issue: #30758)
Snapshot/Restore
  • Fix Azure List by Prefix Bug #42713
  • Remove Harmful Exists Check from BlobStoreFormat #41898 (issue: #41882)
  • Restricts naming for repositories #41008 (issue: #40817)
  • SNAPSHOT: More Resilient Writes to Blob Stores #36927 (issue: #25281)
Suggesters
  • Handle min_doc_freq in suggesters #40840 (issue: #16764)

Upgrades

Features/Watcher
  • Replace javax activation with jakarta activation #40247
  • Replace java mail with jakarta mail #40088
Infra/Core
  • Update to joda time 2.10.2 #42199
Network
  • Upgrade to Netty 4.1.35 #41499

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/release-notes-7.2.0.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API