Subject: CVS commit: pkgsrc/databases/elasticsearch
From: Filip Hajny
Date: 2017-02-14 11:36:03
Message id: 20170214103603.E6ABBFBE3@cvs.NetBSD.org

Log Message:
Update databases/elasticsearch to 5.2.0.

=== Breaking changes

Core::
- Add system call filter bootstrap check

=== Breaking Java changes

Allocation::
- Cluster Explain API uses the allocation process to explain shard
  allocation decisions

Cluster::
- Remove PROTO-based custom cluster state components

Ingest::
- Change type of ingest doc meta-data field 'TIMESTAMP' to `Date`

Internal::
- Consolidate the last easy parser construction
- Introduce XContentParser#namedObject

Plugins::
- Plugins: Replace Rest filters with RestHandler wrapper

Query DSL::
- Resolve index names in indices_boost

Search::
- Cluster search shards improvements: expose ShardId, adjust visibility
  of some members

=== Deprecations

Java API::
- Deprecate and remove "minimumNumberShouldMatch" in BoolQueryBuilder

Shadow Replicas::
- Add a deprecation notice to shadow replicas

=== New features

Analysis::
- Synonym Graph Support (LUCENE-6664)

Ingest::
- introduce KV Processor in Ingest Node

Mapping::
- Add the ability to set a normalizer on keyword fields.
- Add RangeFieldMapper for numeric and date range types

=== Enhancements

Aggregations::
- `value_type` is useful regardless of scripting.
- Support for partitioning set of terms

Allocation::
- Adds setting level to allocation decider explanations
- Improves allocation decider decision explanation messages
- Prepares allocator decision objects for use with the allocation
  explain API

Analysis::
- Expose FlattenGraphTokenFilter

CRUD::
- Use correct block levels for TRA subclasses

Cluster::
- Keep NodeConnectionsService in sync with current nodes in the cluster
  state
- Add a generic way of checking version before serializing custom
  cluster object
- Add validation for supported index version on node join, restore,
  upgrade & open index
- Let ClusterStateObserver only hold onto state that's needed for change
  detection
- Remove mutable status field from cluster state

Core::
- Rename bootstrap.seccomp to bootstrap.system_call_filter
- Cleanup random stats serialization code
- Avoid corruption when deserializing booleans
- Reduce memory pressure when sending large terms queries.

Discovery::
- Simplify Unicast Zen Ping
- Prefer joining node with conflicting transport address when becoming
  master

