5.1.1 Release Notes

edit

Also see Breaking changes in 5.1.

Breaking changes

edit
Aliases
  • Validate alias names the same as index names #20771 (issue: #20748)
REST

Breaking Java changes

edit
Discovery
  • Remove pluggability of ElectMasterService #21031
Exceptions
  • Remove IndexTemplateAlreadyExistsException and IndexShardAlreadyExistsException #21539 (issue: #21494)
  • Replace IndexAlreadyExistsException with ResourceAlreadyExistsException #21494
  • Backport: Replace IndexAlreadyExistsException with ResourceAlreadyExistsException #21601 (issue: #21494)
Internal
  • Pass executor name to request interceptor to support async intercept calls #21089
Network
  • Unguice Transport and friends #20526
Plugins
  • Plugins: Remove support for onModule #21416

Deprecations

edit
Analysis
  • Deprecating request parameters of _analyze API in 5.x #20686 (issue: #20246)
CRUD
Core
  • Add deprecation logging for users that explicitly opt in for the default fs type. #21617
Mapping
  • Deprecate timestamp and ttl on index requests. #21826 (issue: #21670)
Query DSL
  • Add deprecation logging for lenient boolean queries #21570 (issue: #21555)
  • Add deprecation logging message for fuzzy query #20993 (issue: #15760)
Search
  • Deprecate ignored type parameter in search_shards api #21730 (issue: #21688)
Settings
  • Add deprecation logging for the case that store throttling is used. #21618

New features

edit
Analysis
CAT API
  • Provides a cat api endpoint for templates. #20545 (issue: #20467)
Query DSL
  • Add "all fields" execution mode to simple_query_string query #21341 (issues: #19784, #20925)
  • Add support for quote_field_suffix to simple_query_string. #21060 (issue: #18641)
  • Add "all field" execution mode to query_string query #20925 (issue: #19784)
Reindex API
  • Add automatic parallelization support to reindex and friends #20767 (issue: #20624)

Enhancements

edit
Aggregations
  • Rescorer should be applied in the TopHits aggregation #20978 (issue: #19317)
Allocation
  • Balance step in BalancedShardsAllocator for a single shard #21103
  • Process more expensive allocation deciders last #20724 (issue: #12815)
  • Separates decision making from decision application in BalancedShardsAllocator #20634
  • Split allocator decision making from decision application #20431 (issue: #20347)
Analysis
  • Remove AnalysisService and reduce it to a simple name to analyzer mapping #20627 (issues: #19827, #19828)
CAT API
  • Adding built-in sorting capability to _cat apis. #20658 (issue: #16975)
  • Add health status parameter to cat indices API #20393
Cache
Cluster
  • Cache successful shard deletion checks #21438
Core
  • Reduce memory pressure when sending large terms queries. #21776
  • Install a security manager on startup #21716
  • Log node ID on startup #21673
  • Ensure source filtering automatons are only compiled once #20857 (issue: #20839)
  • Improve scheduling fairness when batching cluster state changes with equal priority #20775 (issue: #20768)
  • Do not log full bootstrap checks exception #19989
Exceptions
Geo
Ingest
Internal
  • Rename ClusterState#lookupPrototypeSafe to lookupPrototype and remove "unsafe" unused variant #21686
  • ShardActiveResponseHandler shouldn’t hold to an entire cluster state #21470 (issue: #21394)
  • Remove unused ClusterService dependency from SearchPhaseController #21421
  • Remove special case in case no action filters are registered #21251
  • Use TimveValue instead of long for CacheBuilder methods #20887
  • Remove SearchContext#current and all it’s threadlocals #20778 (issue: #19341)
Java REST Client
  • Provide error message when rest request path is null #21233 (issue: #21232)
Logging
  • Log failure to connect to node at info instead of debug #21809 (issue: #6468)
  • Truncate log messages from the end #21609 (issue: #21602)
  • Logging shutdown hack #20389 (issue: #20304)
  • Disable console logging #20387
Mapping
  • Create the QueryShardContext lazily in DocumentMapperParser. #21287
Network
  • Grant Netty permission to read system somaxconn #21840
  • Lazy resolve unicast hosts #21630 (issues: #14441, #16412)
  • Fix handler name on message not fully read #21478
  • Handle rejected pings on shutdown gracefully #20842
Packaging
  • Add empty plugins dir for archive distributions #21204 (issue: #20342)
  • Make explicit missing settings for Windows service #21200 (issue: #18317)
  • Change permissions on config files #20966
