Subject: CVS commit: pkgsrc/databases/elasticsearch
From: Filip Hajny
Date: 2017-11-20 16:36:47
Message id: 20171120153647.A1DC0FB40@cvs.NetBSD.org

Log Message:
Update databases/elasticsearch to 6.0.0.

=== Breaking changes

Aggregations::
- Change parsing of numeric `to` and `from` parameters in `date_range`
  aggregation

Aliases::
- Wrong behavior deleting alias

Allocation::
- Remove `cluster.routing.allocation.snapshot.relocation_enabled`
  setting

Analysis::
- Do not allow custom analyzers to have the same names as built-in
  analyzers
- Removing query-string parameters in `_analyze` API

CAT API::
- Write -1 on unbounded queue in cat thread pool

CRUD::
- Disallow `VersionType.FORCE` for GetRequest
- Disallow `VersionType.FORCE` versioning for 6.x indices
- If the index does not exist, delete document will not auto create it

Cluster::
- Disallow : in cluster and index/alias names
- No longer allow cluster name in data path

Core::
- Simplify file store
- Make boolean conversion strict
- Remove the `default` store type.
- Remove store throttling.

Geo::
- Remove deprecated geo search features
- Reduce GeoDistance Insanity

Highlighting::
- Remove the postings highlighter and make unified the default
  highlighter choice

Index APIs::
- Remove (deprecated) support for '+' in index expressions
- Delete index API to work only against concrete indices
- Open/Close index api to allow_no_indices by default
- Remove support for controversial `ignore_unavailable` and
  `allow_no_indices` from indices exists api

Index Templates::
- Allows multiple patterns to be specified for index templates

Indexed Scripts/Templates::
- Scripting: Remove search template actions

Ingest::
- update ingest-user-agent regexes.yml
- remove ingest.new_date_format

Inner Hits::
- Return the _source of inner hit nested as is without wrapping it
  into its full path context

Java API::
- Enforce Content-Type requirement on the rest layer and remove
  deprecated methods

Java REST Client::
- Remove deprecated created and found from index, delete and bulk

Mapping::
- Reject out of range numbers for float, double and half_float
- Enforce at most one type.
- Disallow `include_in_all` for 6.0+ indices
- Disable _all by default, disallow configuring _all on 6.0+ indices
- Throw an exception on unrecognized "match_mapping_type"

Network::
- Remove unused Netty-related settings
- Remove blocking TCP clients and servers
- Remove `modules/transport_netty_3` in favor of `netty_4`
- Remove LocalTransport in favor of MockTcpTransport

Packaging::
- Configure heap dump path out of the box
- Remove support for ES_INCLUDE
- Setup: Change default heap to 1G
- Use config directory to find jvm.options
- Remove implicit 32-bit support
- Remove default path settings
- Remove path.conf setting
- Honor masking of systemd-sysctl.service
- Rename CONF_DIR to ES_PATH_CONF
- Remove customization of ES_USER and ES_GROUP

Percolator::
- Remove deprecated percolate and mpercolate apis

Plugin Analysis ICU::
- Upgrade icu4j for the ICU analysis plugin to 59.1
- Upgrade icu4j to latest version

Plugin Delete By Query::
- Require explicit query in _delete_by_query API

Plugin Discovery Azure Classic::
- Remove `discovery.type` BWC layer from the EC2/Azure/GCE plugins

Plugin Discovery EC2::
- Ec2 Discovery: Cleanup deprecated settings
- Discovery EC2: Remove region setting
- AWS Plugins: Remove signer type setting

Plugin Lang JS::
- Remove lang-python and lang-javascript

Plugin Mapper Attachment::
- Remove mapper attachments plugin

Plugin Repository Azure::
- Remove global `repositories.azure` settings
- Remove auto creation of container for azure repository

Plugin Repository GCS::
- GCS Repository: Remove specifying credential file on disk

Plugin Repository S3::
- S3 Repository: Cleanup deprecated settings
- S3 Repository: Remove region setting
- S3 Repository: Remove bucket auto create
- S3 Repository: Remove env var and sysprop credentials support
- Remove deprecated S3 settings

Plugins::
- Make plugin loading stricter

Query DSL::
- Remove deprecated `type` and `slop` field in `match` query
- Remove several parse field deprecations in query builders
- Remove deprecated parameters from `ids_query`
- Refactor QueryStringQuery for 6.0
- Change `split_on_whitespace` default to false
- Remove deprecated template query
- Throw exception in scroll requests using `from`
- Remove deprecated `minimum_number_should_match` in BoolQueryBuilder
- Remove support for empty queries
- Remove deprecated query names: in, geo_bbox, mlt, fuzzy_match and
  match_fuzzy
