Elasticsearch version 7.7.1edit

Also see Breaking changes in 7.7.

Known issuesedit

  • SQL: If a WHERE clause contains at least two relational operators joined by AND, of which one is a comparison (<=, <, >=, >) and another one is an inequality (!=, <>), both against literals or foldable expressions, the inequality will be ignored. The workaround is to substitute the inequality with a NOT IN operator.

    We have fixed this issue in Elasticsearch 7.10.1 and later versions. For more details, see #65488.

  • Parsing a request when the last element in an array is filtered out (for instance using _source_includes) fails. This is due to a bug in Jackson parser. Fixed in Elasticsearch 8.6.1 (#91456)
  • The deprecated index.mapper.dynamic setting can break your cluster. It can only be set using the Update index settings API. Symptoms include nodes failing to start or shards failing to allocate. Do not use this setting in versions prior to 7.17.22. The bug is fixed in 7.17.22. (issue: #109160)

Enhancementsedit

Authorization
  • Remove synthetic role names of API keys as they confuse users #56005
Features/ILM+SLM
  • ILM: Add cluster update timeout on step retry #54878
SQL
  • Change error message for comparison against fields in filtering #57126 (issue: #57005)

Bug fixesedit

Authentication
  • Expose idp.metadata.http.refresh for SAML realm #56354
  • Fix concurrent refresh of tokens #55114 (issue: #54289)
CCR
  • Retry follow task when remote connection queue full #55314
Cluster Coordination
  • Fix the problem of recovering twice when perform a full cluster restart(#55564) #55780 (issue: #55564)
Discovery-Plugins
Engine
  • Ensure no circular reference in translog tragic exception #55959 (issue: #55893)
  • Update translog policy before the next safe commit #54839 (issue: #52223)
Features/CAT APIs
  • Handle exceptions when building _cat/indices response #56993 (issue: #56816)
Features/Features
Features/ILM+SLM
  • Fix Missing IgnoredUnavailable Flag in 7.x SLM Retention Task #56616
Features/Indices APIs
  • Allow removing replicas setting on closed indices #56680 (issues: #56656, #56675)
  • Allow removing index.number_of_replicas setting #56656 (issue: #56501)
Features/Ingest
  • Fix enrich coordinator to reject documents instead of deadlocking #56247 (issue: #55634)
  • EnrichProcessorFactory should not throw NPE if missing metadata #55977
  • Prevent stack overflow for numerous grok patterns. #55899
  • Fix empty_value handling in CsvProcessor #55649 (issue: #55643)
Features/Java High Level REST Client
  • Honor IndicesOptions in HLRC putMapping request #57118 (issue: #57045)
Features/Monitoring
  • Fix incorrect log warning when exporting monitoring via HTTP without authentication #56958 (issue: #56810)
  • Ensure that the monitoring export exceptions are logged. #56237
Features/Watcher
  • Ensure that .watcher-history-11* template is in installed prior to use #56734 (issue: #56732)
  • Fix smtp.ssl.trust setting for watcher email #56090 (issues: #45272, #52153)
Infra/Core
  • Prevent unexpected native controller output hanging the process #56491 (issue: #56366)
  • Add method to check if object is generically writeable in stream #54936 (issue: #54708)
Infra/Logging
Machine Learning
  • Fix background persistence of categorizer state. #1137 (issue: #1136)
  • Fix classification job failures when number of classes in configuration differs from the number of classes present in the training data. #1144
  • Fix underlying cause for "Failed to calculate splitting significance" log errors. #1157
  • Fix possible root cause for "Bad variance scale nan" log errors. #1225
  • Change data frame analytics instrumentation timestamp resolution to milliseconds. #1237
  • Fix "autodetect process stopped unexpectedly: Fatal error: terminate called after throwing an instance of 'std::bad_function_call". #1246 (issue: #1245)
  • Fix monitoring if orphaned anomaly detector persistent tasks exist #57235 (issue: #51888)
  • Fix delete_expired_data/nightly maintenance when many model snapshots need deleting #57041 (issue: #47103)
  • Ensure class is represented when its cardinality is low #56783
  • Use non-zero timeout when force stopping DF analytics #56423
  • Reduce InferenceProcessor.Factory log spam by not parsing pipelines #56020 (issue: #55985)
  • Audit when unassigned datafeeds are stopped #55656 (issue: #55521)
Network
  • Fix use of password protected PKCS#8 keys for SSL #55457 (issue: #8)
  • Add support for more named curves #55179 (issue: #55031)
Recovery
  • Fix trimUnsafeCommits for indices created before 6.2 #57187 (issue: #57091)
SQL
  • Fix unecessary evaluation for CASE/IIF #57159 (issue: #49672)
  • JDBC: fix access to the Manifest for non-entry JAR URLs #56797 (issue: #56759)
  • Fix JDBC url pattern in docs and error message #56612 (issue: #56476)
  • Fix serialization of JDBC prep statement date/time params #56492 (issue: #56084)
  • Fix issue with date range queries and timezone #56115 (issue: #56049)
  • SubSelect unresolved bugfix #55956
Search
  • Don’t run sort optimization on size=0 #57044 (issue: #56923)
  • Fix bool query behaviour on null value #56817 (issue: #56812)
  • Fix validate query listener invocation bug #56157
  • Async Search: correct shards counting #55758
  • For constant_keyword, make sure exists query handles missing values. #55757 (issue: #53545)
  • Fix (de)serialization of async search failures #55688
  • Fix expiration time in async search response #55435
  • Return true for can_match on idle search shards #55428 (issues: #27500, #50043)
Snapshot/Restore
  • Fix NPE in Partial Snapshot Without Global State #55776 (issue: #50234)
  • Fix Path Style Access Setting Priority #55439 (issue: #55407)

Upgradesedit

Infra/Core
Infra/Packaging
  • Upgrade bundled jdk to 14.0.1 #57233
SQL
  • Update the JLine dependency to 3.14.1 #57111 (issue: #57076)