Plugin Lang Painless
  • Add Debug.explain to painless #21723 (issue: #20263)
  • Implement the ?: operator in painless #21506
  • In painless suggest a long constant if int won’t do #21415 (issue: #21313)
  • Support decimal constants with trailing [dD] in painless #21412 (issue: #21116)
  • Implement reading from null safe dereferences #21239
  • Painless negative offsets #21080 (issue: #20870)
Plugin Repository S3
  • Make the default S3 buffer size depend on the available memory. #21299
Plugins
  • Clarify that plugins can be closed #21669
  • Plugins: Convert custom discovery to pull based plugin #21398
  • Removing plugin that isn’t installed shouldn’t trigger usage information #21272 (issue: #21250)
  • Remove pluggability of ZenPing #21049
  • Make UnicastHostsProvider extension pull based #21036
Query DSL
  • Using ObjectParser in MatchAllQueryBuilder and IdsQueryBuilder #21273
  • Expose splitOnWhitespace in Query String Query #20965 (issue: #20841)
  • Throw error if query element doesn’t end with END_OBJECT #20528 (issue: #20515)
  • Remove lowercase_expanded_terms and locale from query-parser options. #20208 (issue: #9978)
Reindex API
  • Make reindex-from-remote ignore unknown fields #20591 (issue: #20504)