- The `terms` query should always map to a Lucene `TermsQuery`.
- Be strict when parsing values searching for booleans
- Remove collect payloads parameter

REST::
- IndexClosedException to return 400 rather than 403
- Remove comma-separated feature parsing for GetIndicesAction
- Improve REST error handling when endpoint does not support HTTP
  verb, add OPTIONS support
- Remove ldjson support and document ndjson for bulk/msearch
- Enable strict duplicate checks for all XContent types
- Enable strict duplicate checks for JSON content
- Remove lenient stats parsing
- Remove allow unquoted JSON
- Remove FORCE version_type

Scripting::
- remove lang url parameter from stored script requests
- Disallow lang to be used with Stored Scripts
- Remove Deprecated Script Settings
- Scripting: Remove native scripts
- Scripting: Remove file scripts
- Make dates be ReadableDateTimes in scripts
- Remove groovy scripting language
- Remove script access to term statistics

Search::
- Make `index` in TermsLookup mandatory
- Removes FieldStats API
- Remove deprecated fielddata_fields from search request
- Removes deprecated fielddata_fields
- ProfileResult and CollectorResult should print machine readable
  timing information
- Remove indices query
- Remove ignored type parameter in search_shards api

Sequence IDs::
- Change certain replica failures not to fail the replica shard

Settings::
- Settings: Remove shared setting property
- Settings: Remove support for yaml and json config files

Shadow Replicas::
- Remove shadow replicas

Similarities::
- Similarity should accept dynamic settings when possible

=== Breaking Java changes

Aggregations::
- Remove the unused SignificantTerms.compareTerm() method
- Make SignificantTerms.Bucket an interface rather than an abstract
  class
- Fix NPE when `values` is omitted on percentile_ranks agg
- Make Terms.Bucket an interface rather than an abstract class
- Compound order for histogram aggregations

Internal::
- Collapses package structure for some bucket aggs

Java API::
- Remove deprecated IdsQueryBuilder ctor
- Removing unneeded getTookInMillis method
- Java api: ActionRequestBuilder#execute to return a PlainActionFuture

Java High Level REST Client::
- Unify the result interfaces from get and search in Java client
- Allow RestHighLevelClient to use plugins

Java REST Client::
- Rename client artifacts

Network::
- Simplify TransportAddress

Plugin Delete By Query::
- Move DeleteByQuery and Reindex requests into core

Plugins::
- Drop name from TokenizerFactory

Query DSL::
- Remove QueryParseContext
- Remove QueryParseContext from parsing QueryBuilders

REST::
- Return index name and empty map for `/{index}/_alias` with no
  aliases

=== Deprecations

Index APIs::
- Deprecated use of + in index expressions

Index Templates::
- Restore deprecation warning for invalid match_mapping_type values

Indexed Scripts/Templates::
- Scripting: Deprecate stored search template apis

Internal::
- Deprecate XContentType auto detection methods in XContentFactory

Percolator::
- Deprecate percolate query's document_type parameter.

Plugins::
- Plugins: Add backcompat for sha1 checksums

Scripting::
- Scripting: Change keys for inline/stored scripts to source/id
- Scripting: Deprecate native scripts
- Scripting: Deprecate index lookup
- Deprecate Fine Grain Settings for Scripts
- Scripting: Deprecate file script settings
- Scripting: Deprecate file scripts

Settings::
- Settings: Update settings deprecation from yml to yaml
- Deprecate settings in .yml and .json

Tribe Node::
- Deprecate tribe service

=== New features

Aggregations::
- SignificantText aggregation - like significant_terms, but for text

Analysis::
- Expose simplepattern and simplepatternsplit tokenizers
- Parse synonyms with the same analysis chain

Core::
- Enable index-time sorting

Internal::
- Automatically adjust search threadpool queue_size

Mapping::
- Add new ip_range field type

Parent/Child::
- Move parent_id query to the parent-join module
- Introduce ParentJoinFieldMapper, a field mapper that creates
  parent/child relation within documents of the same index

Plugin Analysis ICU::
- Add ICUCollationFieldMapper

Search::
- Automatically early terminate search query based on index sorting

Sequence IDs::
- Add a scheduled translog retention check
- Initialize sequence numbers on a shrunken index
- Initialize primary term for shrunk indices
- Introduce translog size and age based retention policies

Stats::
- Adds nodes usage API to monitor usages of actions

Task Manager::
- Task Management