Ingest::
- add `ignore_missing` flag to ingest plugins
- Added ability to remove pipelines via wildcards (#22149)
- Enables the ability to inject serialized json fields into root of
  document
- compile ScriptProcessor inline scripts when creating ingest pipelines

Internal::
- Remove some more usages of ParseFieldMatcher
- Remove some more usages of ParseFieldMatcher
- Remove some ParseFieldMatcher usages
- Add infrastructure to manage network connections outside of
  Transport/TransportService
- Replace strict parsing mode with response headers assertions
- Start using `ObjectParser` for aggs.
- Don't output null source node in RecoveryFailedException
- ClusterService should expose "applied" cluster states (i.e., remove
  ClusterStateStatus)

Java High Level REST Client::
- Add fromxcontent methods to index response
- Add fromXContent() methods for ReplicationResponse
- Add parsing method for ElasticsearchException
- Add fromXContent method to GetResponse

Java REST Client::
- Warn log deprecation warnings received from server

Logging::
- Log deleting indices at info level
- Log failure to connect to node at info instead of debug

Mapping::
- Atomic mapping updates across types
- Only update DocumentMapper if field type changes
- Better error message when `_parent` isn't an object

Network::
- Disable the Netty recycler
- Tell Netty not to be unsafe in transport client
- Introduce a low level protocol handshake
- Detach handshake from connect to node
- Reduce number of connections per node depending on the nodes role
- Add a connect timeout to the ConnectionProfile to allow per node
  connect timeouts
- Grant Netty permission to read system somaxconn
- Remove connectToNodeLight and replace it with a connection profile

Packaging::
- Improve the out-of-the-box experience

Plugin Discovery EC2::
- Add support for ca-central-1 region to EC2 and S3 plugins
- Support for eu-west-2 (London) cloud-aws plugin
- Add us-east-2 AWS region
- Add setting to set read timeout for EC2 discovery and S3 repository
  plugins

Plugin Ingest GeoIp::
- Cache results of geoip lookups

Plugin Lang Painless::
- Improve painless's ScriptException generation

Plugins::
- Pass ThreadContext to transport interceptors to allow header
  modification
- Provide helpful error message if a plugin exists
- Add shutdown hook for closing CLI commands
- Allow plugins to install bootstrap checks

Query DSL::
- Un-deprecate fuzzy query
- support numeric bounds with decimal parts for long/integer/short/byte
  datatypes

Reindex API::
- Reindex: Better error message for pipeline in wrong place
- Timeout improvements for rest client and reindex

Scripting::
- Wrap VerifyError in ScriptException
- Log ScriptException's xcontent if file script compilation fails

Search::
- Move SearchTransportService and SearchPhaseController creation outside
  of TransportSearchAction constructor
- Don't carry ShardRouting around when not needed in
  AbstractSearchAsyncAction
- ShardSearchRequest to take ShardId constructor argument rather than
  the whole ShardRouting
- Use index uuid as key in the alias filter map rather than the index
  name

Settings::
- Speed up filter and prefix settings operations

Snapshot/Restore::
- Fixes retrieval of the latest snapshot index blob
- Synchronize snapshot deletions on the cluster state

Stats::
- Include unindexed field in FieldStats response

Task Manager::
- Improve the error message if task and node isn't found
- Add descriptions to create snapshot and restore snapshot tasks.
- Add proper descriptions to reindex, update-by-query and
  delete-by-query tasks.

=== Bug fixes

Aggregations::
- Fix scaled_float numeric type in aggregations
- Allow terms aggregations on pure boolean scripts.
- Fix numeric terms aggregations with includes/excludes and
  minDocCount=0
- Fix `missing` on aggs on `boolean` fields.
- IP range masks exclude the maximum address of the range.
- Fix `other_bucket` on the `filters` agg to be enabled if a key is set.

Allocation::
- Cannot force allocate primary to a node where the shard already exists
- Promote shadow replica to primary when initializing primary fails
- Trim in-sync allocations set only when it grows

Analysis::
- AsciiFoldingFilter's multi-term component should never preserve the
  original token.
- Pre-built analysis factories do not implement MultiTermAware
  correctly.

CRUD::
- Reject external versioning and explicit version numbers on create

Cluster::
- IndicesService handles all exceptions during index deletion

Core::
- Streamline foreign stored context restore and allow to perserve
  response headers
- Support negative numbers in readVLong

Discovery::
- Close InputStream when receiving cluster state in
  PublishClusterStateAction
- Do not reply to pings from another cluster

Engine::
- Close and flush refresh listeners on shard close

Exceptions::
- Fixing shard recovery error message to report the number of docs
  correctly for each node

Highlighting::
- Fix FiltersFunctionScoreQuery highlighting

Index APIs::
- Ensure shrunk indices carry over version information from its source

Ingest::
- fix index out of bounds error in KV Processor
- Fixes GrokProcessor's ignorance of named-captures with same name.

Inner Hits::
- Inner hits and ignore unmapped

Internal::
- Index creation and setting update may not return deprecation logging

Java API::
- Don't output empty ext object in SearchSourceBuilder#toXContent

Java REST Client::
- Don't use null charset in RequestLogger

Mapping::
- The `_all` default mapper is not completely configured.
- Fix MapperService.allEnabled().
- Dynamic `date` fields should use the `format` that was used to detect
  it is a date.
- Sub-fields should not accept `include_in_all` parameter
- Mappings: Fix get mapping when no indexes exist to not fail in
  response generation

Nested Docs::
- Fix bug in query builder rewrite that ignores the ignore_unmapped
  option

Network::
- Pass `forceExecution` flag to transport interceptor
- Ensure new connections won't be opened if transport is closed or
  closing
- Prevent open channel leaks if handshake times out or is interrupted
- Execute low level handshake in #openConnection
- Properly configure Netty 3 ClientBootstrap when using custom
  connection profile
- Handle connection close / reset events gracefully during handshake
- Do not lose host information when pinging
- DiscoveryNode and TransportAddress should preserve host information

Packaging::
- Another fix for handling of paths on Windows
- Fix handling of spaces in Windows paths
- Add option to skip kernel parameters on install

Percolator::
- Fix NPE in percolator's 'now' range check for percolator queries with
  range queries

Plugin Analysis Stempel::
- Fix thread safety of Stempel's token filter factory

Plugin Lang Painless::
- Whitelist some ScriptDocValues in painless
- Update Painless Loop Counter to be Higher
- Fix some issues with painless's strings
- Test fix for def equals in Painless
- Fix a VerifyError bug in Painless

Plugin Mapper Attachment::
- NPE is raised when defining a non existing type within attachments
  type

Plugin Repository Azure::
- Fixes default chunk size for Azure repositories
- readonly on azure repository must be taken into account

Query DSL::
- Fix script score function that combines `_score` and weight

REST::
- Adds percent-encoding for Location headers

Recovery::
- Fix primary relocation for shadow replicas
- Don't close store under CancellableThreads
- Use a fresh recovery id when retrying recoveries
- Allow flush/force_merge/upgrade on shard marked as relocated

Reindex API::
- Fix reindex from remote clearing scroll
- Fix source filtering in reindex-from-remote
- Remove content type detection from reindex-from-remote
- Don't close rest client from its callback
- Keep context during reindex's retries

Scripting::
- Expose `ip` fields as strings in scripts.

Search::
- Improve concurrency of ShardCoreKeyMap.
- Make `-0` compare less than `+0` consistently.
- Fix boost_mode propagation when the function score query builder is
  rewritten
- FiltersAggregationBuilder: rewriting filter queries, the same way as
  in FilterAggregationBuilder
- Fix cross_fields type on multi_match query with synonyms

Search Templates::
- SearchTemplateRequest to implement CompositeIndicesRequest

Settings::
- Handle spaces in `action.auto_create_index` gracefully
- Fix settings diff generation for affix and group settings

Snapshot/Restore::
- Gracefully handles pre 2.x compressed snapshots
- URLRepository should throw NoSuchFileException to correctly adhere to
  readBlob contract
- Fixes shard level snapshot metadata loading when index-N file is
  missing

Stats::
- Implement stats for geo_point and geo_shape field
- Use reader for doc stats
- Avoid NPE in NodeService#stats if HTTP is disabled
- Add support for "include_segment_file_sizes" in indices stats REST
  handler

Term Vectors::
- Fix `_termvectors` with preference to not hit NPE
- Return correct term statistics when a field is not found in a shard

=== Regressions

Core::
- Source filtering: only accept array items if the previous include
  pattern matches

Logging::
- Restores the original default format of search slow log

Search::
- Handle specialized term queries in MappedFieldType.extractTerm(Query)

=== Upgrades

Core::
- Upgrade to Lucene 6.4.0
- Update Jackson to 2.8.6
- Upgrade to lucene-6.4.0-snapshot-084f7a0.
- Upgrade to lucene-6.4.0-snapshot-ec38570

Files:
RevisionActionfile
1.24modifypkgsrc/databases/elasticsearch/Makefile
1.15modifypkgsrc/databases/elasticsearch/PLIST
1.25modifypkgsrc/databases/elasticsearch/distinfo