Scripting
  • Wrap VerifyError in ScriptException #21769
  • Support binary field type in script values #21484 (issue: #14469)
  • Mustache: Add {{#url}}{{/url}} function to URL encode strings #20838
  • Expose ctx._now in update scripts #20835 (issue: #17895)
Search
  • Add indices and filter information to search shards api output #21738 (issue: #20916)
  • remove pointless catch exception in TransportSearchAction #21689
  • Optimize query with types filter in the URL (t/t/_search) #20979
  • Makes search action cancelable by task management API #20405
Search Templates
  • Add profile and explain parameters to template API #20451
Snapshot/Restore
  • Abort snapshots on a node that leaves the cluster #21084 (issue: #20876)
Stats
  • Remove load average leniency #21380
  • Strengthen handling of unavailable cgroup stats #21094 (issue: #21029)
  • Add basic cgroup CPU metrics #21029
Task Manager
  • Add search task descriptions #21740
Tribe Node

Bug fixes

edit
Aggregations
  • Rewrite Queries/Filter in FilterAggregationBuilder and ensure client usage marks query as non-cachable #21303 (issue: #21301)
  • Percentiles bucket fails for 100th percentile #21218
  • Thread safety for scripted significance heuristics #21113 (issue: #18120)
Allocation
  • Allow master to assign primary shard to node that has shard store locked during shard state fetching #21656 (issue: #19416)
Analysis
  • Can load non-PreBuiltTokenFilter in Analyze API #20396
CAT API
  • Consume full_id request parameter early #21270 (issue: #21266)
Cache
  • Fix the request cache keys to not hold references to the SearchContext. #21284
Circuit Breakers
  • ClusterState publishing shouldn’t trigger circuit breakers #20986 (issues: #20827, #20960)
Cluster
  • Remove cluster update task when task times out #21578 (issue: #21568)
Core
  • Add a StreamInput#readArraySize method that ensures sane array sizes #21697
  • Use a buffer to do character to byte conversion in StreamOutput#writeString #21680 (issue: #21660)
  • Fix ShardInfo#toString #21319
  • Protect BytesStreamOutput against overflows of the current number of written bytes. #21174 (issue: #21159)
  • Return target index name even if _rollover conditions are not met #21138
  • .es_temp_file remains after system crash, causing it not to start again #21007 (issue: #20992)
Dates
  • Fix time zone rounding edge case for DST overlaps #21550 (issue: #20833)
Engine
  • Die with dignity on the Lucene layer #21721 (issue: #19272)
  • Fix InternalEngine#isThrottled to not always return false. #21592
  • Retrying replication requests on replica doesn’t call onRetry #21189 (issue: #20211)
Highlighting
  • Fix FiltersFunctionScoreQuery highlighting #21827
  • Fix highlighting on a stored keyword field #21645 (issue: #21636)
Index APIs
  • Validate the _rollover target index name early to also fail if dry_run=true #21330 (issue: #21149)
Index Templates
  • Fix integer overflows when dealing with templates. #21628 (issue: #21622)
Ingest
  • fix trace_match behavior for when there is only one grok pattern #21413 (issue: #21371)
  • Stored scripts and ingest node configurations should be included into a snapshot #21227 (issue: #21184)
Inner Hits
  • Skip adding a parent field to nested documents. #21522 (issue: #21503)
Internal
  • Rethrow ExecutionException from the loader to concurrent callers of Cache#computeIfAbsent #21549
  • Restore thread’s original context before returning to the ThreadPool #21411
  • Fix NPE in SearchContext.toString() #21069
  • Source filtering should treat dots in field names as sub objects. #20736 (issue: #20719)
Java API
  • Transport client: Fix remove address to actually work #21743
  • Add a HostFailureListener to notify client code if a node got disconnected #21709 (issue: #21424)
  • Fix InternalSearchHit#hasSource to return the proper boolean value #21441 (issue: #21419)
  • Null checked for source when calling sourceRef #21431 (issue: #19279)
  • ClusterAdminClient.prepareDeletePipeline method should accept pipeline id to delete #21228
Java REST Client
  • Rest client: don’t reuse the same HttpAsyncResponseConsumer across multiple retries #21378
Logging
  • Do not prematurely shutdown Log4j #21519 (issue: #21514)
  • Assert status logger does not warn on Log4j usage #21339
  • Fix logger names for Netty #21223 (issue: #20457)
Mapping
  • Fail to index fields with dots in field names when one of the intermediate objects is nested. #21787 (issue: #21726)
  • Uncommitted mapping updates should not efect existing indices #21306 (issue: #21189)
Network
  • DiscoveryNode and TransportAddress should preserve host information #21828
  • Die with dignity on the network layer #21720 (issue: #19272)
  • Prevent double release in TcpTransport if send listener throws an exception #20880
Packaging
  • Set vm.max_map_count on systemd package install #21507
  • Export ES_JVM_OPTIONS for SysV init #21445 (issue: #21255)
  • Debian: configure start-stop-daemon to not go into background #21343 (issues: #12716, #21300)
  • Generate POM files with non-wildcard excludes #21234 (issue: #21170)
Plugin Lang Painless
  • Test fix for def equals in Painless #21945 (issue: #21801)
  • Fix a VerifyError bug in Painless #21765
  • Fix Lambdas in Painless to be Able to Use Top-Level Variables Such as params and doc #21635 (issues: #20869, #21479)
Plugin Mapper Attachment
  • NPE is raised when defining a non existing type within attachments type #21848
Query DSL
  • Fixes date range query using epoch with timezone #21542 (issue: #21501)
  • Allow overriding all-field leniency when lenient option is specified #21504 (issues: #20925, #21341)
  • Max score should be updated when a rescorer is used #20977 (issue: #20651)
REST
  • Strict level parsing for indices stats #21577 (issue: #21024)
  • The routing query string param is supported by mget but was missing from the rest spec #21357
  • fix thread_pool_patterns path variable definition #21332
  • ensure the XContentBuilder is always closed in RestBuilderListener #21124
  • XContentBuilder: Avoid building self-referencing objects #20550 (issues: #19475, #20540)
Reindex API
  • Ignore IllegalArgumentException with assertVersionSerializable #21409 (issues: #20767, #21350)
  • Bump reindex-from-remote’s buffer to 200mb #21222 (issue: #21185)
  • Fix reindex-from-remote for parent/child from <2.0 #21070 (issue: #21044)
Search
  • Fix match_phrase_prefix on boosted fields #21623 (issue: #21613)
  • Respect default search timeout #21599 (issues: #12211, #21595)
  • Remove LateParsingQuery to prevent timestamp access after context is frozen #21328 (issue: #21295)
Search Templates
  • SearchTemplateRequest to implement CompositeIndicesRequest #21865 (issue: #21747)
Settings
  • Handle spaces in action.auto_create_index gracefully #21790 (issue: #21449)
  • Fix settings diff generation for affix and group settings #21788
  • Don’t reset non-dynamic settings unless explicitly requested #21646 (issue: #21593)
Snapshot/Restore
  • Fixes shard level snapshot metadata loading when index-N file is missing #21813
  • Ensures cleanup of temporary index-* generational blobs during snapshotting #21469 (issue: #21462)
  • Fixes get snapshot duplicates when asking for _all #21340 (issue: #21335)
  • Keep snapshot restore state and routing table in sync (5.x backport) #21131 (issue: #20836)
Task Manager
  • Task cancellation command should wait for all child nodes to receive cancellation request before returning #21397 (issue: #21126)
Tribe Node

Upgrades

edit
Core
  • Upgrade to lucene-6.3.0. #21464
Dates
Logging
Network
  • Upgrade to Netty 4.1.6 #21051
Plugin Ingest Attachment