Upgrade API::
- TemplateUpgraders should be called during rolling restart

=== Enhancements

Aggregations::
- Add strict parsing of aggregation ranges
- Adds rewrite phase to aggregations
- Tweak AggregatorBase.addRequestCircuitBreakerBytes
- Add superset size to Significant Term REST response
- Add document count to Matrix Stats aggregation response
- Adds an implementation of LogLogBeta for the cardinality aggregation
- Support distance units in GeoHashGrid aggregation precision
- Reject multiple methods in `percentiles` aggregation
- Use `global_ordinals_hash` execution mode when sorting by sub
  aggregations.
- Add a specialized deferring collector for terms aggregator
- Agg builder accessibility fixes
- Remove support for the include/pattern syntax.
- Promote longs to doubles when a terms agg mixes decimal and
  non-decimal numbers

Allocation::
- Adjust status on bad allocation explain requests
- Promote replica on the highest version node

Analysis::
- [Analysis] Support normalizer in request param
- Enforce validation for PathHierarchy tokenizer
- [analysis-icu] Allow setting unicodeSetFilter
- Match- and MultiMatchQueryBuilder should only allow setting analyzer
  on string values

Bulk::
- Simplify bulk request execution

CAT API::
- expand `/_cat/nodes` to return information about hard drive

CRUD::
- Added validation for upsert request

Circuit Breakers::
- ScriptService: Replace max compilation per minute setting with max
  compilation rate

Cluster::
- Validate a joining node's version with version of existing cluster
  nodes
- Switch indices read-only if a node runs out of disk space
- Add a cluster block that allows to delete indices that are read-only
- Separate publishing from applying cluster states
- Adds cluster state size to /_cluster/state response

Core::
- Allow `InputStreamStreamInput` array size validation where
  applicable
- Refactor bootstrap check results and error messages
- Add BootstrapContext to expose settings and recovered state to
  bootstrap checks
- Unit testable index creation task on MetaDataCreateIndexService
- Ignore .DS_Store files on macOS
- Add max file size bootstrap check
- Add compatibility versions to main action response
- Index ids in binary form.
- Explicitly reject duplicate data paths
- Use SPI in High Level Rest Client to load XContent parsers
- Upgrade to lucene-7.0.0-snapshot-a0aef2f
- Speed up PK lookups at index time.
- Use Java 9 FilePermission model
- Add friendlier message on bad keystore permissions
- Epoch millis and second formats accept float implicitly
- Remove connect SocketPermissions from core
- Add repository-url module and move URLRepository
- Remove accept SocketPermissions from core
- Move IfConfig.logIfNecessary call into bootstrap
- Remove artificial default processors limit
- Simplify write failure handling
- Improve bootstrap checks error messages

Discovery::
- Allow plugins to validate cluster-state on join

Engine::
- Add refresh stats tracking for realtime get
- Introducing a translog deletion policy
- Fill missing sequence IDs up to max sequence ID when recovering from
  store
- Use sequence numbers to identify out of order delivery in replicas &
  recovery
- Add replica ops with version conflict to translog
- Clarify global checkpoint recovery
- Move the IndexDeletionPolicy to be engine internal

Exceptions::
- IllegalStateException: Only duplicated jar instead of classpath

Highlighting::
- Picks offset source for the unified highlighter directly from the es
  mapping

Index APIs::
- Let primary own its replication group
- Create index request should return the index name

Index Templates::
- Fix error message for a put index template request without
  index_patterns

Ingest::
- Add Ingest-Processor specific Rest Endpoints & Add Grok endpoint
- Port support for commercial GeoIP2 databases from Logstash.
- add `exclude_keys` option to KeyValueProcessor
- Allow removing multiple fields in ingest processor
- Add target_field parameter to ingest processors

Inner Hits::
- Reuse inner hit query weight

Internal::
- TemplateUpgradeService should only run on the master
- Cleanup IndexFieldData visibility
- Bump the min compat version to 5.6.0
- "shard started" should show index and shard ID
- Break out clear scroll logic from TransportClearScrollAction
- Add helper methods to TransportActionProxy to identify proxy actions
  and requests
- Add remote cluster infrastructure to fetch discovery nodes.
- Add the ability to set eager_global_ordinals in the new parent-join
  field
- Disallow multiple parent-join fields per mapping
- Remove the need for _UNRELEASED suffix in versions
- Optimize the order of bytes in uuids for better compression.
- Prevent cluster internal `ClusterState.Custom` impls to leak to a
  client
- Use holder pattern for lazy deprecation loggers
- Allow `ClusterState.Custom` to be created on initial cluster states
- Try to convince the JVM not to lose stacktraces
- Make document write requests immutable
- Add assertions enabled helper

Java API::
- Always Accumulate Transport Exceptions

Java High Level REST Client::
- [DOCS] restructure java clients docs pages
- Use SPI in High Level Rest Client to load XContent parsers
- Add support for clear scroll to high level REST client
- Add search scroll method to high level REST client
- Add search method to high level REST client
- Make RestHighLevelClient Closeable and simplify its creation
- Add info method to High Level Rest client
- Add support for named xcontent parsers to high level REST client
- Add BulkRequest support to High Level Rest client
- Add UpdateRequest support to High Level Rest client
- Add delete API to the High Level Rest Client
- Add Index API to High Level Rest Client
- Add get/exists method to RestHighLevelClient
- Add fromxcontent methods to delete response
- Add REST high level client gradle submodule and first simple method
- Add doc_count to ParsedMatrixStats
- Add fromXContent method to ClearScrollResponse
- ClearScrollRequest to implement ToXContentObject
- SearchScrollRequest to implement ToXContentObject
- Add aggs parsers for high level REST Client

Java REST Client::
- Shade external dependencies in the rest client jar
- RestClient uses system properties and system default SSLContext
- Wrap rest httpclient with doPrivileged blocks

Logging::
- Prevent excessive disk consumption by log files
- Use LRU set to reduce repeat deprecation messages

Mapping::
- More efficient encoding of range fields.
- Don't detect source's XContentType in DocumentParser.parseDocument()
- Better validation of `copy_to`.
- Optimize `terms` queries on `ip` addresses to use a
  `PointInSetQuery` whenever possible.
- Loosen the restrictions on disabling _all in 6.x
- Date detection should not rely on a hardcoded set of characters.
- Identify documents by their `_id`.

Network::
- Add additional low-level logging handler
- Unwrap causes when maybe dying
- Move TransportStats accounting into TcpTransport
- Simplify connection closing and cleanups in TcpTransport
- Disable the Netty recycler in the client
- Remove Netty logging hack
- Isolate SocketPermissions to Netty
- Wrap netty accept/connect ops with doPrivileged
- Replace Socket, ServerSocket, and HttpServer usages in tests with
  mocksocket versions

Packaging::
- Remove memlock suggestion from systemd service
- Set address space limit in systemd service file
- Version option should display if snapshot
- Ignore JVM options before checking Java version
- Also skip JAVA_TOOL_OPTIONS on Windows
- Introduce elasticsearch-env for Windows
- Introduce elasticsearch-env
- Stop exporting HOSTNAME from scripts
- Set number of processes in systemd unit file

Parent/Child::
- Remove ParentJoinFieldSubFetchPhase
- Support parent id being specified as number in the _source

Percolator::
- Store the QueryBuilder's Writable representation instead of its
  XContent representation
- Add support for selecting percolator query candidate matches
  containing wildcard / prefix queries

Plugin Discovery EC2::
- Read ec2 discovery address from aws instance tags

Plugin Lang Painless::
- Allow Custom Whitelists in Painless
- Update Painless to Allow Augmentation from Any Class
- Add Needs Methods to Painless Script Context Factories
- Support Script Context Stateful Factory in Painless
- Generate Painless Factory for Creating Script Instances
- Update Painless to Use New Script Contexts
- Optimize instance creation in LambdaBootstrap
- Make Painless Compiler Use an Instance Per Context
- Make PainlessScript An Interface

Plugin Repository GCS::
- GCS Repository: Add secure storage of credentials

Plugin Repository HDFS::
- Add permission checks before reading from HDFS stream
- Add doPrivilege blocks for socket connect ops in repository-hdfs
- Add Kerberos support for Repo HDFS plugin

Plugin Repository S3::
- S3 Repository: Add back repository level credentials

Plugins::
- Adjust SHA-512 supported format on plugin install
- Move tribe to a module
- Plugins can register pre-configured char filters
- Add purge option to remove plugin CLI
- Allow plugins to register pre-configured tokenizers
- Move ReindexAction class to core
- Make PreConfiguredTokenFilter harder to misuse
- Plugins: Remove leniency for missing plugins dir
- Add doPrivilege blocks for socket connect operations in plugins

Query DSL::
- Make slop optional when parsing `span_near` query
- Require a field when a `seed` is provided to the `random_score`
  function.
- Add support for auto_generate_synonyms_phrase_query in match_query,
  multi_match_query, query_string and simple_query_string

REST::
- Cat shards bytes
- Refactor PathTrie and RestController to use a single trie for all
  methods
- Make ObjectParser support string to boolean conversion

Recovery::
- Introduce a History UUID as a requirement for ops based recovery
- Goodbye, Translog Views
- Disallow multiple concurrent recovery attempts for same target shard
- Live primary-replica resync (no rollback)
- Peer Recovery: remove maxUnsafeAutoIdTimestamp hand off
- Introduce sequence-number-based recovery

Scripting::
- Scripting: Rename SearchScript.needsScores to needs_score
- Scripting: Add optional context parameter to put stored script
  requests
- Add New Security Script Settings
- Add StatefulFactoryType as optional intermediate factory in script
  contexts
- Make contexts available to ScriptEngine construction
- Make ScriptEngine.compile generic on the script context
- Add instance and compiled classes to script contexts

Search::
- Add soft limit on allowed number of script fields in request
- Add a soft limit for the number of requested doc-value fields
- Rewrite search requests on the coordinating nodes
- Ensure query resources are fetched asynchronously during rewrite
- Introduce a new Rewriteable interface to streamline rewriting
- Reduce the scope of `QueryRewriteContext`
- Reduce the overhead of timeouts and low-level search cancellation.
- Reduce profiling overhead.
- Prevent `can_match` requests from sending to incompatible nodes
- Add a shard filter search phase to pre-filter shards based on query
  rewriting
- Ensure we rewrite common queries to `match_none` if possible
- Limit the number of concurrent shard requests per search request
- Add cluster name validation to RemoteClusterConnection
- Speed up sorted scroll when the index sort matches the search sort
- Leverage scorerSupplier when applicable.
- Add Cross Cluster Search support for scroll searches
- Track EWMA[1] of task execution time in search threadpool executor
- Query range fields by doc values when they are expected to be more
  efficient than points
- Search: Fairer balancing when routing searches by session ID
-  Add parsing from xContent to Suggest
- Add parsing from xContent to ShardSearchFailure
- Eliminate array access in tight loops when profiling is enabled.
- Support Multiple Inner Hits on a Field Collapse Request
- Expand cross cluster search indices for search requests to the
  concrete index or to it's aliases

Search Templates::
- Add max concurrent searches to multi template search

Sequence IDs::
- Roll translog generation on primary promotion
- Restoring from snapshot should force generation of a new history
  uuid
- Add global checkpoint tracking on the primary
- Introduce global checkpoint background sync
- Move `UNASSIGNED_SEQ_NO` and `NO_OPS_PERFORMED` to SequenceNumbers`
- Move primary term from ReplicationRequest to ConcreteShardRequest
- Add reason to global checkpoint updates on replica
- Introduce primary/replica mode for GlobalCheckPointTracker
- Throw back replica local checkpoint on new primary
- Update global checkpoint when increasing primary term on replica
- Enable a long translog retention policy by default
- Introduce primary context
- Block older operations on primary term transition
- Block global checkpoint advances when recovering
- Add primary term to doc write response
- Preserve multiple translog generations
- Introduce translog generation rolling
- Replicate write failures
- Introduce sequence-number-aware translog
- Introduce translog no-op
- Tighten sequence numbers recovery
- Add BWC layer to seq no infra and enable BWC tests
- Add internal _primary_term doc values field, fix _seq_no indexing
- Add global checkpoint to translog checkpoints
- Sequence numbers commit data for Lucene uses Iterable interface
- Simplify GlobalCheckpointService and properly hook it for cluster
  state updates
- Fill gaps on primary promotion
- Introduce clean transition on primary promotion
- Guarantee that translog generations are seqNo conflict free
- Inline global checkpoints

Settings::
- Add disk threshold settings validation
- Enable cross-setting validation
- Validate `transport.profiles.*` settings
- Cleanup network / transport related settings
- Emit settings deprecation logging at most once
- IndexMetaData: Introduce internal format index setting
- Persist created keystore on startup unless keystore is present
- Settings: Add keystore.seed auto generated secure setting
- Settings: Add keystore creation to add commands

Snapshot/Restore::
- Fixed references to Multi Index Syntax
- Improves snapshot logging and snapshot deletion error handling
- Enhances get snapshots API to allow retrieving repository index only

Stats::
- Update `IndexShard#refreshMetric` via a
  `ReferenceManager.RefreshListener`
- Expose disk usage estimates in nodes stats

Store::
- Remote support for lucene versions without checksums

Suggesters::
- Remove deprecated _suggest endpoint

Task Manager::
- Add descriptions to bulk tasks

Translog::
- Translog file recovery should not rely on lucene commits

=== Bug fixes

Aggregations::
- Do not delegate a null scorer to LeafBucketCollectors
- Create weights lazily in filter and filters aggregation
- Fix IndexOutOfBoundsException in histograms for NaN doubles (#26787)
- Scripted_metric _agg parameter disappears if params are provided
- Fixes array out of bounds for value count agg
- Aggregations bug: Significant_text fails on arrays of text.
- Check bucket metric ages point to a multi bucket agg
- Terms aggregation should remap global ordinal buckets when a
  sub-aggregator is used to sort the terms
- Correctly set doc_count when MovAvg "predicts" values on existing
  buckets
- DateHistogram: Fix `extended_bounds` with `offset`
- Fix ArrayIndexOutOfBoundsException when no ranges are specified in
  the query

Aliases::
- mget with an alias shouldn't ignore alias routing
- GET aliases should 404 if aliases are missing

Allocation::
- Fix DiskThresholdMonitor flood warning
- Allow wildcards for shard IP filtering

Analysis::
- Pre-configured shingle filter should disable graph analysis
- PatternAnalyzer should lowercase wildcard queries when `lowercase`
  is true.

CAT API::
- Fix NPE for /_cat/indices when no primary shard

CRUD::
- Serialize and expose timeout of acknowledged requests in REST layer
- Fix silent loss of last command to _bulk and _msearch due to missing
  newline

Cache::
- Reduce the default number of cached queries.
- fix bug of weight computation

Circuit Breakers::
- Checks the circuit breaker before allocating bytes for a new big
  array

Cluster::
- Register setting `cluster.indices.tombstones.size`

Core::
- Correctly encode warning headers
- Fix cache compute if absent for expired entries
- Timed runnable should delegate to abstract runnable
- Stop invoking non-existent syscall
- MetaData Builder doesn't properly prevent an alias with the same
  name as an index
- Release operation permit on thread-pool rejection
- Node should start up despite of a lingering `.es_temp_file`
- Fix cache expire after access

Dates::
- Fix typo in date format

Discovery::
- MasterNodeChangePredicate should use the node instance to detect
  master change

Engine::
- Die with dignity while merging
- Engine - do not index operations with seq# lower than the local
  checkpoint into lucene

Geo::
- Fix typo in GeoUtils#isValidLongitude

Highlighting::
- Fix percolator highlight sub fetch phase to not highlight query
  twice
- FastVectorHighlighter should not cache the field query globally
- Higlighters: Fix MultiPhrasePrefixQuery rewriting
- Fix nested query highlighting

Index APIs::
- Shrink API should ignore templates
- Rollover max docs should only count primaries
- Validates updated settings on closed indices

Ingest::
- date processor should not fail if timestamp is specified as json
  number
- date_index_name processor should not fail if timestamp is specified
  as json number
- Sort Processor does not have proper behavior with targetField
- fix grok's pattern parsing to validate pattern names in expression
- Remove support for Visio and potm files
- Fix floating-point error when DateProcessor parses UNIX
- add option for _ingest.timestamp to use new ZonedDateTime (5.x
  backport)

Inner Hits::
- Do not allow inner hits that fetch _source and have a non nested
  object field as parent
- When fetching nested inner hits only access stored fields when
  needed
- If size / offset are out of bounds just do a plain count
- Fix Source filtering in new field collapsing feature

Internal::
- Bump version to 6.0.1
- `IndexShard.routingEntry` should only be updated once all internal
  state is ready
- Catch exceptions and inform handler in
  RemoteClusterConnection#collectNodes
- Internal: Add versionless alias for rest client codebase in policy
  files
- Upgrade Lucene to version 7.0.1
- Fix BytesReferenceStreamInput#skip with offset
- Fix race condition in RemoteClusterConnection node supplier
- Initialise empty lists in BaseTaskResponse constructor
- Extract a common base class for scroll executions
- Obey lock order if working with store to get metadata snapshots
- Fix Version based BWC and set correct minCompatVersion
- Fix `_field_caps` serialization in order to support cross cluster
  search
- Avoid race when shutting down controller processes
- Fix handling of document failure exception in InternalEngine
- Ensure remote cluster is connected before fetching `_field_caps`

Java API::
- BulkProcessor flush runnable preserves the thread context from
  creation time

Java High Level REST Client::
- Make RestHighLevelClient's Request class public
- Forbid direct usage of ContentType.create() methods
- Make ShardSearchTarget optional when parsing ShardSearchFailure

Java REST Client::
- Better message text for ResponseException
- rest-client-sniffer: configurable threadfactory

Logging::
- Allow not configure logging without config

Mapping::
- Allow copying from a field to another field that belongs to the same
  nested object.
- Fixed bug that mapper_parsing_exception is thrown for numeric field
  with ignore_malformed=true when inserting "NaN"
- Coerce decimal strings for whole number types by truncating the
  decimal part
- Fix parsing of ip range queries.
- Disable date field mapping changing
- Correctly enable _all for older 5.x indices
- token_count datatype should handle null value
- keep _parent field while updating child type mapping
- ICUCollationKeywordFieldMapper use SortedSetDocValuesField
- Fix serialization of the `_all` field.

More Like This::
- Pass over _routing value with more_like_this items to be retrieved

NOT CLASSIFIED::
- DocumentMissingException during Logstash scripted upsert
- An assertion trips when master opens an index from before 5.x

Nested Docs::
- In case of a single type the _id field should be added to the nested
  document instead of _uid field
- Inner hits source filtering not working

Network::
- Fixed ByteBuf leaking in
  org.elasticsearch.http.netty4.Netty4HttpRequestHandler
- Check for closed connection while opening
- Ensure pending transport handlers are invoked for all channel
  failures
- Notify onConnectionClosed rather than onNodeDisconnect to prune
  transport handlers
- Release pipelined http responses on close
- Fix error message if an incompatible node connects

Packaging::
- Fix handling of Windows paths containing parentheses
- Exit Windows scripts promptly on failure
- Pass config path as a system property
- ES_HOME needs to be made absolute before attempt at traversal
- Fix elasticsearch-keystore handling of path.conf
- Stop disabling explicit GC
- Avoid failing install if system-sysctl is masked
- Get short path name for native controllers
- When stopping via systemd only kill the JVM, not its control group
- remove remaining references to scripts directory
- Handle parentheses in batch file path
- Detect modified keystore on package removal
- Create keystore on RPM and Debian package install
- Add safer empty variable checking for Windows
- Export HOSTNAME environment variable
- Fix daemonization command status test
- Set RuntimeDirectory in systemd service

Parent/Child::
- The default _parent field should not try to load global ordinals

Percolator::
- Also support query extraction for queries wrapped inside a
  ESToParentBlockJoinQuery
- Fix range queries with date range based on current time in
  percolator queries.

Plugin Analysis Kuromoji::
- Fix kuromoji default stoptags

Plugin Analysis Phonetic::
- Fix beidermorse phonetic token filter for unspecified `languageset`

Plugin Discovery File::
- Fix discovery-file plugin to use custom config path

Plugin Ingest Attachment::
- Add missing mime4j library

Plugin Lang Painless::
- Painless: allow doubles to be casted to longs.

Plugin Repository Azure::
- Azure snapshots can not be restored anymore
- Snapshot : azure module - accelerate the listing of files (used in
  delete snapshot)
- Use Azure upload method instead of our own implementation
- Make calls to CloudBlobContainer#exists privileged

Plugin Repository GCS::
- Ensure that gcs client creation is privileged

Plugin Repository HDFS::
- Add Log4j to SLF4J binding for repository-hdfs
- Upgrading HDFS Repository Plugin to use HDFS 2.8.1 Client

Plugin Repository S3::
- Avoid SecurityException in repository-S3 on
  DefaultS3OutputStream.flush()
- Wrap getCredentials() in a doPrivileged() block

Plugins::
- X-Pack plugin download fails on Windows desktop
- Fix plugin installation permissions

Query DSL::
- Fixed incomplete JSON body on count request making
  org.elasticsearch.rest.action.RestActions#parseTopLevelQueryBuilder
go into endless loop
- SpanNearQueryBuilder should return the inner clause when a single
  clause is provided
- Refactor field expansion for match, multi_match and query_string
  query
- WrapperQueryBuilder should also rewrite the parsed query

REST::
- Rest test fixes
- Fix inconsistencies in the rest api specs for cat.snapshots
- Fix inconsistencies in the rest api specs for *_script
- exists template needs a template name
- Fix handling of invalid error trace parameter
- Fix handling of exceptions thrown on HEAD requests
- Fixed NPEs caused by requests without content.
- Fix get mappings HEAD requests

Recovery::
- Close translog view after primary-replica resync

Reindex API::
- Fix update_by_query's default size parameter
- Reindex: don't duplicate _source parameter
- Add qa module that tests reindex-from-remote against pre-5.0
  versions of Elasticsearch

Scroll::
- Fix single shard scroll within a cluster with nodes in version `>=
  5.3` and `<= 5.3`

Search::
- Fail query when a sort is provided in conjunction with rescorers
- Let search phases override max concurrent requests
- Avoid stack overflow on search phases
- Fix search_after with geo distance sorting
- Fix serialization errors when cross cluster search goes to a single
  shard
- Early termination with index sorting should not set terminated_early
  in the response
- Format doc values fields.
- Fix term(s) query for range field
- Caching a MinDocQuery can lead to wrong results.
- Fix random score generation when no seed is provided.
- Merge FunctionScoreQuery and FiltersFunctionScoreQuery
- Respect cluster alias in `_index` aggs and queries
- First increment shard stats before notifying and potentially sending
  response
- Remove assertion about deviation when casting to a float.
- Prevent skipping shards if a suggest builder is present
- Ensure remote cluster alias is preserved in inner hits aggs
- Do not search locally if remote index pattern resolves to no indices
- Adds check for negative search request size
- Make sure range queries are correctly profiled.
- Fix RangeFieldMapper rangeQuery to properly handle relations
- Fix ExpandSearchPhase when response contains no hits
- Refactor simple_query_string to handle text part like multi_match
  and query_string
- Fix `_exists_` in query_string on empty indices.
- Fix script field sort returning Double.MAX_VALUE for all documents
- Compute the took time of the query after the expand phase of field
  collapsing

Sequence IDs::
- Fire global checkpoint sync under system context
- Fix pre-6.0 response to unknown replication actions
- Track local checkpoint on primary immediately
- Initialize max unsafe auto ID timestamp on shrink
- Use correct primary term for replicating NOOPs
- Handle already closed while filling gaps
- TranslogWriter.assertNoSeqNumberConflict failure
- Avoid losing ops in file-based recovery
- Handle primary failure handling replica response

Settings::
- Emit settings deprecation logging on empty update
- Fix filtering for ListSetting
- Fix settings serialization to not serialize secure settings or not
  take the total size into account
- Keystore CLI should use the AddFileKeyStoreCommand for files
- Allow resetting settings that use an IP validator
- Updating an unrecognized setting should error out with that reason
- Settings: Fix setting groups to include secure settings

Similarities::
- Add boolean similarity to built in similarity types

Snapshot/Restore::
- Snapshot/Restore: better handle incorrect chunk_size settings in FS
  repo
- Snapshot/Restore: Ensure that shard failure reasons are correctly
  stored in CS
- Output all empty snapshot info fields if in verbose mode
- Remove redundant and broken MD5 checksum from repository-s3
- Consolidates the logic for cleaning up snapshots on master election
- Removes completed snapshot from cluster state on master change
- Keep snapshot restore state and routing table in sync
- Master failover during snapshotting could leave the snapshot
  incomplete
- Fix inefficient (worst case exponential) loading of snapshot
  repository

Stats::
- Fix RestGetAction name typo
- Keep cumulative elapsed scroll time in microseconds
- _nodes/stats should not fail due to concurrent
  AlreadyClosedException
- Avoid double decrement on current query counter
- Adjust available and free bytes to be non-negative on huge FSes

Suggesters::
- Fix division by zero in phrase suggester that causes assertion to
  fail
- Context suggester should filter doc values field
- Fix context suggester to read values from keyword type field

Templates::
- Tests: Fix FullClusterRestartIT.testSnapshotRestore test failing in
  6.x

Translog::
- Fix Translog.Delete serialization for sequence numbers

Upgrade API::
- Upgrade API: fix excessive logging and unnecessary template updates

=== Regressions

Bulk::
- Only re-parse operation if a mapping update was needed

Highlighting::
- Fix Fast Vector Highlighter NPE on match phrase prefix

Search::
- Always use DisjunctionMaxQuery to build cross fields disjunction

Sequence IDs::
- Indexing performance degradation in 6.0.0-beta1

=== Upgrades

Core::
- Upgrade to Lucene 7.0.0

Logging::
- Upgrade to Log4j 2.9.1

Network::
- Upgrade to Netty 4.1.13.Final

Plugin Ingest Attachment::
- Update to Tika 1.14

Upgrade API::
- Improve stability and logging of TemplateUpgradeServiceIT tests

Files:
RevisionActionfile
1.36modifypkgsrc/databases/elasticsearch/Makefile
1.23modifypkgsrc/databases/elasticsearch/PLIST
1.36modifypkgsrc/databases/elasticsearch/distinfo
1.6modifypkgsrc/databases/elasticsearch/files/smf/manifest.xml
1.6modifypkgsrc/databases/elasticsearch/patches/patch-config_elasticsearch.yml