pkgsrc/databases/elasticsearch/PLIST

97 lines
5.3 KiB
Text
Raw Normal View History

Update databases/elasticsearch to 5.4.1. === Enhancements Aggregations:: - Allow scripted metric agg to access `_score` Core:: - Improve bootstrap checks error messages Internal:: - Log JVM arguments on startup Network:: - Disable the Netty recycler in the client - Remove Netty logging hack - Set available processors for Netty Snapshot/Restore:: - Ensure every repository has an incompatible-snapshots blob Stats:: - Show JVM arguments === Bug fixes Aggregations:: - Fix ArrayIndexOutOfBoundsException when no ranges are specified in the query Allocation:: - Discard stale node responses from async shard fetching Core:: - Fix cache expire after access Index APIs:: - Fix legacy GeoPointField decoding in FieldStats - Validates updated settings on closed indices Internal:: - Remove `_UNRELEASED` from Version constants for released versions - Avoid race when shutting down controller processes - Fix NPE if field caps request has a field that exists not in all indices More Like This:: - Pass over _routing value with more_like_this items to be retrieved Network:: - Notify onConnectionClosed rather than onNodeDisconnect to prune transport handlers - SniffNodesSampler should close connection after handling responses Packaging:: - Handle parentheses in batch file path Percolator:: - Fix range queries with date range based on current time in percolator queries. Plugin Repository HDFS:: - Fixing permission errors for `KERBEROS` security mode for HDFS Repository Plugins:: - X-Pack plugin download fails on Windows desktop [ISSUE] - Fix plugin installation permissions Reindex API:: - 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:: - Fix ExpandSearchPhase when response contains no hits - Include all aliases including non-filtering in `_search_shards` response Settings:: - Allow resetting settings that use an IP validator Snapshot/Restore:: - Removes completed snapshot from cluster state on master change - Fix inefficient (worst case exponential) loading of snapshot repository === Upgrades Core:: - Upgrade to Lucene 6.5.1 Network:: - Upgrade to Netty 4.1.11.Final - Upgrade Netty to 4.1.10.Final
2017-06-14 15:49:35 +02:00
@comment $NetBSD: PLIST,v 1.20 2017/06/14 13:49:35 fhajny Exp $
Update databases/elasticsearch to 5.0.0. * Now requires JDK 8.0. * Use a different installation layout as some location are now impossible to change without patching the Java sources. === Breaking changes in 5.0 === Migration Plugin - The elasticsearch-migration plugin (compatible with Elasticsearch 2.3.0 and above) will help you to find issues that need to be addressed when upgrading to Elasticsearch 5.0. Indices created before 5.0 - Elasticsearch 5.0 can read indices created in version 2.0 or above. An Elasticsearch 5.0 node will not start in the presence of indices created in a version of Elasticsearch before 2.0. - Indices created in Elasticsearch 1.x or before will need to be reindexed with Elasticsearch 2.x in order to be readable by Elasticsearch 5.x. It is not sufficient to use the upgrade API. === Breaking changes Aggregations:: - Remove size 0 options in aggregations Aliases:: - make get alias expand to open and closed indices by default - Remove deprecated indices.get_aliases Allocation:: - Remove DisableAllocationDecider Analysis:: - Remove `token_filter` in _analyze API - Removes support for adding aliases to analyzers - Analyze API : Rename filters/token_filters/char_filter in Analyze API in master CAT API:: - Improve cat thread pool API - Row-centric output for _cat/fielddata - Add raw recovery progress to cat recovery API - Remove host from cat nodes API - Using the accept header in the request instead of content-type in _cat API. CRUD:: - Fixed naming inconsistency for fields/stored_fields in the APIs - Disallow creating indices starting with '-' or '+' - Wait for changes to be visible by search - Remove object notation for core types. Cache:: - Remove deprecated query cache settings Cluster:: - Persistent Node Ids - Remove validation errors from cluster health response - Remove memory section Core:: - Remove ignore system bootstrap checks - Remove minimum master nodes bootstrap check - Keep input time unit when parsing TimeValues - Remove cluster name from data path - Add max number of processes check - Add mlockall bootstrap check - One log Engine:: - Optimize indexing for the autogenerated ID append-only case - Remove `index.compound_on_flush` setting and default to `true` Exceptions:: - Die with dignity Fielddata:: - Remove "uninverted" and "binary" fielddata support for numeric and boolean fields. Geo:: - Deprecate GeoDistance enums and remove geo distance script helpers Index APIs:: - Removes write consistency level across replication action APIs in favor of wait_for_active_shards - Remove `GET` option for /_forcemerge - Remove /_optimize REST API endpoint Indexed Scripts/Templates:: - Store indexed scripts in the cluster state instead of the `.scripts` index Inner Hits:: - Also do not serialize `_index` key in search response for parent/child inner hits - Don't include `_id`, `_type` and `_index` keys in search response for inner hits - Nested inner hits shouldn't use relative paths - Drop top level inner hits in favour of inner hits defined in the query dsl Internal:: - `_flush` should block by default - Actually bound the generic thread pool - Remove support for pre 2.0 indices Logging:: - Introduce Log4j 2 Mapping:: - Remove `_timestamp` and `_ttl` on 5.x indices. - Add a soft limit on the mapping depth. - Disable fielddata on text fields by defaults. - Add limit to total number of fields in mapping - Change the field mapping index time boost into a query time boost. - Deprecate string in favor of text/keyword. - Term vector APIs should no longer update mappings - Remove the `format` option of the `_source` field. - Remove transform Packaging:: - Rename service.bat to elasticsearch-service.bat - Remove -D handling in args for windows plugin script - Set default min heap equal to default max heap - Remove allow running as root - Require /bin/bash in packaging - Remove plugin script parsing of system properties - Add JVM options configuration file Parent/Child:: - Removed `total` score mode in favour for `sum` score mode. - Removed pre 2.x parent child implementation Percolator:: - Remove `.percolator` type in favour of `percolator` field type - Change the percolate api to not dynamically add fields to mapping Plugin Delete By Query:: - Remove Delete-By-Query plugin Plugin Lang Painless:: - Remove all date 'now' methods from Painless - Make Painless the Default Language Plugins:: - Plugins cleanup - Rename bin/plugin in bin/elasticsearch-plugin - Change the inner structure of the plugins zip - Remove multicast plugin - Plugins: Remove site plugins Query DSL:: - Lessen leniency of the query dsl. - Function score query: remove deprecated support for boost_factor - Remove support for deprecated queries. REST:: - Change separator for shards preference - Parameter improvements to Cluster Health API wait for shards - Switch indices.exists_type from `{index}/{type}` to `{index}/_mapping/{type}`. - Only use `PUT` for index creation, not POST. - Remove camelCase support - Remove 'case' parameter from rest apis - Disallow unquoted field names - Limit the accepted length of the _id Scripting:: - Hardcode painless as the default scripting lang and add legacy script default for stored scripts - Remove deprecated 1.x script and template syntax - Allow only a single extension for a scripting engine - Remove 'sandbox' option for script settings, allow only registering a single language. Search:: - Rename `fields` to `stored_fields` and add `docvalue_fields` - Remove only node preference - Add search preference to prefer multiple nodes - Add a soft limit on the number of shards that can be queried in a single search request. - Remove deprecated reverse option from sorting - Remove some deprecations - Remove search exists api - Remove the scan and count search types. Search Refactoring:: - Remove deprecated parameter from field sort builder. - Remove "query" query and fix related parsing bugs Settings:: - Default max local storage nodes to one - Persistent Node Names - Remove support for properties - Rename boostrap.mlockall to bootstrap.memory_lock - Register `indices.query.bool.max_clause_count` setting - Remove settings and system properties entanglement - Remove `action.get.realtime` setting - Remove ability to specify arbitrary node attributes with `node.` prefix - Enforce `discovery.zen.minimum_master_nodes` is set when bound to a public ip - Prevent index level setting from being configured on a node level - Remove support for node.client setting - Remove es.max-open-files flag - Enforce node level limits if node is started in production env - Make settings validation strict - Remove the ability to fsync on every operation and only schedule fsync task if really needed - Script settings - Remove index.flush_on_close entirely - Restore chunksize of 512kb on recovery and remove configurability - Remove ancient deprecated and alternative recovery settings Similarities:: - Renames `default` similarity into `classic` Snapshot/Restore:: - Change the default of `include_global_state` from true to false for snapshot restores - Fail closing or deleting indices during a full snapshot Stats:: - Modify load average format - Reintroduce five-minute and fifteen-minute load averages on Linux - Add system CPU percent to OS stats Term Vectors:: - Remove DFS support from TermVector API Translog:: - Drop support for simple translog and hard-wire buffer to 8kb - Simplify translog-based flush settings Warmers:: - Remove query warmers and the warmer API. === Breaking Java changes Aggregations:: - getKeyAsString and key_as_string should be the same for terms aggregation on boolean field Allocation:: - Move parsing of allocation commands into REST and remove support for plugins to register allocation commands - Simplify shard balancer interface Analysis:: - Simplify Analysis registration and configuration CRUD:: - Removing isCreated and isFound from the Java API Cache:: - Refactor IndicesRequestCache to make it testable. - Fold IndexCacheModule into IndexModule Core:: - Remove ability to plug-in TransportService - Register thread pool settings - Bootstrap does not set system properties - Remove es.useLinkedTransferQueue Discovery:: - Introduce node handshake - Include pings from client nodes in master election Highlighting:: - Register Highlighter instances instead of classes Internal:: - Remove TransportService#registerRequestHandler leniency - Consolidate search parser registries - Move all FetchSubPhases to o.e.search.fetch.subphase - Squash the rest of o.e.rest.action - Clean up BytesReference - Cleanup ClusterService dependencies and detached from Guice - Simplify SubFetchPhase interface - Simplify FetchSubPhase registration and detach it from Guice - Remove duplicate getters from DiscoveryNode and DiscoveryNodes - Cli: Switch to jopt-simple - Replace ContextAndHeaders with a ThreadPool based ThreadLocal implementation - Remove NodeBuilder - Fix IndexSearcherWrapper interface to not depend on the EngineConfig - Cleanup query parsing and remove IndexQueryParserService - Remove circular dependency between IndicesService and IndicesStore - Remove guice injection from IndexStore and friends - Replace IndicesLifecycle with a per-index IndexEventListener - Simplify similarity module and friends - Refactor SearchRequest to be parsed on the coordinating node Java API:: - Add a dedicated client/transport project for transport-client - Remove setRefresh - Remove the count api - IdsQueryBuilder to accept only non null ids and types Mapping:: - [Mapping] Several MappingService cleanups Network:: - Factor out abstract TCPTransport* classes to reduce the netty footprint - Remove ability to disable Netty gathering writes Parent/Child:: - Cleanup ParentFieldMapper - Several other parent/child cleanups Percolator:: - Move the percolator from core to its own module - Remove percolator cache Plugins:: - Cleanup sub fetch phase extension point - Remove IndexTemplateFilter - Switch custom ShardsAllocators to pull based model - Make custom allocation deciders use pull based extensions - Migrate query registration from push to pull - Add components getter as bridge between guice and new plugin init world - Remove CustomNodeAttributes extension point - Add RepositoryPlugin interface for registering snapshot repositories - Simplified repository api for snapshot/restore - Switch most search extensions from push to pull - Move RestHandler registration to ActionModule and ActionPlugin - Pull actions from plugins - Switch analysis from push to pull - Remove guice from Mapper plugins - Fail to start if plugin tries broken onModule - Simplify ScriptModule and script registration - Cut over settings registration to a pull model - Enforce isolated mode for all plugins - Don't use guice for QueryParsers - Remove guice from the index level - Remove shard-level injector Query DSL:: - Remove the MissingQueryBuilder which was deprecated in 2.2.0. - Remove NotQueryBuilder Scripting:: - Remove o.e.script.Template class and move template query to lang-mustache module - Move search template to lang-mustache module - Remove LeafSearchScript.runAsFloat(): Nothing calls it. Search:: - Remove FetchSubPhaseParseElement - Refactor of query profile classes to make way for other profile implementations - Query refactoring: split parse phase into fromXContent and toQuery for all queries Search Refactoring:: - Refactored inner hits parsing and intoduced InnerHitBuilder - Remove support for query_binary and filter_binary - Validate query api: move query parsing to the coordinating node Settings:: - Remove `node.mode` and `node.local` settings - Remove Settings.settingsBuilder. - Move remaining settings in NettyHttpServerTransport to the new infra - Replace IndexSettings annotation with a full-fledged class - Fix ping timeout settings inconsistencies Snapshot/Restore:: - Removes extra writeBlob method in BlobContainer Store:: - Standardize state format type for global and index level metadata Suggesters:: - Remove suggest threadpool - Remove suggest transport action === Deprecations CRUD:: - Deprecate found and created in delete and index rest responses Plugin Discovery Azure Classic:: - Deprecate discovery-azure and rename it to discovery-azure-classic Plugin Mapper Attachment:: - Deprecate mapper-attachments plugin Query DSL:: - Deprecate Indices query - Deprecate mlt, in and geo_bbox query name shortcuts Query Refactoring:: - Splits `phrase` and `phrase_prefix` in match query into `MatchPhraseQueryBuilder` and `MatchPhrasePrefixQueryBuilder` Scripting:: - Deprecate Groovy, Python, and Javascript Search:: - Deprecate fuzzy query Templates:: - Deprecate template query === New features Aggregations:: - Split regular histograms from date histograms. - Adds aggregation profiling to the profile API - New Matrix Stats Aggregation module Aliases:: - Add an alias action to delete an index Allocation:: - Add API to explain why a shard is or isn't assigned Analysis:: - Exposing lucene 6.x minhash filter. - Add `fingerprint` token filter and `fingerprint` analyzer Circuit Breakers:: - Circuit break on aggregation bucket numbers with request breaker Discovery:: - Add two phased commit to Cluster State publishing Geo:: - Cut over geo_point field and queries to new LatLonPoint type Index APIs:: - Add rollover API to switch index aliases given some predicates Ingest:: - ingest-useragent plugin - Add a Sort ingest processor - Add date_index_name processor - Merge feature/ingest branch into master branch Java REST Client:: - Introduce async performRequest method - Low level Rest Client Mapping:: - Add `scaled_float`. - Expose half-floats. - Add a text field. - Add a new `keyword` field. Percolator:: - index the query terms from the percolator query Plugin Analysis ICU:: - Adding support for customizing the rule file in ICU tokenizer Plugin Discovery File:: - File-based discovery plugin Plugin Ingest Attachment:: - Ingest: Add attachment processor Plugin Mapper Attachment:: - Migrate mapper attachments plugin to main repository Plugin Repository HDFS:: - HDFS Snapshot/Restore plugin Plugin Repository S3:: - Add support for path_style_access Query DSL:: - Adds a rewrite phase to queries on the shard level Reindex API:: - Reindex from remote - Port Delete By Query to Reindex infrastructure - Merge reindex to master Scripting:: - Exceptions and Infinite Loop Checking - Added a new scripting language (PlanA) Scroll:: - Add the ability to partition a scroll in multiple slices. Search:: - Add the ability to disable the retrieval of the stored fields entirely - Add `search_after` parameter in the SearchAPI Settings:: - Add infrastructure to transactionally apply and reset dynamic settings Snapshot/Restore:: - Add Google Cloud Storage repository plugin Stats:: - Extend field stats to report searchable/aggregatable fields - API for listing index file sizes Store:: - Expose MMapDirectory.preLoad(). - Add primitive to shrink an index into a single shard Suggesters:: - Add support for returning documents with completion suggester - Add document-oriented completion suggester Task Manager:: - Add task cancellation mechanism - Make the Task object available to the action caller - Task Management: Add framework for registering and communicating with tasks Translog:: - Add `elasticsearch-translog` CLI tool with `truncate` command === Enhancements Aggregations:: - Make the heuristic to compute the default shard size less aggressive. - Add _bucket_count option to buckets_path - Remove AggregationStreams - Migrate serial_diff aggregation to NamedWriteable - Migrate most remaining pipeline aggregations to NamedWriteable - Migrate moving_avg pipeline aggregation to NamedWriteable - Migrate matrix_stats to NamedWriteable - Migrate derivative pipeline aggregation to NamedWriteable - Migrate top_hits, histogram, and ip_range aggregations to NamedWriteable - Migrate nested, reverse_nested, and children aggregations to NamedWriteable - Migrate geohash_grid and geo_bounds aggregations to NamedWriteable - Clean up significant terms aggregation results - Migrate range, date_range, and geo_distance aggregations to NamedWriteable - Migrate terms aggregation to NamedWriteable - Migrate sampler and missing aggregations to NamedWriteable - Migrate global, filter, and filters aggregation to NamedWriteable - Migrate the cardinality, scripted_metric, and geo_centroid aggregations to NamedWriteable - Use a static default precision for the cardinality aggregation. - Migrate more aggregations to NamedWriteable - Migrate stats and extended stats to NamedWriteable - Migrate sum, min, and max aggregations over to NamedWriteable - Start migration away from aggregation streams - Automatically set the collection mode to breadth_first in the terms aggregation when the cardinality of the field is unknown or smaller than the requested size. - Rename PipelineAggregatorBuilder to PipelineAggregationBuilder. - AggregatorBuilder and PipelineAggregatorBuilder do not need generics. - Rename AggregatorBuilder to AggregationBuilder - Add the ability to use the breadth_first mode with nested aggregations (such as `top_hits`) which require access to score information. - Make significant terms work on fields that are indexed with points. - Add tests and documentation for using `time_zone` in date range aggregation - Fixes serialisation of Ranges Allocation:: - Verify AllocationIDs in replication actions - Mark shard as stale on non-replicated write, not on node shutdown - Add routing changes API to RoutingAllocation - Primary shard allocator observes limits in forcing allocation - Use primary terms as authority to fail shards - Add recovery source to ShardRouting - Allow `_shrink` to N shards if source shards is a multiple of N - Only filter intial recovery (post API) when shrinking an index - Estimate shard size for shrinked indices - Only fail relocation target shard if failing source shard is a primary - Simplify delayed shard allocation - Limit retries of failed allocations per index - Immutable ShardRouting - Add the shard's store status to the explain API - Write shard state metadata as soon as shard is created / initializing - Reuse existing allocation id for primary shard allocation - Remove version in ShardRouting (now obsolete) - Prefer nodes that previously held primary shard for primary shard allocation - Extend reroute with an option to force assign stale primary shard copies - Allocate primary shards based on allocation IDs - Persist currently started allocation IDs to index metadata - Use ObjectParser to parse AllocationID - Persist allocation ID with shard state metadata on nodes Analysis:: - Stop using cached component in _analyze API - Specify custom char_filters/tokenizer/token_filters in the analyze API - Add a MultiTermAwareComponent marker interface to analysis factories. - Add Flags Parameter for Char Filter - Core: better error message when analyzer created without tokenizer or… - Move AsciiFolding earlier in FingerprintAnalyzer filter chain - Improve error message if resource files have illegal encoding Benchmark:: - Add client-benchmark-noop-api-plugin to stress clients even more in benchmarks CAT API:: - Add health status parameter to cat indices API - Includes the index UUID in the _cat/indices API - Add node name to Cat Recovery - Add support for documented byte/size units and for micros as a time unit in _cat API - Add _cat/tasks - Cat health supports ts=0 option - Expose http address in cat/nodes - [cat/recovery] Make recovery time a TimeValue() - :CAT API: remove space at the end of a line CRUD:: - Renaming operation to result and reworking responses - Adding _operation field to index, update, delete response. - CRUD: Allow to get and set ttl as a time value/string Cache:: - Enable option to use request cache for size > 0 - Cache FieldStats in the request cache - Allow the query cache to be disabled. - Enable the indices request cache by default Circuit Breakers:: - Cluster Settings Updates should not trigger circuit breakers. - Circuit break the number of inline scripts compiled per minute Cluster:: - Add clusterUUID to RestMainAction output - Batch process node left and node failure - Index creation waits for write consistency shards - Inline reroute with process of node join/master election - Index creation does not cause the cluster health to go RED - Cluster Health class improvements - Adds tombstones to cluster state for index deletions - Enable acked indexing - Cluster Health should run on applied states, even if waitFor=0 - Resolve index names to Index instances early - Remove DiscoveryNode#shouldConnectTo method - Fail demoted primary shards and retry request - Illegal shard failure requests - Shard failure requests for non-existent shards - Add handling of channel failures when starting a shard - Wait for new master when failing shard - Master should wait on cluster state publication when failing a shard - Split cluster state update tasks into roles - Add timeout mechanism for sending shard failures - Add listener mechanism for failures to send shard failed Core:: - Add production warning for pre-release builds - Add serial collector bootstrap check - Rename Netty TCP transports thread factories from http_* to transport_* - Do not log full bootstrap checks exception - Mark halting the virtual machine as privileged - Makes index creation more friendly - Clearer error when handling fractional time values - Read Elasticsearch manifest via URL - Throw if the local node is not set - Bootstrap check for OnOutOfMemoryError and seccomp - Log OS and JVM on startup - Add GC overhead logging - Refactor JvmGcMonitorService for testing - Default to server VM and add client VM check - Add system bootstrap checks escape hatch - Avoid sliced locked contention in internal engine - Add heap size bootstrap check - Remove hostname from NetworkAddress.format - Bootstrapping bootstrap checks - Add max map count check - Remove PROTOTYPE from BulkItemResponse.Failure - Throw an exception if Writeable.Reader reads null - Remove PROTOTYPE from RescorerBuilders - Port Primary Terms to master - Use index UUID to lookup indices on IndicesService - Add -XX+AlwaysPreTouch JVM flag - Add max size virtual memory check - Use and test relative time in TransportBulkAction - Bump Elasticsearch version to 5.0.0-SNAPSHOT - Assert that we can write in all data-path on startup - Add G1GC check on startup - Shards with heavy indexing should get more of the indexing buffer - Remove and ban ImmutableMap - Finish banning ImmutableSet - Removes and bans ImmutableSet - Remove and ban ImmutableMap#entrySet - Forbid ForwardingSet Dates:: - Improve TimeZoneRoundingTests error messages - Support full range of Java Long for epoch DateTime Discovery:: - Do not log cluster service errors at after joining a master - Log warning if minimum_master_nodes set to less than quorum - Add a dedicate queue for incoming ClusterStates Engine:: - Only try to read new segments info if we really flushed the index - Use _refresh instead of reading from Translog in the RT GET case - Remove writeLockTimeout from InternalEngine - Don't guard IndexShard#refresh calls by a check to isRefreshNeeded - Never call a listerner under lock in InternalEngine - Use System.nanoTime() to initialize Engine.lastWriteNanos - Flush big merges automatically if shard is inactive - Remove Engine.Create - Remove the disabled autogenerated id optimization from InternalEngine Exceptions:: - Improve startup exception - Make NotMasterException a first class citizen - Do not catch throwable - Make the index-too-old exception more explicit - Add index name in IndexAlreadyExistsException default message - Fix typos in exception/assert/log messages in core module. - Add field names to several mapping errors - Add serialization support for more important IOExceptions - Adds exception objects to log messages. - Add stack traces to logged exceptions where missing - Remove reflection hacks from ElasticsearchException - Rename QueryParsingException to a more generic ParsingException - Add *Exception(Throwable cause) constructors/ call where appropriate Expressions:: - improve date api for expressions/painless fields - Support geo_point fields in lucene expressions - Add support for .empty to expressions, and some docs improvements Geo:: - GeoBoundingBoxQueryBuilder should throw IAE when topLeft and bottomRight are the same coordinate - Enhanced lat/long error handling - Fix a potential parsing problem in GeoDistanceSortParser - Geo: Add validation of shapes to ShapeBuilders - Make remaining ShapeBuilders implement Writeable - Geo: Remove internal `translated` flag from LineStringBuilder - Make PointBuilder, CircleBuilder & EnvelopeBuilder implement Writable - Merging BaseLineString and BasePolygonBuilder with subclass - Moving static factory methods to ShapeBuilders - Remove InternalLineStringBuilder and InternalPolygonBuilder Highlighting:: - Switch Highlighting to ObjectParser - Use HighlightBuilder in SearchSourceBuilder - Joint parsing of common global Hightlighter and subfield parameters - Enable HighlightBuilder to create SearchContextHighlight - Add fromXContent method to HighlightBuilder Index APIs:: - Add date-math support to `_rollover` - Add Shrink request source parser to parse create index request body - Fail hot_threads in a better way if unsupported by JDK Index Templates:: - Add "version" field to Templates - Parse and validate mappings on index template creation Ingest:: - Add "version" field to Pipelines - Make it possible for Ingest Processors to access AnalysisRegistry - add ignore_missing option to convert,trim,lowercase,uppercase,grok,rename - Add support for parameters to the script ingest processor - introduce the JSON Processor - Allow rename processor to turn leaf fields into branch fields - remove ability to set field value in script-processor configuration - Add REST _ingest/pipeline to get all pipelines - Show ignored errors in verbose simulate result - update foreach processor to only support one applied processor. - Skip the execution of an empty pipeline - Add `ignore_failure` option to all ingest processors - new ScriptProcessor for Ingest - Expose underlying processor to blame for thrown exception within CompoundProcessor - Avoid string concatentation in IngestDocument.FieldPath - add ability to specify multiple grok patterns - add ability to disable ability to override values of existing fields in set processor - Streamline option naming for several processors - add automatic type conversion support to ConvertProcessor - Give the foreach processor access to the rest of the document - Added ingest statistics to node stats API - Add `ingest_took` to bulk response - Add ingest info to node info API, which contains a list of available processors - Use diffs for ingest metadata in cluster state - hide null-valued metadata fields from WriteableIngestDocument#toXContent - Ingest: use bulk thread pool for bulk request processing (was index before) - Add foreach processor - revert PipelineFactoryError handling with throwing ElasticsearchParseException in ingest pipeline creation - Add processor tags to on_failure metadata in ingest pipeline - catch processor/pipeline factory exceptions and return structured error responses - Ingest: move get/put/delete pipeline methods to ClusterAdminClient - Geoip processor: remove redundant latitude and longitude fields and make location an object with lat and lon subfields Inner Hits:: - Change scriptFields member in InnerHitBuilder to set Internal:: - Remove poor-mans compression in InternalSearchHit and friends - Don't register SearchTransportService handlers more than once - Unguice SearchModule - Deguice SearchService and friends - NodeStats classes to implement Writeable rather then Streamable - More info classes to implement Writeable rather than Streamable - Internal: Split disk threshold monitoring from decider - Switching LockObtainFailedException over to ShardLockObtainFailedException - update and delete by query requests to implement IndicesRequest.Replaceable - VersionFetchSubPhase should not use Versions#loadDocIdAndVersion - Remove useless PK lookup in IndicesTTLService - ignore some docker craziness in seccomp environment checks - Make Priority an enum - Snapshot UUIDs in blob names - Add RestController method for deprecating in one step - Tighten ensure atomic move cleanup - Enable checkstyle ModifierOrder - Expose task information from NodeClient - Changed rest handler interface to take NodeClient - Deprecate ExceptionsHelper.detailedMessage - Factor out ChannelBuffer from BytesReference - Cleanup Compressor interface - Hot methods redux - Remove forked joda time BaseDateTime class - Support optional ctor args in ConstructingObjectParser - Remove thread pool from page cache recycler - Do not automatically close XContent objects/arrays - Remove use of a Fields class in snapshot responses - Removes multiple toXContent entry points for SnapshotInfo - Removes unused methods in the o/e/common/Strings class - Determine content length eagerly in HttpServer - Consolidate query generation in QueryShardContext - Make reset in QueryShardContext private - Remove Strings#splitStringToArray - Add toString() to GetResponse - ConstructingObjectParser adapts ObjectParser for ctor args - Makes Script type writeable - FiltersAggregatorBuilder: Don't create new context for inner parsing - Clean up serialization on some stats - Normalize registration for SignificanceHeuristics - Make (read|write)NamedWriteable public - Use try-with-resource when creating new parser instances where possible - Don't pass XContentParser to ParseFieldRegistry#lookup - Internal: Remove threadlocal from document parser - Cut range aggregations to registerAggregation - Remove ParseFieldMatcher from AbstractXContentParser - Remove parser argument from methods where we already pass in a parse context - Switch SearchAfterBuilder to writeGenericValue - Remove StreamableReader - Cleanup nested, has_child & has_parent query builders for inner hits construction - Make AllocationCommands NamedWriteables - Isolate StreamableReader - Create registration methods for aggregations similar to those for queries - Remove PROTOTYPEs from QueryBuilders - Remove registerQueryParser - ParseField#getAllNamesIncludedDeprecated to not return duplicate names - Rework a query parser and improve registration - Clean up QueryParseContext and don't hold it inside QueryRewrite/ShardContext - Remove PROTOTYPE from MLT.Item - Remove PROTOTYPE from VersionType - Remove PROTOTYPEs from highlighting - Remove PROTOTYPEs from ingest - Start to rework query registration - Factor out slow logs into Search and IndexingOperationListeners - Remove PROTOTYPE from Suggesters - Remove PROTOTYPE from SortBuilders - Remove PROTOTYPE from ShapeBuilders - Replace FieldStatsProvider with a method on MappedFieldType. - Stop using PROTOTYPE in NamedWriteableRegistry - Support scheduled commands in current context - Thread limits - Remove leniency from segments info integrity checks - Rename SearchServiceTransportAction to SearchTransportService - Decouple the TransportService and ClusterService - Refactor bootstrap checks - Add LifecycleRunnable - Hot inlined methods in your area - Move IndicesQueryCache and IndicesRequestCache into IndicesService - Forbid use of java.security.MessageDigest#clone() - Make IndicesWarmer a private class of IndexService - Simplify IndicesFieldDataCache and detach from guice - Uppercase ells ('L') in long literals - ShardId equality and hash code inconsistency - Ensure all resources are closed on Node#close() - Make index uuid available in Index, ShardRouting & ShardId - Move RefreshTask into IndexService and use since task per index - Make IndexingMemoryController private to IndicesService - Cleanup IndexingOperationListeners infrastructure - Remove and forbid use of j.u.c.ThreadLocalRandom - Fix IntelliJ query builder type inference issues - Remove and forbid use of Collections#shuffle(List) and Random#<init>() - Remove and forbid use of the type-unsafe empty Collections fields - Move IndicesService.canDeleteShardContent to use IndexSettings - Simplify MonitorService construction and detach from guice - Use Supplier for StreamInput#readOptionalStreamable - Add variable-length long encoding - Extend usage of IndexSetting class - Fold SimilarityModule into IndexModule - Move to lucene BoostQuery - Use built-in method for computing hash code of longs - Refactor ShardFailure listener infrastructure - Add methods for variable-length encoding integral arrays - Fold IndexAliasesService into IndexService - Remove unneeded Module abstractions - Query refactoring: simplify IndexQueryParserService parse methods - Remove and forbid use of com.google.common.collect.Iterators - Remove and forbid use of com.google.common.collect.ImmutableCollection - Remove and forbid use of com.google.common.io.Resources - Remove and forbid use of com.google.common.hash.* - Remove and forbid use of com.google.common.net.InetAddresses - Remove and forbid use of com.google.common.collect.EvictingQueue - Replace Guava cache with simple concurrent LRU cache - Remove ClusterSerivce and IndexSettingsService dependency from IndexShard - Start making RecoverySourceHandler unittestable - Remove IndexService dep. from IndexShard - Remove ES internal deletion policies in favour of Lucenes implementations - Move ShardTermVectorService to be on indices level as TermVectorService - Move ShardPercolateService creation into IndexShard - Remove `ExpressionScriptCompilationException` and `ExpressionScriptExecutionException` - Reduced the number of ClusterStateUpdateTask variants - Add a BaseParser helper for stream parsing - Remove and forbid use of com.google.common.primitives.Ints - Remove and forbid use of com.google.common.math.LongMath - Remove and forbid use of com.google.common.base.Joiner - Replace and ban next batch of Guava classes - Remove and forbid use of com.google.common.collect.Iterables - Replace LoadingCache usage with a simple ConcurrentHashMap - Use Supplier instead of Reflection - Remove and forbid use of com.google.common.base.Preconditions - Remove and forbid use of guava Function, Charsets, Collections2 - Remove and forbid use of com.google.common.collect.ImmutableSortedMap - Remove and forbid use of several com.google.common.util. classes - Cleanup SearchRequest & SearchRequestBuilder - Remove and forbid use of com.google.common.collect.Queues - Remove and forbid use of com.google.common.base.Preconditions#checkNotNull - Remove and forbid use of com.google.common.collect.Sets - Remove and forbid use of com.google.common.collect.Maps - Remove use of underscore as an identifier - Remove and forbid the use of com.google.common.base.Predicate(s)? - This commit removes com.google.common.io Java API:: - Ensure PutMappingRequest.buildFromSimplifiedDef input are pairs - Start from a random node number so that clients do not overload the first node configured - Switch QueryBuilders to new MatchPhraseQueryBuilder - Improve adding clauses to `span_near` and `span_or` query - QueryBuilder does not need generics. - Remove copy constructors from request classes and TransportMessage type Java REST Client:: - Add support for a RestClient path prefix - Add "Async" to the end of each Async RestClient method - Allow RestClient to send array-based headers - Add response body to ResponseException error message - Simplify Sniffer initialization and automatically create the default HostsSniffer - Remove duplicate dependency declaration for http client - Add callback to customize http client settings - Rest Client: add short performRequest method variants without params and/or body Logging:: - Ensure logging is initialized in CLI tools - Give useful error message if log config is missing - Complete Elasticsearch logger names - Add node name to decider trace logging - Logging shutdown hack - Disable console logging - Skip loading of jansi from log4j2 - Configure AWS SDK logging configuration - Warn if unsupported logging configuration present - Size limit deprecation logs - Increase visibility of deprecation logger - Add log message about enforcing bootstrap checks - Improve logging for batched cluster state updates - Send HTTP Warning Header(s) for any Deprecation Usage from a REST request - Throw IllegalStateException when handshake fails due to version or cluster mismatch Mapping:: - Automatically downgrade text and keyword to string on indexes imported from 2.x - Do not parse numbers as both strings and numbers when not included in `_all`. - Don't index the `_version` field - The root object mapper should support updating `numeric_detection`, `date_detection` and `dynamic_date_formats`. - Automatically upgrade analyzed string fields that have `index_options` or `position_increment_gap` set. - Mappings: Support dots in field names in mapping parsing - Save one utf8 conversion in KeywordFieldMapper. - Do not parse the created version from the settings every time a field is parsed. - Elasticsearch should reject dynamic templates with unknown `match_mapping_type`. - Upgrade `string` fields to `text`/`keyword` even if `include_in_all` is set. - Adds a methods to find (and dynamically create) the mappers for the parents of a field with dots in the field name - Automatically upgrade analyzed strings with an analyzer to `text`. - Support dots in field names when mapping already exists - Use the new points API to index numeric fields. - Simplify AllEntries, AllField and AllFieldMapper: - Make `parseMultiField` part of `parseField`. - Automatically add a sub keyword field to string dynamic mappings. - Remove friction from the mapping changes in 5.0. - Rework norms parameters for 5.0. - Moved dynamic field handling in doc parsing to end of parsing - Remove the MapperBuilders utility class. - Make the `index` property a boolean. - Remove the ability to enable doc values with the `fielddata.format` setting. - Be stricter about parsing boolean values in mappings. - Fix default doc values to be enabled when a field is not indexed. - Dynamically map floating-point numbers as floats instead of doubles. - Simplify MetaDataMappingService. - Remove MergeMappingException. Network:: - Avoid early initializing Netty - Network: Allow to listen on virtual interfaces. - Explicitly tell Netty to not use unsafe - Enable Netty 4 extensions - Modularize netty - Simplify TcpTransport interface by reducing send code to a single send method - Do not start scheduled pings until transport start Packaging:: - Add quiet option to disable console logging - Explicitly disable Netty key set replacement - Remove explicit parallel new GC flag - Use JAVA_HOME or java.exe in PATH like the Linux scripts do - Don't mkdir directly in deb init script - Increase default heap size to 2g - Switch init.d scripts to use bash - Switch scripts to use bash - Further simplifications of plugin script - Pass ES_JAVA_OPTS to JVM for plugins script - Remove unnecessary sleep from init script restart - Explicitly set packaging permissions - rpm uses non-portable `--system` flag to `useradd` - Adding JAVA_HOME to documents and env config file - Added RPM metadata - Elasticsearch ownership for data, logs, and configs - Fail early on JDK with compiler bug - Make security non-optional - Remove RuntimePermission("accessDeclaredMembers") - Remove Guava as a dependency - Remove Guava as a dependency Percolator:: - Also support query term extract for queries wrapped inside a FunctionScoreQuery - Add support for synonym query to percolator query term extraction - Add percolator query extraction support for dismax query - Improve percolate query performance by not verifying certain candidate matches - Improve percolator query term extraction - PercolatorQueryBuilder cleanup by using MemoryIndex#fromDocument(...) helper - Add scoring support to the percolator query - Add query extract support for the blended term query and the common terms query - Add support for several span queries in ExtractQueryTermsService - Add support for TermsQuery in ExtractQueryTermsService - Replace percolate APIs with a percolator query Plugin Analysis Kuromoji:: - Add nbest options and NumberFilter Plugin Discovery EC2:: - Use `DefaultAWSCredentialsProviderChain` AWS SDK class for credentials - Support new Asia Pacific (Mumbai) ap-south-1 AWS region - Add support for proxy authentication for s3 and ec2 Plugin Discovery GCE:: - Allow `_gce_` network when not using discovery gce Plugin Ingest Attachment:: - Minor attachment processor improvements Plugin Lang Painless:: - Disable regexes by default in painless - Catch OutOfMemory and StackOverflow errors in Painless - Change Painless Tree Structure for Variable/Method Chains - Add replaceAll and replaceFirst - Painless Initializers - Add augmentation - Infer lambda arguments/return type - Fix explicit casts and improve tests. - Add lambda captures - improve Debugger to print code even if it hits exception - Move semicolon hack into lexer - Add flag support to regexes - improve lambda syntax (allow single expression) - Remove useless dropArguments in megamorphic cache - non-capturing lambda support - fix bugs in operators and more improvements for the dynamic case - improve unary operators and cleanup tests - Add support for the find operator (=~) and the match operator (==~) - Remove casts and boxing for dynamic math - Refactor def math - Add support for /regex/ - Array constructor references - Method references to user functions - Add } as a delimiter. - Add Lambda Stub Node - Add capturing method references - Add Functions to Painless - Add Method to Get New MethodWriters - Static For Each - Method reference support - Add support for the new Java 9 MethodHandles#arrayLength() factory - Improve painless compile-time exceptions - add java.time packages to painless whitelist - Add Function Reference Stub to Painless - improve painless whitelist coverage of java api - Definition cleanup - Made def variable casting consistent with invokedynamic rules - Use Java 9 Indy String Concats, if available - Add method overloading based on arity - Refactor WriterUtils to extend ASM GeneratorAdapter - Whitelist expansion - Remove boxing when loading and storing values in "def" fields/arrays, remove boxing onsimple method calls of "def" methods - Some cleanups - Use isAssignableFrom instead of relying on ClassCastException - Build descriptor of array and field load/store in code - Rename the dynamic call site factory to DefBootstrap - Cleanup of DynamicCallSite - Improve exception stacktraces - Make Line Number Available in Painless - Remove input, support params instead - Decouple ANTLR AST from Painless - _value support in painess? - Long priority over Float - _score as double, not float - Add 'ctx' keyword to painless. - Painless doc access - Retrieve _score directly from Scorer - Implement needsScore() correctly. - Add synthetic length property as alias to Lists, so they can be used like arrays - Use better typing for dynamic method calls - Array load/store and length with invokedynamic - Switch painless dynamic calls to invokedynamic, remove perf hack/cheat - Add fielddata accessors (.value/.values/.distance()/etc) - painless: optimize/simplify dynamic field and method access - Painless: Single-Quoted Strings - Painless Clean Up - Make Painless a Module - Minor Clean up - Remove Extra String Concat Token Plugin Mapper Attachment:: - minor attachments cleanups: IDE test support and EPUB format Plugin Mapper Size:: - Add doc values support to the _size field in the mapper-size plugin Plugin Repository Azure:: - Support global `repositories.azure.` settings - Add timeout settings (default to 5 minutes) - Remove AbstractLegacyBlobContainer Plugin Repository HDFS:: - merge current hdfs improvements to master Plugin Repository S3:: - Extract AWS Key from KeyChain instead of using potential null value - Check that S3 setting `buffer_size` is always lower than `chunk_size` Plugins:: - Revert "Display plugins versions" - Provide error message when plugin id is missing - Print message when removing plugin with config - Plugins: Update official plugin location with unified release - Allow plugins to upgrade global custom metadata on startup - Switch aggregations from push to pull - Display plugins versions - Add ScriptService to dependencies available for plugin components - Make NamedWriteableRegistry immutable and add extension point for named writeables - Log one plugin info per line - Make rest headers registration pull based - Add resource watcher to services available for plugin components - Add some basic services to createComponents for plugins - Make plugins closeable - Plugins: Add status bar on download - Add did-you-mean for plugin cli - Plugins: Remove name() and description() from api - Emit nicer error message when trying to install unknown plugin - Add plugin information for Verbose mode - Cli: Improve output for usage errors - Cli: Add verbose output with zip url when installing plugin - PluginManager: Add xpack as official plugin - CliTool: Cleanup and document Terminal - Plugin cli: Improve maven coordinates detection - Enforce plugin zip does not contain zip entries outside of the plugin dir - CliTool: Allow unexpected exceptions to propagate - Reduce complexity of plugin cli - Remove Plugin.onIndexService. - Open up QueryCache and SearcherWrapper extension points Query DSL:: - Throw exception when multiple field names are provided as part of query short syntax - Query parsers to throw exception when multiple field names are provided - Allow empty json object in request body in `_count` API - Treat zero token in `common` terms query as MatchNoDocsQuery - Handle empty query bodies at parse time and remove EmptyQueryBuilder - Enforce MatchQueryBuilder#maxExpansions() to be strictly positive - Don't allow `fuzziness` for `multi_match` types `cross_fields`, `phrase` and `phrase_prefix` - Add MatchNoDocsQuery, a query that matches no documents and prints the reason why in the toString method. - Adds `ignore_unmapped` option to geo queries - Adds `ignore_unmapped` option to nested and P/C queries - SimpleQueryParser should call MappedFieldType.termQuery when appropriate. - An `exists` query on an object should query a single term. - Function Score Query: make parsing stricter - Parsers should throw exception on unknown objects - UNICODE_CHARACTER_CLASS fix Query Refactoring:: - Add infrastructure to rewrite query builders - Switch geo validation to enum REST:: - Add a REST spec for the create API - Add response params to REST params did you mean - Add did you mean to strict REST params - Add exclusion support to response filtering - Only write forced_refresh if we forced a refresh - Add Location header to the index, update, and create APIs - Add support for `wait_for_events` to the `_cluster/health` REST endpoint - Rename Search Template REST spec names - Adding status field in _msearch error request bodies - Add semicolon query string parameter delimiter - Enable HTTP compression by default with compression level 3 - Allow JSON with unquoted field names by enabling system property - More robust handling of CORS HTTP Access Control - Add option to exclude based on paths in XContent Recovery:: - Pass on maxUnsafeAutoIdTimestamp on recovery / relocation - Non-blocking primary relocation hand-off - index shard should be able to cancel check index on close. - TransportNodesListGatewayStartedShards should fall back to disk based index metadata if not found in cluster state - Recover broken IndexMetaData as closed - Relocation source should be marked as relocating before starting recovery to primary relocation target - Operation counter for IndexShard - Primary relocation handoff - Remove recovery threadpools and throttle outgoing recoveries on the master - Refactor StoreRecoveryService to be a simple package private util class Reindex API:: - Only ask for `_version` we need it - Use fewer threads when reindexing-from-remote - Support authentication with reindex-from-remote - Support requests_per_second=-1 to mean no throttling in reindex - Implement ctx.op = "delete" on _update_by_query and _reindex - Make Reindex cancellation tests more uniform - Makes DeleteByQueryRequest implements IndicesRequest - Teach reindex to retry on search failures - Remove ReindexResponse in favor of BulkIndexByScrollResponse - Stricter validation of Reindex's requests_per_second - Properly mark reindex's child tasks as child tasks - Make reindex throttling dynamic - Throttling support for reindex - Add ingest pipeline support to reindex Scripting:: - Parse script on storage instead of on retrieval - Migrate elasticsearch native script examples to the main repo - Remove ClusterState from compile api - Mustache: Render Map as JSON - Compile each Groovy script in its own classloader - Include script field even if it value is null - Skipping hidden files compilation for script service - Rename Plan A to Painless - Add plumbing for script compile-time parameters - Factor mustache -> modules/lang-mustache Scroll:: - Add an index setting to limit the maximum number of slices allowed in a scroll request. Search:: - Limit batch size when scrolling - Record method counts while profiling query components - Change default similarity to BM25 - Add a parameter to cap the number of searches the msearch api will concurrently execute - Introduces GeoValidationMethod to GeoDistanceSortBuilder - Switches from empty boolean query to matchNoDocs - Allow binary sort values. - Fail query if it contains very large rescores - Type filters should not have a performance impact when there is a single type. - Store _all payloads on 1 byte instead of 4. - Refuse to load fields from _source when using the `fields` option and support wildcards. - Add response into ClearScrollResponse - Shuffle shards for _only_nodes + support multiple specifications like cluster API Search Refactoring:: - Removes the now obsolete SearchParseElement implementations - Remove RescoreParseElement - Remove HighlighterParseElement - Move top level parsing of sort element to SortBuilder - Switch to using refactored SortBuilder instead of using BytesReference in serialization - Add build() method to SortBuilder implementations - Refactoring of Suggestions - Move sort `order` field up into SortBuilder - Moves SortParser:parse(...) to only require QueryShardContext - Change internal representation of suggesters - Make GeoDistanceSortBuilder serializable, 2nd try - Move missing() from SortBuilder interface to class - Remove deprecated parameters from ScriptSortBuilder - Refactor GeoSortBuilder - Refactor FieldSortBuilder - Make sort order enum writable. - Make DistanceUnit writable. - RescoreBuilder: Add parsing and creating of RescoreSearchContext - Make RescoreBuilder and nested QueryRescorer Writable - Explain api: move query parsing to the coordinating node - Switch query parsers to use ParseField - Refactoring of Aggregations Sequence IDs:: - Persist sequence number checkpoints - Add sequence numbers to cat shards API Settings:: - Add precise logging on unknown or invalid settings - Make `action.auto_create_index` setting a dynamic cluster setting - Removes space between # and the setting in elasticsearch.yml - Validates new dynamic settings from the current state - Improve error message if a setting is not found - Cleanup placeholder replacement - Switch to registered Settings for all IndexingMemoryController settings - Add guard against null-valued settings - Useful error message for null property placeholder - Archive cluster level settings if unknown or broken - Improve error message if setting is not found - Improve upgrade experience of node level index settings - Settings with complex matchers should not overlap - Moves GCE settings to the new infra - Add filtering support within Setting class - Migrate AWS settings to new settings infrastructure - Remove `gateway.initial_meta` and always rely on min master nodes - Rewrite SettingsFilter to be immutable - Simplify azure settings - Convert PageCacheRecycler settings - Monitor settings - Cut over tribe node settings to new settings infra - Convert multcast plugin settings to the new infra - Convert `request.headers.*` to the new settings infra - Migrate Azure settings to new settings infrastructure - Validate logger settings and allow them to be reset via API - Switch NodeEnvironment's settings to new settings - Simplify AutoCreateIndex and add more tests - Convert several pending settings - Migrate query caching settings to the new settings infra. - Convert `action.auto_create_index` and `action.master.force_local` to the new settings infra - Convert `cluster.routing.allocation.type` and `processors` to the new settings infra. - Validate tribe node settings on startup - Move node.client, node.data, node.master, node.local and node.mode to new settings infra - Moved http settings to the new settings infrastructure - Migrate network service to the new infra - Convert client.transport settings to new infra - Move discovery.* settings to new Setting infrastructure - Change over to o.e.common.settings.Setting for http settings - Convert "path.*" and "pidfile" to new settings infra - Migrate repository settings to the new settings API - Convert "indices.*" settings to new infra. - Migrate gateway settings to the new settings API. - Convert several node and test level settings - Run Metadata upgrade tool on every version - Check for invalid index settings on metadata upgrade - Validate the settings key if it's simple chars separated by `.` - Validate known global settings on startup - Cut over all index scope settings to the new setting infrastrucuture - Remove updatability of `index.flush_on_close` - Move all dynamic settings and their config classes to the index level - Always require units for bytes and time settings - Make MetaData parsing less lenient. - Move async translog sync logic into IndexService - Remove `index.merge.scheduler.notify_on_failure` and default to `true` - Remove cache concurrency level settings that no longer apply Similarities:: - Defining a global default similarity Snapshot/Restore:: - Delete differing files in the store before restoring - Adds ignoreUnavailable option to the snapshot status API - Check restores in progress before deleting a snapshot - Snapshot repository cleans up empty index folders - BlobContainer#writeBlob no longer can overwrite a blob - More resilient blob handling in snapshot repositories - Adding repository index generational files - Raised IOException on deleteBlob - Adds UUIDs to snapshots - Clarify the semantics of the BlobContainer interface - Change BlobPath.buildAsString() method - Remove the Snapshot class in favor of using SnapshotInfo Stats:: - Add mem section back to cluster stats - Add network types to cluster stats - Add missing field type in the FieldStats response. - Expose the ClusterInfo object in the allocation explain output - Add total_indexing_buffer/_in_bytes to nodes info API - Allow FieldStatsRequest to disable cache - Remove index_writer_max_memory stat from segment stats - Move DocStats under Engine to get more accurate numbers - Do not return fieldstats information for fields that exist in the mapping but not in the index. - Add whether the shard state fetch is pending to the allocation explain API - Add Failure Details to every NodesResponse - Add I/O statistics on Linux - Add points to SegmentStats. - Remove FieldStats.Float. - Show configured and remaining delay for an unassigned shard. - indexing stats now contain indexing ops from recovery [ISSUE] - Normalize unavailable load average - Add load averages to OS stats on FreeBSD - Expose pending cluster state queue size in node stats Store:: - Use `mmapfs` by default. - Remove support for legacy checksums - Rename index folder to index_uuid Suggesters:: - Move SuggestUtils methods to their respective caller classes - Remove payload option from completion suggester - Add bwc support for reading pre-5.0 completion index Task Manager:: - Rename Task Persistence into Storing Task Results - Fetch result when wait_for_completion - Create get task API that falls back to the .tasks index - Add ability to store results for long running tasks - Move parentTaskId into TransportRequest - Shorten the serialization of the empty TaskId - Expose whether a task is cancellable in the _tasks list API - Add ability to group tasks by common parent - Add start time and duration to tasks - Combine node name and task id into single string task id - Add task status - Extend tracking of parent tasks to master node, replication and broadcast actions Translog:: - Fsync documents in an async fashion - Add checksumming and versions to the Translog's Checkpoint files - Beef up Translog testing with random channel exceptions - Do not replay into translog on local recovery - FSync translog outside of the writers global lock - Remove ChannelReference and simplify Views - Simplify TranslogWriter to always write to a stream - Remove TranslogService and fold it into synchronous IndexShard API === Bug fixes Aggregations:: - Fixed writeable name from range to geo_distance - Fix date_range aggregation to not cache if now is used - The `top_hits` aggregation should compile scripts only once. - Fix agg profiling when using breadth_first collect mode - Throw exception when maxBounds greater than minBounds - Undeprecates `aggs` in the search request - Change how `nested` and `reverse_nested` aggs know about their nested depth level - Make ExtendedBounds immutable - Aggregations fix: support include/exclude strings for IP and dates - Fix xcontent rendering of ip terms aggs. - Improving parsing of sigma param for Extended Stats Bucket Aggregation - Fixes NPE when no window is specified in moving average request - Fixes Filter and FiltersAggregation to work with empty query - Fixes the defaults for `keyed` in the percentiles aggregations - Correct typo in class name of StatsAggregator Allocation:: - Keep a shadow replicas' allocation id when it is promoted to primary - IndicesClusterStateService should clean local started when re-assigns an initializing shard with the same aid - IndexRoutingTable.initializeEmpty shouldn't override supplied primary RecoverySource - Update incoming recoveries stats when shadow replica is reinitialized - `index.routing.allocation.initial_recovery` limits replica allocation - Upon being elected as master, prefer joins' node info to existing cluster state - Fix NPE when initializing replica shard has no UnassignedInfo - Make shard store fetch less dependent on the current cluster state, both on master and non data nodes - Fix recovery throttling to properly handle relocating non-primary shards - Replica shards must be failed before primary shards Analysis:: - Named analyzer should close the analyzer that it wraps - Can load non-PreBuiltTokenFilter in Analyze API - Fix analyzer alias processing Bulk:: - Add not-null precondition check in BulkRequest CAT API:: - Fixes cat tasks operation in detailed mode - Add index pattern wildcards support to _cat/shards CRUD:: - GET operations should not extract fields from `_source`. - Squash a race condition in RefreshListeners - Prevent TransportReplicationAction to route request based on stale local routing table - Resolves the conflict between alias routing and parent routing by applying the alias routing and ignoring the parent routing. Cache:: - Prevent requests that use scripts or now() from being cached - Serialize index boost and phrase suggest collation keys in a consistent order Circuit Breakers:: - Never trip circuit breaker in liveness request - Free bytes reserved on request breaker Cluster:: - Fixes issue with dangling index being deleted instead of re-imported - Allow routing table to be filtered by index pattern - Use executor's describeTasks method to log task information in cluster service - Acknowledge index deletion requests based on standard cluster state acknowledgment - Dangling indices are not imported if a tombstone for the index exists - Fix issue with tombstones matching active indices in cluster state - Shard state action channel exceptions Core:: - Makes `m` case sensitive in TimeValue - Guard against negative result from FileStore.getUsableSpace when picking data path for a new shard - Handle rejected execution exception on reschedule - Fix concurrency bug in IMC that could cause it to check too infrequently - Iterables.flatten should not pre-cache the first iterator - Avoid race while retiring executors - Refactor UUID-generating methods out of Strings - Node names cleanup - NullPointerException from IndexingMemoryController when a version conflict happens during recovery - Handle RejectedExecution gracefully in TransportService during shutdown Discovery:: - Update discovery nodes after cluster state is published - Add current cluster state version to zen pings and use them in master election Engine:: - Take refresh IOExceptions into account when catching ACE in InternalEngine - Don't suppress AlreadyClosedException Expressions:: - replace ScriptException with a better one Geo:: - Incomplete results when using geo_distance for large distances [ISSUE] - Fix multi-field support for GeoPoint types - Enforce distance in distance query is > 0 [ISSUE] Highlighting:: - Enable BoostingQuery with FVH highlighter Index APIs:: - Fixes active shard count check in the case of `all` shards - Add zero-padding to auto-generated rollover index name increment Ingest:: - no null values in ingest configuration error messages - JSON Processor was not properly added - Don't rebuild pipeline on every cluster state update - Add dotexpander processor - Fix NPE when simulating a pipeline with no id - Change foreach processor to use ingest metadata for array element - No other processors should be executed after on_failure is called - rethrow script compilation exceptions into ingest configuration exceptions - Rename from `ingest-useragent` plugin to `ingest-user-agent` and its processor from `useragent` to `user_agent` - Fix ignore_failure behavior in _simulate?verbose and more cleanup - Pipeline Stats: Fix concurrent modification exception - Validate properties values according to database type - Ingest does not close its factories - Handle regex parsing errors in Gsub and Grok Processors - add on_failure exception metadata to ingest document for verbose simulate - The IngestDocument copy constructor should make a deep copy Inner Hits:: - Ensure that that InnerHitBuilder uses rewritten queries Internal:: - Prevent AbstractArrays from release bytes more than once - IndicesAliasesRequest should not implement CompositeIndicesRequest - Ensure elasticsearch doesn't start with unuspported indices - Remove ListTasksResponse#setDiscoveryNodes() - Priority values should be unmodifiable - Extract AbstractBytesReferenceTestCase - Add XPointValues - Fix BulkItemResponse.Failure.toString - Enable unmap hack for java 9 - Fix issues with failed cache loads - Allow parser to move on the START_OBJECT token when parsing search source - Ensure searcher is release if wrapping fails - Avoid deadlocks in Cache#computeIfAbsent Java API:: - fix IndexResponse#toString to print out shards info - Add NamedWriteables from plugins to TransportClient - Fix potential NPE in SearchSourceBuilder Java REST Client:: - Rest Client: add slash to log line when missing between host and uri - Rest Client: HostsSniffer to set http as default scheme Logging:: - Fix logger when you can not create an azure storage client - Avoid unnecessary creation of prefix loggers - Fix logging hierarchy configs - Fix prefix logging - Hack around Log4j bug rendering exceptions - Avoid prematurely triggering logger initialization - Only log running out of slots when out of slots Mapping:: - Allow position_gap_increment for fields in indices created prior to 5.0 - Validate blank field name - Better error message when mapping configures null - Make doc_values accessible for _type - Fix and test handling of `null_value`. - Fail automatic string upgrade if the value of `index` is not recognized. - Fix dynamic check to properly handle parents - Fix array parsing to remove its context when finished parsing - Disallow fielddata loading on text fields that are not indexed. - Make dynamic template parsing less lenient. - Fix dynamic mapper when its parent already has an update - Fix copy_to when the target is a dynamic object field. - Preserve existing mappings on batch mapping updates Network:: - Fix connection close header handling - Ensure port range is readable in the exception message - Fix expect 100 continue header handling - Fixes netty4 module's CORS config to use defaults - Fix various concurrency issues in transport - Verify lower level transport exceptions don't bubble up on disconnects Packaging:: - [Packaging] Do not remove scripts directory on upgrade - [Package] Remove bin/lib/modules directories on RPM uninstall/upgrade - Fix handling of spaces for jvm.options on Windows - Disable service in pre-uninstall - Remove extra bin/ directory in bin folder - Filter client/server VM options from jvm.options - Preserve config files from RPM install - Fix typo in message for variable setup ES_MAX_MEM - Don't run `mkdir` when $DATA_DIR contains a comma-separated list - Fix exit code - Set MAX_OPEN_FILES to 65536 - [windows] Service command still had positional start command - Do not pass double-dash arguments on startup Parent/Child:: - Make sure that no `_parent#null` gets introduces as default _parent mapping Percolator:: - Fail indexing percolator queries containing either a has_child or has_parent query - Add support for MatchNoDocsQuery in percolator's query terms extract service - Let PercolatorQuery's explain use the two phase iterator Plugin Discovery Azure Classic:: - Make discovery-azure plugin work again Plugin Discovery EC2:: - Fix EC2 discovery settings - Add TAG_SETTING to list of allowed tags for the ec2 discovery plugin. - Fix EC2 Discovery settings Plugin Discovery GCE:: - Fix NPE when GCE region is empty Plugin Ingest Attachment:: - Adds content-length as number Plugin Ingest GeoIp:: - [ingest-geoip] update geoip to not include null-valued results from Plugin Lang Painless:: - Fix String Concatenation Bug In Painless - Fix break bug in for/foreach loops. - Fix compound assignment with string concats - Fix horrible capture - Fix Casting Bug - Remove Grammar Ambiguities - Remove if/else ANTLR ambiguity. - Fix insanely slow compilation - Fix Bug in Painless Assignment - Fix bracket shortcuts Plugin Repository Azure:: - Register group setting for repository-azure accounts - Fix azure files removal Plugin Repository S3:: - Fixes leading forward slash in S3 repository base_path - Add missing permission to repository-s3 - Fix repository S3 Settings and add more tests Plugin Store SMB:: - Fix calling ensureOpen() on the wrong directory (master forwardport) Plugins:: - Use sysprop like with es.path.home to pass conf dir - Quote path to java binary - CliTool: Messages printed in Terminal should have percent char escaped Query DSL:: - Fixes MultiMatchQuery so that it doesn't provide a null context - Fix silently accepting malformed queries - query_string_query should take term length into consideration when fuzziness is auto - Throw ParsingException if a query is wrapped in an array - Restore parameter name auto_generate_phrase_queries - Resolve string dates and date math to millis before evaluating for rewrite in range query - `constant_score` query should throw error on more than one filter - Single IPv4 addresses in IP field term queries - Make strategy optional in GeoShapeQueryBuilder readFrom and writeTo Query Refactoring:: - Query refactoring: set has_parent & has_child types context properly - Make sure equivalent geohashCellQueries are equal after toQuery called REST:: - Remove lenient URL parameter parsing - Fixes CORS handling so that it uses the defaults - Get XContent params from request in Nodes rest actions - Fixes reading of CORS pre-flight headers and methods Recovery:: - Fix concurrency issues between cancelling a relocation and marking shard as relocated - Move `reset recovery` into RecoveriesCollection - Fix replica-primary inconsistencies when indexing during primary relocation with ongoing replica recoveries - Invoke `IndexingOperationListeners` also when recovering from store or remote - Prevent interruption while store checks lucene files for consistency - Mark shard as recovering on the cluster state thread Reindex API:: - Fix reindex with transport client - Fix a race condition in reindex's rethrottle - Reindex should never report negative throttled_until - Reindex should gracefully handle when _source is disabled Scripting:: - Add support for booleans in scripts - Fix Javascript OOM build Failure - Fix propagating the default value for script settings - Catch and wrap AssertionError and NoClassDefFoundError in groovy scripts Search:: - Do not cache script queries. - Throw error when trying to fetch fields from source and source is disabled - Source filtering should keep working when the source contains numbers greater than `Long.MAX_VALUE`. - Fix NPE when running a range query on a `scaled_float` with no upper bound. - Fix NPE during search with source filtering if the source is disabled. - Restore assignment of time value when deserializing a scroll instance - Fix explain output for dfs query - Don't recursively count children profile timings - fix explain in function_score if no function filter matches - Fix NPEs due to disabled source - Require timeout units when parsing query body - Close SearchContext if query rewrite failed - Fix parsing single `rescore` element in SearchSourceBuilder - Fail queries on not indexed fields. - Fix for search after - Do not be lenient when parsing CIDRs Settings:: - Fix Setting.timeValue() method - Add a hard limit for `index.number_of_shard` - Include complex settings in settings requests - Fix filter cache setting to allow percentages - Move cluster.routing.allocation.same_shard.host setting to new settings infrastructure - Validate settings against dynamic updaters on the master - Register "cloud.node.auto_attributes" setting in EC2 discovery plugin - Use object equality to compare versions in IndexSettings - fix exists method for list settings when using numbered setting format - convert settings for ResourceWatcherService to new infrastructure - Register bootstrap settings - Add settings filtering to node info requests - Ban write access to system properties Snapshot/Restore:: - Better handling of an empty shard's segments_N file - Fix race condition in snapshot initialization - Fix the semantics for the BlobContainer interface Stats:: - Fix FieldStats deserialization of `ip` field - Fix serialization bug in allocation explain API. - Allocation explain: Also serialize `includeDiskInfo` field - Add missing builder.endObject() in FsInfo Store:: - Tighten up concurrent store metadata listing and engine writes - Make static Store access shard lock aware - Catch assertion errors on commit and turn it into a real exception Task Manager:: - Shard level tasks in Bulk Action lose reference to their parent tasks - Take filterNodeIds into consideration while sending task requests to nodes Term Vectors:: - Fix calculation of took time of term vectors request Translog:: - Fix RAM usage estimation of LiveVersionMap. - Fix translog replay multiple operations same doc - Snapshotting and sync could cause a dead lock TranslogWriter - Move translog recover outside of the engine - Mark shard active during recovery; push settings after engine finally inits === Regressions Highlighting:: - Handle SynonymQuery extraction for the FastVectorHighlighter === Upgrades Core:: - Upgrade to Lucene 6.2.0 - Update to jackson 2.8.1 - Upgrade to Lucene 6.1.0. - Upgrade to lucene-6.1.0-snapshot-3a57bea. - Upgrade to Lucene 6.0.1. - Upgrade to lucene 6 release - Upgrade to lucene-6.0.0-f0aa4fc. - upgrade to lucene 6.0.0-snapshot-bea235f - Upgrade to Jackson 2.7.1 Ingest:: - Update MaxMind geoip2 version to 2.6 Internal:: - Bump master (3.0-snapshot) to java 8 Network:: - Upgrade to Netty 4.1.5 - Dependencies: Upgrade to netty 4.1.4 - Introduce Netty 4 Packaging:: - Upgrade JNA to 4.2.2 and remove optionality Plugin Discovery EC2:: - Update aws sdk to 1.10.69 and add use_throttle_retries repository setting Scripting:: - Dependencies: Updates to mustache 0.9.3 Search Templates:: - Update mustache.java to version 0.9.1
2016-11-08 10:18:00 +01:00
bin/elasticsearch
bin/elasticsearch-plugin
lib/elasticsearch/bin/elasticsearch.in.sh
Update databases/elasticsearch to 5.4.0. === Breaking changes Settings:: - Remove support for default settings === Breaking Java changes Aggregations:: - Move getProperty method out of MultiBucketsAggregation.Bucket interface - Remove getProperty method from Aggregations interface and impl - Move getProperty method out of Aggregation interface Java API:: - Fold InternalSearchHits and friends into their interfaces === Deprecations Aggregations:: - Deprecate Stats#getCountAsString Java API:: - Add BulkProcessor methods with XContentType parameter Network:: - Deprecate Netty 3 Packaging:: - Add deprecation warnings for $ES_USER and $ES_GROUP Plugin Delete By Query:: - Deprecate delete_by_query requests without an explicit query Plugin Repository Azure:: - Deprecate global `repositories.azure` settings Plugin Repository S3:: - Deprecate repositories.s3 settings REST:: - Deprecate ldjson support and document ndjson for bulk/msearch Stats:: - Deprecate `_field_stats` endpoint === New features Analysis:: - Adds pattern keyword marker filter support - Expose WordDelimiterGraphTokenFilter Index APIs:: - Add FieldCapabilities (`_field_caps`) API Search:: - Introduce incremental reduction of TopDocs Similarities:: - Adds boolean similarity to Elasticsearch === Enhancements Aggregations:: - Add BucketMetricValue interface - Move aggs CommonFields and TYPED_KEYS_DELIMITER from InternalAggregation to Aggregation - Use ParseField for aggs CommonFields rather than String - Share XContent rendering code in terms aggs - Add unit tests for ParentToChildAggregator - First step towards incremental reduction of query responses Allocation:: - Trigger replica recovery restarts by master when primary relocation completes - Makes the same_shard host dynamically updatable Analysis:: - Support Keyword type in Analyze API Cluster:: - Prevent nodes from joining if newer indices exist in the cluster Core:: - Detect remnants of path.data/default.path.data bug - Await termination after shutting down executors - Add early-access check - Adapter action future should restore interrupts - Disable bootstrap checks for single-node discovery - Enable explicitly enforcing bootstrap checks - Add equals/hashcode method to ReplicationResponse Dates:: - Improve error handling for epoch format parser with time zone (#22621) Discovery:: - Introduce single-node discovery - UnicastZenPing shouldn't ping the address of the local node - MasterFaultDetection can start after the initial cluster state has been processed Highlighting:: - Add support for fragment_length in the unified highlighter - Add BreakIteratorBoundaryScanner support Index APIs:: - Wildcard cluster names for cross cluster search Ingest:: - Lazy load the geoip databases Internal:: - Add a dedicated TransportRemoteInfoAction for consistency - Simplify sorted top docs merging in SearchPhaseController - Synchronized CollapseTopFieldDocs with lucenes relatives - Cleanup SearchPhaseController interface - Do not create String instances in 'Strings' methods accepting StringBuilder Java API:: - Added types options to DeleteByQueryRequest Java High Level REST Client:: - Convert suggestion response parsing to use NamedXContentRegistry - UpdateRequest implements ToXContent - Add javadoc for DocWriteResponse.Builders - Expose WriteRequest.RefreshPolicy string representation - Use `typed_keys` parameter to prefix suggester names by type in search responses - Add parsing methods to BulkItemResponse Logging:: - Warn on not enough masters during election Mapping:: - Improve error message for ipv6 on legacy ip fields Nested Docs:: - Avoid adding unnecessary nested filters when ranges are used. Network:: - Adjust default Netty receive predictor size to 64k - Keep the pipeline handler queue small initially - Set network receive predictor size to 32kb - TransportService.connectToNode should validate remote node ID Packaging:: - Introduce Java version check - Cleanup some things after removal of joda-time hack Percolator:: - Allowing range queries with now ranges inside percolator queries - Add term extraction support for MultiPhraseQuery Plugin Discovery EC2:: - Settings: Migrate ec2 discovery sensitive settings to elasticsearch keystore Plugin Lang Painless:: - Allow painless to load stored fields - Start on custom whitelists for Painless - Fix Painless's implementation of interfaces returning primitives - Allow painless to implement more interfaces Plugin Repository Azure:: - Add Backoff policy to azure repository Plugin Repository S3:: - Removes the retry mechanism from the S3 blob store - S3 Repository: Eagerly load static settings Plugins:: - Modify permissions dialog for plugins - Plugins: Add plugin cli specific exit codes - Plugins: Output better error message when existing plugin is incompatible Query DSL:: - Make it possible to validate a query on all shards instead of a single random shard REST:: - Validate top-level keys when parsing mget requests - Cluster stats should not render empty http/transport types - Add parameter to prefix aggs name with type in search responses Search:: - Set shard count limit to unlimited - Streamline shard index availability in all SearchPhaseResults - Search took time should use a relative clock - Prevent negative `from` parameter in SearchSourceBuilder - Remove unnecessary result sorting in SearchPhaseController - Expose `batched_reduce_size` via `_search` - Adding fromXContent to Suggest and Suggestion class - Adding fromXContent to Suggestion.Entry and subclasses - Add CollapseSearchPhase as a successor for the FetchSearchPhase - Integrate IndexOrDocValuesQuery. - Detach SearchPhases from AbstractSearchAsyncAction - Fix GraphQuery expectation after Lucene upgrade to 6.5 - Nested queries should avoid adding unnecessary filters when possible. - Add xcontent parsing to completion suggestion option - Add xcontent parsing to suggestion options - Separate reduce (aggs, suggest and profile) from merging fetched hits Settings:: - Add secure file setting to keystore - Add a setting which specifies a list of setting - Add a property to mark setting as final - Remove obsolete index setting `index.version.minimum_compatible`. - Provide a method to retrieve a closeable char[] from a SecureString - Update indices settings api to support CBOR and SMILE format - Improve setting deprecation message Snapshot/Restore:: - Change snapshot status error to use generic SnapshotException Stats:: - Add cross-cluster search remote cluster info API Task Manager:: - Allow task to be unregistered by ClusterStateApplier - Limit IndexRequest toString() length === Bug fixes Aggregations:: - Align behavior HDR percentiles iterator with percentile() method - The `filter` and `significant_terms` aggregations should parse the `filter` as a filter, not a query. - Completion suggestion should also consider text if prefix/regex is missing - Fixes the per term error in the terms aggregation - Fixes terms error count for multiple reduce phases - Restore support for the `include/pattern` syntax. Bulk:: - Reject empty IDs CRUD:: - Fix backport executing ops as single item bulk Cluster:: - Don't set local node on cluster state used for node join validation - Allow a cluster state applier to create an observer and wait for a better state - Cluster allocation explain to never return empty response body Core:: - Check for default.path.data included in path.data - Improve performance of extracting warning value - Reject duplicate settings on the command line - Restrict build info loading to ES jar, not any jar Discovery:: - ZenDiscovery - only validate min_master_nodes values if local node is master Index APIs:: - Fixes restore of a shrunken index when initial recovery node is gone - Honor update request timeout Ingest:: - Improve missing ingest processor error - update _ingest.timestamp to use new ZonedDateTime Inner Hits:: - Replace NestedChildrenQuery with ParentChildrenBlockJoinQuery - Changed DisMaxQueryBuilder to extract inner hits from leaf queries Internal:: - Add infrastructure to mark contexts as system contexts - Always restore the ThreadContext for operations delayed due to a block Java High Level REST Client:: - Correctly parse BulkItemResponse.Failure's status Java REST Client:: - Make buffer limit configurable in HeapBufferedConsumerFactory - RestClient asynchronous execution should not throw exceptions Mapping:: - Preserve response headers when creating an index - Improves disabled fielddata error message - Switch include_in_all in multifield to warning - Fix MapperService StackOverflowError - Fix NPE with scaled floats stats when field is not indexed Network:: - Fix possible hang in local transport when nodes get concurrently disconnected - Respect promises on pipelined responses - Ensure that releasing listener is called Packaging:: - Fall back to non-atomic move when removing plugins Percolator:: - Fix memory leak when percolator uses bitset or field data cache Plugin Ingest Attachment:: - Remove support for Visio and potm files Plugin Lang Painless:: - Fix painless's regex lexer and error messages - Replace Painless's Cast with casting strategies - Fix Bad Casts In Painless Plugin Repository Azure:: - Azure blob store's readBlob() method first checks if the blob exists Plugin Repository S3:: - Handle BlobPath's trailing separator case. Add test cases to BlobPathTests.java Plugins:: - Fix delete of plugin directory on remove plugin - Use a marker file when removing a plugin Query DSL:: - FuzzyQueryBuilder should error when parsing array of values REST:: - [API] change wait_for_completion default according to docs - Deprecate request_cache for clear-cache - HTTP transport stashes the ThreadContext instead of the RestController - Ensure we try to autodetect content type for handlers that support plain text - Fix date format in warning headers - Align REST specs for HEAD requests - Correct warning header to be compliant - Fix get HEAD requests - Fix search scroll request with a plain text body - Handle bad HTTP requests - Fix get source HEAD requests - Properly encode location header - Fix template HEAD requests - Fix index HEAD requests - Fix alias HEAD requests Recovery:: - Provide target allocation id as part of start recovery request Reindex API:: - Fix throttled reindex_from_remote - Fix reindex with a remote source on a version before 2.0.0 - Make reindex wait for cleanup before responding Scripting:: - Remove unnecessary Groovy deprecation logging - Convert script/template objects to json format internally - Script: Fix value of `ctx._now` to be current epoch time in milliseconds Search:: - Cross Cluster Search: propagate original indices per cluster - Query string default field - Speed up parsing of large `terms` queries. - IndicesQueryCache should delegate the scorerSupplier method. - Fork LRUQueryCache from Lucene to work around LUCENE-7749 - Disable graph analysis at query time for shingle and cjk filters producing tokens of different size - Fix cross-cluster remote node gateway attributes - Use a fixed seed for computing term hashCode in TermsSliceQuery - Honor max concurrent searches in multi-search - Avoid stack overflow in multi-search - Fix query_string_query to transform "foo:*" in an exists query on the field name - Factor out filling of TopDocs in SearchPhaseController - Replace blocking calls in ExpandCollapseSearchResponseListener by asynchronous requests Search Templates:: - No longer add illegal content type option to stored search templates Settings:: - Do not set path.data in environment if not set - Correct handling of default and array settings - Fix merge scheduler config settings - Settings: Fix keystore cli prompting for yes/no to handle console returning null Similarities:: - Fix similarity upgrade when "default" similarity is overridden Snapshot/Restore:: - Fixes maintaining the shards a snapshot is waiting on - Fixes snapshot status on failed snapshots - Fixes snapshot deletion handling on in-progress snapshot failure - Prioritize listing index-N blobs over index.latest in reading snapshots Stats:: - Avoid overflow when computing total FS stats - Handle existence of cgroup version 2 hierarchy - Handle long overflow when adding paths' totals - Fix control group pattern - Fix total disk bytes returning negative value === Regressions Bulk:: - Fix _bulk response when it can't create an index === Upgrades Aggregations:: - Upgrade HDRHistogram to 2.1.9 Core:: - Upgrade to Lucene 6.5.0 - Upgrade from JNA 4.2.2 to JNA 4.4.0 - Upgrade to lucene-6.5.0-snapshot-d00c5ca - Upgrade to lucene-6.5.0-snapshot-f919485. Logging:: - Upgrade to Log4j 2.8.2 Network:: - Upgrade to Netty 4.1.9 - Upgrade to Netty 4.1.8 Plugin Repository Azure:: - Update to Azure Storage 5.0.0
2017-05-11 10:36:30 +02:00
lib/elasticsearch/lib/HdrHistogram-2.1.9.jar
Update databases/elasticsearch to 5.0.0. * Now requires JDK 8.0. * Use a different installation layout as some location are now impossible to change without patching the Java sources. === Breaking changes in 5.0 === Migration Plugin - The elasticsearch-migration plugin (compatible with Elasticsearch 2.3.0 and above) will help you to find issues that need to be addressed when upgrading to Elasticsearch 5.0. Indices created before 5.0 - Elasticsearch 5.0 can read indices created in version 2.0 or above. An Elasticsearch 5.0 node will not start in the presence of indices created in a version of Elasticsearch before 2.0. - Indices created in Elasticsearch 1.x or before will need to be reindexed with Elasticsearch 2.x in order to be readable by Elasticsearch 5.x. It is not sufficient to use the upgrade API. === Breaking changes Aggregations:: - Remove size 0 options in aggregations Aliases:: - make get alias expand to open and closed indices by default - Remove deprecated indices.get_aliases Allocation:: - Remove DisableAllocationDecider Analysis:: - Remove `token_filter` in _analyze API - Removes support for adding aliases to analyzers - Analyze API : Rename filters/token_filters/char_filter in Analyze API in master CAT API:: - Improve cat thread pool API - Row-centric output for _cat/fielddata - Add raw recovery progress to cat recovery API - Remove host from cat nodes API - Using the accept header in the request instead of content-type in _cat API. CRUD:: - Fixed naming inconsistency for fields/stored_fields in the APIs - Disallow creating indices starting with '-' or '+' - Wait for changes to be visible by search - Remove object notation for core types. Cache:: - Remove deprecated query cache settings Cluster:: - Persistent Node Ids - Remove validation errors from cluster health response - Remove memory section Core:: - Remove ignore system bootstrap checks - Remove minimum master nodes bootstrap check - Keep input time unit when parsing TimeValues - Remove cluster name from data path - Add max number of processes check - Add mlockall bootstrap check - One log Engine:: - Optimize indexing for the autogenerated ID append-only case - Remove `index.compound_on_flush` setting and default to `true` Exceptions:: - Die with dignity Fielddata:: - Remove "uninverted" and "binary" fielddata support for numeric and boolean fields. Geo:: - Deprecate GeoDistance enums and remove geo distance script helpers Index APIs:: - Removes write consistency level across replication action APIs in favor of wait_for_active_shards - Remove `GET` option for /_forcemerge - Remove /_optimize REST API endpoint Indexed Scripts/Templates:: - Store indexed scripts in the cluster state instead of the `.scripts` index Inner Hits:: - Also do not serialize `_index` key in search response for parent/child inner hits - Don't include `_id`, `_type` and `_index` keys in search response for inner hits - Nested inner hits shouldn't use relative paths - Drop top level inner hits in favour of inner hits defined in the query dsl Internal:: - `_flush` should block by default - Actually bound the generic thread pool - Remove support for pre 2.0 indices Logging:: - Introduce Log4j 2 Mapping:: - Remove `_timestamp` and `_ttl` on 5.x indices. - Add a soft limit on the mapping depth. - Disable fielddata on text fields by defaults. - Add limit to total number of fields in mapping - Change the field mapping index time boost into a query time boost. - Deprecate string in favor of text/keyword. - Term vector APIs should no longer update mappings - Remove the `format` option of the `_source` field. - Remove transform Packaging:: - Rename service.bat to elasticsearch-service.bat - Remove -D handling in args for windows plugin script - Set default min heap equal to default max heap - Remove allow running as root - Require /bin/bash in packaging - Remove plugin script parsing of system properties - Add JVM options configuration file Parent/Child:: - Removed `total` score mode in favour for `sum` score mode. - Removed pre 2.x parent child implementation Percolator:: - Remove `.percolator` type in favour of `percolator` field type - Change the percolate api to not dynamically add fields to mapping Plugin Delete By Query:: - Remove Delete-By-Query plugin Plugin Lang Painless:: - Remove all date 'now' methods from Painless - Make Painless the Default Language Plugins:: - Plugins cleanup - Rename bin/plugin in bin/elasticsearch-plugin - Change the inner structure of the plugins zip - Remove multicast plugin - Plugins: Remove site plugins Query DSL:: - Lessen leniency of the query dsl. - Function score query: remove deprecated support for boost_factor - Remove support for deprecated queries. REST:: - Change separator for shards preference - Parameter improvements to Cluster Health API wait for shards - Switch indices.exists_type from `{index}/{type}` to `{index}/_mapping/{type}`. - Only use `PUT` for index creation, not POST. - Remove camelCase support - Remove 'case' parameter from rest apis - Disallow unquoted field names - Limit the accepted length of the _id Scripting:: - Hardcode painless as the default scripting lang and add legacy script default for stored scripts - Remove deprecated 1.x script and template syntax - Allow only a single extension for a scripting engine - Remove 'sandbox' option for script settings, allow only registering a single language. Search:: - Rename `fields` to `stored_fields` and add `docvalue_fields` - Remove only node preference - Add search preference to prefer multiple nodes - Add a soft limit on the number of shards that can be queried in a single search request. - Remove deprecated reverse option from sorting - Remove some deprecations - Remove search exists api - Remove the scan and count search types. Search Refactoring:: - Remove deprecated parameter from field sort builder. - Remove "query" query and fix related parsing bugs Settings:: - Default max local storage nodes to one - Persistent Node Names - Remove support for properties - Rename boostrap.mlockall to bootstrap.memory_lock - Register `indices.query.bool.max_clause_count` setting - Remove settings and system properties entanglement - Remove `action.get.realtime` setting - Remove ability to specify arbitrary node attributes with `node.` prefix - Enforce `discovery.zen.minimum_master_nodes` is set when bound to a public ip - Prevent index level setting from being configured on a node level - Remove support for node.client setting - Remove es.max-open-files flag - Enforce node level limits if node is started in production env - Make settings validation strict - Remove the ability to fsync on every operation and only schedule fsync task if really needed - Script settings - Remove index.flush_on_close entirely - Restore chunksize of 512kb on recovery and remove configurability - Remove ancient deprecated and alternative recovery settings Similarities:: - Renames `default` similarity into `classic` Snapshot/Restore:: - Change the default of `include_global_state` from true to false for snapshot restores - Fail closing or deleting indices during a full snapshot Stats:: - Modify load average format - Reintroduce five-minute and fifteen-minute load averages on Linux - Add system CPU percent to OS stats Term Vectors:: - Remove DFS support from TermVector API Translog:: - Drop support for simple translog and hard-wire buffer to 8kb - Simplify translog-based flush settings Warmers:: - Remove query warmers and the warmer API. === Breaking Java changes Aggregations:: - getKeyAsString and key_as_string should be the same for terms aggregation on boolean field Allocation:: - Move parsing of allocation commands into REST and remove support for plugins to register allocation commands - Simplify shard balancer interface Analysis:: - Simplify Analysis registration and configuration CRUD:: - Removing isCreated and isFound from the Java API Cache:: - Refactor IndicesRequestCache to make it testable. - Fold IndexCacheModule into IndexModule Core:: - Remove ability to plug-in TransportService - Register thread pool settings - Bootstrap does not set system properties - Remove es.useLinkedTransferQueue Discovery:: - Introduce node handshake - Include pings from client nodes in master election Highlighting:: - Register Highlighter instances instead of classes Internal:: - Remove TransportService#registerRequestHandler leniency - Consolidate search parser registries - Move all FetchSubPhases to o.e.search.fetch.subphase - Squash the rest of o.e.rest.action - Clean up BytesReference - Cleanup ClusterService dependencies and detached from Guice - Simplify SubFetchPhase interface - Simplify FetchSubPhase registration and detach it from Guice - Remove duplicate getters from DiscoveryNode and DiscoveryNodes - Cli: Switch to jopt-simple - Replace ContextAndHeaders with a ThreadPool based ThreadLocal implementation - Remove NodeBuilder - Fix IndexSearcherWrapper interface to not depend on the EngineConfig - Cleanup query parsing and remove IndexQueryParserService - Remove circular dependency between IndicesService and IndicesStore - Remove guice injection from IndexStore and friends - Replace IndicesLifecycle with a per-index IndexEventListener - Simplify similarity module and friends - Refactor SearchRequest to be parsed on the coordinating node Java API:: - Add a dedicated client/transport project for transport-client - Remove setRefresh - Remove the count api - IdsQueryBuilder to accept only non null ids and types Mapping:: - [Mapping] Several MappingService cleanups Network:: - Factor out abstract TCPTransport* classes to reduce the netty footprint - Remove ability to disable Netty gathering writes Parent/Child:: - Cleanup ParentFieldMapper - Several other parent/child cleanups Percolator:: - Move the percolator from core to its own module - Remove percolator cache Plugins:: - Cleanup sub fetch phase extension point - Remove IndexTemplateFilter - Switch custom ShardsAllocators to pull based model - Make custom allocation deciders use pull based extensions - Migrate query registration from push to pull - Add components getter as bridge between guice and new plugin init world - Remove CustomNodeAttributes extension point - Add RepositoryPlugin interface for registering snapshot repositories - Simplified repository api for snapshot/restore - Switch most search extensions from push to pull - Move RestHandler registration to ActionModule and ActionPlugin - Pull actions from plugins - Switch analysis from push to pull - Remove guice from Mapper plugins - Fail to start if plugin tries broken onModule - Simplify ScriptModule and script registration - Cut over settings registration to a pull model - Enforce isolated mode for all plugins - Don't use guice for QueryParsers - Remove guice from the index level - Remove shard-level injector Query DSL:: - Remove the MissingQueryBuilder which was deprecated in 2.2.0. - Remove NotQueryBuilder Scripting:: - Remove o.e.script.Template class and move template query to lang-mustache module - Move search template to lang-mustache module - Remove LeafSearchScript.runAsFloat(): Nothing calls it. Search:: - Remove FetchSubPhaseParseElement - Refactor of query profile classes to make way for other profile implementations - Query refactoring: split parse phase into fromXContent and toQuery for all queries Search Refactoring:: - Refactored inner hits parsing and intoduced InnerHitBuilder - Remove support for query_binary and filter_binary - Validate query api: move query parsing to the coordinating node Settings:: - Remove `node.mode` and `node.local` settings - Remove Settings.settingsBuilder. - Move remaining settings in NettyHttpServerTransport to the new infra - Replace IndexSettings annotation with a full-fledged class - Fix ping timeout settings inconsistencies Snapshot/Restore:: - Removes extra writeBlob method in BlobContainer Store:: - Standardize state format type for global and index level metadata Suggesters:: - Remove suggest threadpool - Remove suggest transport action === Deprecations CRUD:: - Deprecate found and created in delete and index rest responses Plugin Discovery Azure Classic:: - Deprecate discovery-azure and rename it to discovery-azure-classic Plugin Mapper Attachment:: - Deprecate mapper-attachments plugin Query DSL:: - Deprecate Indices query - Deprecate mlt, in and geo_bbox query name shortcuts Query Refactoring:: - Splits `phrase` and `phrase_prefix` in match query into `MatchPhraseQueryBuilder` and `MatchPhrasePrefixQueryBuilder` Scripting:: - Deprecate Groovy, Python, and Javascript Search:: - Deprecate fuzzy query Templates:: - Deprecate template query === New features Aggregations:: - Split regular histograms from date histograms. - Adds aggregation profiling to the profile API - New Matrix Stats Aggregation module Aliases:: - Add an alias action to delete an index Allocation:: - Add API to explain why a shard is or isn't assigned Analysis:: - Exposing lucene 6.x minhash filter. - Add `fingerprint` token filter and `fingerprint` analyzer Circuit Breakers:: - Circuit break on aggregation bucket numbers with request breaker Discovery:: - Add two phased commit to Cluster State publishing Geo:: - Cut over geo_point field and queries to new LatLonPoint type Index APIs:: - Add rollover API to switch index aliases given some predicates Ingest:: - ingest-useragent plugin - Add a Sort ingest processor - Add date_index_name processor - Merge feature/ingest branch into master branch Java REST Client:: - Introduce async performRequest method - Low level Rest Client Mapping:: - Add `scaled_float`. - Expose half-floats. - Add a text field. - Add a new `keyword` field. Percolator:: - index the query terms from the percolator query Plugin Analysis ICU:: - Adding support for customizing the rule file in ICU tokenizer Plugin Discovery File:: - File-based discovery plugin Plugin Ingest Attachment:: - Ingest: Add attachment processor Plugin Mapper Attachment:: - Migrate mapper attachments plugin to main repository Plugin Repository HDFS:: - HDFS Snapshot/Restore plugin Plugin Repository S3:: - Add support for path_style_access Query DSL:: - Adds a rewrite phase to queries on the shard level Reindex API:: - Reindex from remote - Port Delete By Query to Reindex infrastructure - Merge reindex to master Scripting:: - Exceptions and Infinite Loop Checking - Added a new scripting language (PlanA) Scroll:: - Add the ability to partition a scroll in multiple slices. Search:: - Add the ability to disable the retrieval of the stored fields entirely - Add `search_after` parameter in the SearchAPI Settings:: - Add infrastructure to transactionally apply and reset dynamic settings Snapshot/Restore:: - Add Google Cloud Storage repository plugin Stats:: - Extend field stats to report searchable/aggregatable fields - API for listing index file sizes Store:: - Expose MMapDirectory.preLoad(). - Add primitive to shrink an index into a single shard Suggesters:: - Add support for returning documents with completion suggester - Add document-oriented completion suggester Task Manager:: - Add task cancellation mechanism - Make the Task object available to the action caller - Task Management: Add framework for registering and communicating with tasks Translog:: - Add `elasticsearch-translog` CLI tool with `truncate` command === Enhancements Aggregations:: - Make the heuristic to compute the default shard size less aggressive. - Add _bucket_count option to buckets_path - Remove AggregationStreams - Migrate serial_diff aggregation to NamedWriteable - Migrate most remaining pipeline aggregations to NamedWriteable - Migrate moving_avg pipeline aggregation to NamedWriteable - Migrate matrix_stats to NamedWriteable - Migrate derivative pipeline aggregation to NamedWriteable - Migrate top_hits, histogram, and ip_range aggregations to NamedWriteable - Migrate nested, reverse_nested, and children aggregations to NamedWriteable - Migrate geohash_grid and geo_bounds aggregations to NamedWriteable - Clean up significant terms aggregation results - Migrate range, date_range, and geo_distance aggregations to NamedWriteable - Migrate terms aggregation to NamedWriteable - Migrate sampler and missing aggregations to NamedWriteable - Migrate global, filter, and filters aggregation to NamedWriteable - Migrate the cardinality, scripted_metric, and geo_centroid aggregations to NamedWriteable - Use a static default precision for the cardinality aggregation. - Migrate more aggregations to NamedWriteable - Migrate stats and extended stats to NamedWriteable - Migrate sum, min, and max aggregations over to NamedWriteable - Start migration away from aggregation streams - Automatically set the collection mode to breadth_first in the terms aggregation when the cardinality of the field is unknown or smaller than the requested size. - Rename PipelineAggregatorBuilder to PipelineAggregationBuilder. - AggregatorBuilder and PipelineAggregatorBuilder do not need generics. - Rename AggregatorBuilder to AggregationBuilder - Add the ability to use the breadth_first mode with nested aggregations (such as `top_hits`) which require access to score information. - Make significant terms work on fields that are indexed with points. - Add tests and documentation for using `time_zone` in date range aggregation - Fixes serialisation of Ranges Allocation:: - Verify AllocationIDs in replication actions - Mark shard as stale on non-replicated write, not on node shutdown - Add routing changes API to RoutingAllocation - Primary shard allocator observes limits in forcing allocation - Use primary terms as authority to fail shards - Add recovery source to ShardRouting - Allow `_shrink` to N shards if source shards is a multiple of N - Only filter intial recovery (post API) when shrinking an index - Estimate shard size for shrinked indices - Only fail relocation target shard if failing source shard is a primary - Simplify delayed shard allocation - Limit retries of failed allocations per index - Immutable ShardRouting - Add the shard's store status to the explain API - Write shard state metadata as soon as shard is created / initializing - Reuse existing allocation id for primary shard allocation - Remove version in ShardRouting (now obsolete) - Prefer nodes that previously held primary shard for primary shard allocation - Extend reroute with an option to force assign stale primary shard copies - Allocate primary shards based on allocation IDs - Persist currently started allocation IDs to index metadata - Use ObjectParser to parse AllocationID - Persist allocation ID with shard state metadata on nodes Analysis:: - Stop using cached component in _analyze API - Specify custom char_filters/tokenizer/token_filters in the analyze API - Add a MultiTermAwareComponent marker interface to analysis factories. - Add Flags Parameter for Char Filter - Core: better error message when analyzer created without tokenizer or… - Move AsciiFolding earlier in FingerprintAnalyzer filter chain - Improve error message if resource files have illegal encoding Benchmark:: - Add client-benchmark-noop-api-plugin to stress clients even more in benchmarks CAT API:: - Add health status parameter to cat indices API - Includes the index UUID in the _cat/indices API - Add node name to Cat Recovery - Add support for documented byte/size units and for micros as a time unit in _cat API - Add _cat/tasks - Cat health supports ts=0 option - Expose http address in cat/nodes - [cat/recovery] Make recovery time a TimeValue() - :CAT API: remove space at the end of a line CRUD:: - Renaming operation to result and reworking responses - Adding _operation field to index, update, delete response. - CRUD: Allow to get and set ttl as a time value/string Cache:: - Enable option to use request cache for size > 0 - Cache FieldStats in the request cache - Allow the query cache to be disabled. - Enable the indices request cache by default Circuit Breakers:: - Cluster Settings Updates should not trigger circuit breakers. - Circuit break the number of inline scripts compiled per minute Cluster:: - Add clusterUUID to RestMainAction output - Batch process node left and node failure - Index creation waits for write consistency shards - Inline reroute with process of node join/master election - Index creation does not cause the cluster health to go RED - Cluster Health class improvements - Adds tombstones to cluster state for index deletions - Enable acked indexing - Cluster Health should run on applied states, even if waitFor=0 - Resolve index names to Index instances early - Remove DiscoveryNode#shouldConnectTo method - Fail demoted primary shards and retry request - Illegal shard failure requests - Shard failure requests for non-existent shards - Add handling of channel failures when starting a shard - Wait for new master when failing shard - Master should wait on cluster state publication when failing a shard - Split cluster state update tasks into roles - Add timeout mechanism for sending shard failures - Add listener mechanism for failures to send shard failed Core:: - Add production warning for pre-release builds - Add serial collector bootstrap check - Rename Netty TCP transports thread factories from http_* to transport_* - Do not log full bootstrap checks exception - Mark halting the virtual machine as privileged - Makes index creation more friendly - Clearer error when handling fractional time values - Read Elasticsearch manifest via URL - Throw if the local node is not set - Bootstrap check for OnOutOfMemoryError and seccomp - Log OS and JVM on startup - Add GC overhead logging - Refactor JvmGcMonitorService for testing - Default to server VM and add client VM check - Add system bootstrap checks escape hatch - Avoid sliced locked contention in internal engine - Add heap size bootstrap check - Remove hostname from NetworkAddress.format - Bootstrapping bootstrap checks - Add max map count check - Remove PROTOTYPE from BulkItemResponse.Failure - Throw an exception if Writeable.Reader reads null - Remove PROTOTYPE from RescorerBuilders - Port Primary Terms to master - Use index UUID to lookup indices on IndicesService - Add -XX+AlwaysPreTouch JVM flag - Add max size virtual memory check - Use and test relative time in TransportBulkAction - Bump Elasticsearch version to 5.0.0-SNAPSHOT - Assert that we can write in all data-path on startup - Add G1GC check on startup - Shards with heavy indexing should get more of the indexing buffer - Remove and ban ImmutableMap - Finish banning ImmutableSet - Removes and bans ImmutableSet - Remove and ban ImmutableMap#entrySet - Forbid ForwardingSet Dates:: - Improve TimeZoneRoundingTests error messages - Support full range of Java Long for epoch DateTime Discovery:: - Do not log cluster service errors at after joining a master - Log warning if minimum_master_nodes set to less than quorum - Add a dedicate queue for incoming ClusterStates Engine:: - Only try to read new segments info if we really flushed the index - Use _refresh instead of reading from Translog in the RT GET case - Remove writeLockTimeout from InternalEngine - Don't guard IndexShard#refresh calls by a check to isRefreshNeeded - Never call a listerner under lock in InternalEngine - Use System.nanoTime() to initialize Engine.lastWriteNanos - Flush big merges automatically if shard is inactive - Remove Engine.Create - Remove the disabled autogenerated id optimization from InternalEngine Exceptions:: - Improve startup exception - Make NotMasterException a first class citizen - Do not catch throwable - Make the index-too-old exception more explicit - Add index name in IndexAlreadyExistsException default message - Fix typos in exception/assert/log messages in core module. - Add field names to several mapping errors - Add serialization support for more important IOExceptions - Adds exception objects to log messages. - Add stack traces to logged exceptions where missing - Remove reflection hacks from ElasticsearchException - Rename QueryParsingException to a more generic ParsingException - Add *Exception(Throwable cause) constructors/ call where appropriate Expressions:: - improve date api for expressions/painless fields - Support geo_point fields in lucene expressions - Add support for .empty to expressions, and some docs improvements Geo:: - GeoBoundingBoxQueryBuilder should throw IAE when topLeft and bottomRight are the same coordinate - Enhanced lat/long error handling - Fix a potential parsing problem in GeoDistanceSortParser - Geo: Add validation of shapes to ShapeBuilders - Make remaining ShapeBuilders implement Writeable - Geo: Remove internal `translated` flag from LineStringBuilder - Make PointBuilder, CircleBuilder & EnvelopeBuilder implement Writable - Merging BaseLineString and BasePolygonBuilder with subclass - Moving static factory methods to ShapeBuilders - Remove InternalLineStringBuilder and InternalPolygonBuilder Highlighting:: - Switch Highlighting to ObjectParser - Use HighlightBuilder in SearchSourceBuilder - Joint parsing of common global Hightlighter and subfield parameters - Enable HighlightBuilder to create SearchContextHighlight - Add fromXContent method to HighlightBuilder Index APIs:: - Add date-math support to `_rollover` - Add Shrink request source parser to parse create index request body - Fail hot_threads in a better way if unsupported by JDK Index Templates:: - Add "version" field to Templates - Parse and validate mappings on index template creation Ingest:: - Add "version" field to Pipelines - Make it possible for Ingest Processors to access AnalysisRegistry - add ignore_missing option to convert,trim,lowercase,uppercase,grok,rename - Add support for parameters to the script ingest processor - introduce the JSON Processor - Allow rename processor to turn leaf fields into branch fields - remove ability to set field value in script-processor configuration - Add REST _ingest/pipeline to get all pipelines - Show ignored errors in verbose simulate result - update foreach processor to only support one applied processor. - Skip the execution of an empty pipeline - Add `ignore_failure` option to all ingest processors - new ScriptProcessor for Ingest - Expose underlying processor to blame for thrown exception within CompoundProcessor - Avoid string concatentation in IngestDocument.FieldPath - add ability to specify multiple grok patterns - add ability to disable ability to override values of existing fields in set processor - Streamline option naming for several processors - add automatic type conversion support to ConvertProcessor - Give the foreach processor access to the rest of the document - Added ingest statistics to node stats API - Add `ingest_took` to bulk response - Add ingest info to node info API, which contains a list of available processors - Use diffs for ingest metadata in cluster state - hide null-valued metadata fields from WriteableIngestDocument#toXContent - Ingest: use bulk thread pool for bulk request processing (was index before) - Add foreach processor - revert PipelineFactoryError handling with throwing ElasticsearchParseException in ingest pipeline creation - Add processor tags to on_failure metadata in ingest pipeline - catch processor/pipeline factory exceptions and return structured error responses - Ingest: move get/put/delete pipeline methods to ClusterAdminClient - Geoip processor: remove redundant latitude and longitude fields and make location an object with lat and lon subfields Inner Hits:: - Change scriptFields member in InnerHitBuilder to set Internal:: - Remove poor-mans compression in InternalSearchHit and friends - Don't register SearchTransportService handlers more than once - Unguice SearchModule - Deguice SearchService and friends - NodeStats classes to implement Writeable rather then Streamable - More info classes to implement Writeable rather than Streamable - Internal: Split disk threshold monitoring from decider - Switching LockObtainFailedException over to ShardLockObtainFailedException - update and delete by query requests to implement IndicesRequest.Replaceable - VersionFetchSubPhase should not use Versions#loadDocIdAndVersion - Remove useless PK lookup in IndicesTTLService - ignore some docker craziness in seccomp environment checks - Make Priority an enum - Snapshot UUIDs in blob names - Add RestController method for deprecating in one step - Tighten ensure atomic move cleanup - Enable checkstyle ModifierOrder - Expose task information from NodeClient - Changed rest handler interface to take NodeClient - Deprecate ExceptionsHelper.detailedMessage - Factor out ChannelBuffer from BytesReference - Cleanup Compressor interface - Hot methods redux - Remove forked joda time BaseDateTime class - Support optional ctor args in ConstructingObjectParser - Remove thread pool from page cache recycler - Do not automatically close XContent objects/arrays - Remove use of a Fields class in snapshot responses - Removes multiple toXContent entry points for SnapshotInfo - Removes unused methods in the o/e/common/Strings class - Determine content length eagerly in HttpServer - Consolidate query generation in QueryShardContext - Make reset in QueryShardContext private - Remove Strings#splitStringToArray - Add toString() to GetResponse - ConstructingObjectParser adapts ObjectParser for ctor args - Makes Script type writeable - FiltersAggregatorBuilder: Don't create new context for inner parsing - Clean up serialization on some stats - Normalize registration for SignificanceHeuristics - Make (read|write)NamedWriteable public - Use try-with-resource when creating new parser instances where possible - Don't pass XContentParser to ParseFieldRegistry#lookup - Internal: Remove threadlocal from document parser - Cut range aggregations to registerAggregation - Remove ParseFieldMatcher from AbstractXContentParser - Remove parser argument from methods where we already pass in a parse context - Switch SearchAfterBuilder to writeGenericValue - Remove StreamableReader - Cleanup nested, has_child & has_parent query builders for inner hits construction - Make AllocationCommands NamedWriteables - Isolate StreamableReader - Create registration methods for aggregations similar to those for queries - Remove PROTOTYPEs from QueryBuilders - Remove registerQueryParser - ParseField#getAllNamesIncludedDeprecated to not return duplicate names - Rework a query parser and improve registration - Clean up QueryParseContext and don't hold it inside QueryRewrite/ShardContext - Remove PROTOTYPE from MLT.Item - Remove PROTOTYPE from VersionType - Remove PROTOTYPEs from highlighting - Remove PROTOTYPEs from ingest - Start to rework query registration - Factor out slow logs into Search and IndexingOperationListeners - Remove PROTOTYPE from Suggesters - Remove PROTOTYPE from SortBuilders - Remove PROTOTYPE from ShapeBuilders - Replace FieldStatsProvider with a method on MappedFieldType. - Stop using PROTOTYPE in NamedWriteableRegistry - Support scheduled commands in current context - Thread limits - Remove leniency from segments info integrity checks - Rename SearchServiceTransportAction to SearchTransportService - Decouple the TransportService and ClusterService - Refactor bootstrap checks - Add LifecycleRunnable - Hot inlined methods in your area - Move IndicesQueryCache and IndicesRequestCache into IndicesService - Forbid use of java.security.MessageDigest#clone() - Make IndicesWarmer a private class of IndexService - Simplify IndicesFieldDataCache and detach from guice - Uppercase ells ('L') in long literals - ShardId equality and hash code inconsistency - Ensure all resources are closed on Node#close() - Make index uuid available in Index, ShardRouting & ShardId - Move RefreshTask into IndexService and use since task per index - Make IndexingMemoryController private to IndicesService - Cleanup IndexingOperationListeners infrastructure - Remove and forbid use of j.u.c.ThreadLocalRandom - Fix IntelliJ query builder type inference issues - Remove and forbid use of Collections#shuffle(List) and Random#<init>() - Remove and forbid use of the type-unsafe empty Collections fields - Move IndicesService.canDeleteShardContent to use IndexSettings - Simplify MonitorService construction and detach from guice - Use Supplier for StreamInput#readOptionalStreamable - Add variable-length long encoding - Extend usage of IndexSetting class - Fold SimilarityModule into IndexModule - Move to lucene BoostQuery - Use built-in method for computing hash code of longs - Refactor ShardFailure listener infrastructure - Add methods for variable-length encoding integral arrays - Fold IndexAliasesService into IndexService - Remove unneeded Module abstractions - Query refactoring: simplify IndexQueryParserService parse methods - Remove and forbid use of com.google.common.collect.Iterators - Remove and forbid use of com.google.common.collect.ImmutableCollection - Remove and forbid use of com.google.common.io.Resources - Remove and forbid use of com.google.common.hash.* - Remove and forbid use of com.google.common.net.InetAddresses - Remove and forbid use of com.google.common.collect.EvictingQueue - Replace Guava cache with simple concurrent LRU cache - Remove ClusterSerivce and IndexSettingsService dependency from IndexShard - Start making RecoverySourceHandler unittestable - Remove IndexService dep. from IndexShard - Remove ES internal deletion policies in favour of Lucenes implementations - Move ShardTermVectorService to be on indices level as TermVectorService - Move ShardPercolateService creation into IndexShard - Remove `ExpressionScriptCompilationException` and `ExpressionScriptExecutionException` - Reduced the number of ClusterStateUpdateTask variants - Add a BaseParser helper for stream parsing - Remove and forbid use of com.google.common.primitives.Ints - Remove and forbid use of com.google.common.math.LongMath - Remove and forbid use of com.google.common.base.Joiner - Replace and ban next batch of Guava classes - Remove and forbid use of com.google.common.collect.Iterables - Replace LoadingCache usage with a simple ConcurrentHashMap - Use Supplier instead of Reflection - Remove and forbid use of com.google.common.base.Preconditions - Remove and forbid use of guava Function, Charsets, Collections2 - Remove and forbid use of com.google.common.collect.ImmutableSortedMap - Remove and forbid use of several com.google.common.util. classes - Cleanup SearchRequest & SearchRequestBuilder - Remove and forbid use of com.google.common.collect.Queues - Remove and forbid use of com.google.common.base.Preconditions#checkNotNull - Remove and forbid use of com.google.common.collect.Sets - Remove and forbid use of com.google.common.collect.Maps - Remove use of underscore as an identifier - Remove and forbid the use of com.google.common.base.Predicate(s)? - This commit removes com.google.common.io Java API:: - Ensure PutMappingRequest.buildFromSimplifiedDef input are pairs - Start from a random node number so that clients do not overload the first node configured - Switch QueryBuilders to new MatchPhraseQueryBuilder - Improve adding clauses to `span_near` and `span_or` query - QueryBuilder does not need generics. - Remove copy constructors from request classes and TransportMessage type Java REST Client:: - Add support for a RestClient path prefix - Add "Async" to the end of each Async RestClient method - Allow RestClient to send array-based headers - Add response body to ResponseException error message - Simplify Sniffer initialization and automatically create the default HostsSniffer - Remove duplicate dependency declaration for http client - Add callback to customize http client settings - Rest Client: add short performRequest method variants without params and/or body Logging:: - Ensure logging is initialized in CLI tools - Give useful error message if log config is missing - Complete Elasticsearch logger names - Add node name to decider trace logging - Logging shutdown hack - Disable console logging - Skip loading of jansi from log4j2 - Configure AWS SDK logging configuration - Warn if unsupported logging configuration present - Size limit deprecation logs - Increase visibility of deprecation logger - Add log message about enforcing bootstrap checks - Improve logging for batched cluster state updates - Send HTTP Warning Header(s) for any Deprecation Usage from a REST request - Throw IllegalStateException when handshake fails due to version or cluster mismatch Mapping:: - Automatically downgrade text and keyword to string on indexes imported from 2.x - Do not parse numbers as both strings and numbers when not included in `_all`. - Don't index the `_version` field - The root object mapper should support updating `numeric_detection`, `date_detection` and `dynamic_date_formats`. - Automatically upgrade analyzed string fields that have `index_options` or `position_increment_gap` set. - Mappings: Support dots in field names in mapping parsing - Save one utf8 conversion in KeywordFieldMapper. - Do not parse the created version from the settings every time a field is parsed. - Elasticsearch should reject dynamic templates with unknown `match_mapping_type`. - Upgrade `string` fields to `text`/`keyword` even if `include_in_all` is set. - Adds a methods to find (and dynamically create) the mappers for the parents of a field with dots in the field name - Automatically upgrade analyzed strings with an analyzer to `text`. - Support dots in field names when mapping already exists - Use the new points API to index numeric fields. - Simplify AllEntries, AllField and AllFieldMapper: - Make `parseMultiField` part of `parseField`. - Automatically add a sub keyword field to string dynamic mappings. - Remove friction from the mapping changes in 5.0. - Rework norms parameters for 5.0. - Moved dynamic field handling in doc parsing to end of parsing - Remove the MapperBuilders utility class. - Make the `index` property a boolean. - Remove the ability to enable doc values with the `fielddata.format` setting. - Be stricter about parsing boolean values in mappings. - Fix default doc values to be enabled when a field is not indexed. - Dynamically map floating-point numbers as floats instead of doubles. - Simplify MetaDataMappingService. - Remove MergeMappingException. Network:: - Avoid early initializing Netty - Network: Allow to listen on virtual interfaces. - Explicitly tell Netty to not use unsafe - Enable Netty 4 extensions - Modularize netty - Simplify TcpTransport interface by reducing send code to a single send method - Do not start scheduled pings until transport start Packaging:: - Add quiet option to disable console logging - Explicitly disable Netty key set replacement - Remove explicit parallel new GC flag - Use JAVA_HOME or java.exe in PATH like the Linux scripts do - Don't mkdir directly in deb init script - Increase default heap size to 2g - Switch init.d scripts to use bash - Switch scripts to use bash - Further simplifications of plugin script - Pass ES_JAVA_OPTS to JVM for plugins script - Remove unnecessary sleep from init script restart - Explicitly set packaging permissions - rpm uses non-portable `--system` flag to `useradd` - Adding JAVA_HOME to documents and env config file - Added RPM metadata - Elasticsearch ownership for data, logs, and configs - Fail early on JDK with compiler bug - Make security non-optional - Remove RuntimePermission("accessDeclaredMembers") - Remove Guava as a dependency - Remove Guava as a dependency Percolator:: - Also support query term extract for queries wrapped inside a FunctionScoreQuery - Add support for synonym query to percolator query term extraction - Add percolator query extraction support for dismax query - Improve percolate query performance by not verifying certain candidate matches - Improve percolator query term extraction - PercolatorQueryBuilder cleanup by using MemoryIndex#fromDocument(...) helper - Add scoring support to the percolator query - Add query extract support for the blended term query and the common terms query - Add support for several span queries in ExtractQueryTermsService - Add support for TermsQuery in ExtractQueryTermsService - Replace percolate APIs with a percolator query Plugin Analysis Kuromoji:: - Add nbest options and NumberFilter Plugin Discovery EC2:: - Use `DefaultAWSCredentialsProviderChain` AWS SDK class for credentials - Support new Asia Pacific (Mumbai) ap-south-1 AWS region - Add support for proxy authentication for s3 and ec2 Plugin Discovery GCE:: - Allow `_gce_` network when not using discovery gce Plugin Ingest Attachment:: - Minor attachment processor improvements Plugin Lang Painless:: - Disable regexes by default in painless - Catch OutOfMemory and StackOverflow errors in Painless - Change Painless Tree Structure for Variable/Method Chains - Add replaceAll and replaceFirst - Painless Initializers - Add augmentation - Infer lambda arguments/return type - Fix explicit casts and improve tests. - Add lambda captures - improve Debugger to print code even if it hits exception - Move semicolon hack into lexer - Add flag support to regexes - improve lambda syntax (allow single expression) - Remove useless dropArguments in megamorphic cache - non-capturing lambda support - fix bugs in operators and more improvements for the dynamic case - improve unary operators and cleanup tests - Add support for the find operator (=~) and the match operator (==~) - Remove casts and boxing for dynamic math - Refactor def math - Add support for /regex/ - Array constructor references - Method references to user functions - Add } as a delimiter. - Add Lambda Stub Node - Add capturing method references - Add Functions to Painless - Add Method to Get New MethodWriters - Static For Each - Method reference support - Add support for the new Java 9 MethodHandles#arrayLength() factory - Improve painless compile-time exceptions - add java.time packages to painless whitelist - Add Function Reference Stub to Painless - improve painless whitelist coverage of java api - Definition cleanup - Made def variable casting consistent with invokedynamic rules - Use Java 9 Indy String Concats, if available - Add method overloading based on arity - Refactor WriterUtils to extend ASM GeneratorAdapter - Whitelist expansion - Remove boxing when loading and storing values in "def" fields/arrays, remove boxing onsimple method calls of "def" methods - Some cleanups - Use isAssignableFrom instead of relying on ClassCastException - Build descriptor of array and field load/store in code - Rename the dynamic call site factory to DefBootstrap - Cleanup of DynamicCallSite - Improve exception stacktraces - Make Line Number Available in Painless - Remove input, support params instead - Decouple ANTLR AST from Painless - _value support in painess? - Long priority over Float - _score as double, not float - Add 'ctx' keyword to painless. - Painless doc access - Retrieve _score directly from Scorer - Implement needsScore() correctly. - Add synthetic length property as alias to Lists, so they can be used like arrays - Use better typing for dynamic method calls - Array load/store and length with invokedynamic - Switch painless dynamic calls to invokedynamic, remove perf hack/cheat - Add fielddata accessors (.value/.values/.distance()/etc) - painless: optimize/simplify dynamic field and method access - Painless: Single-Quoted Strings - Painless Clean Up - Make Painless a Module - Minor Clean up - Remove Extra String Concat Token Plugin Mapper Attachment:: - minor attachments cleanups: IDE test support and EPUB format Plugin Mapper Size:: - Add doc values support to the _size field in the mapper-size plugin Plugin Repository Azure:: - Support global `repositories.azure.` settings - Add timeout settings (default to 5 minutes) - Remove AbstractLegacyBlobContainer Plugin Repository HDFS:: - merge current hdfs improvements to master Plugin Repository S3:: - Extract AWS Key from KeyChain instead of using potential null value - Check that S3 setting `buffer_size` is always lower than `chunk_size` Plugins:: - Revert "Display plugins versions" - Provide error message when plugin id is missing - Print message when removing plugin with config - Plugins: Update official plugin location with unified release - Allow plugins to upgrade global custom metadata on startup - Switch aggregations from push to pull - Display plugins versions - Add ScriptService to dependencies available for plugin components - Make NamedWriteableRegistry immutable and add extension point for named writeables - Log one plugin info per line - Make rest headers registration pull based - Add resource watcher to services available for plugin components - Add some basic services to createComponents for plugins - Make plugins closeable - Plugins: Add status bar on download - Add did-you-mean for plugin cli - Plugins: Remove name() and description() from api - Emit nicer error message when trying to install unknown plugin - Add plugin information for Verbose mode - Cli: Improve output for usage errors - Cli: Add verbose output with zip url when installing plugin - PluginManager: Add xpack as official plugin - CliTool: Cleanup and document Terminal - Plugin cli: Improve maven coordinates detection - Enforce plugin zip does not contain zip entries outside of the plugin dir - CliTool: Allow unexpected exceptions to propagate - Reduce complexity of plugin cli - Remove Plugin.onIndexService. - Open up QueryCache and SearcherWrapper extension points Query DSL:: - Throw exception when multiple field names are provided as part of query short syntax - Query parsers to throw exception when multiple field names are provided - Allow empty json object in request body in `_count` API - Treat zero token in `common` terms query as MatchNoDocsQuery - Handle empty query bodies at parse time and remove EmptyQueryBuilder - Enforce MatchQueryBuilder#maxExpansions() to be strictly positive - Don't allow `fuzziness` for `multi_match` types `cross_fields`, `phrase` and `phrase_prefix` - Add MatchNoDocsQuery, a query that matches no documents and prints the reason why in the toString method. - Adds `ignore_unmapped` option to geo queries - Adds `ignore_unmapped` option to nested and P/C queries - SimpleQueryParser should call MappedFieldType.termQuery when appropriate. - An `exists` query on an object should query a single term. - Function Score Query: make parsing stricter - Parsers should throw exception on unknown objects - UNICODE_CHARACTER_CLASS fix Query Refactoring:: - Add infrastructure to rewrite query builders - Switch geo validation to enum REST:: - Add a REST spec for the create API - Add response params to REST params did you mean - Add did you mean to strict REST params - Add exclusion support to response filtering - Only write forced_refresh if we forced a refresh - Add Location header to the index, update, and create APIs - Add support for `wait_for_events` to the `_cluster/health` REST endpoint - Rename Search Template REST spec names - Adding status field in _msearch error request bodies - Add semicolon query string parameter delimiter - Enable HTTP compression by default with compression level 3 - Allow JSON with unquoted field names by enabling system property - More robust handling of CORS HTTP Access Control - Add option to exclude based on paths in XContent Recovery:: - Pass on maxUnsafeAutoIdTimestamp on recovery / relocation - Non-blocking primary relocation hand-off - index shard should be able to cancel check index on close. - TransportNodesListGatewayStartedShards should fall back to disk based index metadata if not found in cluster state - Recover broken IndexMetaData as closed - Relocation source should be marked as relocating before starting recovery to primary relocation target - Operation counter for IndexShard - Primary relocation handoff - Remove recovery threadpools and throttle outgoing recoveries on the master - Refactor StoreRecoveryService to be a simple package private util class Reindex API:: - Only ask for `_version` we need it - Use fewer threads when reindexing-from-remote - Support authentication with reindex-from-remote - Support requests_per_second=-1 to mean no throttling in reindex - Implement ctx.op = "delete" on _update_by_query and _reindex - Make Reindex cancellation tests more uniform - Makes DeleteByQueryRequest implements IndicesRequest - Teach reindex to retry on search failures - Remove ReindexResponse in favor of BulkIndexByScrollResponse - Stricter validation of Reindex's requests_per_second - Properly mark reindex's child tasks as child tasks - Make reindex throttling dynamic - Throttling support for reindex - Add ingest pipeline support to reindex Scripting:: - Parse script on storage instead of on retrieval - Migrate elasticsearch native script examples to the main repo - Remove ClusterState from compile api - Mustache: Render Map as JSON - Compile each Groovy script in its own classloader - Include script field even if it value is null - Skipping hidden files compilation for script service - Rename Plan A to Painless - Add plumbing for script compile-time parameters - Factor mustache -> modules/lang-mustache Scroll:: - Add an index setting to limit the maximum number of slices allowed in a scroll request. Search:: - Limit batch size when scrolling - Record method counts while profiling query components - Change default similarity to BM25 - Add a parameter to cap the number of searches the msearch api will concurrently execute - Introduces GeoValidationMethod to GeoDistanceSortBuilder - Switches from empty boolean query to matchNoDocs - Allow binary sort values. - Fail query if it contains very large rescores - Type filters should not have a performance impact when there is a single type. - Store _all payloads on 1 byte instead of 4. - Refuse to load fields from _source when using the `fields` option and support wildcards. - Add response into ClearScrollResponse - Shuffle shards for _only_nodes + support multiple specifications like cluster API Search Refactoring:: - Removes the now obsolete SearchParseElement implementations - Remove RescoreParseElement - Remove HighlighterParseElement - Move top level parsing of sort element to SortBuilder - Switch to using refactored SortBuilder instead of using BytesReference in serialization - Add build() method to SortBuilder implementations - Refactoring of Suggestions - Move sort `order` field up into SortBuilder - Moves SortParser:parse(...) to only require QueryShardContext - Change internal representation of suggesters - Make GeoDistanceSortBuilder serializable, 2nd try - Move missing() from SortBuilder interface to class - Remove deprecated parameters from ScriptSortBuilder - Refactor GeoSortBuilder - Refactor FieldSortBuilder - Make sort order enum writable. - Make DistanceUnit writable. - RescoreBuilder: Add parsing and creating of RescoreSearchContext - Make RescoreBuilder and nested QueryRescorer Writable - Explain api: move query parsing to the coordinating node - Switch query parsers to use ParseField - Refactoring of Aggregations Sequence IDs:: - Persist sequence number checkpoints - Add sequence numbers to cat shards API Settings:: - Add precise logging on unknown or invalid settings - Make `action.auto_create_index` setting a dynamic cluster setting - Removes space between # and the setting in elasticsearch.yml - Validates new dynamic settings from the current state - Improve error message if a setting is not found - Cleanup placeholder replacement - Switch to registered Settings for all IndexingMemoryController settings - Add guard against null-valued settings - Useful error message for null property placeholder - Archive cluster level settings if unknown or broken - Improve error message if setting is not found - Improve upgrade experience of node level index settings - Settings with complex matchers should not overlap - Moves GCE settings to the new infra - Add filtering support within Setting class - Migrate AWS settings to new settings infrastructure - Remove `gateway.initial_meta` and always rely on min master nodes - Rewrite SettingsFilter to be immutable - Simplify azure settings - Convert PageCacheRecycler settings - Monitor settings - Cut over tribe node settings to new settings infra - Convert multcast plugin settings to the new infra - Convert `request.headers.*` to the new settings infra - Migrate Azure settings to new settings infrastructure - Validate logger settings and allow them to be reset via API - Switch NodeEnvironment's settings to new settings - Simplify AutoCreateIndex and add more tests - Convert several pending settings - Migrate query caching settings to the new settings infra. - Convert `action.auto_create_index` and `action.master.force_local` to the new settings infra - Convert `cluster.routing.allocation.type` and `processors` to the new settings infra. - Validate tribe node settings on startup - Move node.client, node.data, node.master, node.local and node.mode to new settings infra - Moved http settings to the new settings infrastructure - Migrate network service to the new infra - Convert client.transport settings to new infra - Move discovery.* settings to new Setting infrastructure - Change over to o.e.common.settings.Setting for http settings - Convert "path.*" and "pidfile" to new settings infra - Migrate repository settings to the new settings API - Convert "indices.*" settings to new infra. - Migrate gateway settings to the new settings API. - Convert several node and test level settings - Run Metadata upgrade tool on every version - Check for invalid index settings on metadata upgrade - Validate the settings key if it's simple chars separated by `.` - Validate known global settings on startup - Cut over all index scope settings to the new setting infrastrucuture - Remove updatability of `index.flush_on_close` - Move all dynamic settings and their config classes to the index level - Always require units for bytes and time settings - Make MetaData parsing less lenient. - Move async translog sync logic into IndexService - Remove `index.merge.scheduler.notify_on_failure` and default to `true` - Remove cache concurrency level settings that no longer apply Similarities:: - Defining a global default similarity Snapshot/Restore:: - Delete differing files in the store before restoring - Adds ignoreUnavailable option to the snapshot status API - Check restores in progress before deleting a snapshot - Snapshot repository cleans up empty index folders - BlobContainer#writeBlob no longer can overwrite a blob - More resilient blob handling in snapshot repositories - Adding repository index generational files - Raised IOException on deleteBlob - Adds UUIDs to snapshots - Clarify the semantics of the BlobContainer interface - Change BlobPath.buildAsString() method - Remove the Snapshot class in favor of using SnapshotInfo Stats:: - Add mem section back to cluster stats - Add network types to cluster stats - Add missing field type in the FieldStats response. - Expose the ClusterInfo object in the allocation explain output - Add total_indexing_buffer/_in_bytes to nodes info API - Allow FieldStatsRequest to disable cache - Remove index_writer_max_memory stat from segment stats - Move DocStats under Engine to get more accurate numbers - Do not return fieldstats information for fields that exist in the mapping but not in the index. - Add whether the shard state fetch is pending to the allocation explain API - Add Failure Details to every NodesResponse - Add I/O statistics on Linux - Add points to SegmentStats. - Remove FieldStats.Float. - Show configured and remaining delay for an unassigned shard. - indexing stats now contain indexing ops from recovery [ISSUE] - Normalize unavailable load average - Add load averages to OS stats on FreeBSD - Expose pending cluster state queue size in node stats Store:: - Use `mmapfs` by default. - Remove support for legacy checksums - Rename index folder to index_uuid Suggesters:: - Move SuggestUtils methods to their respective caller classes - Remove payload option from completion suggester - Add bwc support for reading pre-5.0 completion index Task Manager:: - Rename Task Persistence into Storing Task Results - Fetch result when wait_for_completion - Create get task API that falls back to the .tasks index - Add ability to store results for long running tasks - Move parentTaskId into TransportRequest - Shorten the serialization of the empty TaskId - Expose whether a task is cancellable in the _tasks list API - Add ability to group tasks by common parent - Add start time and duration to tasks - Combine node name and task id into single string task id - Add task status - Extend tracking of parent tasks to master node, replication and broadcast actions Translog:: - Fsync documents in an async fashion - Add checksumming and versions to the Translog's Checkpoint files - Beef up Translog testing with random channel exceptions - Do not replay into translog on local recovery - FSync translog outside of the writers global lock - Remove ChannelReference and simplify Views - Simplify TranslogWriter to always write to a stream - Remove TranslogService and fold it into synchronous IndexShard API === Bug fixes Aggregations:: - Fixed writeable name from range to geo_distance - Fix date_range aggregation to not cache if now is used - The `top_hits` aggregation should compile scripts only once. - Fix agg profiling when using breadth_first collect mode - Throw exception when maxBounds greater than minBounds - Undeprecates `aggs` in the search request - Change how `nested` and `reverse_nested` aggs know about their nested depth level - Make ExtendedBounds immutable - Aggregations fix: support include/exclude strings for IP and dates - Fix xcontent rendering of ip terms aggs. - Improving parsing of sigma param for Extended Stats Bucket Aggregation - Fixes NPE when no window is specified in moving average request - Fixes Filter and FiltersAggregation to work with empty query - Fixes the defaults for `keyed` in the percentiles aggregations - Correct typo in class name of StatsAggregator Allocation:: - Keep a shadow replicas' allocation id when it is promoted to primary - IndicesClusterStateService should clean local started when re-assigns an initializing shard with the same aid - IndexRoutingTable.initializeEmpty shouldn't override supplied primary RecoverySource - Update incoming recoveries stats when shadow replica is reinitialized - `index.routing.allocation.initial_recovery` limits replica allocation - Upon being elected as master, prefer joins' node info to existing cluster state - Fix NPE when initializing replica shard has no UnassignedInfo - Make shard store fetch less dependent on the current cluster state, both on master and non data nodes - Fix recovery throttling to properly handle relocating non-primary shards - Replica shards must be failed before primary shards Analysis:: - Named analyzer should close the analyzer that it wraps - Can load non-PreBuiltTokenFilter in Analyze API - Fix analyzer alias processing Bulk:: - Add not-null precondition check in BulkRequest CAT API:: - Fixes cat tasks operation in detailed mode - Add index pattern wildcards support to _cat/shards CRUD:: - GET operations should not extract fields from `_source`. - Squash a race condition in RefreshListeners - Prevent TransportReplicationAction to route request based on stale local routing table - Resolves the conflict between alias routing and parent routing by applying the alias routing and ignoring the parent routing. Cache:: - Prevent requests that use scripts or now() from being cached - Serialize index boost and phrase suggest collation keys in a consistent order Circuit Breakers:: - Never trip circuit breaker in liveness request - Free bytes reserved on request breaker Cluster:: - Fixes issue with dangling index being deleted instead of re-imported - Allow routing table to be filtered by index pattern - Use executor's describeTasks method to log task information in cluster service - Acknowledge index deletion requests based on standard cluster state acknowledgment - Dangling indices are not imported if a tombstone for the index exists - Fix issue with tombstones matching active indices in cluster state - Shard state action channel exceptions Core:: - Makes `m` case sensitive in TimeValue - Guard against negative result from FileStore.getUsableSpace when picking data path for a new shard - Handle rejected execution exception on reschedule - Fix concurrency bug in IMC that could cause it to check too infrequently - Iterables.flatten should not pre-cache the first iterator - Avoid race while retiring executors - Refactor UUID-generating methods out of Strings - Node names cleanup - NullPointerException from IndexingMemoryController when a version conflict happens during recovery - Handle RejectedExecution gracefully in TransportService during shutdown Discovery:: - Update discovery nodes after cluster state is published - Add current cluster state version to zen pings and use them in master election Engine:: - Take refresh IOExceptions into account when catching ACE in InternalEngine - Don't suppress AlreadyClosedException Expressions:: - replace ScriptException with a better one Geo:: - Incomplete results when using geo_distance for large distances [ISSUE] - Fix multi-field support for GeoPoint types - Enforce distance in distance query is > 0 [ISSUE] Highlighting:: - Enable BoostingQuery with FVH highlighter Index APIs:: - Fixes active shard count check in the case of `all` shards - Add zero-padding to auto-generated rollover index name increment Ingest:: - no null values in ingest configuration error messages - JSON Processor was not properly added - Don't rebuild pipeline on every cluster state update - Add dotexpander processor - Fix NPE when simulating a pipeline with no id - Change foreach processor to use ingest metadata for array element - No other processors should be executed after on_failure is called - rethrow script compilation exceptions into ingest configuration exceptions - Rename from `ingest-useragent` plugin to `ingest-user-agent` and its processor from `useragent` to `user_agent` - Fix ignore_failure behavior in _simulate?verbose and more cleanup - Pipeline Stats: Fix concurrent modification exception - Validate properties values according to database type - Ingest does not close its factories - Handle regex parsing errors in Gsub and Grok Processors - add on_failure exception metadata to ingest document for verbose simulate - The IngestDocument copy constructor should make a deep copy Inner Hits:: - Ensure that that InnerHitBuilder uses rewritten queries Internal:: - Prevent AbstractArrays from release bytes more than once - IndicesAliasesRequest should not implement CompositeIndicesRequest - Ensure elasticsearch doesn't start with unuspported indices - Remove ListTasksResponse#setDiscoveryNodes() - Priority values should be unmodifiable - Extract AbstractBytesReferenceTestCase - Add XPointValues - Fix BulkItemResponse.Failure.toString - Enable unmap hack for java 9 - Fix issues with failed cache loads - Allow parser to move on the START_OBJECT token when parsing search source - Ensure searcher is release if wrapping fails - Avoid deadlocks in Cache#computeIfAbsent Java API:: - fix IndexResponse#toString to print out shards info - Add NamedWriteables from plugins to TransportClient - Fix potential NPE in SearchSourceBuilder Java REST Client:: - Rest Client: add slash to log line when missing between host and uri - Rest Client: HostsSniffer to set http as default scheme Logging:: - Fix logger when you can not create an azure storage client - Avoid unnecessary creation of prefix loggers - Fix logging hierarchy configs - Fix prefix logging - Hack around Log4j bug rendering exceptions - Avoid prematurely triggering logger initialization - Only log running out of slots when out of slots Mapping:: - Allow position_gap_increment for fields in indices created prior to 5.0 - Validate blank field name - Better error message when mapping configures null - Make doc_values accessible for _type - Fix and test handling of `null_value`. - Fail automatic string upgrade if the value of `index` is not recognized. - Fix dynamic check to properly handle parents - Fix array parsing to remove its context when finished parsing - Disallow fielddata loading on text fields that are not indexed. - Make dynamic template parsing less lenient. - Fix dynamic mapper when its parent already has an update - Fix copy_to when the target is a dynamic object field. - Preserve existing mappings on batch mapping updates Network:: - Fix connection close header handling - Ensure port range is readable in the exception message - Fix expect 100 continue header handling - Fixes netty4 module's CORS config to use defaults - Fix various concurrency issues in transport - Verify lower level transport exceptions don't bubble up on disconnects Packaging:: - [Packaging] Do not remove scripts directory on upgrade - [Package] Remove bin/lib/modules directories on RPM uninstall/upgrade - Fix handling of spaces for jvm.options on Windows - Disable service in pre-uninstall - Remove extra bin/ directory in bin folder - Filter client/server VM options from jvm.options - Preserve config files from RPM install - Fix typo in message for variable setup ES_MAX_MEM - Don't run `mkdir` when $DATA_DIR contains a comma-separated list - Fix exit code - Set MAX_OPEN_FILES to 65536 - [windows] Service command still had positional start command - Do not pass double-dash arguments on startup Parent/Child:: - Make sure that no `_parent#null` gets introduces as default _parent mapping Percolator:: - Fail indexing percolator queries containing either a has_child or has_parent query - Add support for MatchNoDocsQuery in percolator's query terms extract service - Let PercolatorQuery's explain use the two phase iterator Plugin Discovery Azure Classic:: - Make discovery-azure plugin work again Plugin Discovery EC2:: - Fix EC2 discovery settings - Add TAG_SETTING to list of allowed tags for the ec2 discovery plugin. - Fix EC2 Discovery settings Plugin Discovery GCE:: - Fix NPE when GCE region is empty Plugin Ingest Attachment:: - Adds content-length as number Plugin Ingest GeoIp:: - [ingest-geoip] update geoip to not include null-valued results from Plugin Lang Painless:: - Fix String Concatenation Bug In Painless - Fix break bug in for/foreach loops. - Fix compound assignment with string concats - Fix horrible capture - Fix Casting Bug - Remove Grammar Ambiguities - Remove if/else ANTLR ambiguity. - Fix insanely slow compilation - Fix Bug in Painless Assignment - Fix bracket shortcuts Plugin Repository Azure:: - Register group setting for repository-azure accounts - Fix azure files removal Plugin Repository S3:: - Fixes leading forward slash in S3 repository base_path - Add missing permission to repository-s3 - Fix repository S3 Settings and add more tests Plugin Store SMB:: - Fix calling ensureOpen() on the wrong directory (master forwardport) Plugins:: - Use sysprop like with es.path.home to pass conf dir - Quote path to java binary - CliTool: Messages printed in Terminal should have percent char escaped Query DSL:: - Fixes MultiMatchQuery so that it doesn't provide a null context - Fix silently accepting malformed queries - query_string_query should take term length into consideration when fuzziness is auto - Throw ParsingException if a query is wrapped in an array - Restore parameter name auto_generate_phrase_queries - Resolve string dates and date math to millis before evaluating for rewrite in range query - `constant_score` query should throw error on more than one filter - Single IPv4 addresses in IP field term queries - Make strategy optional in GeoShapeQueryBuilder readFrom and writeTo Query Refactoring:: - Query refactoring: set has_parent & has_child types context properly - Make sure equivalent geohashCellQueries are equal after toQuery called REST:: - Remove lenient URL parameter parsing - Fixes CORS handling so that it uses the defaults - Get XContent params from request in Nodes rest actions - Fixes reading of CORS pre-flight headers and methods Recovery:: - Fix concurrency issues between cancelling a relocation and marking shard as relocated - Move `reset recovery` into RecoveriesCollection - Fix replica-primary inconsistencies when indexing during primary relocation with ongoing replica recoveries - Invoke `IndexingOperationListeners` also when recovering from store or remote - Prevent interruption while store checks lucene files for consistency - Mark shard as recovering on the cluster state thread Reindex API:: - Fix reindex with transport client - Fix a race condition in reindex's rethrottle - Reindex should never report negative throttled_until - Reindex should gracefully handle when _source is disabled Scripting:: - Add support for booleans in scripts - Fix Javascript OOM build Failure - Fix propagating the default value for script settings - Catch and wrap AssertionError and NoClassDefFoundError in groovy scripts Search:: - Do not cache script queries. - Throw error when trying to fetch fields from source and source is disabled - Source filtering should keep working when the source contains numbers greater than `Long.MAX_VALUE`. - Fix NPE when running a range query on a `scaled_float` with no upper bound. - Fix NPE during search with source filtering if the source is disabled. - Restore assignment of time value when deserializing a scroll instance - Fix explain output for dfs query - Don't recursively count children profile timings - fix explain in function_score if no function filter matches - Fix NPEs due to disabled source - Require timeout units when parsing query body - Close SearchContext if query rewrite failed - Fix parsing single `rescore` element in SearchSourceBuilder - Fail queries on not indexed fields. - Fix for search after - Do not be lenient when parsing CIDRs Settings:: - Fix Setting.timeValue() method - Add a hard limit for `index.number_of_shard` - Include complex settings in settings requests - Fix filter cache setting to allow percentages - Move cluster.routing.allocation.same_shard.host setting to new settings infrastructure - Validate settings against dynamic updaters on the master - Register "cloud.node.auto_attributes" setting in EC2 discovery plugin - Use object equality to compare versions in IndexSettings - fix exists method for list settings when using numbered setting format - convert settings for ResourceWatcherService to new infrastructure - Register bootstrap settings - Add settings filtering to node info requests - Ban write access to system properties Snapshot/Restore:: - Better handling of an empty shard's segments_N file - Fix race condition in snapshot initialization - Fix the semantics for the BlobContainer interface Stats:: - Fix FieldStats deserialization of `ip` field - Fix serialization bug in allocation explain API. - Allocation explain: Also serialize `includeDiskInfo` field - Add missing builder.endObject() in FsInfo Store:: - Tighten up concurrent store metadata listing and engine writes - Make static Store access shard lock aware - Catch assertion errors on commit and turn it into a real exception Task Manager:: - Shard level tasks in Bulk Action lose reference to their parent tasks - Take filterNodeIds into consideration while sending task requests to nodes Term Vectors:: - Fix calculation of took time of term vectors request Translog:: - Fix RAM usage estimation of LiveVersionMap. - Fix translog replay multiple operations same doc - Snapshotting and sync could cause a dead lock TranslogWriter - Move translog recover outside of the engine - Mark shard active during recovery; push settings after engine finally inits === Regressions Highlighting:: - Handle SynonymQuery extraction for the FastVectorHighlighter === Upgrades Core:: - Upgrade to Lucene 6.2.0 - Update to jackson 2.8.1 - Upgrade to Lucene 6.1.0. - Upgrade to lucene-6.1.0-snapshot-3a57bea. - Upgrade to Lucene 6.0.1. - Upgrade to lucene 6 release - Upgrade to lucene-6.0.0-f0aa4fc. - upgrade to lucene 6.0.0-snapshot-bea235f - Upgrade to Jackson 2.7.1 Ingest:: - Update MaxMind geoip2 version to 2.6 Internal:: - Bump master (3.0-snapshot) to java 8 Network:: - Upgrade to Netty 4.1.5 - Dependencies: Upgrade to netty 4.1.4 - Introduce Netty 4 Packaging:: - Upgrade JNA to 4.2.2 and remove optionality Plugin Discovery EC2:: - Update aws sdk to 1.10.69 and add use_throttle_retries repository setting Scripting:: - Dependencies: Updates to mustache 0.9.3 Search Templates:: - Update mustache.java to version 0.9.1
2016-11-08 10:18:00 +01:00
lib/elasticsearch/lib/${PKGNAME}.jar
lib/elasticsearch/lib/hppc-0.7.1.jar
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
2017-02-14 11:36:03 +01:00
lib/elasticsearch/lib/jackson-core-2.8.6.jar
lib/elasticsearch/lib/jackson-dataformat-cbor-2.8.6.jar
lib/elasticsearch/lib/jackson-dataformat-smile-2.8.6.jar
lib/elasticsearch/lib/jackson-dataformat-yaml-2.8.6.jar
Update databases/elasticsearch to 5.3.0 === Breaking changes Query DSL:: - Fix name of `enabled_position_increments` Search:: - Remove DFS_QUERY_AND_FETCH as a search type === Breaking Java changes CRUD:: - Make index and delete operation execute as single bulk item (backport of #21964) Internal:: - Replace SearchExtRegistry with namedObject - Replace Suggesters with namedObject Network:: - Remove HttpServer and HttpServerAdapter in favor of a simple dispatch method Plugins:: - Deguice rest handlers Search:: - Remove QUERY_AND_FETCH search type === Deprecations Core:: - Deprecate lenient booleans Geo:: - Geo distance range deprecation Java API:: - Add BulkProcessor methods with XContentType parameter Mapping:: - Deprecate the include_in_all mapping parameter Network:: - Deprecate Netty 3 - Deprecate Netty 3 Plugin Repository Azure:: - Deprecate auto creation of container for azure repository Plugin Repository S3:: - S3 Repository: Deprecate specifying region - S3 Repository: Deprecate auto creation of s3 bucket for repository - Deprecate specifying credentials through env vars, sys props, and remove profile files REST:: - Deprecate ldjson support and document ndjson for bulk/msearch - Optionally require a valid content type for all rest requests with content Scripting:: - Change Namespace for Stored Script to Only Use Id === New features Aggregations:: - Initial version of an adjacency matrix using the Filters aggregation CRUD:: - Allow an index to be partitioned with custom routing Highlighting:: - Integrate UnifiedHighlighter Search:: - Add federated cross cluster search capabilities - Add field collapsing for search request Settings:: - Add infrastructure for elasticsearch keystore === Enhancements Allocation:: - Include stale replica shard info when explaining an unassigned primary Analysis:: - Analyze API Position Length Support CRUD:: - Make index and delete operation execute as a single bulk item Circuit Breakers:: - Add used memory amount to CircuitBreakingException message (#22521) Cluster:: - Connect to new nodes concurrently Core:: - Simplify write failure handling (backport of #19105) - Simplify ElasticsearchException rendering as a XContent - Remove setLocalNode from ClusterService and TransportService Engine:: - Replace EngineClosedException with AlreadyClosedExcpetion Index APIs:: - Indexing: Add shard id to indexing operation listener - Better error when can't auto create index Ingest:: - Lazy load the geoip databases Internal:: - Improve connection closing in `RemoteClusterConnection` - Remove some more usages of ParseFieldMatcher - Introduce ToXContentObject interface Java API:: - prevent NPE when trying to uncompress a null BytesReference Java High Level REST Client:: - Add parsing from xContent to MainResponse - Parse elasticsearch exception's root causes - Add parsing method to BytesRestResponse's error - Add parsing method for ElasticsearchException.generateThrowableXContent() - Add fromxcontent methods to delete response - Add parsing methods for UpdateResponse - Add parsing from xContent to InternalSearchHit and InternalSearchHits - Add fromxcontent methods to index response Java REST Client:: - move ignore parameter support from yaml test client to low level rest client - Support Preemptive Authentication with RestClient Logging:: - Expose logs base path Mapping:: - Improve error message for ipv6 on legacy ip fields Network:: - Keep the pipeline handler queue small initially Packaging:: - Introduce Java version check Plugin Discovery EC2:: - Read ec2 discovery address from aws instance tags Plugin Lang Painless:: - Generate reference links for painless API - Painless: Add augmentation to String for base 64 Plugin Repository S3:: - S3 repository: Add named configurations Plugins:: - Add the ability to define search response listeners in search plugin Query DSL:: - QueryString and SimpleQueryString Graph Support - Additional Graph Support in Match Query - RangeQuery WITHIN case now normalises query Reindex API:: - Increase visibility of doExecute so it can be used directly - Improve error message when reindex-from-remote gets bad json Scripting:: - Expose multi-valued dates to scripts and document painless's date functions Search:: - Add a setting to disable remote cluster connections on a node - First step towards separating individual search phases - Add parsing from xContent to SearchProfileShardResults and nested classes - ProfileResult and CollectorResult should print machine readable timing information Settings:: - Improve setting deprecation message - Add secure settings validation on startup - Allow comma delimited array settings to have a space after each entry - Allow affix settings to be dynamic / updatable - Allow affix settings to delegate to actual settings - Make s3 repository sensitive settings use secure settings Snapshot/Restore:: - Duplicate snapshot name throws InvalidSnapshotNameException - Use general cluster state batching mechanism for snapshot state updates Stats:: - Add geo_point to FieldStats === Bug fixes CRUD:: - Fix backport executing ops as single item bulk Cache:: - Invalidate cached query results if query timed out Cluster:: - Don't set local node on cluster state used for node join validation - Allow a cluster state applier to create an observer and wait for a better state - Cluster allocation explain to never return empty response body Exceptions:: - Stop returning "es." internal exception headers as http response headers Ingest:: - Improve missing ingest processor error - fix date-processor to a new default year for every new pipeline execution Internal:: - Always restore the ThreadContext for operations delayed due to a block - Fix handling of document failure exception in InternalEngine (backport #22718) Java REST Client:: - RestClient asynchronous execution should not throw exceptions Mapping:: - Switch include_in_all in multifield to warning - Fix MapperService StackOverflowError - Range types causing `GetFieldMappingsIndexRequest` to fail due to `NullPointerException` in `RangeFieldMapper.doXContentBody` when `include_defaults=true` is on the query string - Disallow introducing illegal object mappings (double '..') Network:: - Respect promises on pipelined responses - Ensure that releasing listener is called Packaging:: - Fall back to non-atomic move when removing plugins Parent/Child:: - Add null check in case of orphan child document Plugin Ingest Attachment:: - Remove support for Visio and potm files - Add missing mime4j library Plugin Lang Painless:: - Fix Bad Casts In Painless - Don't allow casting from void to def in painless - Fix def invoked qualified method refs Plugins:: - Add check for null pluginName in remove command Query DSL:: - Fix parsing for `max_determinized_states` REST:: - [API] change wait_for_completion default according to docs - HTTP transport stashes the ThreadContext instead of the RestController - Ensure we try to autodetect content type for handlers that support plain text - Fix date format in warning headers - Correct warning header to be compliant - Fix search scroll request with a plain text body - Handle bad HTTP requests - Properly encode location header Reindex API:: - Reindex: do not log when can't clear old scroll - Fix reindex-from-remote from <2.0 Scripting:: - Remove unnecessary Groovy deprecation logging - Script: Fix value of `ctx._now` to be current epoch time in milliseconds Search:: - Honor max concurrent searches in multi-search - Avoid stack overflow in multi-search - Replace blocking calls in ExpandCollapseSearchResponseListener by asynchronous requests - Ensure fixed serialization order of InnerHitBuilder Settings:: - Fix merge scheduler config settings - Settings: Fix keystore cli prompting for yes/no to handle console returning null - Expose `search.highlight.term_vector_multi_value` as a node level setting - NPE when no setting name passed to elasticsearch-keystore Similarities:: - Fix similarity upgrade when "default" similarity is overridden Stats:: - Avoid overflow when computing total FS stats - Handle long overflow when adding paths' totals - Fix control group pattern - Fix total disk bytes returning negative value Task Manager:: - Fix hanging cancelling task with no children - Fix broken TaskInfo.toString() === Regressions Core:: - Source filtering: only accept array items if the previous include pattern matches === Upgrades Internal:: - Upgrade to Lucene 6.4.1.
2017-03-30 17:23:49 +02:00
lib/elasticsearch/lib/java-version-checker-${PKGVERSION}.jar
Update databases/elasticsearch to 5.4.0. === Breaking changes Settings:: - Remove support for default settings === Breaking Java changes Aggregations:: - Move getProperty method out of MultiBucketsAggregation.Bucket interface - Remove getProperty method from Aggregations interface and impl - Move getProperty method out of Aggregation interface Java API:: - Fold InternalSearchHits and friends into their interfaces === Deprecations Aggregations:: - Deprecate Stats#getCountAsString Java API:: - Add BulkProcessor methods with XContentType parameter Network:: - Deprecate Netty 3 Packaging:: - Add deprecation warnings for $ES_USER and $ES_GROUP Plugin Delete By Query:: - Deprecate delete_by_query requests without an explicit query Plugin Repository Azure:: - Deprecate global `repositories.azure` settings Plugin Repository S3:: - Deprecate repositories.s3 settings REST:: - Deprecate ldjson support and document ndjson for bulk/msearch Stats:: - Deprecate `_field_stats` endpoint === New features Analysis:: - Adds pattern keyword marker filter support - Expose WordDelimiterGraphTokenFilter Index APIs:: - Add FieldCapabilities (`_field_caps`) API Search:: - Introduce incremental reduction of TopDocs Similarities:: - Adds boolean similarity to Elasticsearch === Enhancements Aggregations:: - Add BucketMetricValue interface - Move aggs CommonFields and TYPED_KEYS_DELIMITER from InternalAggregation to Aggregation - Use ParseField for aggs CommonFields rather than String - Share XContent rendering code in terms aggs - Add unit tests for ParentToChildAggregator - First step towards incremental reduction of query responses Allocation:: - Trigger replica recovery restarts by master when primary relocation completes - Makes the same_shard host dynamically updatable Analysis:: - Support Keyword type in Analyze API Cluster:: - Prevent nodes from joining if newer indices exist in the cluster Core:: - Detect remnants of path.data/default.path.data bug - Await termination after shutting down executors - Add early-access check - Adapter action future should restore interrupts - Disable bootstrap checks for single-node discovery - Enable explicitly enforcing bootstrap checks - Add equals/hashcode method to ReplicationResponse Dates:: - Improve error handling for epoch format parser with time zone (#22621) Discovery:: - Introduce single-node discovery - UnicastZenPing shouldn't ping the address of the local node - MasterFaultDetection can start after the initial cluster state has been processed Highlighting:: - Add support for fragment_length in the unified highlighter - Add BreakIteratorBoundaryScanner support Index APIs:: - Wildcard cluster names for cross cluster search Ingest:: - Lazy load the geoip databases Internal:: - Add a dedicated TransportRemoteInfoAction for consistency - Simplify sorted top docs merging in SearchPhaseController - Synchronized CollapseTopFieldDocs with lucenes relatives - Cleanup SearchPhaseController interface - Do not create String instances in 'Strings' methods accepting StringBuilder Java API:: - Added types options to DeleteByQueryRequest Java High Level REST Client:: - Convert suggestion response parsing to use NamedXContentRegistry - UpdateRequest implements ToXContent - Add javadoc for DocWriteResponse.Builders - Expose WriteRequest.RefreshPolicy string representation - Use `typed_keys` parameter to prefix suggester names by type in search responses - Add parsing methods to BulkItemResponse Logging:: - Warn on not enough masters during election Mapping:: - Improve error message for ipv6 on legacy ip fields Nested Docs:: - Avoid adding unnecessary nested filters when ranges are used. Network:: - Adjust default Netty receive predictor size to 64k - Keep the pipeline handler queue small initially - Set network receive predictor size to 32kb - TransportService.connectToNode should validate remote node ID Packaging:: - Introduce Java version check - Cleanup some things after removal of joda-time hack Percolator:: - Allowing range queries with now ranges inside percolator queries - Add term extraction support for MultiPhraseQuery Plugin Discovery EC2:: - Settings: Migrate ec2 discovery sensitive settings to elasticsearch keystore Plugin Lang Painless:: - Allow painless to load stored fields - Start on custom whitelists for Painless - Fix Painless's implementation of interfaces returning primitives - Allow painless to implement more interfaces Plugin Repository Azure:: - Add Backoff policy to azure repository Plugin Repository S3:: - Removes the retry mechanism from the S3 blob store - S3 Repository: Eagerly load static settings Plugins:: - Modify permissions dialog for plugins - Plugins: Add plugin cli specific exit codes - Plugins: Output better error message when existing plugin is incompatible Query DSL:: - Make it possible to validate a query on all shards instead of a single random shard REST:: - Validate top-level keys when parsing mget requests - Cluster stats should not render empty http/transport types - Add parameter to prefix aggs name with type in search responses Search:: - Set shard count limit to unlimited - Streamline shard index availability in all SearchPhaseResults - Search took time should use a relative clock - Prevent negative `from` parameter in SearchSourceBuilder - Remove unnecessary result sorting in SearchPhaseController - Expose `batched_reduce_size` via `_search` - Adding fromXContent to Suggest and Suggestion class - Adding fromXContent to Suggestion.Entry and subclasses - Add CollapseSearchPhase as a successor for the FetchSearchPhase - Integrate IndexOrDocValuesQuery. - Detach SearchPhases from AbstractSearchAsyncAction - Fix GraphQuery expectation after Lucene upgrade to 6.5 - Nested queries should avoid adding unnecessary filters when possible. - Add xcontent parsing to completion suggestion option - Add xcontent parsing to suggestion options - Separate reduce (aggs, suggest and profile) from merging fetched hits Settings:: - Add secure file setting to keystore - Add a setting which specifies a list of setting - Add a property to mark setting as final - Remove obsolete index setting `index.version.minimum_compatible`. - Provide a method to retrieve a closeable char[] from a SecureString - Update indices settings api to support CBOR and SMILE format - Improve setting deprecation message Snapshot/Restore:: - Change snapshot status error to use generic SnapshotException Stats:: - Add cross-cluster search remote cluster info API Task Manager:: - Allow task to be unregistered by ClusterStateApplier - Limit IndexRequest toString() length === Bug fixes Aggregations:: - Align behavior HDR percentiles iterator with percentile() method - The `filter` and `significant_terms` aggregations should parse the `filter` as a filter, not a query. - Completion suggestion should also consider text if prefix/regex is missing - Fixes the per term error in the terms aggregation - Fixes terms error count for multiple reduce phases - Restore support for the `include/pattern` syntax. Bulk:: - Reject empty IDs CRUD:: - Fix backport executing ops as single item bulk Cluster:: - Don't set local node on cluster state used for node join validation - Allow a cluster state applier to create an observer and wait for a better state - Cluster allocation explain to never return empty response body Core:: - Check for default.path.data included in path.data - Improve performance of extracting warning value - Reject duplicate settings on the command line - Restrict build info loading to ES jar, not any jar Discovery:: - ZenDiscovery - only validate min_master_nodes values if local node is master Index APIs:: - Fixes restore of a shrunken index when initial recovery node is gone - Honor update request timeout Ingest:: - Improve missing ingest processor error - update _ingest.timestamp to use new ZonedDateTime Inner Hits:: - Replace NestedChildrenQuery with ParentChildrenBlockJoinQuery - Changed DisMaxQueryBuilder to extract inner hits from leaf queries Internal:: - Add infrastructure to mark contexts as system contexts - Always restore the ThreadContext for operations delayed due to a block Java High Level REST Client:: - Correctly parse BulkItemResponse.Failure's status Java REST Client:: - Make buffer limit configurable in HeapBufferedConsumerFactory - RestClient asynchronous execution should not throw exceptions Mapping:: - Preserve response headers when creating an index - Improves disabled fielddata error message - Switch include_in_all in multifield to warning - Fix MapperService StackOverflowError - Fix NPE with scaled floats stats when field is not indexed Network:: - Fix possible hang in local transport when nodes get concurrently disconnected - Respect promises on pipelined responses - Ensure that releasing listener is called Packaging:: - Fall back to non-atomic move when removing plugins Percolator:: - Fix memory leak when percolator uses bitset or field data cache Plugin Ingest Attachment:: - Remove support for Visio and potm files Plugin Lang Painless:: - Fix painless's regex lexer and error messages - Replace Painless's Cast with casting strategies - Fix Bad Casts In Painless Plugin Repository Azure:: - Azure blob store's readBlob() method first checks if the blob exists Plugin Repository S3:: - Handle BlobPath's trailing separator case. Add test cases to BlobPathTests.java Plugins:: - Fix delete of plugin directory on remove plugin - Use a marker file when removing a plugin Query DSL:: - FuzzyQueryBuilder should error when parsing array of values REST:: - [API] change wait_for_completion default according to docs - Deprecate request_cache for clear-cache - HTTP transport stashes the ThreadContext instead of the RestController - Ensure we try to autodetect content type for handlers that support plain text - Fix date format in warning headers - Align REST specs for HEAD requests - Correct warning header to be compliant - Fix get HEAD requests - Fix search scroll request with a plain text body - Handle bad HTTP requests - Fix get source HEAD requests - Properly encode location header - Fix template HEAD requests - Fix index HEAD requests - Fix alias HEAD requests Recovery:: - Provide target allocation id as part of start recovery request Reindex API:: - Fix throttled reindex_from_remote - Fix reindex with a remote source on a version before 2.0.0 - Make reindex wait for cleanup before responding Scripting:: - Remove unnecessary Groovy deprecation logging - Convert script/template objects to json format internally - Script: Fix value of `ctx._now` to be current epoch time in milliseconds Search:: - Cross Cluster Search: propagate original indices per cluster - Query string default field - Speed up parsing of large `terms` queries. - IndicesQueryCache should delegate the scorerSupplier method. - Fork LRUQueryCache from Lucene to work around LUCENE-7749 - Disable graph analysis at query time for shingle and cjk filters producing tokens of different size - Fix cross-cluster remote node gateway attributes - Use a fixed seed for computing term hashCode in TermsSliceQuery - Honor max concurrent searches in multi-search - Avoid stack overflow in multi-search - Fix query_string_query to transform "foo:*" in an exists query on the field name - Factor out filling of TopDocs in SearchPhaseController - Replace blocking calls in ExpandCollapseSearchResponseListener by asynchronous requests Search Templates:: - No longer add illegal content type option to stored search templates Settings:: - Do not set path.data in environment if not set - Correct handling of default and array settings - Fix merge scheduler config settings - Settings: Fix keystore cli prompting for yes/no to handle console returning null Similarities:: - Fix similarity upgrade when "default" similarity is overridden Snapshot/Restore:: - Fixes maintaining the shards a snapshot is waiting on - Fixes snapshot status on failed snapshots - Fixes snapshot deletion handling on in-progress snapshot failure - Prioritize listing index-N blobs over index.latest in reading snapshots Stats:: - Avoid overflow when computing total FS stats - Handle existence of cgroup version 2 hierarchy - Handle long overflow when adding paths' totals - Fix control group pattern - Fix total disk bytes returning negative value === Regressions Bulk:: - Fix _bulk response when it can't create an index === Upgrades Aggregations:: - Upgrade HDRHistogram to 2.1.9 Core:: - Upgrade to Lucene 6.5.0 - Upgrade from JNA 4.2.2 to JNA 4.4.0 - Upgrade to lucene-6.5.0-snapshot-d00c5ca - Upgrade to lucene-6.5.0-snapshot-f919485. Logging:: - Upgrade to Log4j 2.8.2 Network:: - Upgrade to Netty 4.1.9 - Upgrade to Netty 4.1.8 Plugin Repository Azure:: - Update to Azure Storage 5.0.0
2017-05-11 10:36:30 +02:00
lib/elasticsearch/lib/jna-4.4.0.jar
Update databases/elasticsearch to 5.1.1. == 5.1.1 Release Notes === Breaking changes Aliases:: - Validate alias names the same as index names REST:: - Remove lenient stats parsing 5.x === Breaking Java changes Discovery:: - Remove pluggability of ElectMasterService Exceptions:: - Remove `IndexTemplateAlreadyExistsException` and `IndexShardAlreadyExistsException` - Replace IndexAlreadyExistsException with ResourceAlreadyExistsException - Backport: Replace IndexAlreadyExistsException with ResourceAlreadyExistsException Internal:: - Pass executor name to request interceptor to support async intercept calls Network:: - Unguice Transport and friends Plugins:: - Plugins: Remove support for onModule === Deprecations Analysis:: - Deprecating request parameters of _analyze API in 5.x CRUD:: - Deprecate VersionType.FORCE Core:: - Add deprecation logging for users that explicitly opt in for the `default` fs type. Mapping:: - Deprecate `timestamp` and `ttl` on index requests. Query DSL:: - Add deprecation logging for lenient boolean queries - Add deprecation logging message for 'fuzzy' query Search:: - Deprecate ignored type parameter in search_shards api Settings:: - Add deprecation logging for the case that store throttling is used. === New features Analysis:: - Expose Lucenes Ukrainian analyzer CAT API:: - Provides a cat api endpoint for templates. Query DSL:: - Add "all fields" execution mode to simple_query_string query - Add support for `quote_field_suffix` to `simple_query_string`. - Add "all field" execution mode to query_string query Reindex API:: - Add automatic parallelization support to reindex and friends === Enhancements Aggregations:: - Rescorer should be applied in the TopHits aggregation Allocation:: - Balance step in BalancedShardsAllocator for a single shard - Process more expensive allocation deciders last - Separates decision making from decision application in BalancedShardsAllocator - Split allocator decision making from decision application Analysis:: - Remove AnalysisService and reduce it to a simple name to analyzer mapping CAT API:: - Adding built-in sorting capability to _cat apis. - Add health status parameter to cat indices API Cache:: - Do not cache term queries. - Parse alias filters on the coordinating node Cluster:: - Cache successful shard deletion checks Core:: - Reduce memory pressure when sending large terms queries. - Install a security manager on startup - Log node ID on startup - Ensure source filtering automatons are only compiled once - Improve scheduling fairness when batching cluster state changes with equal priority - Do not log full bootstrap checks exception Exceptions:: - Add BWC layer for Exceptions Geo:: - Optimize geo-distance sorting. Ingest:: - add `ignore_missing` option to SplitProcessor Internal:: - Rename ClusterState#lookupPrototypeSafe to `lookupPrototype` and remove "unsafe" unused variant - ShardActiveResponseHandler shouldn't hold to an entire cluster state - Remove unused ClusterService dependency from SearchPhaseController - Remove special case in case no action filters are registered - Use TimveValue instead of long for CacheBuilder methods - Remove SearchContext#current and all it's threadlocals Java REST Client:: - Provide error message when rest request path is null Logging:: - Log failure to connect to node at info instead of debug - Truncate log messages from the end - Logging shutdown hack - Disable console logging Mapping:: - Create the QueryShardContext lazily in DocumentMapperParser. Network:: - Grant Netty permission to read system somaxconn - Lazy resolve unicast hosts - Fix handler name on message not fully read - Handle rejected pings on shutdown gracefully Packaging:: - Add empty plugins dir for archive distributions - Make explicit missing settings for Windows service - Change permissions on config files Plugin Lang Painless:: - Add Debug.explain to painless - Implement the ?: operator in painless - In painless suggest a long constant if int won't do - Support decimal constants with trailing [dD] in painless - Implement reading from null safe dereferences - Painless negative offsets Plugin Repository S3:: - Make the default S3 buffer size depend on the available memory. Plugins:: - Clarify that plugins can be closed - Plugins: Convert custom discovery to pull based plugin - Removing plugin that isn't installed shouldn't trigger usage information - Remove pluggability of ZenPing - Make UnicastHostsProvider extension pull based Query DSL:: - Using ObjectParser in MatchAllQueryBuilder and IdsQueryBuilder - Expose splitOnWhitespace in `Query String Query` - Throw error if query element doesn't end with END_OBJECT - Remove `lowercase_expanded_terms` and `locale` from query-parser options. Reindex API:: - Make reindex-from-remote ignore unknown fields Scripting:: - Wrap VerifyError in ScriptException - Support binary field type in script values - Mustache: Add - Expose `ctx._now` in update scripts Search:: - Add indices and filter information to search shards api output - remove pointless catch exception in TransportSearchAction - Optimize query with types filter in the URL (t/t/_search) - Makes search action cancelable by task management API Search Templates:: - Add profile and explain parameters to template API Snapshot/Restore:: - Abort snapshots on a node that leaves the cluster Stats:: - Remove load average leniency - Strengthen handling of unavailable cgroup stats - Add basic cgroup CPU metrics Task Manager:: - Add search task descriptions Tribe Node:: - Add support for merging custom meta data in tribe node === Bug fixes Aggregations:: - Rewrite Queries/Filter in FilterAggregationBuilder and ensure client usage marks query as non-cachable - Percentiles bucket fails for 100th percentile - Thread safety for scripted significance heuristics Allocation:: - Allow master to assign primary shard to node that has shard store locked during shard state fetching Analysis:: - Can load non-PreBuiltTokenFilter in Analyze API CAT API:: - Consume `full_id` request parameter early Cache:: - Fix the request cache keys to not hold references to the SearchContext. Circuit Breakers:: - ClusterState publishing shouldn't trigger circuit breakers Cluster:: - Remove cluster update task when task times out Core:: - Add a StreamInput#readArraySize method that ensures sane array sizes - Use a buffer to do character to byte conversion in StreamOutput#writeString - Fix ShardInfo#toString - Protect BytesStreamOutput against overflows of the current number of written bytes. - Return target index name even if _rollover conditions are not met - .es_temp_file remains after system crash, causing it not to start again Dates:: - Fix time zone rounding edge case for DST overlaps Engine:: - Die with dignity on the Lucene layer - Fix `InternalEngine#isThrottled` to not always return `false`. - Retrying replication requests on replica doesn't call `onRetry` Highlighting:: - Fix FiltersFunctionScoreQuery highlighting - Fix highlighting on a stored keyword field Index APIs:: - Validate the `_rollover` target index name early to also fail if dry_run=true Index Templates:: - Fix integer overflows when dealing with templates. Ingest:: - fix trace_match behavior for when there is only one grok pattern - Stored scripts and ingest node configurations should be included into a snapshot Inner Hits:: - Skip adding a parent field to nested documents. Internal:: - Rethrow ExecutionException from the loader to concurrent callers of Cache#computeIfAbsent - Restore thread's original context before returning to the ThreadPool - Fix NPE in SearchContext.toString() - Source filtering should treat dots in field names as sub objects. Java API:: - Transport client: Fix remove address to actually work - Add a HostFailureListener to notify client code if a node got disconnected - Fix InternalSearchHit#hasSource to return the proper boolean value - Null checked for source when calling sourceRef - ClusterAdminClient.prepareDeletePipeline method should accept pipeline id to delete Java REST Client:: - Rest client: don't reuse the same HttpAsyncResponseConsumer across multiple retries Logging:: - Do not prematurely shutdown Log4j - Assert status logger does not warn on Log4j usage - Fix logger names for Netty Mapping:: - Fail to index fields with dots in field names when one of the intermediate objects is nested. - Uncommitted mapping updates should not efect existing indices Network:: - DiscoveryNode and TransportAddress should preserve host information - Die with dignity on the network layer - Prevent double release in TcpTransport if send listener throws an exception Packaging:: - Set vm.max_map_count on systemd package install - Export ES_JVM_OPTIONS for SysV init - Debian: configure start-stop-daemon to not go into background - Generate POM files with non-wildcard excludes Plugin Lang Painless:: - Test fix for def equals in Painless - Fix a VerifyError bug in Painless - Fix Lambdas in Painless to be Able to Use Top-Level Variables Such as params and doc Plugin Mapper Attachment:: - NPE is raised when defining a non existing type within attachments type Query DSL:: - Fixes date range query using epoch with timezone - Allow overriding all-field leniency when `lenient` option is specified - Max score should be updated when a rescorer is used REST:: - Strict level parsing for indices stats - The routing query string param is supported by mget but was missing from the rest spec - fix thread_pool_patterns path variable definition - ensure the XContentBuilder is always closed in RestBuilderListener - XContentBuilder: Avoid building self-referencing objects Reindex API:: - Ignore IllegalArgumentException with assertVersionSerializable - Bump reindex-from-remote's buffer to 200mb - Fix reindex-from-remote for parent/child from <2.0 Search:: - Fix match_phrase_prefix on boosted fields - Respect default search timeout - Remove LateParsingQuery to prevent timestamp access after context is frozen Search Templates:: - SearchTemplateRequest to implement CompositeIndicesRequest Settings:: - Handle spaces in `action.auto_create_index` gracefully - Fix settings diff generation for affix and group settings - Don't reset non-dynamic settings unless explicitly requested Snapshot/Restore:: - Fixes shard level snapshot metadata loading when index-N file is missing - Ensures cleanup of temporary index-* generational blobs during snapshotting - Fixes get snapshot duplicates when asking for _all - Keep snapshot restore state and routing table in sync (5.x backport) Task Manager:: - Task cancellation command should wait for all child nodes to receive cancellation request before returning Tribe Node:: - Add socket permissions for tribe nodes === Upgrades Core:: - Upgrade to lucene-6.3.0. Dates:: - Update Joda Time to version 2.9.5 Logging:: - Upgrade Log4j 2 to version 2.7 Network:: - Upgrade to Netty 4.1.6 Plugin Ingest Attachment:: - Update to Tika 1.14 == 5.0.2 Release Notes === Enhancements Core:: - Install a security manager on startup Exceptions:: - Add BWC layer for Exceptions Logging:: - Truncate log messages from the end Scripting:: - Wrap VerifyError in ScriptException Snapshot/Restore:: - Abort snapshots on a node that leaves the cluster === Bug fixes Allocation:: - Allow master to assign primary shard to node that has shard store locked during shard state fetching Cluster:: - Remove cluster update task when task times out Core:: - Add a StreamInput#readArraySize method that ensures sane array sizes - Use a buffer to do character to byte conversion in StreamOutput#writeString Engine:: - Die with dignity on the Lucene layer - Fix `InternalEngine#isThrottled` to not always return `false`. Index Templates:: - Fix integer overflows when dealing with templates. Ingest:: - fix trace_match behavior for when there is only one grok pattern Internal:: - Rethrow ExecutionException from the loader to concurrent callers of Cache#computeIfAbsent - Fixes potential NullPointerException on shard closing Java API:: - Transport client: Fix remove address to actually work - Add a HostFailureListener to notify client code if a node got disconnected Logging:: - Do not prematurely shutdown Log4j Network:: - Die with dignity on the network layer Plugin Lang Painless:: - Fix a VerifyError bug in Painless - Fix Lambdas in Painless to be Able to Use Top-Level Variables Such as params and doc Search:: - Respect default search timeout Settings:: - Don't reset non-dynamic settings unless explicitly requested Tribe Node:: - Add socket permissions for tribe nodes
2017-01-03 10:05:33 +01:00
lib/elasticsearch/lib/joda-time-2.9.5.jar
Update databases/elasticsearch to 5.0.0. * Now requires JDK 8.0. * Use a different installation layout as some location are now impossible to change without patching the Java sources. === Breaking changes in 5.0 === Migration Plugin - The elasticsearch-migration plugin (compatible with Elasticsearch 2.3.0 and above) will help you to find issues that need to be addressed when upgrading to Elasticsearch 5.0. Indices created before 5.0 - Elasticsearch 5.0 can read indices created in version 2.0 or above. An Elasticsearch 5.0 node will not start in the presence of indices created in a version of Elasticsearch before 2.0. - Indices created in Elasticsearch 1.x or before will need to be reindexed with Elasticsearch 2.x in order to be readable by Elasticsearch 5.x. It is not sufficient to use the upgrade API. === Breaking changes Aggregations:: - Remove size 0 options in aggregations Aliases:: - make get alias expand to open and closed indices by default - Remove deprecated indices.get_aliases Allocation:: - Remove DisableAllocationDecider Analysis:: - Remove `token_filter` in _analyze API - Removes support for adding aliases to analyzers - Analyze API : Rename filters/token_filters/char_filter in Analyze API in master CAT API:: - Improve cat thread pool API - Row-centric output for _cat/fielddata - Add raw recovery progress to cat recovery API - Remove host from cat nodes API - Using the accept header in the request instead of content-type in _cat API. CRUD:: - Fixed naming inconsistency for fields/stored_fields in the APIs - Disallow creating indices starting with '-' or '+' - Wait for changes to be visible by search - Remove object notation for core types. Cache:: - Remove deprecated query cache settings Cluster:: - Persistent Node Ids - Remove validation errors from cluster health response - Remove memory section Core:: - Remove ignore system bootstrap checks - Remove minimum master nodes bootstrap check - Keep input time unit when parsing TimeValues - Remove cluster name from data path - Add max number of processes check - Add mlockall bootstrap check - One log Engine:: - Optimize indexing for the autogenerated ID append-only case - Remove `index.compound_on_flush` setting and default to `true` Exceptions:: - Die with dignity Fielddata:: - Remove "uninverted" and "binary" fielddata support for numeric and boolean fields. Geo:: - Deprecate GeoDistance enums and remove geo distance script helpers Index APIs:: - Removes write consistency level across replication action APIs in favor of wait_for_active_shards - Remove `GET` option for /_forcemerge - Remove /_optimize REST API endpoint Indexed Scripts/Templates:: - Store indexed scripts in the cluster state instead of the `.scripts` index Inner Hits:: - Also do not serialize `_index` key in search response for parent/child inner hits - Don't include `_id`, `_type` and `_index` keys in search response for inner hits - Nested inner hits shouldn't use relative paths - Drop top level inner hits in favour of inner hits defined in the query dsl Internal:: - `_flush` should block by default - Actually bound the generic thread pool - Remove support for pre 2.0 indices Logging:: - Introduce Log4j 2 Mapping:: - Remove `_timestamp` and `_ttl` on 5.x indices. - Add a soft limit on the mapping depth. - Disable fielddata on text fields by defaults. - Add limit to total number of fields in mapping - Change the field mapping index time boost into a query time boost. - Deprecate string in favor of text/keyword. - Term vector APIs should no longer update mappings - Remove the `format` option of the `_source` field. - Remove transform Packaging:: - Rename service.bat to elasticsearch-service.bat - Remove -D handling in args for windows plugin script - Set default min heap equal to default max heap - Remove allow running as root - Require /bin/bash in packaging - Remove plugin script parsing of system properties - Add JVM options configuration file Parent/Child:: - Removed `total` score mode in favour for `sum` score mode. - Removed pre 2.x parent child implementation Percolator:: - Remove `.percolator` type in favour of `percolator` field type - Change the percolate api to not dynamically add fields to mapping Plugin Delete By Query:: - Remove Delete-By-Query plugin Plugin Lang Painless:: - Remove all date 'now' methods from Painless - Make Painless the Default Language Plugins:: - Plugins cleanup - Rename bin/plugin in bin/elasticsearch-plugin - Change the inner structure of the plugins zip - Remove multicast plugin - Plugins: Remove site plugins Query DSL:: - Lessen leniency of the query dsl. - Function score query: remove deprecated support for boost_factor - Remove support for deprecated queries. REST:: - Change separator for shards preference - Parameter improvements to Cluster Health API wait for shards - Switch indices.exists_type from `{index}/{type}` to `{index}/_mapping/{type}`. - Only use `PUT` for index creation, not POST. - Remove camelCase support - Remove 'case' parameter from rest apis - Disallow unquoted field names - Limit the accepted length of the _id Scripting:: - Hardcode painless as the default scripting lang and add legacy script default for stored scripts - Remove deprecated 1.x script and template syntax - Allow only a single extension for a scripting engine - Remove 'sandbox' option for script settings, allow only registering a single language. Search:: - Rename `fields` to `stored_fields` and add `docvalue_fields` - Remove only node preference - Add search preference to prefer multiple nodes - Add a soft limit on the number of shards that can be queried in a single search request. - Remove deprecated reverse option from sorting - Remove some deprecations - Remove search exists api - Remove the scan and count search types. Search Refactoring:: - Remove deprecated parameter from field sort builder. - Remove "query" query and fix related parsing bugs Settings:: - Default max local storage nodes to one - Persistent Node Names - Remove support for properties - Rename boostrap.mlockall to bootstrap.memory_lock - Register `indices.query.bool.max_clause_count` setting - Remove settings and system properties entanglement - Remove `action.get.realtime` setting - Remove ability to specify arbitrary node attributes with `node.` prefix - Enforce `discovery.zen.minimum_master_nodes` is set when bound to a public ip - Prevent index level setting from being configured on a node level - Remove support for node.client setting - Remove es.max-open-files flag - Enforce node level limits if node is started in production env - Make settings validation strict - Remove the ability to fsync on every operation and only schedule fsync task if really needed - Script settings - Remove index.flush_on_close entirely - Restore chunksize of 512kb on recovery and remove configurability - Remove ancient deprecated and alternative recovery settings Similarities:: - Renames `default` similarity into `classic` Snapshot/Restore:: - Change the default of `include_global_state` from true to false for snapshot restores - Fail closing or deleting indices during a full snapshot Stats:: - Modify load average format - Reintroduce five-minute and fifteen-minute load averages on Linux - Add system CPU percent to OS stats Term Vectors:: - Remove DFS support from TermVector API Translog:: - Drop support for simple translog and hard-wire buffer to 8kb - Simplify translog-based flush settings Warmers:: - Remove query warmers and the warmer API. === Breaking Java changes Aggregations:: - getKeyAsString and key_as_string should be the same for terms aggregation on boolean field Allocation:: - Move parsing of allocation commands into REST and remove support for plugins to register allocation commands - Simplify shard balancer interface Analysis:: - Simplify Analysis registration and configuration CRUD:: - Removing isCreated and isFound from the Java API Cache:: - Refactor IndicesRequestCache to make it testable. - Fold IndexCacheModule into IndexModule Core:: - Remove ability to plug-in TransportService - Register thread pool settings - Bootstrap does not set system properties - Remove es.useLinkedTransferQueue Discovery:: - Introduce node handshake - Include pings from client nodes in master election Highlighting:: - Register Highlighter instances instead of classes Internal:: - Remove TransportService#registerRequestHandler leniency - Consolidate search parser registries - Move all FetchSubPhases to o.e.search.fetch.subphase - Squash the rest of o.e.rest.action - Clean up BytesReference - Cleanup ClusterService dependencies and detached from Guice - Simplify SubFetchPhase interface - Simplify FetchSubPhase registration and detach it from Guice - Remove duplicate getters from DiscoveryNode and DiscoveryNodes - Cli: Switch to jopt-simple - Replace ContextAndHeaders with a ThreadPool based ThreadLocal implementation - Remove NodeBuilder - Fix IndexSearcherWrapper interface to not depend on the EngineConfig - Cleanup query parsing and remove IndexQueryParserService - Remove circular dependency between IndicesService and IndicesStore - Remove guice injection from IndexStore and friends - Replace IndicesLifecycle with a per-index IndexEventListener - Simplify similarity module and friends - Refactor SearchRequest to be parsed on the coordinating node Java API:: - Add a dedicated client/transport project for transport-client - Remove setRefresh - Remove the count api - IdsQueryBuilder to accept only non null ids and types Mapping:: - [Mapping] Several MappingService cleanups Network:: - Factor out abstract TCPTransport* classes to reduce the netty footprint - Remove ability to disable Netty gathering writes Parent/Child:: - Cleanup ParentFieldMapper - Several other parent/child cleanups Percolator:: - Move the percolator from core to its own module - Remove percolator cache Plugins:: - Cleanup sub fetch phase extension point - Remove IndexTemplateFilter - Switch custom ShardsAllocators to pull based model - Make custom allocation deciders use pull based extensions - Migrate query registration from push to pull - Add components getter as bridge between guice and new plugin init world - Remove CustomNodeAttributes extension point - Add RepositoryPlugin interface for registering snapshot repositories - Simplified repository api for snapshot/restore - Switch most search extensions from push to pull - Move RestHandler registration to ActionModule and ActionPlugin - Pull actions from plugins - Switch analysis from push to pull - Remove guice from Mapper plugins - Fail to start if plugin tries broken onModule - Simplify ScriptModule and script registration - Cut over settings registration to a pull model - Enforce isolated mode for all plugins - Don't use guice for QueryParsers - Remove guice from the index level - Remove shard-level injector Query DSL:: - Remove the MissingQueryBuilder which was deprecated in 2.2.0. - Remove NotQueryBuilder Scripting:: - Remove o.e.script.Template class and move template query to lang-mustache module - Move search template to lang-mustache module - Remove LeafSearchScript.runAsFloat(): Nothing calls it. Search:: - Remove FetchSubPhaseParseElement - Refactor of query profile classes to make way for other profile implementations - Query refactoring: split parse phase into fromXContent and toQuery for all queries Search Refactoring:: - Refactored inner hits parsing and intoduced InnerHitBuilder - Remove support for query_binary and filter_binary - Validate query api: move query parsing to the coordinating node Settings:: - Remove `node.mode` and `node.local` settings - Remove Settings.settingsBuilder. - Move remaining settings in NettyHttpServerTransport to the new infra - Replace IndexSettings annotation with a full-fledged class - Fix ping timeout settings inconsistencies Snapshot/Restore:: - Removes extra writeBlob method in BlobContainer Store:: - Standardize state format type for global and index level metadata Suggesters:: - Remove suggest threadpool - Remove suggest transport action === Deprecations CRUD:: - Deprecate found and created in delete and index rest responses Plugin Discovery Azure Classic:: - Deprecate discovery-azure and rename it to discovery-azure-classic Plugin Mapper Attachment:: - Deprecate mapper-attachments plugin Query DSL:: - Deprecate Indices query - Deprecate mlt, in and geo_bbox query name shortcuts Query Refactoring:: - Splits `phrase` and `phrase_prefix` in match query into `MatchPhraseQueryBuilder` and `MatchPhrasePrefixQueryBuilder` Scripting:: - Deprecate Groovy, Python, and Javascript Search:: - Deprecate fuzzy query Templates:: - Deprecate template query === New features Aggregations:: - Split regular histograms from date histograms. - Adds aggregation profiling to the profile API - New Matrix Stats Aggregation module Aliases:: - Add an alias action to delete an index Allocation:: - Add API to explain why a shard is or isn't assigned Analysis:: - Exposing lucene 6.x minhash filter. - Add `fingerprint` token filter and `fingerprint` analyzer Circuit Breakers:: - Circuit break on aggregation bucket numbers with request breaker Discovery:: - Add two phased commit to Cluster State publishing Geo:: - Cut over geo_point field and queries to new LatLonPoint type Index APIs:: - Add rollover API to switch index aliases given some predicates Ingest:: - ingest-useragent plugin - Add a Sort ingest processor - Add date_index_name processor - Merge feature/ingest branch into master branch Java REST Client:: - Introduce async performRequest method - Low level Rest Client Mapping:: - Add `scaled_float`. - Expose half-floats. - Add a text field. - Add a new `keyword` field. Percolator:: - index the query terms from the percolator query Plugin Analysis ICU:: - Adding support for customizing the rule file in ICU tokenizer Plugin Discovery File:: - File-based discovery plugin Plugin Ingest Attachment:: - Ingest: Add attachment processor Plugin Mapper Attachment:: - Migrate mapper attachments plugin to main repository Plugin Repository HDFS:: - HDFS Snapshot/Restore plugin Plugin Repository S3:: - Add support for path_style_access Query DSL:: - Adds a rewrite phase to queries on the shard level Reindex API:: - Reindex from remote - Port Delete By Query to Reindex infrastructure - Merge reindex to master Scripting:: - Exceptions and Infinite Loop Checking - Added a new scripting language (PlanA) Scroll:: - Add the ability to partition a scroll in multiple slices. Search:: - Add the ability to disable the retrieval of the stored fields entirely - Add `search_after` parameter in the SearchAPI Settings:: - Add infrastructure to transactionally apply and reset dynamic settings Snapshot/Restore:: - Add Google Cloud Storage repository plugin Stats:: - Extend field stats to report searchable/aggregatable fields - API for listing index file sizes Store:: - Expose MMapDirectory.preLoad(). - Add primitive to shrink an index into a single shard Suggesters:: - Add support for returning documents with completion suggester - Add document-oriented completion suggester Task Manager:: - Add task cancellation mechanism - Make the Task object available to the action caller - Task Management: Add framework for registering and communicating with tasks Translog:: - Add `elasticsearch-translog` CLI tool with `truncate` command === Enhancements Aggregations:: - Make the heuristic to compute the default shard size less aggressive. - Add _bucket_count option to buckets_path - Remove AggregationStreams - Migrate serial_diff aggregation to NamedWriteable - Migrate most remaining pipeline aggregations to NamedWriteable - Migrate moving_avg pipeline aggregation to NamedWriteable - Migrate matrix_stats to NamedWriteable - Migrate derivative pipeline aggregation to NamedWriteable - Migrate top_hits, histogram, and ip_range aggregations to NamedWriteable - Migrate nested, reverse_nested, and children aggregations to NamedWriteable - Migrate geohash_grid and geo_bounds aggregations to NamedWriteable - Clean up significant terms aggregation results - Migrate range, date_range, and geo_distance aggregations to NamedWriteable - Migrate terms aggregation to NamedWriteable - Migrate sampler and missing aggregations to NamedWriteable - Migrate global, filter, and filters aggregation to NamedWriteable - Migrate the cardinality, scripted_metric, and geo_centroid aggregations to NamedWriteable - Use a static default precision for the cardinality aggregation. - Migrate more aggregations to NamedWriteable - Migrate stats and extended stats to NamedWriteable - Migrate sum, min, and max aggregations over to NamedWriteable - Start migration away from aggregation streams - Automatically set the collection mode to breadth_first in the terms aggregation when the cardinality of the field is unknown or smaller than the requested size. - Rename PipelineAggregatorBuilder to PipelineAggregationBuilder. - AggregatorBuilder and PipelineAggregatorBuilder do not need generics. - Rename AggregatorBuilder to AggregationBuilder - Add the ability to use the breadth_first mode with nested aggregations (such as `top_hits`) which require access to score information. - Make significant terms work on fields that are indexed with points. - Add tests and documentation for using `time_zone` in date range aggregation - Fixes serialisation of Ranges Allocation:: - Verify AllocationIDs in replication actions - Mark shard as stale on non-replicated write, not on node shutdown - Add routing changes API to RoutingAllocation - Primary shard allocator observes limits in forcing allocation - Use primary terms as authority to fail shards - Add recovery source to ShardRouting - Allow `_shrink` to N shards if source shards is a multiple of N - Only filter intial recovery (post API) when shrinking an index - Estimate shard size for shrinked indices - Only fail relocation target shard if failing source shard is a primary - Simplify delayed shard allocation - Limit retries of failed allocations per index - Immutable ShardRouting - Add the shard's store status to the explain API - Write shard state metadata as soon as shard is created / initializing - Reuse existing allocation id for primary shard allocation - Remove version in ShardRouting (now obsolete) - Prefer nodes that previously held primary shard for primary shard allocation - Extend reroute with an option to force assign stale primary shard copies - Allocate primary shards based on allocation IDs - Persist currently started allocation IDs to index metadata - Use ObjectParser to parse AllocationID - Persist allocation ID with shard state metadata on nodes Analysis:: - Stop using cached component in _analyze API - Specify custom char_filters/tokenizer/token_filters in the analyze API - Add a MultiTermAwareComponent marker interface to analysis factories. - Add Flags Parameter for Char Filter - Core: better error message when analyzer created without tokenizer or… - Move AsciiFolding earlier in FingerprintAnalyzer filter chain - Improve error message if resource files have illegal encoding Benchmark:: - Add client-benchmark-noop-api-plugin to stress clients even more in benchmarks CAT API:: - Add health status parameter to cat indices API - Includes the index UUID in the _cat/indices API - Add node name to Cat Recovery - Add support for documented byte/size units and for micros as a time unit in _cat API - Add _cat/tasks - Cat health supports ts=0 option - Expose http address in cat/nodes - [cat/recovery] Make recovery time a TimeValue() - :CAT API: remove space at the end of a line CRUD:: - Renaming operation to result and reworking responses - Adding _operation field to index, update, delete response. - CRUD: Allow to get and set ttl as a time value/string Cache:: - Enable option to use request cache for size > 0 - Cache FieldStats in the request cache - Allow the query cache to be disabled. - Enable the indices request cache by default Circuit Breakers:: - Cluster Settings Updates should not trigger circuit breakers. - Circuit break the number of inline scripts compiled per minute Cluster:: - Add clusterUUID to RestMainAction output - Batch process node left and node failure - Index creation waits for write consistency shards - Inline reroute with process of node join/master election - Index creation does not cause the cluster health to go RED - Cluster Health class improvements - Adds tombstones to cluster state for index deletions - Enable acked indexing - Cluster Health should run on applied states, even if waitFor=0 - Resolve index names to Index instances early - Remove DiscoveryNode#shouldConnectTo method - Fail demoted primary shards and retry request - Illegal shard failure requests - Shard failure requests for non-existent shards - Add handling of channel failures when starting a shard - Wait for new master when failing shard - Master should wait on cluster state publication when failing a shard - Split cluster state update tasks into roles - Add timeout mechanism for sending shard failures - Add listener mechanism for failures to send shard failed Core:: - Add production warning for pre-release builds - Add serial collector bootstrap check - Rename Netty TCP transports thread factories from http_* to transport_* - Do not log full bootstrap checks exception - Mark halting the virtual machine as privileged - Makes index creation more friendly - Clearer error when handling fractional time values - Read Elasticsearch manifest via URL - Throw if the local node is not set - Bootstrap check for OnOutOfMemoryError and seccomp - Log OS and JVM on startup - Add GC overhead logging - Refactor JvmGcMonitorService for testing - Default to server VM and add client VM check - Add system bootstrap checks escape hatch - Avoid sliced locked contention in internal engine - Add heap size bootstrap check - Remove hostname from NetworkAddress.format - Bootstrapping bootstrap checks - Add max map count check - Remove PROTOTYPE from BulkItemResponse.Failure - Throw an exception if Writeable.Reader reads null - Remove PROTOTYPE from RescorerBuilders - Port Primary Terms to master - Use index UUID to lookup indices on IndicesService - Add -XX+AlwaysPreTouch JVM flag - Add max size virtual memory check - Use and test relative time in TransportBulkAction - Bump Elasticsearch version to 5.0.0-SNAPSHOT - Assert that we can write in all data-path on startup - Add G1GC check on startup - Shards with heavy indexing should get more of the indexing buffer - Remove and ban ImmutableMap - Finish banning ImmutableSet - Removes and bans ImmutableSet - Remove and ban ImmutableMap#entrySet - Forbid ForwardingSet Dates:: - Improve TimeZoneRoundingTests error messages - Support full range of Java Long for epoch DateTime Discovery:: - Do not log cluster service errors at after joining a master - Log warning if minimum_master_nodes set to less than quorum - Add a dedicate queue for incoming ClusterStates Engine:: - Only try to read new segments info if we really flushed the index - Use _refresh instead of reading from Translog in the RT GET case - Remove writeLockTimeout from InternalEngine - Don't guard IndexShard#refresh calls by a check to isRefreshNeeded - Never call a listerner under lock in InternalEngine - Use System.nanoTime() to initialize Engine.lastWriteNanos - Flush big merges automatically if shard is inactive - Remove Engine.Create - Remove the disabled autogenerated id optimization from InternalEngine Exceptions:: - Improve startup exception - Make NotMasterException a first class citizen - Do not catch throwable - Make the index-too-old exception more explicit - Add index name in IndexAlreadyExistsException default message - Fix typos in exception/assert/log messages in core module. - Add field names to several mapping errors - Add serialization support for more important IOExceptions - Adds exception objects to log messages. - Add stack traces to logged exceptions where missing - Remove reflection hacks from ElasticsearchException - Rename QueryParsingException to a more generic ParsingException - Add *Exception(Throwable cause) constructors/ call where appropriate Expressions:: - improve date api for expressions/painless fields - Support geo_point fields in lucene expressions - Add support for .empty to expressions, and some docs improvements Geo:: - GeoBoundingBoxQueryBuilder should throw IAE when topLeft and bottomRight are the same coordinate - Enhanced lat/long error handling - Fix a potential parsing problem in GeoDistanceSortParser - Geo: Add validation of shapes to ShapeBuilders - Make remaining ShapeBuilders implement Writeable - Geo: Remove internal `translated` flag from LineStringBuilder - Make PointBuilder, CircleBuilder & EnvelopeBuilder implement Writable - Merging BaseLineString and BasePolygonBuilder with subclass - Moving static factory methods to ShapeBuilders - Remove InternalLineStringBuilder and InternalPolygonBuilder Highlighting:: - Switch Highlighting to ObjectParser - Use HighlightBuilder in SearchSourceBuilder - Joint parsing of common global Hightlighter and subfield parameters - Enable HighlightBuilder to create SearchContextHighlight - Add fromXContent method to HighlightBuilder Index APIs:: - Add date-math support to `_rollover` - Add Shrink request source parser to parse create index request body - Fail hot_threads in a better way if unsupported by JDK Index Templates:: - Add "version" field to Templates - Parse and validate mappings on index template creation Ingest:: - Add "version" field to Pipelines - Make it possible for Ingest Processors to access AnalysisRegistry - add ignore_missing option to convert,trim,lowercase,uppercase,grok,rename - Add support for parameters to the script ingest processor - introduce the JSON Processor - Allow rename processor to turn leaf fields into branch fields - remove ability to set field value in script-processor configuration - Add REST _ingest/pipeline to get all pipelines - Show ignored errors in verbose simulate result - update foreach processor to only support one applied processor. - Skip the execution of an empty pipeline - Add `ignore_failure` option to all ingest processors - new ScriptProcessor for Ingest - Expose underlying processor to blame for thrown exception within CompoundProcessor - Avoid string concatentation in IngestDocument.FieldPath - add ability to specify multiple grok patterns - add ability to disable ability to override values of existing fields in set processor - Streamline option naming for several processors - add automatic type conversion support to ConvertProcessor - Give the foreach processor access to the rest of the document - Added ingest statistics to node stats API - Add `ingest_took` to bulk response - Add ingest info to node info API, which contains a list of available processors - Use diffs for ingest metadata in cluster state - hide null-valued metadata fields from WriteableIngestDocument#toXContent - Ingest: use bulk thread pool for bulk request processing (was index before) - Add foreach processor - revert PipelineFactoryError handling with throwing ElasticsearchParseException in ingest pipeline creation - Add processor tags to on_failure metadata in ingest pipeline - catch processor/pipeline factory exceptions and return structured error responses - Ingest: move get/put/delete pipeline methods to ClusterAdminClient - Geoip processor: remove redundant latitude and longitude fields and make location an object with lat and lon subfields Inner Hits:: - Change scriptFields member in InnerHitBuilder to set Internal:: - Remove poor-mans compression in InternalSearchHit and friends - Don't register SearchTransportService handlers more than once - Unguice SearchModule - Deguice SearchService and friends - NodeStats classes to implement Writeable rather then Streamable - More info classes to implement Writeable rather than Streamable - Internal: Split disk threshold monitoring from decider - Switching LockObtainFailedException over to ShardLockObtainFailedException - update and delete by query requests to implement IndicesRequest.Replaceable - VersionFetchSubPhase should not use Versions#loadDocIdAndVersion - Remove useless PK lookup in IndicesTTLService - ignore some docker craziness in seccomp environment checks - Make Priority an enum - Snapshot UUIDs in blob names - Add RestController method for deprecating in one step - Tighten ensure atomic move cleanup - Enable checkstyle ModifierOrder - Expose task information from NodeClient - Changed rest handler interface to take NodeClient - Deprecate ExceptionsHelper.detailedMessage - Factor out ChannelBuffer from BytesReference - Cleanup Compressor interface - Hot methods redux - Remove forked joda time BaseDateTime class - Support optional ctor args in ConstructingObjectParser - Remove thread pool from page cache recycler - Do not automatically close XContent objects/arrays - Remove use of a Fields class in snapshot responses - Removes multiple toXContent entry points for SnapshotInfo - Removes unused methods in the o/e/common/Strings class - Determine content length eagerly in HttpServer - Consolidate query generation in QueryShardContext - Make reset in QueryShardContext private - Remove Strings#splitStringToArray - Add toString() to GetResponse - ConstructingObjectParser adapts ObjectParser for ctor args - Makes Script type writeable - FiltersAggregatorBuilder: Don't create new context for inner parsing - Clean up serialization on some stats - Normalize registration for SignificanceHeuristics - Make (read|write)NamedWriteable public - Use try-with-resource when creating new parser instances where possible - Don't pass XContentParser to ParseFieldRegistry#lookup - Internal: Remove threadlocal from document parser - Cut range aggregations to registerAggregation - Remove ParseFieldMatcher from AbstractXContentParser - Remove parser argument from methods where we already pass in a parse context - Switch SearchAfterBuilder to writeGenericValue - Remove StreamableReader - Cleanup nested, has_child & has_parent query builders for inner hits construction - Make AllocationCommands NamedWriteables - Isolate StreamableReader - Create registration methods for aggregations similar to those for queries - Remove PROTOTYPEs from QueryBuilders - Remove registerQueryParser - ParseField#getAllNamesIncludedDeprecated to not return duplicate names - Rework a query parser and improve registration - Clean up QueryParseContext and don't hold it inside QueryRewrite/ShardContext - Remove PROTOTYPE from MLT.Item - Remove PROTOTYPE from VersionType - Remove PROTOTYPEs from highlighting - Remove PROTOTYPEs from ingest - Start to rework query registration - Factor out slow logs into Search and IndexingOperationListeners - Remove PROTOTYPE from Suggesters - Remove PROTOTYPE from SortBuilders - Remove PROTOTYPE from ShapeBuilders - Replace FieldStatsProvider with a method on MappedFieldType. - Stop using PROTOTYPE in NamedWriteableRegistry - Support scheduled commands in current context - Thread limits - Remove leniency from segments info integrity checks - Rename SearchServiceTransportAction to SearchTransportService - Decouple the TransportService and ClusterService - Refactor bootstrap checks - Add LifecycleRunnable - Hot inlined methods in your area - Move IndicesQueryCache and IndicesRequestCache into IndicesService - Forbid use of java.security.MessageDigest#clone() - Make IndicesWarmer a private class of IndexService - Simplify IndicesFieldDataCache and detach from guice - Uppercase ells ('L') in long literals - ShardId equality and hash code inconsistency - Ensure all resources are closed on Node#close() - Make index uuid available in Index, ShardRouting & ShardId - Move RefreshTask into IndexService and use since task per index - Make IndexingMemoryController private to IndicesService - Cleanup IndexingOperationListeners infrastructure - Remove and forbid use of j.u.c.ThreadLocalRandom - Fix IntelliJ query builder type inference issues - Remove and forbid use of Collections#shuffle(List) and Random#<init>() - Remove and forbid use of the type-unsafe empty Collections fields - Move IndicesService.canDeleteShardContent to use IndexSettings - Simplify MonitorService construction and detach from guice - Use Supplier for StreamInput#readOptionalStreamable - Add variable-length long encoding - Extend usage of IndexSetting class - Fold SimilarityModule into IndexModule - Move to lucene BoostQuery - Use built-in method for computing hash code of longs - Refactor ShardFailure listener infrastructure - Add methods for variable-length encoding integral arrays - Fold IndexAliasesService into IndexService - Remove unneeded Module abstractions - Query refactoring: simplify IndexQueryParserService parse methods - Remove and forbid use of com.google.common.collect.Iterators - Remove and forbid use of com.google.common.collect.ImmutableCollection - Remove and forbid use of com.google.common.io.Resources - Remove and forbid use of com.google.common.hash.* - Remove and forbid use of com.google.common.net.InetAddresses - Remove and forbid use of com.google.common.collect.EvictingQueue - Replace Guava cache with simple concurrent LRU cache - Remove ClusterSerivce and IndexSettingsService dependency from IndexShard - Start making RecoverySourceHandler unittestable - Remove IndexService dep. from IndexShard - Remove ES internal deletion policies in favour of Lucenes implementations - Move ShardTermVectorService to be on indices level as TermVectorService - Move ShardPercolateService creation into IndexShard - Remove `ExpressionScriptCompilationException` and `ExpressionScriptExecutionException` - Reduced the number of ClusterStateUpdateTask variants - Add a BaseParser helper for stream parsing - Remove and forbid use of com.google.common.primitives.Ints - Remove and forbid use of com.google.common.math.LongMath - Remove and forbid use of com.google.common.base.Joiner - Replace and ban next batch of Guava classes - Remove and forbid use of com.google.common.collect.Iterables - Replace LoadingCache usage with a simple ConcurrentHashMap - Use Supplier instead of Reflection - Remove and forbid use of com.google.common.base.Preconditions - Remove and forbid use of guava Function, Charsets, Collections2 - Remove and forbid use of com.google.common.collect.ImmutableSortedMap - Remove and forbid use of several com.google.common.util. classes - Cleanup SearchRequest & SearchRequestBuilder - Remove and forbid use of com.google.common.collect.Queues - Remove and forbid use of com.google.common.base.Preconditions#checkNotNull - Remove and forbid use of com.google.common.collect.Sets - Remove and forbid use of com.google.common.collect.Maps - Remove use of underscore as an identifier - Remove and forbid the use of com.google.common.base.Predicate(s)? - This commit removes com.google.common.io Java API:: - Ensure PutMappingRequest.buildFromSimplifiedDef input are pairs - Start from a random node number so that clients do not overload the first node configured - Switch QueryBuilders to new MatchPhraseQueryBuilder - Improve adding clauses to `span_near` and `span_or` query - QueryBuilder does not need generics. - Remove copy constructors from request classes and TransportMessage type Java REST Client:: - Add support for a RestClient path prefix - Add "Async" to the end of each Async RestClient method - Allow RestClient to send array-based headers - Add response body to ResponseException error message - Simplify Sniffer initialization and automatically create the default HostsSniffer - Remove duplicate dependency declaration for http client - Add callback to customize http client settings - Rest Client: add short performRequest method variants without params and/or body Logging:: - Ensure logging is initialized in CLI tools - Give useful error message if log config is missing - Complete Elasticsearch logger names - Add node name to decider trace logging - Logging shutdown hack - Disable console logging - Skip loading of jansi from log4j2 - Configure AWS SDK logging configuration - Warn if unsupported logging configuration present - Size limit deprecation logs - Increase visibility of deprecation logger - Add log message about enforcing bootstrap checks - Improve logging for batched cluster state updates - Send HTTP Warning Header(s) for any Deprecation Usage from a REST request - Throw IllegalStateException when handshake fails due to version or cluster mismatch Mapping:: - Automatically downgrade text and keyword to string on indexes imported from 2.x - Do not parse numbers as both strings and numbers when not included in `_all`. - Don't index the `_version` field - The root object mapper should support updating `numeric_detection`, `date_detection` and `dynamic_date_formats`. - Automatically upgrade analyzed string fields that have `index_options` or `position_increment_gap` set. - Mappings: Support dots in field names in mapping parsing - Save one utf8 conversion in KeywordFieldMapper. - Do not parse the created version from the settings every time a field is parsed. - Elasticsearch should reject dynamic templates with unknown `match_mapping_type`. - Upgrade `string` fields to `text`/`keyword` even if `include_in_all` is set. - Adds a methods to find (and dynamically create) the mappers for the parents of a field with dots in the field name - Automatically upgrade analyzed strings with an analyzer to `text`. - Support dots in field names when mapping already exists - Use the new points API to index numeric fields. - Simplify AllEntries, AllField and AllFieldMapper: - Make `parseMultiField` part of `parseField`. - Automatically add a sub keyword field to string dynamic mappings. - Remove friction from the mapping changes in 5.0. - Rework norms parameters for 5.0. - Moved dynamic field handling in doc parsing to end of parsing - Remove the MapperBuilders utility class. - Make the `index` property a boolean. - Remove the ability to enable doc values with the `fielddata.format` setting. - Be stricter about parsing boolean values in mappings. - Fix default doc values to be enabled when a field is not indexed. - Dynamically map floating-point numbers as floats instead of doubles. - Simplify MetaDataMappingService. - Remove MergeMappingException. Network:: - Avoid early initializing Netty - Network: Allow to listen on virtual interfaces. - Explicitly tell Netty to not use unsafe - Enable Netty 4 extensions - Modularize netty - Simplify TcpTransport interface by reducing send code to a single send method - Do not start scheduled pings until transport start Packaging:: - Add quiet option to disable console logging - Explicitly disable Netty key set replacement - Remove explicit parallel new GC flag - Use JAVA_HOME or java.exe in PATH like the Linux scripts do - Don't mkdir directly in deb init script - Increase default heap size to 2g - Switch init.d scripts to use bash - Switch scripts to use bash - Further simplifications of plugin script - Pass ES_JAVA_OPTS to JVM for plugins script - Remove unnecessary sleep from init script restart - Explicitly set packaging permissions - rpm uses non-portable `--system` flag to `useradd` - Adding JAVA_HOME to documents and env config file - Added RPM metadata - Elasticsearch ownership for data, logs, and configs - Fail early on JDK with compiler bug - Make security non-optional - Remove RuntimePermission("accessDeclaredMembers") - Remove Guava as a dependency - Remove Guava as a dependency Percolator:: - Also support query term extract for queries wrapped inside a FunctionScoreQuery - Add support for synonym query to percolator query term extraction - Add percolator query extraction support for dismax query - Improve percolate query performance by not verifying certain candidate matches - Improve percolator query term extraction - PercolatorQueryBuilder cleanup by using MemoryIndex#fromDocument(...) helper - Add scoring support to the percolator query - Add query extract support for the blended term query and the common terms query - Add support for several span queries in ExtractQueryTermsService - Add support for TermsQuery in ExtractQueryTermsService - Replace percolate APIs with a percolator query Plugin Analysis Kuromoji:: - Add nbest options and NumberFilter Plugin Discovery EC2:: - Use `DefaultAWSCredentialsProviderChain` AWS SDK class for credentials - Support new Asia Pacific (Mumbai) ap-south-1 AWS region - Add support for proxy authentication for s3 and ec2 Plugin Discovery GCE:: - Allow `_gce_` network when not using discovery gce Plugin Ingest Attachment:: - Minor attachment processor improvements Plugin Lang Painless:: - Disable regexes by default in painless - Catch OutOfMemory and StackOverflow errors in Painless - Change Painless Tree Structure for Variable/Method Chains - Add replaceAll and replaceFirst - Painless Initializers - Add augmentation - Infer lambda arguments/return type - Fix explicit casts and improve tests. - Add lambda captures - improve Debugger to print code even if it hits exception - Move semicolon hack into lexer - Add flag support to regexes - improve lambda syntax (allow single expression) - Remove useless dropArguments in megamorphic cache - non-capturing lambda support - fix bugs in operators and more improvements for the dynamic case - improve unary operators and cleanup tests - Add support for the find operator (=~) and the match operator (==~) - Remove casts and boxing for dynamic math - Refactor def math - Add support for /regex/ - Array constructor references - Method references to user functions - Add } as a delimiter. - Add Lambda Stub Node - Add capturing method references - Add Functions to Painless - Add Method to Get New MethodWriters - Static For Each - Method reference support - Add support for the new Java 9 MethodHandles#arrayLength() factory - Improve painless compile-time exceptions - add java.time packages to painless whitelist - Add Function Reference Stub to Painless - improve painless whitelist coverage of java api - Definition cleanup - Made def variable casting consistent with invokedynamic rules - Use Java 9 Indy String Concats, if available - Add method overloading based on arity - Refactor WriterUtils to extend ASM GeneratorAdapter - Whitelist expansion - Remove boxing when loading and storing values in "def" fields/arrays, remove boxing onsimple method calls of "def" methods - Some cleanups - Use isAssignableFrom instead of relying on ClassCastException - Build descriptor of array and field load/store in code - Rename the dynamic call site factory to DefBootstrap - Cleanup of DynamicCallSite - Improve exception stacktraces - Make Line Number Available in Painless - Remove input, support params instead - Decouple ANTLR AST from Painless - _value support in painess? - Long priority over Float - _score as double, not float - Add 'ctx' keyword to painless. - Painless doc access - Retrieve _score directly from Scorer - Implement needsScore() correctly. - Add synthetic length property as alias to Lists, so they can be used like arrays - Use better typing for dynamic method calls - Array load/store and length with invokedynamic - Switch painless dynamic calls to invokedynamic, remove perf hack/cheat - Add fielddata accessors (.value/.values/.distance()/etc) - painless: optimize/simplify dynamic field and method access - Painless: Single-Quoted Strings - Painless Clean Up - Make Painless a Module - Minor Clean up - Remove Extra String Concat Token Plugin Mapper Attachment:: - minor attachments cleanups: IDE test support and EPUB format Plugin Mapper Size:: - Add doc values support to the _size field in the mapper-size plugin Plugin Repository Azure:: - Support global `repositories.azure.` settings - Add timeout settings (default to 5 minutes) - Remove AbstractLegacyBlobContainer Plugin Repository HDFS:: - merge current hdfs improvements to master Plugin Repository S3:: - Extract AWS Key from KeyChain instead of using potential null value - Check that S3 setting `buffer_size` is always lower than `chunk_size` Plugins:: - Revert "Display plugins versions" - Provide error message when plugin id is missing - Print message when removing plugin with config - Plugins: Update official plugin location with unified release - Allow plugins to upgrade global custom metadata on startup - Switch aggregations from push to pull - Display plugins versions - Add ScriptService to dependencies available for plugin components - Make NamedWriteableRegistry immutable and add extension point for named writeables - Log one plugin info per line - Make rest headers registration pull based - Add resource watcher to services available for plugin components - Add some basic services to createComponents for plugins - Make plugins closeable - Plugins: Add status bar on download - Add did-you-mean for plugin cli - Plugins: Remove name() and description() from api - Emit nicer error message when trying to install unknown plugin - Add plugin information for Verbose mode - Cli: Improve output for usage errors - Cli: Add verbose output with zip url when installing plugin - PluginManager: Add xpack as official plugin - CliTool: Cleanup and document Terminal - Plugin cli: Improve maven coordinates detection - Enforce plugin zip does not contain zip entries outside of the plugin dir - CliTool: Allow unexpected exceptions to propagate - Reduce complexity of plugin cli - Remove Plugin.onIndexService. - Open up QueryCache and SearcherWrapper extension points Query DSL:: - Throw exception when multiple field names are provided as part of query short syntax - Query parsers to throw exception when multiple field names are provided - Allow empty json object in request body in `_count` API - Treat zero token in `common` terms query as MatchNoDocsQuery - Handle empty query bodies at parse time and remove EmptyQueryBuilder - Enforce MatchQueryBuilder#maxExpansions() to be strictly positive - Don't allow `fuzziness` for `multi_match` types `cross_fields`, `phrase` and `phrase_prefix` - Add MatchNoDocsQuery, a query that matches no documents and prints the reason why in the toString method. - Adds `ignore_unmapped` option to geo queries - Adds `ignore_unmapped` option to nested and P/C queries - SimpleQueryParser should call MappedFieldType.termQuery when appropriate. - An `exists` query on an object should query a single term. - Function Score Query: make parsing stricter - Parsers should throw exception on unknown objects - UNICODE_CHARACTER_CLASS fix Query Refactoring:: - Add infrastructure to rewrite query builders - Switch geo validation to enum REST:: - Add a REST spec for the create API - Add response params to REST params did you mean - Add did you mean to strict REST params - Add exclusion support to response filtering - Only write forced_refresh if we forced a refresh - Add Location header to the index, update, and create APIs - Add support for `wait_for_events` to the `_cluster/health` REST endpoint - Rename Search Template REST spec names - Adding status field in _msearch error request bodies - Add semicolon query string parameter delimiter - Enable HTTP compression by default with compression level 3 - Allow JSON with unquoted field names by enabling system property - More robust handling of CORS HTTP Access Control - Add option to exclude based on paths in XContent Recovery:: - Pass on maxUnsafeAutoIdTimestamp on recovery / relocation - Non-blocking primary relocation hand-off - index shard should be able to cancel check index on close. - TransportNodesListGatewayStartedShards should fall back to disk based index metadata if not found in cluster state - Recover broken IndexMetaData as closed - Relocation source should be marked as relocating before starting recovery to primary relocation target - Operation counter for IndexShard - Primary relocation handoff - Remove recovery threadpools and throttle outgoing recoveries on the master - Refactor StoreRecoveryService to be a simple package private util class Reindex API:: - Only ask for `_version` we need it - Use fewer threads when reindexing-from-remote - Support authentication with reindex-from-remote - Support requests_per_second=-1 to mean no throttling in reindex - Implement ctx.op = "delete" on _update_by_query and _reindex - Make Reindex cancellation tests more uniform - Makes DeleteByQueryRequest implements IndicesRequest - Teach reindex to retry on search failures - Remove ReindexResponse in favor of BulkIndexByScrollResponse - Stricter validation of Reindex's requests_per_second - Properly mark reindex's child tasks as child tasks - Make reindex throttling dynamic - Throttling support for reindex - Add ingest pipeline support to reindex Scripting:: - Parse script on storage instead of on retrieval - Migrate elasticsearch native script examples to the main repo - Remove ClusterState from compile api - Mustache: Render Map as JSON - Compile each Groovy script in its own classloader - Include script field even if it value is null - Skipping hidden files compilation for script service - Rename Plan A to Painless - Add plumbing for script compile-time parameters - Factor mustache -> modules/lang-mustache Scroll:: - Add an index setting to limit the maximum number of slices allowed in a scroll request. Search:: - Limit batch size when scrolling - Record method counts while profiling query components - Change default similarity to BM25 - Add a parameter to cap the number of searches the msearch api will concurrently execute - Introduces GeoValidationMethod to GeoDistanceSortBuilder - Switches from empty boolean query to matchNoDocs - Allow binary sort values. - Fail query if it contains very large rescores - Type filters should not have a performance impact when there is a single type. - Store _all payloads on 1 byte instead of 4. - Refuse to load fields from _source when using the `fields` option and support wildcards. - Add response into ClearScrollResponse - Shuffle shards for _only_nodes + support multiple specifications like cluster API Search Refactoring:: - Removes the now obsolete SearchParseElement implementations - Remove RescoreParseElement - Remove HighlighterParseElement - Move top level parsing of sort element to SortBuilder - Switch to using refactored SortBuilder instead of using BytesReference in serialization - Add build() method to SortBuilder implementations - Refactoring of Suggestions - Move sort `order` field up into SortBuilder - Moves SortParser:parse(...) to only require QueryShardContext - Change internal representation of suggesters - Make GeoDistanceSortBuilder serializable, 2nd try - Move missing() from SortBuilder interface to class - Remove deprecated parameters from ScriptSortBuilder - Refactor GeoSortBuilder - Refactor FieldSortBuilder - Make sort order enum writable. - Make DistanceUnit writable. - RescoreBuilder: Add parsing and creating of RescoreSearchContext - Make RescoreBuilder and nested QueryRescorer Writable - Explain api: move query parsing to the coordinating node - Switch query parsers to use ParseField - Refactoring of Aggregations Sequence IDs:: - Persist sequence number checkpoints - Add sequence numbers to cat shards API Settings:: - Add precise logging on unknown or invalid settings - Make `action.auto_create_index` setting a dynamic cluster setting - Removes space between # and the setting in elasticsearch.yml - Validates new dynamic settings from the current state - Improve error message if a setting is not found - Cleanup placeholder replacement - Switch to registered Settings for all IndexingMemoryController settings - Add guard against null-valued settings - Useful error message for null property placeholder - Archive cluster level settings if unknown or broken - Improve error message if setting is not found - Improve upgrade experience of node level index settings - Settings with complex matchers should not overlap - Moves GCE settings to the new infra - Add filtering support within Setting class - Migrate AWS settings to new settings infrastructure - Remove `gateway.initial_meta` and always rely on min master nodes - Rewrite SettingsFilter to be immutable - Simplify azure settings - Convert PageCacheRecycler settings - Monitor settings - Cut over tribe node settings to new settings infra - Convert multcast plugin settings to the new infra - Convert `request.headers.*` to the new settings infra - Migrate Azure settings to new settings infrastructure - Validate logger settings and allow them to be reset via API - Switch NodeEnvironment's settings to new settings - Simplify AutoCreateIndex and add more tests - Convert several pending settings - Migrate query caching settings to the new settings infra. - Convert `action.auto_create_index` and `action.master.force_local` to the new settings infra - Convert `cluster.routing.allocation.type` and `processors` to the new settings infra. - Validate tribe node settings on startup - Move node.client, node.data, node.master, node.local and node.mode to new settings infra - Moved http settings to the new settings infrastructure - Migrate network service to the new infra - Convert client.transport settings to new infra - Move discovery.* settings to new Setting infrastructure - Change over to o.e.common.settings.Setting for http settings - Convert "path.*" and "pidfile" to new settings infra - Migrate repository settings to the new settings API - Convert "indices.*" settings to new infra. - Migrate gateway settings to the new settings API. - Convert several node and test level settings - Run Metadata upgrade tool on every version - Check for invalid index settings on metadata upgrade - Validate the settings key if it's simple chars separated by `.` - Validate known global settings on startup - Cut over all index scope settings to the new setting infrastrucuture - Remove updatability of `index.flush_on_close` - Move all dynamic settings and their config classes to the index level - Always require units for bytes and time settings - Make MetaData parsing less lenient. - Move async translog sync logic into IndexService - Remove `index.merge.scheduler.notify_on_failure` and default to `true` - Remove cache concurrency level settings that no longer apply Similarities:: - Defining a global default similarity Snapshot/Restore:: - Delete differing files in the store before restoring - Adds ignoreUnavailable option to the snapshot status API - Check restores in progress before deleting a snapshot - Snapshot repository cleans up empty index folders - BlobContainer#writeBlob no longer can overwrite a blob - More resilient blob handling in snapshot repositories - Adding repository index generational files - Raised IOException on deleteBlob - Adds UUIDs to snapshots - Clarify the semantics of the BlobContainer interface - Change BlobPath.buildAsString() method - Remove the Snapshot class in favor of using SnapshotInfo Stats:: - Add mem section back to cluster stats - Add network types to cluster stats - Add missing field type in the FieldStats response. - Expose the ClusterInfo object in the allocation explain output - Add total_indexing_buffer/_in_bytes to nodes info API - Allow FieldStatsRequest to disable cache - Remove index_writer_max_memory stat from segment stats - Move DocStats under Engine to get more accurate numbers - Do not return fieldstats information for fields that exist in the mapping but not in the index. - Add whether the shard state fetch is pending to the allocation explain API - Add Failure Details to every NodesResponse - Add I/O statistics on Linux - Add points to SegmentStats. - Remove FieldStats.Float. - Show configured and remaining delay for an unassigned shard. - indexing stats now contain indexing ops from recovery [ISSUE] - Normalize unavailable load average - Add load averages to OS stats on FreeBSD - Expose pending cluster state queue size in node stats Store:: - Use `mmapfs` by default. - Remove support for legacy checksums - Rename index folder to index_uuid Suggesters:: - Move SuggestUtils methods to their respective caller classes - Remove payload option from completion suggester - Add bwc support for reading pre-5.0 completion index Task Manager:: - Rename Task Persistence into Storing Task Results - Fetch result when wait_for_completion - Create get task API that falls back to the .tasks index - Add ability to store results for long running tasks - Move parentTaskId into TransportRequest - Shorten the serialization of the empty TaskId - Expose whether a task is cancellable in the _tasks list API - Add ability to group tasks by common parent - Add start time and duration to tasks - Combine node name and task id into single string task id - Add task status - Extend tracking of parent tasks to master node, replication and broadcast actions Translog:: - Fsync documents in an async fashion - Add checksumming and versions to the Translog's Checkpoint files - Beef up Translog testing with random channel exceptions - Do not replay into translog on local recovery - FSync translog outside of the writers global lock - Remove ChannelReference and simplify Views - Simplify TranslogWriter to always write to a stream - Remove TranslogService and fold it into synchronous IndexShard API === Bug fixes Aggregations:: - Fixed writeable name from range to geo_distance - Fix date_range aggregation to not cache if now is used - The `top_hits` aggregation should compile scripts only once. - Fix agg profiling when using breadth_first collect mode - Throw exception when maxBounds greater than minBounds - Undeprecates `aggs` in the search request - Change how `nested` and `reverse_nested` aggs know about their nested depth level - Make ExtendedBounds immutable - Aggregations fix: support include/exclude strings for IP and dates - Fix xcontent rendering of ip terms aggs. - Improving parsing of sigma param for Extended Stats Bucket Aggregation - Fixes NPE when no window is specified in moving average request - Fixes Filter and FiltersAggregation to work with empty query - Fixes the defaults for `keyed` in the percentiles aggregations - Correct typo in class name of StatsAggregator Allocation:: - Keep a shadow replicas' allocation id when it is promoted to primary - IndicesClusterStateService should clean local started when re-assigns an initializing shard with the same aid - IndexRoutingTable.initializeEmpty shouldn't override supplied primary RecoverySource - Update incoming recoveries stats when shadow replica is reinitialized - `index.routing.allocation.initial_recovery` limits replica allocation - Upon being elected as master, prefer joins' node info to existing cluster state - Fix NPE when initializing replica shard has no UnassignedInfo - Make shard store fetch less dependent on the current cluster state, both on master and non data nodes - Fix recovery throttling to properly handle relocating non-primary shards - Replica shards must be failed before primary shards Analysis:: - Named analyzer should close the analyzer that it wraps - Can load non-PreBuiltTokenFilter in Analyze API - Fix analyzer alias processing Bulk:: - Add not-null precondition check in BulkRequest CAT API:: - Fixes cat tasks operation in detailed mode - Add index pattern wildcards support to _cat/shards CRUD:: - GET operations should not extract fields from `_source`. - Squash a race condition in RefreshListeners - Prevent TransportReplicationAction to route request based on stale local routing table - Resolves the conflict between alias routing and parent routing by applying the alias routing and ignoring the parent routing. Cache:: - Prevent requests that use scripts or now() from being cached - Serialize index boost and phrase suggest collation keys in a consistent order Circuit Breakers:: - Never trip circuit breaker in liveness request - Free bytes reserved on request breaker Cluster:: - Fixes issue with dangling index being deleted instead of re-imported - Allow routing table to be filtered by index pattern - Use executor's describeTasks method to log task information in cluster service - Acknowledge index deletion requests based on standard cluster state acknowledgment - Dangling indices are not imported if a tombstone for the index exists - Fix issue with tombstones matching active indices in cluster state - Shard state action channel exceptions Core:: - Makes `m` case sensitive in TimeValue - Guard against negative result from FileStore.getUsableSpace when picking data path for a new shard - Handle rejected execution exception on reschedule - Fix concurrency bug in IMC that could cause it to check too infrequently - Iterables.flatten should not pre-cache the first iterator - Avoid race while retiring executors - Refactor UUID-generating methods out of Strings - Node names cleanup - NullPointerException from IndexingMemoryController when a version conflict happens during recovery - Handle RejectedExecution gracefully in TransportService during shutdown Discovery:: - Update discovery nodes after cluster state is published - Add current cluster state version to zen pings and use them in master election Engine:: - Take refresh IOExceptions into account when catching ACE in InternalEngine - Don't suppress AlreadyClosedException Expressions:: - replace ScriptException with a better one Geo:: - Incomplete results when using geo_distance for large distances [ISSUE] - Fix multi-field support for GeoPoint types - Enforce distance in distance query is > 0 [ISSUE] Highlighting:: - Enable BoostingQuery with FVH highlighter Index APIs:: - Fixes active shard count check in the case of `all` shards - Add zero-padding to auto-generated rollover index name increment Ingest:: - no null values in ingest configuration error messages - JSON Processor was not properly added - Don't rebuild pipeline on every cluster state update - Add dotexpander processor - Fix NPE when simulating a pipeline with no id - Change foreach processor to use ingest metadata for array element - No other processors should be executed after on_failure is called - rethrow script compilation exceptions into ingest configuration exceptions - Rename from `ingest-useragent` plugin to `ingest-user-agent` and its processor from `useragent` to `user_agent` - Fix ignore_failure behavior in _simulate?verbose and more cleanup - Pipeline Stats: Fix concurrent modification exception - Validate properties values according to database type - Ingest does not close its factories - Handle regex parsing errors in Gsub and Grok Processors - add on_failure exception metadata to ingest document for verbose simulate - The IngestDocument copy constructor should make a deep copy Inner Hits:: - Ensure that that InnerHitBuilder uses rewritten queries Internal:: - Prevent AbstractArrays from release bytes more than once - IndicesAliasesRequest should not implement CompositeIndicesRequest - Ensure elasticsearch doesn't start with unuspported indices - Remove ListTasksResponse#setDiscoveryNodes() - Priority values should be unmodifiable - Extract AbstractBytesReferenceTestCase - Add XPointValues - Fix BulkItemResponse.Failure.toString - Enable unmap hack for java 9 - Fix issues with failed cache loads - Allow parser to move on the START_OBJECT token when parsing search source - Ensure searcher is release if wrapping fails - Avoid deadlocks in Cache#computeIfAbsent Java API:: - fix IndexResponse#toString to print out shards info - Add NamedWriteables from plugins to TransportClient - Fix potential NPE in SearchSourceBuilder Java REST Client:: - Rest Client: add slash to log line when missing between host and uri - Rest Client: HostsSniffer to set http as default scheme Logging:: - Fix logger when you can not create an azure storage client - Avoid unnecessary creation of prefix loggers - Fix logging hierarchy configs - Fix prefix logging - Hack around Log4j bug rendering exceptions - Avoid prematurely triggering logger initialization - Only log running out of slots when out of slots Mapping:: - Allow position_gap_increment for fields in indices created prior to 5.0 - Validate blank field name - Better error message when mapping configures null - Make doc_values accessible for _type - Fix and test handling of `null_value`. - Fail automatic string upgrade if the value of `index` is not recognized. - Fix dynamic check to properly handle parents - Fix array parsing to remove its context when finished parsing - Disallow fielddata loading on text fields that are not indexed. - Make dynamic template parsing less lenient. - Fix dynamic mapper when its parent already has an update - Fix copy_to when the target is a dynamic object field. - Preserve existing mappings on batch mapping updates Network:: - Fix connection close header handling - Ensure port range is readable in the exception message - Fix expect 100 continue header handling - Fixes netty4 module's CORS config to use defaults - Fix various concurrency issues in transport - Verify lower level transport exceptions don't bubble up on disconnects Packaging:: - [Packaging] Do not remove scripts directory on upgrade - [Package] Remove bin/lib/modules directories on RPM uninstall/upgrade - Fix handling of spaces for jvm.options on Windows - Disable service in pre-uninstall - Remove extra bin/ directory in bin folder - Filter client/server VM options from jvm.options - Preserve config files from RPM install - Fix typo in message for variable setup ES_MAX_MEM - Don't run `mkdir` when $DATA_DIR contains a comma-separated list - Fix exit code - Set MAX_OPEN_FILES to 65536 - [windows] Service command still had positional start command - Do not pass double-dash arguments on startup Parent/Child:: - Make sure that no `_parent#null` gets introduces as default _parent mapping Percolator:: - Fail indexing percolator queries containing either a has_child or has_parent query - Add support for MatchNoDocsQuery in percolator's query terms extract service - Let PercolatorQuery's explain use the two phase iterator Plugin Discovery Azure Classic:: - Make discovery-azure plugin work again Plugin Discovery EC2:: - Fix EC2 discovery settings - Add TAG_SETTING to list of allowed tags for the ec2 discovery plugin. - Fix EC2 Discovery settings Plugin Discovery GCE:: - Fix NPE when GCE region is empty Plugin Ingest Attachment:: - Adds content-length as number Plugin Ingest GeoIp:: - [ingest-geoip] update geoip to not include null-valued results from Plugin Lang Painless:: - Fix String Concatenation Bug In Painless - Fix break bug in for/foreach loops. - Fix compound assignment with string concats - Fix horrible capture - Fix Casting Bug - Remove Grammar Ambiguities - Remove if/else ANTLR ambiguity. - Fix insanely slow compilation - Fix Bug in Painless Assignment - Fix bracket shortcuts Plugin Repository Azure:: - Register group setting for repository-azure accounts - Fix azure files removal Plugin Repository S3:: - Fixes leading forward slash in S3 repository base_path - Add missing permission to repository-s3 - Fix repository S3 Settings and add more tests Plugin Store SMB:: - Fix calling ensureOpen() on the wrong directory (master forwardport) Plugins:: - Use sysprop like with es.path.home to pass conf dir - Quote path to java binary - CliTool: Messages printed in Terminal should have percent char escaped Query DSL:: - Fixes MultiMatchQuery so that it doesn't provide a null context - Fix silently accepting malformed queries - query_string_query should take term length into consideration when fuzziness is auto - Throw ParsingException if a query is wrapped in an array - Restore parameter name auto_generate_phrase_queries - Resolve string dates and date math to millis before evaluating for rewrite in range query - `constant_score` query should throw error on more than one filter - Single IPv4 addresses in IP field term queries - Make strategy optional in GeoShapeQueryBuilder readFrom and writeTo Query Refactoring:: - Query refactoring: set has_parent & has_child types context properly - Make sure equivalent geohashCellQueries are equal after toQuery called REST:: - Remove lenient URL parameter parsing - Fixes CORS handling so that it uses the defaults - Get XContent params from request in Nodes rest actions - Fixes reading of CORS pre-flight headers and methods Recovery:: - Fix concurrency issues between cancelling a relocation and marking shard as relocated - Move `reset recovery` into RecoveriesCollection - Fix replica-primary inconsistencies when indexing during primary relocation with ongoing replica recoveries - Invoke `IndexingOperationListeners` also when recovering from store or remote - Prevent interruption while store checks lucene files for consistency - Mark shard as recovering on the cluster state thread Reindex API:: - Fix reindex with transport client - Fix a race condition in reindex's rethrottle - Reindex should never report negative throttled_until - Reindex should gracefully handle when _source is disabled Scripting:: - Add support for booleans in scripts - Fix Javascript OOM build Failure - Fix propagating the default value for script settings - Catch and wrap AssertionError and NoClassDefFoundError in groovy scripts Search:: - Do not cache script queries. - Throw error when trying to fetch fields from source and source is disabled - Source filtering should keep working when the source contains numbers greater than `Long.MAX_VALUE`. - Fix NPE when running a range query on a `scaled_float` with no upper bound. - Fix NPE during search with source filtering if the source is disabled. - Restore assignment of time value when deserializing a scroll instance - Fix explain output for dfs query - Don't recursively count children profile timings - fix explain in function_score if no function filter matches - Fix NPEs due to disabled source - Require timeout units when parsing query body - Close SearchContext if query rewrite failed - Fix parsing single `rescore` element in SearchSourceBuilder - Fail queries on not indexed fields. - Fix for search after - Do not be lenient when parsing CIDRs Settings:: - Fix Setting.timeValue() method - Add a hard limit for `index.number_of_shard` - Include complex settings in settings requests - Fix filter cache setting to allow percentages - Move cluster.routing.allocation.same_shard.host setting to new settings infrastructure - Validate settings against dynamic updaters on the master - Register "cloud.node.auto_attributes" setting in EC2 discovery plugin - Use object equality to compare versions in IndexSettings - fix exists method for list settings when using numbered setting format - convert settings for ResourceWatcherService to new infrastructure - Register bootstrap settings - Add settings filtering to node info requests - Ban write access to system properties Snapshot/Restore:: - Better handling of an empty shard's segments_N file - Fix race condition in snapshot initialization - Fix the semantics for the BlobContainer interface Stats:: - Fix FieldStats deserialization of `ip` field - Fix serialization bug in allocation explain API. - Allocation explain: Also serialize `includeDiskInfo` field - Add missing builder.endObject() in FsInfo Store:: - Tighten up concurrent store metadata listing and engine writes - Make static Store access shard lock aware - Catch assertion errors on commit and turn it into a real exception Task Manager:: - Shard level tasks in Bulk Action lose reference to their parent tasks - Take filterNodeIds into consideration while sending task requests to nodes Term Vectors:: - Fix calculation of took time of term vectors request Translog:: - Fix RAM usage estimation of LiveVersionMap. - Fix translog replay multiple operations same doc - Snapshotting and sync could cause a dead lock TranslogWriter - Move translog recover outside of the engine - Mark shard active during recovery; push settings after engine finally inits === Regressions Highlighting:: - Handle SynonymQuery extraction for the FastVectorHighlighter === Upgrades Core:: - Upgrade to Lucene 6.2.0 - Update to jackson 2.8.1 - Upgrade to Lucene 6.1.0. - Upgrade to lucene-6.1.0-snapshot-3a57bea. - Upgrade to Lucene 6.0.1. - Upgrade to lucene 6 release - Upgrade to lucene-6.0.0-f0aa4fc. - upgrade to lucene 6.0.0-snapshot-bea235f - Upgrade to Jackson 2.7.1 Ingest:: - Update MaxMind geoip2 version to 2.6 Internal:: - Bump master (3.0-snapshot) to java 8 Network:: - Upgrade to Netty 4.1.5 - Dependencies: Upgrade to netty 4.1.4 - Introduce Netty 4 Packaging:: - Upgrade JNA to 4.2.2 and remove optionality Plugin Discovery EC2:: - Update aws sdk to 1.10.69 and add use_throttle_retries repository setting Scripting:: - Dependencies: Updates to mustache 0.9.3 Search Templates:: - Update mustache.java to version 0.9.1
2016-11-08 10:18:00 +01:00
lib/elasticsearch/lib/jopt-simple-5.0.2.jar
lib/elasticsearch/lib/jts-1.13.jar
Update databases/elasticsearch to 5.4.0. === Breaking changes Settings:: - Remove support for default settings === Breaking Java changes Aggregations:: - Move getProperty method out of MultiBucketsAggregation.Bucket interface - Remove getProperty method from Aggregations interface and impl - Move getProperty method out of Aggregation interface Java API:: - Fold InternalSearchHits and friends into their interfaces === Deprecations Aggregations:: - Deprecate Stats#getCountAsString Java API:: - Add BulkProcessor methods with XContentType parameter Network:: - Deprecate Netty 3 Packaging:: - Add deprecation warnings for $ES_USER and $ES_GROUP Plugin Delete By Query:: - Deprecate delete_by_query requests without an explicit query Plugin Repository Azure:: - Deprecate global `repositories.azure` settings Plugin Repository S3:: - Deprecate repositories.s3 settings REST:: - Deprecate ldjson support and document ndjson for bulk/msearch Stats:: - Deprecate `_field_stats` endpoint === New features Analysis:: - Adds pattern keyword marker filter support - Expose WordDelimiterGraphTokenFilter Index APIs:: - Add FieldCapabilities (`_field_caps`) API Search:: - Introduce incremental reduction of TopDocs Similarities:: - Adds boolean similarity to Elasticsearch === Enhancements Aggregations:: - Add BucketMetricValue interface - Move aggs CommonFields and TYPED_KEYS_DELIMITER from InternalAggregation to Aggregation - Use ParseField for aggs CommonFields rather than String - Share XContent rendering code in terms aggs - Add unit tests for ParentToChildAggregator - First step towards incremental reduction of query responses Allocation:: - Trigger replica recovery restarts by master when primary relocation completes - Makes the same_shard host dynamically updatable Analysis:: - Support Keyword type in Analyze API Cluster:: - Prevent nodes from joining if newer indices exist in the cluster Core:: - Detect remnants of path.data/default.path.data bug - Await termination after shutting down executors - Add early-access check - Adapter action future should restore interrupts - Disable bootstrap checks for single-node discovery - Enable explicitly enforcing bootstrap checks - Add equals/hashcode method to ReplicationResponse Dates:: - Improve error handling for epoch format parser with time zone (#22621) Discovery:: - Introduce single-node discovery - UnicastZenPing shouldn't ping the address of the local node - MasterFaultDetection can start after the initial cluster state has been processed Highlighting:: - Add support for fragment_length in the unified highlighter - Add BreakIteratorBoundaryScanner support Index APIs:: - Wildcard cluster names for cross cluster search Ingest:: - Lazy load the geoip databases Internal:: - Add a dedicated TransportRemoteInfoAction for consistency - Simplify sorted top docs merging in SearchPhaseController - Synchronized CollapseTopFieldDocs with lucenes relatives - Cleanup SearchPhaseController interface - Do not create String instances in 'Strings' methods accepting StringBuilder Java API:: - Added types options to DeleteByQueryRequest Java High Level REST Client:: - Convert suggestion response parsing to use NamedXContentRegistry - UpdateRequest implements ToXContent - Add javadoc for DocWriteResponse.Builders - Expose WriteRequest.RefreshPolicy string representation - Use `typed_keys` parameter to prefix suggester names by type in search responses - Add parsing methods to BulkItemResponse Logging:: - Warn on not enough masters during election Mapping:: - Improve error message for ipv6 on legacy ip fields Nested Docs:: - Avoid adding unnecessary nested filters when ranges are used. Network:: - Adjust default Netty receive predictor size to 64k - Keep the pipeline handler queue small initially - Set network receive predictor size to 32kb - TransportService.connectToNode should validate remote node ID Packaging:: - Introduce Java version check - Cleanup some things after removal of joda-time hack Percolator:: - Allowing range queries with now ranges inside percolator queries - Add term extraction support for MultiPhraseQuery Plugin Discovery EC2:: - Settings: Migrate ec2 discovery sensitive settings to elasticsearch keystore Plugin Lang Painless:: - Allow painless to load stored fields - Start on custom whitelists for Painless - Fix Painless's implementation of interfaces returning primitives - Allow painless to implement more interfaces Plugin Repository Azure:: - Add Backoff policy to azure repository Plugin Repository S3:: - Removes the retry mechanism from the S3 blob store - S3 Repository: Eagerly load static settings Plugins:: - Modify permissions dialog for plugins - Plugins: Add plugin cli specific exit codes - Plugins: Output better error message when existing plugin is incompatible Query DSL:: - Make it possible to validate a query on all shards instead of a single random shard REST:: - Validate top-level keys when parsing mget requests - Cluster stats should not render empty http/transport types - Add parameter to prefix aggs name with type in search responses Search:: - Set shard count limit to unlimited - Streamline shard index availability in all SearchPhaseResults - Search took time should use a relative clock - Prevent negative `from` parameter in SearchSourceBuilder - Remove unnecessary result sorting in SearchPhaseController - Expose `batched_reduce_size` via `_search` - Adding fromXContent to Suggest and Suggestion class - Adding fromXContent to Suggestion.Entry and subclasses - Add CollapseSearchPhase as a successor for the FetchSearchPhase - Integrate IndexOrDocValuesQuery. - Detach SearchPhases from AbstractSearchAsyncAction - Fix GraphQuery expectation after Lucene upgrade to 6.5 - Nested queries should avoid adding unnecessary filters when possible. - Add xcontent parsing to completion suggestion option - Add xcontent parsing to suggestion options - Separate reduce (aggs, suggest and profile) from merging fetched hits Settings:: - Add secure file setting to keystore - Add a setting which specifies a list of setting - Add a property to mark setting as final - Remove obsolete index setting `index.version.minimum_compatible`. - Provide a method to retrieve a closeable char[] from a SecureString - Update indices settings api to support CBOR and SMILE format - Improve setting deprecation message Snapshot/Restore:: - Change snapshot status error to use generic SnapshotException Stats:: - Add cross-cluster search remote cluster info API Task Manager:: - Allow task to be unregistered by ClusterStateApplier - Limit IndexRequest toString() length === Bug fixes Aggregations:: - Align behavior HDR percentiles iterator with percentile() method - The `filter` and `significant_terms` aggregations should parse the `filter` as a filter, not a query. - Completion suggestion should also consider text if prefix/regex is missing - Fixes the per term error in the terms aggregation - Fixes terms error count for multiple reduce phases - Restore support for the `include/pattern` syntax. Bulk:: - Reject empty IDs CRUD:: - Fix backport executing ops as single item bulk Cluster:: - Don't set local node on cluster state used for node join validation - Allow a cluster state applier to create an observer and wait for a better state - Cluster allocation explain to never return empty response body Core:: - Check for default.path.data included in path.data - Improve performance of extracting warning value - Reject duplicate settings on the command line - Restrict build info loading to ES jar, not any jar Discovery:: - ZenDiscovery - only validate min_master_nodes values if local node is master Index APIs:: - Fixes restore of a shrunken index when initial recovery node is gone - Honor update request timeout Ingest:: - Improve missing ingest processor error - update _ingest.timestamp to use new ZonedDateTime Inner Hits:: - Replace NestedChildrenQuery with ParentChildrenBlockJoinQuery - Changed DisMaxQueryBuilder to extract inner hits from leaf queries Internal:: - Add infrastructure to mark contexts as system contexts - Always restore the ThreadContext for operations delayed due to a block Java High Level REST Client:: - Correctly parse BulkItemResponse.Failure's status Java REST Client:: - Make buffer limit configurable in HeapBufferedConsumerFactory - RestClient asynchronous execution should not throw exceptions Mapping:: - Preserve response headers when creating an index - Improves disabled fielddata error message - Switch include_in_all in multifield to warning - Fix MapperService StackOverflowError - Fix NPE with scaled floats stats when field is not indexed Network:: - Fix possible hang in local transport when nodes get concurrently disconnected - Respect promises on pipelined responses - Ensure that releasing listener is called Packaging:: - Fall back to non-atomic move when removing plugins Percolator:: - Fix memory leak when percolator uses bitset or field data cache Plugin Ingest Attachment:: - Remove support for Visio and potm files Plugin Lang Painless:: - Fix painless's regex lexer and error messages - Replace Painless's Cast with casting strategies - Fix Bad Casts In Painless Plugin Repository Azure:: - Azure blob store's readBlob() method first checks if the blob exists Plugin Repository S3:: - Handle BlobPath's trailing separator case. Add test cases to BlobPathTests.java Plugins:: - Fix delete of plugin directory on remove plugin - Use a marker file when removing a plugin Query DSL:: - FuzzyQueryBuilder should error when parsing array of values REST:: - [API] change wait_for_completion default according to docs - Deprecate request_cache for clear-cache - HTTP transport stashes the ThreadContext instead of the RestController - Ensure we try to autodetect content type for handlers that support plain text - Fix date format in warning headers - Align REST specs for HEAD requests - Correct warning header to be compliant - Fix get HEAD requests - Fix search scroll request with a plain text body - Handle bad HTTP requests - Fix get source HEAD requests - Properly encode location header - Fix template HEAD requests - Fix index HEAD requests - Fix alias HEAD requests Recovery:: - Provide target allocation id as part of start recovery request Reindex API:: - Fix throttled reindex_from_remote - Fix reindex with a remote source on a version before 2.0.0 - Make reindex wait for cleanup before responding Scripting:: - Remove unnecessary Groovy deprecation logging - Convert script/template objects to json format internally - Script: Fix value of `ctx._now` to be current epoch time in milliseconds Search:: - Cross Cluster Search: propagate original indices per cluster - Query string default field - Speed up parsing of large `terms` queries. - IndicesQueryCache should delegate the scorerSupplier method. - Fork LRUQueryCache from Lucene to work around LUCENE-7749 - Disable graph analysis at query time for shingle and cjk filters producing tokens of different size - Fix cross-cluster remote node gateway attributes - Use a fixed seed for computing term hashCode in TermsSliceQuery - Honor max concurrent searches in multi-search - Avoid stack overflow in multi-search - Fix query_string_query to transform "foo:*" in an exists query on the field name - Factor out filling of TopDocs in SearchPhaseController - Replace blocking calls in ExpandCollapseSearchResponseListener by asynchronous requests Search Templates:: - No longer add illegal content type option to stored search templates Settings:: - Do not set path.data in environment if not set - Correct handling of default and array settings - Fix merge scheduler config settings - Settings: Fix keystore cli prompting for yes/no to handle console returning null Similarities:: - Fix similarity upgrade when "default" similarity is overridden Snapshot/Restore:: - Fixes maintaining the shards a snapshot is waiting on - Fixes snapshot status on failed snapshots - Fixes snapshot deletion handling on in-progress snapshot failure - Prioritize listing index-N blobs over index.latest in reading snapshots Stats:: - Avoid overflow when computing total FS stats - Handle existence of cgroup version 2 hierarchy - Handle long overflow when adding paths' totals - Fix control group pattern - Fix total disk bytes returning negative value === Regressions Bulk:: - Fix _bulk response when it can't create an index === Upgrades Aggregations:: - Upgrade HDRHistogram to 2.1.9 Core:: - Upgrade to Lucene 6.5.0 - Upgrade from JNA 4.2.2 to JNA 4.4.0 - Upgrade to lucene-6.5.0-snapshot-d00c5ca - Upgrade to lucene-6.5.0-snapshot-f919485. Logging:: - Upgrade to Log4j 2.8.2 Network:: - Upgrade to Netty 4.1.9 - Upgrade to Netty 4.1.8 Plugin Repository Azure:: - Update to Azure Storage 5.0.0
2017-05-11 10:36:30 +02:00
lib/elasticsearch/lib/log4j-1.2-api-2.8.2.jar
lib/elasticsearch/lib/log4j-api-2.8.2.jar
lib/elasticsearch/lib/log4j-core-2.8.2.jar
Update databases/elasticsearch to 5.4.1. === Enhancements Aggregations:: - Allow scripted metric agg to access `_score` Core:: - Improve bootstrap checks error messages Internal:: - Log JVM arguments on startup Network:: - Disable the Netty recycler in the client - Remove Netty logging hack - Set available processors for Netty Snapshot/Restore:: - Ensure every repository has an incompatible-snapshots blob Stats:: - Show JVM arguments === Bug fixes Aggregations:: - Fix ArrayIndexOutOfBoundsException when no ranges are specified in the query Allocation:: - Discard stale node responses from async shard fetching Core:: - Fix cache expire after access Index APIs:: - Fix legacy GeoPointField decoding in FieldStats - Validates updated settings on closed indices Internal:: - Remove `_UNRELEASED` from Version constants for released versions - Avoid race when shutting down controller processes - Fix NPE if field caps request has a field that exists not in all indices More Like This:: - Pass over _routing value with more_like_this items to be retrieved Network:: - Notify onConnectionClosed rather than onNodeDisconnect to prune transport handlers - SniffNodesSampler should close connection after handling responses Packaging:: - Handle parentheses in batch file path Percolator:: - Fix range queries with date range based on current time in percolator queries. Plugin Repository HDFS:: - Fixing permission errors for `KERBEROS` security mode for HDFS Repository Plugins:: - X-Pack plugin download fails on Windows desktop [ISSUE] - Fix plugin installation permissions Reindex API:: - 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:: - Fix ExpandSearchPhase when response contains no hits - Include all aliases including non-filtering in `_search_shards` response Settings:: - Allow resetting settings that use an IP validator Snapshot/Restore:: - Removes completed snapshot from cluster state on master change - Fix inefficient (worst case exponential) loading of snapshot repository === Upgrades Core:: - Upgrade to Lucene 6.5.1 Network:: - Upgrade to Netty 4.1.11.Final - Upgrade Netty to 4.1.10.Final
2017-06-14 15:49:35 +02:00
lib/elasticsearch/lib/lucene-analyzers-common-6.5.1.jar
lib/elasticsearch/lib/lucene-backward-codecs-6.5.1.jar
lib/elasticsearch/lib/lucene-core-6.5.1.jar
lib/elasticsearch/lib/lucene-grouping-6.5.1.jar
lib/elasticsearch/lib/lucene-highlighter-6.5.1.jar
lib/elasticsearch/lib/lucene-join-6.5.1.jar
lib/elasticsearch/lib/lucene-memory-6.5.1.jar
lib/elasticsearch/lib/lucene-misc-6.5.1.jar
lib/elasticsearch/lib/lucene-queries-6.5.1.jar
lib/elasticsearch/lib/lucene-queryparser-6.5.1.jar
lib/elasticsearch/lib/lucene-sandbox-6.5.1.jar
lib/elasticsearch/lib/lucene-spatial-6.5.1.jar
lib/elasticsearch/lib/lucene-spatial-extras-6.5.1.jar
lib/elasticsearch/lib/lucene-spatial3d-6.5.1.jar
lib/elasticsearch/lib/lucene-suggest-6.5.1.jar
Update databases/elasticsearch to 5.0.0. * Now requires JDK 8.0. * Use a different installation layout as some location are now impossible to change without patching the Java sources. === Breaking changes in 5.0 === Migration Plugin - The elasticsearch-migration plugin (compatible with Elasticsearch 2.3.0 and above) will help you to find issues that need to be addressed when upgrading to Elasticsearch 5.0. Indices created before 5.0 - Elasticsearch 5.0 can read indices created in version 2.0 or above. An Elasticsearch 5.0 node will not start in the presence of indices created in a version of Elasticsearch before 2.0. - Indices created in Elasticsearch 1.x or before will need to be reindexed with Elasticsearch 2.x in order to be readable by Elasticsearch 5.x. It is not sufficient to use the upgrade API. === Breaking changes Aggregations:: - Remove size 0 options in aggregations Aliases:: - make get alias expand to open and closed indices by default - Remove deprecated indices.get_aliases Allocation:: - Remove DisableAllocationDecider Analysis:: - Remove `token_filter` in _analyze API - Removes support for adding aliases to analyzers - Analyze API : Rename filters/token_filters/char_filter in Analyze API in master CAT API:: - Improve cat thread pool API - Row-centric output for _cat/fielddata - Add raw recovery progress to cat recovery API - Remove host from cat nodes API - Using the accept header in the request instead of content-type in _cat API. CRUD:: - Fixed naming inconsistency for fields/stored_fields in the APIs - Disallow creating indices starting with '-' or '+' - Wait for changes to be visible by search - Remove object notation for core types. Cache:: - Remove deprecated query cache settings Cluster:: - Persistent Node Ids - Remove validation errors from cluster health response - Remove memory section Core:: - Remove ignore system bootstrap checks - Remove minimum master nodes bootstrap check - Keep input time unit when parsing TimeValues - Remove cluster name from data path - Add max number of processes check - Add mlockall bootstrap check - One log Engine:: - Optimize indexing for the autogenerated ID append-only case - Remove `index.compound_on_flush` setting and default to `true` Exceptions:: - Die with dignity Fielddata:: - Remove "uninverted" and "binary" fielddata support for numeric and boolean fields. Geo:: - Deprecate GeoDistance enums and remove geo distance script helpers Index APIs:: - Removes write consistency level across replication action APIs in favor of wait_for_active_shards - Remove `GET` option for /_forcemerge - Remove /_optimize REST API endpoint Indexed Scripts/Templates:: - Store indexed scripts in the cluster state instead of the `.scripts` index Inner Hits:: - Also do not serialize `_index` key in search response for parent/child inner hits - Don't include `_id`, `_type` and `_index` keys in search response for inner hits - Nested inner hits shouldn't use relative paths - Drop top level inner hits in favour of inner hits defined in the query dsl Internal:: - `_flush` should block by default - Actually bound the generic thread pool - Remove support for pre 2.0 indices Logging:: - Introduce Log4j 2 Mapping:: - Remove `_timestamp` and `_ttl` on 5.x indices. - Add a soft limit on the mapping depth. - Disable fielddata on text fields by defaults. - Add limit to total number of fields in mapping - Change the field mapping index time boost into a query time boost. - Deprecate string in favor of text/keyword. - Term vector APIs should no longer update mappings - Remove the `format` option of the `_source` field. - Remove transform Packaging:: - Rename service.bat to elasticsearch-service.bat - Remove -D handling in args for windows plugin script - Set default min heap equal to default max heap - Remove allow running as root - Require /bin/bash in packaging - Remove plugin script parsing of system properties - Add JVM options configuration file Parent/Child:: - Removed `total` score mode in favour for `sum` score mode. - Removed pre 2.x parent child implementation Percolator:: - Remove `.percolator` type in favour of `percolator` field type - Change the percolate api to not dynamically add fields to mapping Plugin Delete By Query:: - Remove Delete-By-Query plugin Plugin Lang Painless:: - Remove all date 'now' methods from Painless - Make Painless the Default Language Plugins:: - Plugins cleanup - Rename bin/plugin in bin/elasticsearch-plugin - Change the inner structure of the plugins zip - Remove multicast plugin - Plugins: Remove site plugins Query DSL:: - Lessen leniency of the query dsl. - Function score query: remove deprecated support for boost_factor - Remove support for deprecated queries. REST:: - Change separator for shards preference - Parameter improvements to Cluster Health API wait for shards - Switch indices.exists_type from `{index}/{type}` to `{index}/_mapping/{type}`. - Only use `PUT` for index creation, not POST. - Remove camelCase support - Remove 'case' parameter from rest apis - Disallow unquoted field names - Limit the accepted length of the _id Scripting:: - Hardcode painless as the default scripting lang and add legacy script default for stored scripts - Remove deprecated 1.x script and template syntax - Allow only a single extension for a scripting engine - Remove 'sandbox' option for script settings, allow only registering a single language. Search:: - Rename `fields` to `stored_fields` and add `docvalue_fields` - Remove only node preference - Add search preference to prefer multiple nodes - Add a soft limit on the number of shards that can be queried in a single search request. - Remove deprecated reverse option from sorting - Remove some deprecations - Remove search exists api - Remove the scan and count search types. Search Refactoring:: - Remove deprecated parameter from field sort builder. - Remove "query" query and fix related parsing bugs Settings:: - Default max local storage nodes to one - Persistent Node Names - Remove support for properties - Rename boostrap.mlockall to bootstrap.memory_lock - Register `indices.query.bool.max_clause_count` setting - Remove settings and system properties entanglement - Remove `action.get.realtime` setting - Remove ability to specify arbitrary node attributes with `node.` prefix - Enforce `discovery.zen.minimum_master_nodes` is set when bound to a public ip - Prevent index level setting from being configured on a node level - Remove support for node.client setting - Remove es.max-open-files flag - Enforce node level limits if node is started in production env - Make settings validation strict - Remove the ability to fsync on every operation and only schedule fsync task if really needed - Script settings - Remove index.flush_on_close entirely - Restore chunksize of 512kb on recovery and remove configurability - Remove ancient deprecated and alternative recovery settings Similarities:: - Renames `default` similarity into `classic` Snapshot/Restore:: - Change the default of `include_global_state` from true to false for snapshot restores - Fail closing or deleting indices during a full snapshot Stats:: - Modify load average format - Reintroduce five-minute and fifteen-minute load averages on Linux - Add system CPU percent to OS stats Term Vectors:: - Remove DFS support from TermVector API Translog:: - Drop support for simple translog and hard-wire buffer to 8kb - Simplify translog-based flush settings Warmers:: - Remove query warmers and the warmer API. === Breaking Java changes Aggregations:: - getKeyAsString and key_as_string should be the same for terms aggregation on boolean field Allocation:: - Move parsing of allocation commands into REST and remove support for plugins to register allocation commands - Simplify shard balancer interface Analysis:: - Simplify Analysis registration and configuration CRUD:: - Removing isCreated and isFound from the Java API Cache:: - Refactor IndicesRequestCache to make it testable. - Fold IndexCacheModule into IndexModule Core:: - Remove ability to plug-in TransportService - Register thread pool settings - Bootstrap does not set system properties - Remove es.useLinkedTransferQueue Discovery:: - Introduce node handshake - Include pings from client nodes in master election Highlighting:: - Register Highlighter instances instead of classes Internal:: - Remove TransportService#registerRequestHandler leniency - Consolidate search parser registries - Move all FetchSubPhases to o.e.search.fetch.subphase - Squash the rest of o.e.rest.action - Clean up BytesReference - Cleanup ClusterService dependencies and detached from Guice - Simplify SubFetchPhase interface - Simplify FetchSubPhase registration and detach it from Guice - Remove duplicate getters from DiscoveryNode and DiscoveryNodes - Cli: Switch to jopt-simple - Replace ContextAndHeaders with a ThreadPool based ThreadLocal implementation - Remove NodeBuilder - Fix IndexSearcherWrapper interface to not depend on the EngineConfig - Cleanup query parsing and remove IndexQueryParserService - Remove circular dependency between IndicesService and IndicesStore - Remove guice injection from IndexStore and friends - Replace IndicesLifecycle with a per-index IndexEventListener - Simplify similarity module and friends - Refactor SearchRequest to be parsed on the coordinating node Java API:: - Add a dedicated client/transport project for transport-client - Remove setRefresh - Remove the count api - IdsQueryBuilder to accept only non null ids and types Mapping:: - [Mapping] Several MappingService cleanups Network:: - Factor out abstract TCPTransport* classes to reduce the netty footprint - Remove ability to disable Netty gathering writes Parent/Child:: - Cleanup ParentFieldMapper - Several other parent/child cleanups Percolator:: - Move the percolator from core to its own module - Remove percolator cache Plugins:: - Cleanup sub fetch phase extension point - Remove IndexTemplateFilter - Switch custom ShardsAllocators to pull based model - Make custom allocation deciders use pull based extensions - Migrate query registration from push to pull - Add components getter as bridge between guice and new plugin init world - Remove CustomNodeAttributes extension point - Add RepositoryPlugin interface for registering snapshot repositories - Simplified repository api for snapshot/restore - Switch most search extensions from push to pull - Move RestHandler registration to ActionModule and ActionPlugin - Pull actions from plugins - Switch analysis from push to pull - Remove guice from Mapper plugins - Fail to start if plugin tries broken onModule - Simplify ScriptModule and script registration - Cut over settings registration to a pull model - Enforce isolated mode for all plugins - Don't use guice for QueryParsers - Remove guice from the index level - Remove shard-level injector Query DSL:: - Remove the MissingQueryBuilder which was deprecated in 2.2.0. - Remove NotQueryBuilder Scripting:: - Remove o.e.script.Template class and move template query to lang-mustache module - Move search template to lang-mustache module - Remove LeafSearchScript.runAsFloat(): Nothing calls it. Search:: - Remove FetchSubPhaseParseElement - Refactor of query profile classes to make way for other profile implementations - Query refactoring: split parse phase into fromXContent and toQuery for all queries Search Refactoring:: - Refactored inner hits parsing and intoduced InnerHitBuilder - Remove support for query_binary and filter_binary - Validate query api: move query parsing to the coordinating node Settings:: - Remove `node.mode` and `node.local` settings - Remove Settings.settingsBuilder. - Move remaining settings in NettyHttpServerTransport to the new infra - Replace IndexSettings annotation with a full-fledged class - Fix ping timeout settings inconsistencies Snapshot/Restore:: - Removes extra writeBlob method in BlobContainer Store:: - Standardize state format type for global and index level metadata Suggesters:: - Remove suggest threadpool - Remove suggest transport action === Deprecations CRUD:: - Deprecate found and created in delete and index rest responses Plugin Discovery Azure Classic:: - Deprecate discovery-azure and rename it to discovery-azure-classic Plugin Mapper Attachment:: - Deprecate mapper-attachments plugin Query DSL:: - Deprecate Indices query - Deprecate mlt, in and geo_bbox query name shortcuts Query Refactoring:: - Splits `phrase` and `phrase_prefix` in match query into `MatchPhraseQueryBuilder` and `MatchPhrasePrefixQueryBuilder` Scripting:: - Deprecate Groovy, Python, and Javascript Search:: - Deprecate fuzzy query Templates:: - Deprecate template query === New features Aggregations:: - Split regular histograms from date histograms. - Adds aggregation profiling to the profile API - New Matrix Stats Aggregation module Aliases:: - Add an alias action to delete an index Allocation:: - Add API to explain why a shard is or isn't assigned Analysis:: - Exposing lucene 6.x minhash filter. - Add `fingerprint` token filter and `fingerprint` analyzer Circuit Breakers:: - Circuit break on aggregation bucket numbers with request breaker Discovery:: - Add two phased commit to Cluster State publishing Geo:: - Cut over geo_point field and queries to new LatLonPoint type Index APIs:: - Add rollover API to switch index aliases given some predicates Ingest:: - ingest-useragent plugin - Add a Sort ingest processor - Add date_index_name processor - Merge feature/ingest branch into master branch Java REST Client:: - Introduce async performRequest method - Low level Rest Client Mapping:: - Add `scaled_float`. - Expose half-floats. - Add a text field. - Add a new `keyword` field. Percolator:: - index the query terms from the percolator query Plugin Analysis ICU:: - Adding support for customizing the rule file in ICU tokenizer Plugin Discovery File:: - File-based discovery plugin Plugin Ingest Attachment:: - Ingest: Add attachment processor Plugin Mapper Attachment:: - Migrate mapper attachments plugin to main repository Plugin Repository HDFS:: - HDFS Snapshot/Restore plugin Plugin Repository S3:: - Add support for path_style_access Query DSL:: - Adds a rewrite phase to queries on the shard level Reindex API:: - Reindex from remote - Port Delete By Query to Reindex infrastructure - Merge reindex to master Scripting:: - Exceptions and Infinite Loop Checking - Added a new scripting language (PlanA) Scroll:: - Add the ability to partition a scroll in multiple slices. Search:: - Add the ability to disable the retrieval of the stored fields entirely - Add `search_after` parameter in the SearchAPI Settings:: - Add infrastructure to transactionally apply and reset dynamic settings Snapshot/Restore:: - Add Google Cloud Storage repository plugin Stats:: - Extend field stats to report searchable/aggregatable fields - API for listing index file sizes Store:: - Expose MMapDirectory.preLoad(). - Add primitive to shrink an index into a single shard Suggesters:: - Add support for returning documents with completion suggester - Add document-oriented completion suggester Task Manager:: - Add task cancellation mechanism - Make the Task object available to the action caller - Task Management: Add framework for registering and communicating with tasks Translog:: - Add `elasticsearch-translog` CLI tool with `truncate` command === Enhancements Aggregations:: - Make the heuristic to compute the default shard size less aggressive. - Add _bucket_count option to buckets_path - Remove AggregationStreams - Migrate serial_diff aggregation to NamedWriteable - Migrate most remaining pipeline aggregations to NamedWriteable - Migrate moving_avg pipeline aggregation to NamedWriteable - Migrate matrix_stats to NamedWriteable - Migrate derivative pipeline aggregation to NamedWriteable - Migrate top_hits, histogram, and ip_range aggregations to NamedWriteable - Migrate nested, reverse_nested, and children aggregations to NamedWriteable - Migrate geohash_grid and geo_bounds aggregations to NamedWriteable - Clean up significant terms aggregation results - Migrate range, date_range, and geo_distance aggregations to NamedWriteable - Migrate terms aggregation to NamedWriteable - Migrate sampler and missing aggregations to NamedWriteable - Migrate global, filter, and filters aggregation to NamedWriteable - Migrate the cardinality, scripted_metric, and geo_centroid aggregations to NamedWriteable - Use a static default precision for the cardinality aggregation. - Migrate more aggregations to NamedWriteable - Migrate stats and extended stats to NamedWriteable - Migrate sum, min, and max aggregations over to NamedWriteable - Start migration away from aggregation streams - Automatically set the collection mode to breadth_first in the terms aggregation when the cardinality of the field is unknown or smaller than the requested size. - Rename PipelineAggregatorBuilder to PipelineAggregationBuilder. - AggregatorBuilder and PipelineAggregatorBuilder do not need generics. - Rename AggregatorBuilder to AggregationBuilder - Add the ability to use the breadth_first mode with nested aggregations (such as `top_hits`) which require access to score information. - Make significant terms work on fields that are indexed with points. - Add tests and documentation for using `time_zone` in date range aggregation - Fixes serialisation of Ranges Allocation:: - Verify AllocationIDs in replication actions - Mark shard as stale on non-replicated write, not on node shutdown - Add routing changes API to RoutingAllocation - Primary shard allocator observes limits in forcing allocation - Use primary terms as authority to fail shards - Add recovery source to ShardRouting - Allow `_shrink` to N shards if source shards is a multiple of N - Only filter intial recovery (post API) when shrinking an index - Estimate shard size for shrinked indices - Only fail relocation target shard if failing source shard is a primary - Simplify delayed shard allocation - Limit retries of failed allocations per index - Immutable ShardRouting - Add the shard's store status to the explain API - Write shard state metadata as soon as shard is created / initializing - Reuse existing allocation id for primary shard allocation - Remove version in ShardRouting (now obsolete) - Prefer nodes that previously held primary shard for primary shard allocation - Extend reroute with an option to force assign stale primary shard copies - Allocate primary shards based on allocation IDs - Persist currently started allocation IDs to index metadata - Use ObjectParser to parse AllocationID - Persist allocation ID with shard state metadata on nodes Analysis:: - Stop using cached component in _analyze API - Specify custom char_filters/tokenizer/token_filters in the analyze API - Add a MultiTermAwareComponent marker interface to analysis factories. - Add Flags Parameter for Char Filter - Core: better error message when analyzer created without tokenizer or… - Move AsciiFolding earlier in FingerprintAnalyzer filter chain - Improve error message if resource files have illegal encoding Benchmark:: - Add client-benchmark-noop-api-plugin to stress clients even more in benchmarks CAT API:: - Add health status parameter to cat indices API - Includes the index UUID in the _cat/indices API - Add node name to Cat Recovery - Add support for documented byte/size units and for micros as a time unit in _cat API - Add _cat/tasks - Cat health supports ts=0 option - Expose http address in cat/nodes - [cat/recovery] Make recovery time a TimeValue() - :CAT API: remove space at the end of a line CRUD:: - Renaming operation to result and reworking responses - Adding _operation field to index, update, delete response. - CRUD: Allow to get and set ttl as a time value/string Cache:: - Enable option to use request cache for size > 0 - Cache FieldStats in the request cache - Allow the query cache to be disabled. - Enable the indices request cache by default Circuit Breakers:: - Cluster Settings Updates should not trigger circuit breakers. - Circuit break the number of inline scripts compiled per minute Cluster:: - Add clusterUUID to RestMainAction output - Batch process node left and node failure - Index creation waits for write consistency shards - Inline reroute with process of node join/master election - Index creation does not cause the cluster health to go RED - Cluster Health class improvements - Adds tombstones to cluster state for index deletions - Enable acked indexing - Cluster Health should run on applied states, even if waitFor=0 - Resolve index names to Index instances early - Remove DiscoveryNode#shouldConnectTo method - Fail demoted primary shards and retry request - Illegal shard failure requests - Shard failure requests for non-existent shards - Add handling of channel failures when starting a shard - Wait for new master when failing shard - Master should wait on cluster state publication when failing a shard - Split cluster state update tasks into roles - Add timeout mechanism for sending shard failures - Add listener mechanism for failures to send shard failed Core:: - Add production warning for pre-release builds - Add serial collector bootstrap check - Rename Netty TCP transports thread factories from http_* to transport_* - Do not log full bootstrap checks exception - Mark halting the virtual machine as privileged - Makes index creation more friendly - Clearer error when handling fractional time values - Read Elasticsearch manifest via URL - Throw if the local node is not set - Bootstrap check for OnOutOfMemoryError and seccomp - Log OS and JVM on startup - Add GC overhead logging - Refactor JvmGcMonitorService for testing - Default to server VM and add client VM check - Add system bootstrap checks escape hatch - Avoid sliced locked contention in internal engine - Add heap size bootstrap check - Remove hostname from NetworkAddress.format - Bootstrapping bootstrap checks - Add max map count check - Remove PROTOTYPE from BulkItemResponse.Failure - Throw an exception if Writeable.Reader reads null - Remove PROTOTYPE from RescorerBuilders - Port Primary Terms to master - Use index UUID to lookup indices on IndicesService - Add -XX+AlwaysPreTouch JVM flag - Add max size virtual memory check - Use and test relative time in TransportBulkAction - Bump Elasticsearch version to 5.0.0-SNAPSHOT - Assert that we can write in all data-path on startup - Add G1GC check on startup - Shards with heavy indexing should get more of the indexing buffer - Remove and ban ImmutableMap - Finish banning ImmutableSet - Removes and bans ImmutableSet - Remove and ban ImmutableMap#entrySet - Forbid ForwardingSet Dates:: - Improve TimeZoneRoundingTests error messages - Support full range of Java Long for epoch DateTime Discovery:: - Do not log cluster service errors at after joining a master - Log warning if minimum_master_nodes set to less than quorum - Add a dedicate queue for incoming ClusterStates Engine:: - Only try to read new segments info if we really flushed the index - Use _refresh instead of reading from Translog in the RT GET case - Remove writeLockTimeout from InternalEngine - Don't guard IndexShard#refresh calls by a check to isRefreshNeeded - Never call a listerner under lock in InternalEngine - Use System.nanoTime() to initialize Engine.lastWriteNanos - Flush big merges automatically if shard is inactive - Remove Engine.Create - Remove the disabled autogenerated id optimization from InternalEngine Exceptions:: - Improve startup exception - Make NotMasterException a first class citizen - Do not catch throwable - Make the index-too-old exception more explicit - Add index name in IndexAlreadyExistsException default message - Fix typos in exception/assert/log messages in core module. - Add field names to several mapping errors - Add serialization support for more important IOExceptions - Adds exception objects to log messages. - Add stack traces to logged exceptions where missing - Remove reflection hacks from ElasticsearchException - Rename QueryParsingException to a more generic ParsingException - Add *Exception(Throwable cause) constructors/ call where appropriate Expressions:: - improve date api for expressions/painless fields - Support geo_point fields in lucene expressions - Add support for .empty to expressions, and some docs improvements Geo:: - GeoBoundingBoxQueryBuilder should throw IAE when topLeft and bottomRight are the same coordinate - Enhanced lat/long error handling - Fix a potential parsing problem in GeoDistanceSortParser - Geo: Add validation of shapes to ShapeBuilders - Make remaining ShapeBuilders implement Writeable - Geo: Remove internal `translated` flag from LineStringBuilder - Make PointBuilder, CircleBuilder & EnvelopeBuilder implement Writable - Merging BaseLineString and BasePolygonBuilder with subclass - Moving static factory methods to ShapeBuilders - Remove InternalLineStringBuilder and InternalPolygonBuilder Highlighting:: - Switch Highlighting to ObjectParser - Use HighlightBuilder in SearchSourceBuilder - Joint parsing of common global Hightlighter and subfield parameters - Enable HighlightBuilder to create SearchContextHighlight - Add fromXContent method to HighlightBuilder Index APIs:: - Add date-math support to `_rollover` - Add Shrink request source parser to parse create index request body - Fail hot_threads in a better way if unsupported by JDK Index Templates:: - Add "version" field to Templates - Parse and validate mappings on index template creation Ingest:: - Add "version" field to Pipelines - Make it possible for Ingest Processors to access AnalysisRegistry - add ignore_missing option to convert,trim,lowercase,uppercase,grok,rename - Add support for parameters to the script ingest processor - introduce the JSON Processor - Allow rename processor to turn leaf fields into branch fields - remove ability to set field value in script-processor configuration - Add REST _ingest/pipeline to get all pipelines - Show ignored errors in verbose simulate result - update foreach processor to only support one applied processor. - Skip the execution of an empty pipeline - Add `ignore_failure` option to all ingest processors - new ScriptProcessor for Ingest - Expose underlying processor to blame for thrown exception within CompoundProcessor - Avoid string concatentation in IngestDocument.FieldPath - add ability to specify multiple grok patterns - add ability to disable ability to override values of existing fields in set processor - Streamline option naming for several processors - add automatic type conversion support to ConvertProcessor - Give the foreach processor access to the rest of the document - Added ingest statistics to node stats API - Add `ingest_took` to bulk response - Add ingest info to node info API, which contains a list of available processors - Use diffs for ingest metadata in cluster state - hide null-valued metadata fields from WriteableIngestDocument#toXContent - Ingest: use bulk thread pool for bulk request processing (was index before) - Add foreach processor - revert PipelineFactoryError handling with throwing ElasticsearchParseException in ingest pipeline creation - Add processor tags to on_failure metadata in ingest pipeline - catch processor/pipeline factory exceptions and return structured error responses - Ingest: move get/put/delete pipeline methods to ClusterAdminClient - Geoip processor: remove redundant latitude and longitude fields and make location an object with lat and lon subfields Inner Hits:: - Change scriptFields member in InnerHitBuilder to set Internal:: - Remove poor-mans compression in InternalSearchHit and friends - Don't register SearchTransportService handlers more than once - Unguice SearchModule - Deguice SearchService and friends - NodeStats classes to implement Writeable rather then Streamable - More info classes to implement Writeable rather than Streamable - Internal: Split disk threshold monitoring from decider - Switching LockObtainFailedException over to ShardLockObtainFailedException - update and delete by query requests to implement IndicesRequest.Replaceable - VersionFetchSubPhase should not use Versions#loadDocIdAndVersion - Remove useless PK lookup in IndicesTTLService - ignore some docker craziness in seccomp environment checks - Make Priority an enum - Snapshot UUIDs in blob names - Add RestController method for deprecating in one step - Tighten ensure atomic move cleanup - Enable checkstyle ModifierOrder - Expose task information from NodeClient - Changed rest handler interface to take NodeClient - Deprecate ExceptionsHelper.detailedMessage - Factor out ChannelBuffer from BytesReference - Cleanup Compressor interface - Hot methods redux - Remove forked joda time BaseDateTime class - Support optional ctor args in ConstructingObjectParser - Remove thread pool from page cache recycler - Do not automatically close XContent objects/arrays - Remove use of a Fields class in snapshot responses - Removes multiple toXContent entry points for SnapshotInfo - Removes unused methods in the o/e/common/Strings class - Determine content length eagerly in HttpServer - Consolidate query generation in QueryShardContext - Make reset in QueryShardContext private - Remove Strings#splitStringToArray - Add toString() to GetResponse - ConstructingObjectParser adapts ObjectParser for ctor args - Makes Script type writeable - FiltersAggregatorBuilder: Don't create new context for inner parsing - Clean up serialization on some stats - Normalize registration for SignificanceHeuristics - Make (read|write)NamedWriteable public - Use try-with-resource when creating new parser instances where possible - Don't pass XContentParser to ParseFieldRegistry#lookup - Internal: Remove threadlocal from document parser - Cut range aggregations to registerAggregation - Remove ParseFieldMatcher from AbstractXContentParser - Remove parser argument from methods where we already pass in a parse context - Switch SearchAfterBuilder to writeGenericValue - Remove StreamableReader - Cleanup nested, has_child & has_parent query builders for inner hits construction - Make AllocationCommands NamedWriteables - Isolate StreamableReader - Create registration methods for aggregations similar to those for queries - Remove PROTOTYPEs from QueryBuilders - Remove registerQueryParser - ParseField#getAllNamesIncludedDeprecated to not return duplicate names - Rework a query parser and improve registration - Clean up QueryParseContext and don't hold it inside QueryRewrite/ShardContext - Remove PROTOTYPE from MLT.Item - Remove PROTOTYPE from VersionType - Remove PROTOTYPEs from highlighting - Remove PROTOTYPEs from ingest - Start to rework query registration - Factor out slow logs into Search and IndexingOperationListeners - Remove PROTOTYPE from Suggesters - Remove PROTOTYPE from SortBuilders - Remove PROTOTYPE from ShapeBuilders - Replace FieldStatsProvider with a method on MappedFieldType. - Stop using PROTOTYPE in NamedWriteableRegistry - Support scheduled commands in current context - Thread limits - Remove leniency from segments info integrity checks - Rename SearchServiceTransportAction to SearchTransportService - Decouple the TransportService and ClusterService - Refactor bootstrap checks - Add LifecycleRunnable - Hot inlined methods in your area - Move IndicesQueryCache and IndicesRequestCache into IndicesService - Forbid use of java.security.MessageDigest#clone() - Make IndicesWarmer a private class of IndexService - Simplify IndicesFieldDataCache and detach from guice - Uppercase ells ('L') in long literals - ShardId equality and hash code inconsistency - Ensure all resources are closed on Node#close() - Make index uuid available in Index, ShardRouting & ShardId - Move RefreshTask into IndexService and use since task per index - Make IndexingMemoryController private to IndicesService - Cleanup IndexingOperationListeners infrastructure - Remove and forbid use of j.u.c.ThreadLocalRandom - Fix IntelliJ query builder type inference issues - Remove and forbid use of Collections#shuffle(List) and Random#<init>() - Remove and forbid use of the type-unsafe empty Collections fields - Move IndicesService.canDeleteShardContent to use IndexSettings - Simplify MonitorService construction and detach from guice - Use Supplier for StreamInput#readOptionalStreamable - Add variable-length long encoding - Extend usage of IndexSetting class - Fold SimilarityModule into IndexModule - Move to lucene BoostQuery - Use built-in method for computing hash code of longs - Refactor ShardFailure listener infrastructure - Add methods for variable-length encoding integral arrays - Fold IndexAliasesService into IndexService - Remove unneeded Module abstractions - Query refactoring: simplify IndexQueryParserService parse methods - Remove and forbid use of com.google.common.collect.Iterators - Remove and forbid use of com.google.common.collect.ImmutableCollection - Remove and forbid use of com.google.common.io.Resources - Remove and forbid use of com.google.common.hash.* - Remove and forbid use of com.google.common.net.InetAddresses - Remove and forbid use of com.google.common.collect.EvictingQueue - Replace Guava cache with simple concurrent LRU cache - Remove ClusterSerivce and IndexSettingsService dependency from IndexShard - Start making RecoverySourceHandler unittestable - Remove IndexService dep. from IndexShard - Remove ES internal deletion policies in favour of Lucenes implementations - Move ShardTermVectorService to be on indices level as TermVectorService - Move ShardPercolateService creation into IndexShard - Remove `ExpressionScriptCompilationException` and `ExpressionScriptExecutionException` - Reduced the number of ClusterStateUpdateTask variants - Add a BaseParser helper for stream parsing - Remove and forbid use of com.google.common.primitives.Ints - Remove and forbid use of com.google.common.math.LongMath - Remove and forbid use of com.google.common.base.Joiner - Replace and ban next batch of Guava classes - Remove and forbid use of com.google.common.collect.Iterables - Replace LoadingCache usage with a simple ConcurrentHashMap - Use Supplier instead of Reflection - Remove and forbid use of com.google.common.base.Preconditions - Remove and forbid use of guava Function, Charsets, Collections2 - Remove and forbid use of com.google.common.collect.ImmutableSortedMap - Remove and forbid use of several com.google.common.util. classes - Cleanup SearchRequest & SearchRequestBuilder - Remove and forbid use of com.google.common.collect.Queues - Remove and forbid use of com.google.common.base.Preconditions#checkNotNull - Remove and forbid use of com.google.common.collect.Sets - Remove and forbid use of com.google.common.collect.Maps - Remove use of underscore as an identifier - Remove and forbid the use of com.google.common.base.Predicate(s)? - This commit removes com.google.common.io Java API:: - Ensure PutMappingRequest.buildFromSimplifiedDef input are pairs - Start from a random node number so that clients do not overload the first node configured - Switch QueryBuilders to new MatchPhraseQueryBuilder - Improve adding clauses to `span_near` and `span_or` query - QueryBuilder does not need generics. - Remove copy constructors from request classes and TransportMessage type Java REST Client:: - Add support for a RestClient path prefix - Add "Async" to the end of each Async RestClient method - Allow RestClient to send array-based headers - Add response body to ResponseException error message - Simplify Sniffer initialization and automatically create the default HostsSniffer - Remove duplicate dependency declaration for http client - Add callback to customize http client settings - Rest Client: add short performRequest method variants without params and/or body Logging:: - Ensure logging is initialized in CLI tools - Give useful error message if log config is missing - Complete Elasticsearch logger names - Add node name to decider trace logging - Logging shutdown hack - Disable console logging - Skip loading of jansi from log4j2 - Configure AWS SDK logging configuration - Warn if unsupported logging configuration present - Size limit deprecation logs - Increase visibility of deprecation logger - Add log message about enforcing bootstrap checks - Improve logging for batched cluster state updates - Send HTTP Warning Header(s) for any Deprecation Usage from a REST request - Throw IllegalStateException when handshake fails due to version or cluster mismatch Mapping:: - Automatically downgrade text and keyword to string on indexes imported from 2.x - Do not parse numbers as both strings and numbers when not included in `_all`. - Don't index the `_version` field - The root object mapper should support updating `numeric_detection`, `date_detection` and `dynamic_date_formats`. - Automatically upgrade analyzed string fields that have `index_options` or `position_increment_gap` set. - Mappings: Support dots in field names in mapping parsing - Save one utf8 conversion in KeywordFieldMapper. - Do not parse the created version from the settings every time a field is parsed. - Elasticsearch should reject dynamic templates with unknown `match_mapping_type`. - Upgrade `string` fields to `text`/`keyword` even if `include_in_all` is set. - Adds a methods to find (and dynamically create) the mappers for the parents of a field with dots in the field name - Automatically upgrade analyzed strings with an analyzer to `text`. - Support dots in field names when mapping already exists - Use the new points API to index numeric fields. - Simplify AllEntries, AllField and AllFieldMapper: - Make `parseMultiField` part of `parseField`. - Automatically add a sub keyword field to string dynamic mappings. - Remove friction from the mapping changes in 5.0. - Rework norms parameters for 5.0. - Moved dynamic field handling in doc parsing to end of parsing - Remove the MapperBuilders utility class. - Make the `index` property a boolean. - Remove the ability to enable doc values with the `fielddata.format` setting. - Be stricter about parsing boolean values in mappings. - Fix default doc values to be enabled when a field is not indexed. - Dynamically map floating-point numbers as floats instead of doubles. - Simplify MetaDataMappingService. - Remove MergeMappingException. Network:: - Avoid early initializing Netty - Network: Allow to listen on virtual interfaces. - Explicitly tell Netty to not use unsafe - Enable Netty 4 extensions - Modularize netty - Simplify TcpTransport interface by reducing send code to a single send method - Do not start scheduled pings until transport start Packaging:: - Add quiet option to disable console logging - Explicitly disable Netty key set replacement - Remove explicit parallel new GC flag - Use JAVA_HOME or java.exe in PATH like the Linux scripts do - Don't mkdir directly in deb init script - Increase default heap size to 2g - Switch init.d scripts to use bash - Switch scripts to use bash - Further simplifications of plugin script - Pass ES_JAVA_OPTS to JVM for plugins script - Remove unnecessary sleep from init script restart - Explicitly set packaging permissions - rpm uses non-portable `--system` flag to `useradd` - Adding JAVA_HOME to documents and env config file - Added RPM metadata - Elasticsearch ownership for data, logs, and configs - Fail early on JDK with compiler bug - Make security non-optional - Remove RuntimePermission("accessDeclaredMembers") - Remove Guava as a dependency - Remove Guava as a dependency Percolator:: - Also support query term extract for queries wrapped inside a FunctionScoreQuery - Add support for synonym query to percolator query term extraction - Add percolator query extraction support for dismax query - Improve percolate query performance by not verifying certain candidate matches - Improve percolator query term extraction - PercolatorQueryBuilder cleanup by using MemoryIndex#fromDocument(...) helper - Add scoring support to the percolator query - Add query extract support for the blended term query and the common terms query - Add support for several span queries in ExtractQueryTermsService - Add support for TermsQuery in ExtractQueryTermsService - Replace percolate APIs with a percolator query Plugin Analysis Kuromoji:: - Add nbest options and NumberFilter Plugin Discovery EC2:: - Use `DefaultAWSCredentialsProviderChain` AWS SDK class for credentials - Support new Asia Pacific (Mumbai) ap-south-1 AWS region - Add support for proxy authentication for s3 and ec2 Plugin Discovery GCE:: - Allow `_gce_` network when not using discovery gce Plugin Ingest Attachment:: - Minor attachment processor improvements Plugin Lang Painless:: - Disable regexes by default in painless - Catch OutOfMemory and StackOverflow errors in Painless - Change Painless Tree Structure for Variable/Method Chains - Add replaceAll and replaceFirst - Painless Initializers - Add augmentation - Infer lambda arguments/return type - Fix explicit casts and improve tests. - Add lambda captures - improve Debugger to print code even if it hits exception - Move semicolon hack into lexer - Add flag support to regexes - improve lambda syntax (allow single expression) - Remove useless dropArguments in megamorphic cache - non-capturing lambda support - fix bugs in operators and more improvements for the dynamic case - improve unary operators and cleanup tests - Add support for the find operator (=~) and the match operator (==~) - Remove casts and boxing for dynamic math - Refactor def math - Add support for /regex/ - Array constructor references - Method references to user functions - Add } as a delimiter. - Add Lambda Stub Node - Add capturing method references - Add Functions to Painless - Add Method to Get New MethodWriters - Static For Each - Method reference support - Add support for the new Java 9 MethodHandles#arrayLength() factory - Improve painless compile-time exceptions - add java.time packages to painless whitelist - Add Function Reference Stub to Painless - improve painless whitelist coverage of java api - Definition cleanup - Made def variable casting consistent with invokedynamic rules - Use Java 9 Indy String Concats, if available - Add method overloading based on arity - Refactor WriterUtils to extend ASM GeneratorAdapter - Whitelist expansion - Remove boxing when loading and storing values in "def" fields/arrays, remove boxing onsimple method calls of "def" methods - Some cleanups - Use isAssignableFrom instead of relying on ClassCastException - Build descriptor of array and field load/store in code - Rename the dynamic call site factory to DefBootstrap - Cleanup of DynamicCallSite - Improve exception stacktraces - Make Line Number Available in Painless - Remove input, support params instead - Decouple ANTLR AST from Painless - _value support in painess? - Long priority over Float - _score as double, not float - Add 'ctx' keyword to painless. - Painless doc access - Retrieve _score directly from Scorer - Implement needsScore() correctly. - Add synthetic length property as alias to Lists, so they can be used like arrays - Use better typing for dynamic method calls - Array load/store and length with invokedynamic - Switch painless dynamic calls to invokedynamic, remove perf hack/cheat - Add fielddata accessors (.value/.values/.distance()/etc) - painless: optimize/simplify dynamic field and method access - Painless: Single-Quoted Strings - Painless Clean Up - Make Painless a Module - Minor Clean up - Remove Extra String Concat Token Plugin Mapper Attachment:: - minor attachments cleanups: IDE test support and EPUB format Plugin Mapper Size:: - Add doc values support to the _size field in the mapper-size plugin Plugin Repository Azure:: - Support global `repositories.azure.` settings - Add timeout settings (default to 5 minutes) - Remove AbstractLegacyBlobContainer Plugin Repository HDFS:: - merge current hdfs improvements to master Plugin Repository S3:: - Extract AWS Key from KeyChain instead of using potential null value - Check that S3 setting `buffer_size` is always lower than `chunk_size` Plugins:: - Revert "Display plugins versions" - Provide error message when plugin id is missing - Print message when removing plugin with config - Plugins: Update official plugin location with unified release - Allow plugins to upgrade global custom metadata on startup - Switch aggregations from push to pull - Display plugins versions - Add ScriptService to dependencies available for plugin components - Make NamedWriteableRegistry immutable and add extension point for named writeables - Log one plugin info per line - Make rest headers registration pull based - Add resource watcher to services available for plugin components - Add some basic services to createComponents for plugins - Make plugins closeable - Plugins: Add status bar on download - Add did-you-mean for plugin cli - Plugins: Remove name() and description() from api - Emit nicer error message when trying to install unknown plugin - Add plugin information for Verbose mode - Cli: Improve output for usage errors - Cli: Add verbose output with zip url when installing plugin - PluginManager: Add xpack as official plugin - CliTool: Cleanup and document Terminal - Plugin cli: Improve maven coordinates detection - Enforce plugin zip does not contain zip entries outside of the plugin dir - CliTool: Allow unexpected exceptions to propagate - Reduce complexity of plugin cli - Remove Plugin.onIndexService. - Open up QueryCache and SearcherWrapper extension points Query DSL:: - Throw exception when multiple field names are provided as part of query short syntax - Query parsers to throw exception when multiple field names are provided - Allow empty json object in request body in `_count` API - Treat zero token in `common` terms query as MatchNoDocsQuery - Handle empty query bodies at parse time and remove EmptyQueryBuilder - Enforce MatchQueryBuilder#maxExpansions() to be strictly positive - Don't allow `fuzziness` for `multi_match` types `cross_fields`, `phrase` and `phrase_prefix` - Add MatchNoDocsQuery, a query that matches no documents and prints the reason why in the toString method. - Adds `ignore_unmapped` option to geo queries - Adds `ignore_unmapped` option to nested and P/C queries - SimpleQueryParser should call MappedFieldType.termQuery when appropriate. - An `exists` query on an object should query a single term. - Function Score Query: make parsing stricter - Parsers should throw exception on unknown objects - UNICODE_CHARACTER_CLASS fix Query Refactoring:: - Add infrastructure to rewrite query builders - Switch geo validation to enum REST:: - Add a REST spec for the create API - Add response params to REST params did you mean - Add did you mean to strict REST params - Add exclusion support to response filtering - Only write forced_refresh if we forced a refresh - Add Location header to the index, update, and create APIs - Add support for `wait_for_events` to the `_cluster/health` REST endpoint - Rename Search Template REST spec names - Adding status field in _msearch error request bodies - Add semicolon query string parameter delimiter - Enable HTTP compression by default with compression level 3 - Allow JSON with unquoted field names by enabling system property - More robust handling of CORS HTTP Access Control - Add option to exclude based on paths in XContent Recovery:: - Pass on maxUnsafeAutoIdTimestamp on recovery / relocation - Non-blocking primary relocation hand-off - index shard should be able to cancel check index on close. - TransportNodesListGatewayStartedShards should fall back to disk based index metadata if not found in cluster state - Recover broken IndexMetaData as closed - Relocation source should be marked as relocating before starting recovery to primary relocation target - Operation counter for IndexShard - Primary relocation handoff - Remove recovery threadpools and throttle outgoing recoveries on the master - Refactor StoreRecoveryService to be a simple package private util class Reindex API:: - Only ask for `_version` we need it - Use fewer threads when reindexing-from-remote - Support authentication with reindex-from-remote - Support requests_per_second=-1 to mean no throttling in reindex - Implement ctx.op = "delete" on _update_by_query and _reindex - Make Reindex cancellation tests more uniform - Makes DeleteByQueryRequest implements IndicesRequest - Teach reindex to retry on search failures - Remove ReindexResponse in favor of BulkIndexByScrollResponse - Stricter validation of Reindex's requests_per_second - Properly mark reindex's child tasks as child tasks - Make reindex throttling dynamic - Throttling support for reindex - Add ingest pipeline support to reindex Scripting:: - Parse script on storage instead of on retrieval - Migrate elasticsearch native script examples to the main repo - Remove ClusterState from compile api - Mustache: Render Map as JSON - Compile each Groovy script in its own classloader - Include script field even if it value is null - Skipping hidden files compilation for script service - Rename Plan A to Painless - Add plumbing for script compile-time parameters - Factor mustache -> modules/lang-mustache Scroll:: - Add an index setting to limit the maximum number of slices allowed in a scroll request. Search:: - Limit batch size when scrolling - Record method counts while profiling query components - Change default similarity to BM25 - Add a parameter to cap the number of searches the msearch api will concurrently execute - Introduces GeoValidationMethod to GeoDistanceSortBuilder - Switches from empty boolean query to matchNoDocs - Allow binary sort values. - Fail query if it contains very large rescores - Type filters should not have a performance impact when there is a single type. - Store _all payloads on 1 byte instead of 4. - Refuse to load fields from _source when using the `fields` option and support wildcards. - Add response into ClearScrollResponse - Shuffle shards for _only_nodes + support multiple specifications like cluster API Search Refactoring:: - Removes the now obsolete SearchParseElement implementations - Remove RescoreParseElement - Remove HighlighterParseElement - Move top level parsing of sort element to SortBuilder - Switch to using refactored SortBuilder instead of using BytesReference in serialization - Add build() method to SortBuilder implementations - Refactoring of Suggestions - Move sort `order` field up into SortBuilder - Moves SortParser:parse(...) to only require QueryShardContext - Change internal representation of suggesters - Make GeoDistanceSortBuilder serializable, 2nd try - Move missing() from SortBuilder interface to class - Remove deprecated parameters from ScriptSortBuilder - Refactor GeoSortBuilder - Refactor FieldSortBuilder - Make sort order enum writable. - Make DistanceUnit writable. - RescoreBuilder: Add parsing and creating of RescoreSearchContext - Make RescoreBuilder and nested QueryRescorer Writable - Explain api: move query parsing to the coordinating node - Switch query parsers to use ParseField - Refactoring of Aggregations Sequence IDs:: - Persist sequence number checkpoints - Add sequence numbers to cat shards API Settings:: - Add precise logging on unknown or invalid settings - Make `action.auto_create_index` setting a dynamic cluster setting - Removes space between # and the setting in elasticsearch.yml - Validates new dynamic settings from the current state - Improve error message if a setting is not found - Cleanup placeholder replacement - Switch to registered Settings for all IndexingMemoryController settings - Add guard against null-valued settings - Useful error message for null property placeholder - Archive cluster level settings if unknown or broken - Improve error message if setting is not found - Improve upgrade experience of node level index settings - Settings with complex matchers should not overlap - Moves GCE settings to the new infra - Add filtering support within Setting class - Migrate AWS settings to new settings infrastructure - Remove `gateway.initial_meta` and always rely on min master nodes - Rewrite SettingsFilter to be immutable - Simplify azure settings - Convert PageCacheRecycler settings - Monitor settings - Cut over tribe node settings to new settings infra - Convert multcast plugin settings to the new infra - Convert `request.headers.*` to the new settings infra - Migrate Azure settings to new settings infrastructure - Validate logger settings and allow them to be reset via API - Switch NodeEnvironment's settings to new settings - Simplify AutoCreateIndex and add more tests - Convert several pending settings - Migrate query caching settings to the new settings infra. - Convert `action.auto_create_index` and `action.master.force_local` to the new settings infra - Convert `cluster.routing.allocation.type` and `processors` to the new settings infra. - Validate tribe node settings on startup - Move node.client, node.data, node.master, node.local and node.mode to new settings infra - Moved http settings to the new settings infrastructure - Migrate network service to the new infra - Convert client.transport settings to new infra - Move discovery.* settings to new Setting infrastructure - Change over to o.e.common.settings.Setting for http settings - Convert "path.*" and "pidfile" to new settings infra - Migrate repository settings to the new settings API - Convert "indices.*" settings to new infra. - Migrate gateway settings to the new settings API. - Convert several node and test level settings - Run Metadata upgrade tool on every version - Check for invalid index settings on metadata upgrade - Validate the settings key if it's simple chars separated by `.` - Validate known global settings on startup - Cut over all index scope settings to the new setting infrastrucuture - Remove updatability of `index.flush_on_close` - Move all dynamic settings and their config classes to the index level - Always require units for bytes and time settings - Make MetaData parsing less lenient. - Move async translog sync logic into IndexService - Remove `index.merge.scheduler.notify_on_failure` and default to `true` - Remove cache concurrency level settings that no longer apply Similarities:: - Defining a global default similarity Snapshot/Restore:: - Delete differing files in the store before restoring - Adds ignoreUnavailable option to the snapshot status API - Check restores in progress before deleting a snapshot - Snapshot repository cleans up empty index folders - BlobContainer#writeBlob no longer can overwrite a blob - More resilient blob handling in snapshot repositories - Adding repository index generational files - Raised IOException on deleteBlob - Adds UUIDs to snapshots - Clarify the semantics of the BlobContainer interface - Change BlobPath.buildAsString() method - Remove the Snapshot class in favor of using SnapshotInfo Stats:: - Add mem section back to cluster stats - Add network types to cluster stats - Add missing field type in the FieldStats response. - Expose the ClusterInfo object in the allocation explain output - Add total_indexing_buffer/_in_bytes to nodes info API - Allow FieldStatsRequest to disable cache - Remove index_writer_max_memory stat from segment stats - Move DocStats under Engine to get more accurate numbers - Do not return fieldstats information for fields that exist in the mapping but not in the index. - Add whether the shard state fetch is pending to the allocation explain API - Add Failure Details to every NodesResponse - Add I/O statistics on Linux - Add points to SegmentStats. - Remove FieldStats.Float. - Show configured and remaining delay for an unassigned shard. - indexing stats now contain indexing ops from recovery [ISSUE] - Normalize unavailable load average - Add load averages to OS stats on FreeBSD - Expose pending cluster state queue size in node stats Store:: - Use `mmapfs` by default. - Remove support for legacy checksums - Rename index folder to index_uuid Suggesters:: - Move SuggestUtils methods to their respective caller classes - Remove payload option from completion suggester - Add bwc support for reading pre-5.0 completion index Task Manager:: - Rename Task Persistence into Storing Task Results - Fetch result when wait_for_completion - Create get task API that falls back to the .tasks index - Add ability to store results for long running tasks - Move parentTaskId into TransportRequest - Shorten the serialization of the empty TaskId - Expose whether a task is cancellable in the _tasks list API - Add ability to group tasks by common parent - Add start time and duration to tasks - Combine node name and task id into single string task id - Add task status - Extend tracking of parent tasks to master node, replication and broadcast actions Translog:: - Fsync documents in an async fashion - Add checksumming and versions to the Translog's Checkpoint files - Beef up Translog testing with random channel exceptions - Do not replay into translog on local recovery - FSync translog outside of the writers global lock - Remove ChannelReference and simplify Views - Simplify TranslogWriter to always write to a stream - Remove TranslogService and fold it into synchronous IndexShard API === Bug fixes Aggregations:: - Fixed writeable name from range to geo_distance - Fix date_range aggregation to not cache if now is used - The `top_hits` aggregation should compile scripts only once. - Fix agg profiling when using breadth_first collect mode - Throw exception when maxBounds greater than minBounds - Undeprecates `aggs` in the search request - Change how `nested` and `reverse_nested` aggs know about their nested depth level - Make ExtendedBounds immutable - Aggregations fix: support include/exclude strings for IP and dates - Fix xcontent rendering of ip terms aggs. - Improving parsing of sigma param for Extended Stats Bucket Aggregation - Fixes NPE when no window is specified in moving average request - Fixes Filter and FiltersAggregation to work with empty query - Fixes the defaults for `keyed` in the percentiles aggregations - Correct typo in class name of StatsAggregator Allocation:: - Keep a shadow replicas' allocation id when it is promoted to primary - IndicesClusterStateService should clean local started when re-assigns an initializing shard with the same aid - IndexRoutingTable.initializeEmpty shouldn't override supplied primary RecoverySource - Update incoming recoveries stats when shadow replica is reinitialized - `index.routing.allocation.initial_recovery` limits replica allocation - Upon being elected as master, prefer joins' node info to existing cluster state - Fix NPE when initializing replica shard has no UnassignedInfo - Make shard store fetch less dependent on the current cluster state, both on master and non data nodes - Fix recovery throttling to properly handle relocating non-primary shards - Replica shards must be failed before primary shards Analysis:: - Named analyzer should close the analyzer that it wraps - Can load non-PreBuiltTokenFilter in Analyze API - Fix analyzer alias processing Bulk:: - Add not-null precondition check in BulkRequest CAT API:: - Fixes cat tasks operation in detailed mode - Add index pattern wildcards support to _cat/shards CRUD:: - GET operations should not extract fields from `_source`. - Squash a race condition in RefreshListeners - Prevent TransportReplicationAction to route request based on stale local routing table - Resolves the conflict between alias routing and parent routing by applying the alias routing and ignoring the parent routing. Cache:: - Prevent requests that use scripts or now() from being cached - Serialize index boost and phrase suggest collation keys in a consistent order Circuit Breakers:: - Never trip circuit breaker in liveness request - Free bytes reserved on request breaker Cluster:: - Fixes issue with dangling index being deleted instead of re-imported - Allow routing table to be filtered by index pattern - Use executor's describeTasks method to log task information in cluster service - Acknowledge index deletion requests based on standard cluster state acknowledgment - Dangling indices are not imported if a tombstone for the index exists - Fix issue with tombstones matching active indices in cluster state - Shard state action channel exceptions Core:: - Makes `m` case sensitive in TimeValue - Guard against negative result from FileStore.getUsableSpace when picking data path for a new shard - Handle rejected execution exception on reschedule - Fix concurrency bug in IMC that could cause it to check too infrequently - Iterables.flatten should not pre-cache the first iterator - Avoid race while retiring executors - Refactor UUID-generating methods out of Strings - Node names cleanup - NullPointerException from IndexingMemoryController when a version conflict happens during recovery - Handle RejectedExecution gracefully in TransportService during shutdown Discovery:: - Update discovery nodes after cluster state is published - Add current cluster state version to zen pings and use them in master election Engine:: - Take refresh IOExceptions into account when catching ACE in InternalEngine - Don't suppress AlreadyClosedException Expressions:: - replace ScriptException with a better one Geo:: - Incomplete results when using geo_distance for large distances [ISSUE] - Fix multi-field support for GeoPoint types - Enforce distance in distance query is > 0 [ISSUE] Highlighting:: - Enable BoostingQuery with FVH highlighter Index APIs:: - Fixes active shard count check in the case of `all` shards - Add zero-padding to auto-generated rollover index name increment Ingest:: - no null values in ingest configuration error messages - JSON Processor was not properly added - Don't rebuild pipeline on every cluster state update - Add dotexpander processor - Fix NPE when simulating a pipeline with no id - Change foreach processor to use ingest metadata for array element - No other processors should be executed after on_failure is called - rethrow script compilation exceptions into ingest configuration exceptions - Rename from `ingest-useragent` plugin to `ingest-user-agent` and its processor from `useragent` to `user_agent` - Fix ignore_failure behavior in _simulate?verbose and more cleanup - Pipeline Stats: Fix concurrent modification exception - Validate properties values according to database type - Ingest does not close its factories - Handle regex parsing errors in Gsub and Grok Processors - add on_failure exception metadata to ingest document for verbose simulate - The IngestDocument copy constructor should make a deep copy Inner Hits:: - Ensure that that InnerHitBuilder uses rewritten queries Internal:: - Prevent AbstractArrays from release bytes more than once - IndicesAliasesRequest should not implement CompositeIndicesRequest - Ensure elasticsearch doesn't start with unuspported indices - Remove ListTasksResponse#setDiscoveryNodes() - Priority values should be unmodifiable - Extract AbstractBytesReferenceTestCase - Add XPointValues - Fix BulkItemResponse.Failure.toString - Enable unmap hack for java 9 - Fix issues with failed cache loads - Allow parser to move on the START_OBJECT token when parsing search source - Ensure searcher is release if wrapping fails - Avoid deadlocks in Cache#computeIfAbsent Java API:: - fix IndexResponse#toString to print out shards info - Add NamedWriteables from plugins to TransportClient - Fix potential NPE in SearchSourceBuilder Java REST Client:: - Rest Client: add slash to log line when missing between host and uri - Rest Client: HostsSniffer to set http as default scheme Logging:: - Fix logger when you can not create an azure storage client - Avoid unnecessary creation of prefix loggers - Fix logging hierarchy configs - Fix prefix logging - Hack around Log4j bug rendering exceptions - Avoid prematurely triggering logger initialization - Only log running out of slots when out of slots Mapping:: - Allow position_gap_increment for fields in indices created prior to 5.0 - Validate blank field name - Better error message when mapping configures null - Make doc_values accessible for _type - Fix and test handling of `null_value`. - Fail automatic string upgrade if the value of `index` is not recognized. - Fix dynamic check to properly handle parents - Fix array parsing to remove its context when finished parsing - Disallow fielddata loading on text fields that are not indexed. - Make dynamic template parsing less lenient. - Fix dynamic mapper when its parent already has an update - Fix copy_to when the target is a dynamic object field. - Preserve existing mappings on batch mapping updates Network:: - Fix connection close header handling - Ensure port range is readable in the exception message - Fix expect 100 continue header handling - Fixes netty4 module's CORS config to use defaults - Fix various concurrency issues in transport - Verify lower level transport exceptions don't bubble up on disconnects Packaging:: - [Packaging] Do not remove scripts directory on upgrade - [Package] Remove bin/lib/modules directories on RPM uninstall/upgrade - Fix handling of spaces for jvm.options on Windows - Disable service in pre-uninstall - Remove extra bin/ directory in bin folder - Filter client/server VM options from jvm.options - Preserve config files from RPM install - Fix typo in message for variable setup ES_MAX_MEM - Don't run `mkdir` when $DATA_DIR contains a comma-separated list - Fix exit code - Set MAX_OPEN_FILES to 65536 - [windows] Service command still had positional start command - Do not pass double-dash arguments on startup Parent/Child:: - Make sure that no `_parent#null` gets introduces as default _parent mapping Percolator:: - Fail indexing percolator queries containing either a has_child or has_parent query - Add support for MatchNoDocsQuery in percolator's query terms extract service - Let PercolatorQuery's explain use the two phase iterator Plugin Discovery Azure Classic:: - Make discovery-azure plugin work again Plugin Discovery EC2:: - Fix EC2 discovery settings - Add TAG_SETTING to list of allowed tags for the ec2 discovery plugin. - Fix EC2 Discovery settings Plugin Discovery GCE:: - Fix NPE when GCE region is empty Plugin Ingest Attachment:: - Adds content-length as number Plugin Ingest GeoIp:: - [ingest-geoip] update geoip to not include null-valued results from Plugin Lang Painless:: - Fix String Concatenation Bug In Painless - Fix break bug in for/foreach loops. - Fix compound assignment with string concats - Fix horrible capture - Fix Casting Bug - Remove Grammar Ambiguities - Remove if/else ANTLR ambiguity. - Fix insanely slow compilation - Fix Bug in Painless Assignment - Fix bracket shortcuts Plugin Repository Azure:: - Register group setting for repository-azure accounts - Fix azure files removal Plugin Repository S3:: - Fixes leading forward slash in S3 repository base_path - Add missing permission to repository-s3 - Fix repository S3 Settings and add more tests Plugin Store SMB:: - Fix calling ensureOpen() on the wrong directory (master forwardport) Plugins:: - Use sysprop like with es.path.home to pass conf dir - Quote path to java binary - CliTool: Messages printed in Terminal should have percent char escaped Query DSL:: - Fixes MultiMatchQuery so that it doesn't provide a null context - Fix silently accepting malformed queries - query_string_query should take term length into consideration when fuzziness is auto - Throw ParsingException if a query is wrapped in an array - Restore parameter name auto_generate_phrase_queries - Resolve string dates and date math to millis before evaluating for rewrite in range query - `constant_score` query should throw error on more than one filter - Single IPv4 addresses in IP field term queries - Make strategy optional in GeoShapeQueryBuilder readFrom and writeTo Query Refactoring:: - Query refactoring: set has_parent & has_child types context properly - Make sure equivalent geohashCellQueries are equal after toQuery called REST:: - Remove lenient URL parameter parsing - Fixes CORS handling so that it uses the defaults - Get XContent params from request in Nodes rest actions - Fixes reading of CORS pre-flight headers and methods Recovery:: - Fix concurrency issues between cancelling a relocation and marking shard as relocated - Move `reset recovery` into RecoveriesCollection - Fix replica-primary inconsistencies when indexing during primary relocation with ongoing replica recoveries - Invoke `IndexingOperationListeners` also when recovering from store or remote - Prevent interruption while store checks lucene files for consistency - Mark shard as recovering on the cluster state thread Reindex API:: - Fix reindex with transport client - Fix a race condition in reindex's rethrottle - Reindex should never report negative throttled_until - Reindex should gracefully handle when _source is disabled Scripting:: - Add support for booleans in scripts - Fix Javascript OOM build Failure - Fix propagating the default value for script settings - Catch and wrap AssertionError and NoClassDefFoundError in groovy scripts Search:: - Do not cache script queries. - Throw error when trying to fetch fields from source and source is disabled - Source filtering should keep working when the source contains numbers greater than `Long.MAX_VALUE`. - Fix NPE when running a range query on a `scaled_float` with no upper bound. - Fix NPE during search with source filtering if the source is disabled. - Restore assignment of time value when deserializing a scroll instance - Fix explain output for dfs query - Don't recursively count children profile timings - fix explain in function_score if no function filter matches - Fix NPEs due to disabled source - Require timeout units when parsing query body - Close SearchContext if query rewrite failed - Fix parsing single `rescore` element in SearchSourceBuilder - Fail queries on not indexed fields. - Fix for search after - Do not be lenient when parsing CIDRs Settings:: - Fix Setting.timeValue() method - Add a hard limit for `index.number_of_shard` - Include complex settings in settings requests - Fix filter cache setting to allow percentages - Move cluster.routing.allocation.same_shard.host setting to new settings infrastructure - Validate settings against dynamic updaters on the master - Register "cloud.node.auto_attributes" setting in EC2 discovery plugin - Use object equality to compare versions in IndexSettings - fix exists method for list settings when using numbered setting format - convert settings for ResourceWatcherService to new infrastructure - Register bootstrap settings - Add settings filtering to node info requests - Ban write access to system properties Snapshot/Restore:: - Better handling of an empty shard's segments_N file - Fix race condition in snapshot initialization - Fix the semantics for the BlobContainer interface Stats:: - Fix FieldStats deserialization of `ip` field - Fix serialization bug in allocation explain API. - Allocation explain: Also serialize `includeDiskInfo` field - Add missing builder.endObject() in FsInfo Store:: - Tighten up concurrent store metadata listing and engine writes - Make static Store access shard lock aware - Catch assertion errors on commit and turn it into a real exception Task Manager:: - Shard level tasks in Bulk Action lose reference to their parent tasks - Take filterNodeIds into consideration while sending task requests to nodes Term Vectors:: - Fix calculation of took time of term vectors request Translog:: - Fix RAM usage estimation of LiveVersionMap. - Fix translog replay multiple operations same doc - Snapshotting and sync could cause a dead lock TranslogWriter - Move translog recover outside of the engine - Mark shard active during recovery; push settings after engine finally inits === Regressions Highlighting:: - Handle SynonymQuery extraction for the FastVectorHighlighter === Upgrades Core:: - Upgrade to Lucene 6.2.0 - Update to jackson 2.8.1 - Upgrade to Lucene 6.1.0. - Upgrade to lucene-6.1.0-snapshot-3a57bea. - Upgrade to Lucene 6.0.1. - Upgrade to lucene 6 release - Upgrade to lucene-6.0.0-f0aa4fc. - upgrade to lucene 6.0.0-snapshot-bea235f - Upgrade to Jackson 2.7.1 Ingest:: - Update MaxMind geoip2 version to 2.6 Internal:: - Bump master (3.0-snapshot) to java 8 Network:: - Upgrade to Netty 4.1.5 - Dependencies: Upgrade to netty 4.1.4 - Introduce Netty 4 Packaging:: - Upgrade JNA to 4.2.2 and remove optionality Plugin Discovery EC2:: - Update aws sdk to 1.10.69 and add use_throttle_retries repository setting Scripting:: - Dependencies: Updates to mustache 0.9.3 Search Templates:: - Update mustache.java to version 0.9.1
2016-11-08 10:18:00 +01:00
lib/elasticsearch/lib/securesm-1.1.jar
lib/elasticsearch/lib/snakeyaml-1.15.jar
lib/elasticsearch/lib/spatial4j-0.6.jar
lib/elasticsearch/lib/t-digest-3.0.jar
lib/elasticsearch/modules/aggs-matrix-stats/aggs-matrix-stats-${PKGVERSION}.jar
lib/elasticsearch/modules/aggs-matrix-stats/plugin-descriptor.properties
lib/elasticsearch/modules/ingest-common/ingest-common-${PKGVERSION}.jar
lib/elasticsearch/modules/ingest-common/jcodings-1.0.12.jar
lib/elasticsearch/modules/ingest-common/joni-2.1.6.jar
lib/elasticsearch/modules/ingest-common/plugin-descriptor.properties
lib/elasticsearch/modules/lang-expression/antlr4-runtime-4.5.1-1.jar
lib/elasticsearch/modules/lang-expression/asm-5.0.4.jar
lib/elasticsearch/modules/lang-expression/asm-commons-5.0.4.jar
lib/elasticsearch/modules/lang-expression/asm-tree-5.0.4.jar
lib/elasticsearch/modules/lang-expression/lang-expression-${PKGVERSION}.jar
Update databases/elasticsearch to 5.4.1. === Enhancements Aggregations:: - Allow scripted metric agg to access `_score` Core:: - Improve bootstrap checks error messages Internal:: - Log JVM arguments on startup Network:: - Disable the Netty recycler in the client - Remove Netty logging hack - Set available processors for Netty Snapshot/Restore:: - Ensure every repository has an incompatible-snapshots blob Stats:: - Show JVM arguments === Bug fixes Aggregations:: - Fix ArrayIndexOutOfBoundsException when no ranges are specified in the query Allocation:: - Discard stale node responses from async shard fetching Core:: - Fix cache expire after access Index APIs:: - Fix legacy GeoPointField decoding in FieldStats - Validates updated settings on closed indices Internal:: - Remove `_UNRELEASED` from Version constants for released versions - Avoid race when shutting down controller processes - Fix NPE if field caps request has a field that exists not in all indices More Like This:: - Pass over _routing value with more_like_this items to be retrieved Network:: - Notify onConnectionClosed rather than onNodeDisconnect to prune transport handlers - SniffNodesSampler should close connection after handling responses Packaging:: - Handle parentheses in batch file path Percolator:: - Fix range queries with date range based on current time in percolator queries. Plugin Repository HDFS:: - Fixing permission errors for `KERBEROS` security mode for HDFS Repository Plugins:: - X-Pack plugin download fails on Windows desktop [ISSUE] - Fix plugin installation permissions Reindex API:: - 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:: - Fix ExpandSearchPhase when response contains no hits - Include all aliases including non-filtering in `_search_shards` response Settings:: - Allow resetting settings that use an IP validator Snapshot/Restore:: - Removes completed snapshot from cluster state on master change - Fix inefficient (worst case exponential) loading of snapshot repository === Upgrades Core:: - Upgrade to Lucene 6.5.1 Network:: - Upgrade to Netty 4.1.11.Final - Upgrade Netty to 4.1.10.Final
2017-06-14 15:49:35 +02:00
lib/elasticsearch/modules/lang-expression/lucene-expressions-6.5.1.jar
Update databases/elasticsearch to 5.0.0. * Now requires JDK 8.0. * Use a different installation layout as some location are now impossible to change without patching the Java sources. === Breaking changes in 5.0 === Migration Plugin - The elasticsearch-migration plugin (compatible with Elasticsearch 2.3.0 and above) will help you to find issues that need to be addressed when upgrading to Elasticsearch 5.0. Indices created before 5.0 - Elasticsearch 5.0 can read indices created in version 2.0 or above. An Elasticsearch 5.0 node will not start in the presence of indices created in a version of Elasticsearch before 2.0. - Indices created in Elasticsearch 1.x or before will need to be reindexed with Elasticsearch 2.x in order to be readable by Elasticsearch 5.x. It is not sufficient to use the upgrade API. === Breaking changes Aggregations:: - Remove size 0 options in aggregations Aliases:: - make get alias expand to open and closed indices by default - Remove deprecated indices.get_aliases Allocation:: - Remove DisableAllocationDecider Analysis:: - Remove `token_filter` in _analyze API - Removes support for adding aliases to analyzers - Analyze API : Rename filters/token_filters/char_filter in Analyze API in master CAT API:: - Improve cat thread pool API - Row-centric output for _cat/fielddata - Add raw recovery progress to cat recovery API - Remove host from cat nodes API - Using the accept header in the request instead of content-type in _cat API. CRUD:: - Fixed naming inconsistency for fields/stored_fields in the APIs - Disallow creating indices starting with '-' or '+' - Wait for changes to be visible by search - Remove object notation for core types. Cache:: - Remove deprecated query cache settings Cluster:: - Persistent Node Ids - Remove validation errors from cluster health response - Remove memory section Core:: - Remove ignore system bootstrap checks - Remove minimum master nodes bootstrap check - Keep input time unit when parsing TimeValues - Remove cluster name from data path - Add max number of processes check - Add mlockall bootstrap check - One log Engine:: - Optimize indexing for the autogenerated ID append-only case - Remove `index.compound_on_flush` setting and default to `true` Exceptions:: - Die with dignity Fielddata:: - Remove "uninverted" and "binary" fielddata support for numeric and boolean fields. Geo:: - Deprecate GeoDistance enums and remove geo distance script helpers Index APIs:: - Removes write consistency level across replication action APIs in favor of wait_for_active_shards - Remove `GET` option for /_forcemerge - Remove /_optimize REST API endpoint Indexed Scripts/Templates:: - Store indexed scripts in the cluster state instead of the `.scripts` index Inner Hits:: - Also do not serialize `_index` key in search response for parent/child inner hits - Don't include `_id`, `_type` and `_index` keys in search response for inner hits - Nested inner hits shouldn't use relative paths - Drop top level inner hits in favour of inner hits defined in the query dsl Internal:: - `_flush` should block by default - Actually bound the generic thread pool - Remove support for pre 2.0 indices Logging:: - Introduce Log4j 2 Mapping:: - Remove `_timestamp` and `_ttl` on 5.x indices. - Add a soft limit on the mapping depth. - Disable fielddata on text fields by defaults. - Add limit to total number of fields in mapping - Change the field mapping index time boost into a query time boost. - Deprecate string in favor of text/keyword. - Term vector APIs should no longer update mappings - Remove the `format` option of the `_source` field. - Remove transform Packaging:: - Rename service.bat to elasticsearch-service.bat - Remove -D handling in args for windows plugin script - Set default min heap equal to default max heap - Remove allow running as root - Require /bin/bash in packaging - Remove plugin script parsing of system properties - Add JVM options configuration file Parent/Child:: - Removed `total` score mode in favour for `sum` score mode. - Removed pre 2.x parent child implementation Percolator:: - Remove `.percolator` type in favour of `percolator` field type - Change the percolate api to not dynamically add fields to mapping Plugin Delete By Query:: - Remove Delete-By-Query plugin Plugin Lang Painless:: - Remove all date 'now' methods from Painless - Make Painless the Default Language Plugins:: - Plugins cleanup - Rename bin/plugin in bin/elasticsearch-plugin - Change the inner structure of the plugins zip - Remove multicast plugin - Plugins: Remove site plugins Query DSL:: - Lessen leniency of the query dsl. - Function score query: remove deprecated support for boost_factor - Remove support for deprecated queries. REST:: - Change separator for shards preference - Parameter improvements to Cluster Health API wait for shards - Switch indices.exists_type from `{index}/{type}` to `{index}/_mapping/{type}`. - Only use `PUT` for index creation, not POST. - Remove camelCase support - Remove 'case' parameter from rest apis - Disallow unquoted field names - Limit the accepted length of the _id Scripting:: - Hardcode painless as the default scripting lang and add legacy script default for stored scripts - Remove deprecated 1.x script and template syntax - Allow only a single extension for a scripting engine - Remove 'sandbox' option for script settings, allow only registering a single language. Search:: - Rename `fields` to `stored_fields` and add `docvalue_fields` - Remove only node preference - Add search preference to prefer multiple nodes - Add a soft limit on the number of shards that can be queried in a single search request. - Remove deprecated reverse option from sorting - Remove some deprecations - Remove search exists api - Remove the scan and count search types. Search Refactoring:: - Remove deprecated parameter from field sort builder. - Remove "query" query and fix related parsing bugs Settings:: - Default max local storage nodes to one - Persistent Node Names - Remove support for properties - Rename boostrap.mlockall to bootstrap.memory_lock - Register `indices.query.bool.max_clause_count` setting - Remove settings and system properties entanglement - Remove `action.get.realtime` setting - Remove ability to specify arbitrary node attributes with `node.` prefix - Enforce `discovery.zen.minimum_master_nodes` is set when bound to a public ip - Prevent index level setting from being configured on a node level - Remove support for node.client setting - Remove es.max-open-files flag - Enforce node level limits if node is started in production env - Make settings validation strict - Remove the ability to fsync on every operation and only schedule fsync task if really needed - Script settings - Remove index.flush_on_close entirely - Restore chunksize of 512kb on recovery and remove configurability - Remove ancient deprecated and alternative recovery settings Similarities:: - Renames `default` similarity into `classic` Snapshot/Restore:: - Change the default of `include_global_state` from true to false for snapshot restores - Fail closing or deleting indices during a full snapshot Stats:: - Modify load average format - Reintroduce five-minute and fifteen-minute load averages on Linux - Add system CPU percent to OS stats Term Vectors:: - Remove DFS support from TermVector API Translog:: - Drop support for simple translog and hard-wire buffer to 8kb - Simplify translog-based flush settings Warmers:: - Remove query warmers and the warmer API. === Breaking Java changes Aggregations:: - getKeyAsString and key_as_string should be the same for terms aggregation on boolean field Allocation:: - Move parsing of allocation commands into REST and remove support for plugins to register allocation commands - Simplify shard balancer interface Analysis:: - Simplify Analysis registration and configuration CRUD:: - Removing isCreated and isFound from the Java API Cache:: - Refactor IndicesRequestCache to make it testable. - Fold IndexCacheModule into IndexModule Core:: - Remove ability to plug-in TransportService - Register thread pool settings - Bootstrap does not set system properties - Remove es.useLinkedTransferQueue Discovery:: - Introduce node handshake - Include pings from client nodes in master election Highlighting:: - Register Highlighter instances instead of classes Internal:: - Remove TransportService#registerRequestHandler leniency - Consolidate search parser registries - Move all FetchSubPhases to o.e.search.fetch.subphase - Squash the rest of o.e.rest.action - Clean up BytesReference - Cleanup ClusterService dependencies and detached from Guice - Simplify SubFetchPhase interface - Simplify FetchSubPhase registration and detach it from Guice - Remove duplicate getters from DiscoveryNode and DiscoveryNodes - Cli: Switch to jopt-simple - Replace ContextAndHeaders with a ThreadPool based ThreadLocal implementation - Remove NodeBuilder - Fix IndexSearcherWrapper interface to not depend on the EngineConfig - Cleanup query parsing and remove IndexQueryParserService - Remove circular dependency between IndicesService and IndicesStore - Remove guice injection from IndexStore and friends - Replace IndicesLifecycle with a per-index IndexEventListener - Simplify similarity module and friends - Refactor SearchRequest to be parsed on the coordinating node Java API:: - Add a dedicated client/transport project for transport-client - Remove setRefresh - Remove the count api - IdsQueryBuilder to accept only non null ids and types Mapping:: - [Mapping] Several MappingService cleanups Network:: - Factor out abstract TCPTransport* classes to reduce the netty footprint - Remove ability to disable Netty gathering writes Parent/Child:: - Cleanup ParentFieldMapper - Several other parent/child cleanups Percolator:: - Move the percolator from core to its own module - Remove percolator cache Plugins:: - Cleanup sub fetch phase extension point - Remove IndexTemplateFilter - Switch custom ShardsAllocators to pull based model - Make custom allocation deciders use pull based extensions - Migrate query registration from push to pull - Add components getter as bridge between guice and new plugin init world - Remove CustomNodeAttributes extension point - Add RepositoryPlugin interface for registering snapshot repositories - Simplified repository api for snapshot/restore - Switch most search extensions from push to pull - Move RestHandler registration to ActionModule and ActionPlugin - Pull actions from plugins - Switch analysis from push to pull - Remove guice from Mapper plugins - Fail to start if plugin tries broken onModule - Simplify ScriptModule and script registration - Cut over settings registration to a pull model - Enforce isolated mode for all plugins - Don't use guice for QueryParsers - Remove guice from the index level - Remove shard-level injector Query DSL:: - Remove the MissingQueryBuilder which was deprecated in 2.2.0. - Remove NotQueryBuilder Scripting:: - Remove o.e.script.Template class and move template query to lang-mustache module - Move search template to lang-mustache module - Remove LeafSearchScript.runAsFloat(): Nothing calls it. Search:: - Remove FetchSubPhaseParseElement - Refactor of query profile classes to make way for other profile implementations - Query refactoring: split parse phase into fromXContent and toQuery for all queries Search Refactoring:: - Refactored inner hits parsing and intoduced InnerHitBuilder - Remove support for query_binary and filter_binary - Validate query api: move query parsing to the coordinating node Settings:: - Remove `node.mode` and `node.local` settings - Remove Settings.settingsBuilder. - Move remaining settings in NettyHttpServerTransport to the new infra - Replace IndexSettings annotation with a full-fledged class - Fix ping timeout settings inconsistencies Snapshot/Restore:: - Removes extra writeBlob method in BlobContainer Store:: - Standardize state format type for global and index level metadata Suggesters:: - Remove suggest threadpool - Remove suggest transport action === Deprecations CRUD:: - Deprecate found and created in delete and index rest responses Plugin Discovery Azure Classic:: - Deprecate discovery-azure and rename it to discovery-azure-classic Plugin Mapper Attachment:: - Deprecate mapper-attachments plugin Query DSL:: - Deprecate Indices query - Deprecate mlt, in and geo_bbox query name shortcuts Query Refactoring:: - Splits `phrase` and `phrase_prefix` in match query into `MatchPhraseQueryBuilder` and `MatchPhrasePrefixQueryBuilder` Scripting:: - Deprecate Groovy, Python, and Javascript Search:: - Deprecate fuzzy query Templates:: - Deprecate template query === New features Aggregations:: - Split regular histograms from date histograms. - Adds aggregation profiling to the profile API - New Matrix Stats Aggregation module Aliases:: - Add an alias action to delete an index Allocation:: - Add API to explain why a shard is or isn't assigned Analysis:: - Exposing lucene 6.x minhash filter. - Add `fingerprint` token filter and `fingerprint` analyzer Circuit Breakers:: - Circuit break on aggregation bucket numbers with request breaker Discovery:: - Add two phased commit to Cluster State publishing Geo:: - Cut over geo_point field and queries to new LatLonPoint type Index APIs:: - Add rollover API to switch index aliases given some predicates Ingest:: - ingest-useragent plugin - Add a Sort ingest processor - Add date_index_name processor - Merge feature/ingest branch into master branch Java REST Client:: - Introduce async performRequest method - Low level Rest Client Mapping:: - Add `scaled_float`. - Expose half-floats. - Add a text field. - Add a new `keyword` field. Percolator:: - index the query terms from the percolator query Plugin Analysis ICU:: - Adding support for customizing the rule file in ICU tokenizer Plugin Discovery File:: - File-based discovery plugin Plugin Ingest Attachment:: - Ingest: Add attachment processor Plugin Mapper Attachment:: - Migrate mapper attachments plugin to main repository Plugin Repository HDFS:: - HDFS Snapshot/Restore plugin Plugin Repository S3:: - Add support for path_style_access Query DSL:: - Adds a rewrite phase to queries on the shard level Reindex API:: - Reindex from remote - Port Delete By Query to Reindex infrastructure - Merge reindex to master Scripting:: - Exceptions and Infinite Loop Checking - Added a new scripting language (PlanA) Scroll:: - Add the ability to partition a scroll in multiple slices. Search:: - Add the ability to disable the retrieval of the stored fields entirely - Add `search_after` parameter in the SearchAPI Settings:: - Add infrastructure to transactionally apply and reset dynamic settings Snapshot/Restore:: - Add Google Cloud Storage repository plugin Stats:: - Extend field stats to report searchable/aggregatable fields - API for listing index file sizes Store:: - Expose MMapDirectory.preLoad(). - Add primitive to shrink an index into a single shard Suggesters:: - Add support for returning documents with completion suggester - Add document-oriented completion suggester Task Manager:: - Add task cancellation mechanism - Make the Task object available to the action caller - Task Management: Add framework for registering and communicating with tasks Translog:: - Add `elasticsearch-translog` CLI tool with `truncate` command === Enhancements Aggregations:: - Make the heuristic to compute the default shard size less aggressive. - Add _bucket_count option to buckets_path - Remove AggregationStreams - Migrate serial_diff aggregation to NamedWriteable - Migrate most remaining pipeline aggregations to NamedWriteable - Migrate moving_avg pipeline aggregation to NamedWriteable - Migrate matrix_stats to NamedWriteable - Migrate derivative pipeline aggregation to NamedWriteable - Migrate top_hits, histogram, and ip_range aggregations to NamedWriteable - Migrate nested, reverse_nested, and children aggregations to NamedWriteable - Migrate geohash_grid and geo_bounds aggregations to NamedWriteable - Clean up significant terms aggregation results - Migrate range, date_range, and geo_distance aggregations to NamedWriteable - Migrate terms aggregation to NamedWriteable - Migrate sampler and missing aggregations to NamedWriteable - Migrate global, filter, and filters aggregation to NamedWriteable - Migrate the cardinality, scripted_metric, and geo_centroid aggregations to NamedWriteable - Use a static default precision for the cardinality aggregation. - Migrate more aggregations to NamedWriteable - Migrate stats and extended stats to NamedWriteable - Migrate sum, min, and max aggregations over to NamedWriteable - Start migration away from aggregation streams - Automatically set the collection mode to breadth_first in the terms aggregation when the cardinality of the field is unknown or smaller than the requested size. - Rename PipelineAggregatorBuilder to PipelineAggregationBuilder. - AggregatorBuilder and PipelineAggregatorBuilder do not need generics. - Rename AggregatorBuilder to AggregationBuilder - Add the ability to use the breadth_first mode with nested aggregations (such as `top_hits`) which require access to score information. - Make significant terms work on fields that are indexed with points. - Add tests and documentation for using `time_zone` in date range aggregation - Fixes serialisation of Ranges Allocation:: - Verify AllocationIDs in replication actions - Mark shard as stale on non-replicated write, not on node shutdown - Add routing changes API to RoutingAllocation - Primary shard allocator observes limits in forcing allocation - Use primary terms as authority to fail shards - Add recovery source to ShardRouting - Allow `_shrink` to N shards if source shards is a multiple of N - Only filter intial recovery (post API) when shrinking an index - Estimate shard size for shrinked indices - Only fail relocation target shard if failing source shard is a primary - Simplify delayed shard allocation - Limit retries of failed allocations per index - Immutable ShardRouting - Add the shard's store status to the explain API - Write shard state metadata as soon as shard is created / initializing - Reuse existing allocation id for primary shard allocation - Remove version in ShardRouting (now obsolete) - Prefer nodes that previously held primary shard for primary shard allocation - Extend reroute with an option to force assign stale primary shard copies - Allocate primary shards based on allocation IDs - Persist currently started allocation IDs to index metadata - Use ObjectParser to parse AllocationID - Persist allocation ID with shard state metadata on nodes Analysis:: - Stop using cached component in _analyze API - Specify custom char_filters/tokenizer/token_filters in the analyze API - Add a MultiTermAwareComponent marker interface to analysis factories. - Add Flags Parameter for Char Filter - Core: better error message when analyzer created without tokenizer or… - Move AsciiFolding earlier in FingerprintAnalyzer filter chain - Improve error message if resource files have illegal encoding Benchmark:: - Add client-benchmark-noop-api-plugin to stress clients even more in benchmarks CAT API:: - Add health status parameter to cat indices API - Includes the index UUID in the _cat/indices API - Add node name to Cat Recovery - Add support for documented byte/size units and for micros as a time unit in _cat API - Add _cat/tasks - Cat health supports ts=0 option - Expose http address in cat/nodes - [cat/recovery] Make recovery time a TimeValue() - :CAT API: remove space at the end of a line CRUD:: - Renaming operation to result and reworking responses - Adding _operation field to index, update, delete response. - CRUD: Allow to get and set ttl as a time value/string Cache:: - Enable option to use request cache for size > 0 - Cache FieldStats in the request cache - Allow the query cache to be disabled. - Enable the indices request cache by default Circuit Breakers:: - Cluster Settings Updates should not trigger circuit breakers. - Circuit break the number of inline scripts compiled per minute Cluster:: - Add clusterUUID to RestMainAction output - Batch process node left and node failure - Index creation waits for write consistency shards - Inline reroute with process of node join/master election - Index creation does not cause the cluster health to go RED - Cluster Health class improvements - Adds tombstones to cluster state for index deletions - Enable acked indexing - Cluster Health should run on applied states, even if waitFor=0 - Resolve index names to Index instances early - Remove DiscoveryNode#shouldConnectTo method - Fail demoted primary shards and retry request - Illegal shard failure requests - Shard failure requests for non-existent shards - Add handling of channel failures when starting a shard - Wait for new master when failing shard - Master should wait on cluster state publication when failing a shard - Split cluster state update tasks into roles - Add timeout mechanism for sending shard failures - Add listener mechanism for failures to send shard failed Core:: - Add production warning for pre-release builds - Add serial collector bootstrap check - Rename Netty TCP transports thread factories from http_* to transport_* - Do not log full bootstrap checks exception - Mark halting the virtual machine as privileged - Makes index creation more friendly - Clearer error when handling fractional time values - Read Elasticsearch manifest via URL - Throw if the local node is not set - Bootstrap check for OnOutOfMemoryError and seccomp - Log OS and JVM on startup - Add GC overhead logging - Refactor JvmGcMonitorService for testing - Default to server VM and add client VM check - Add system bootstrap checks escape hatch - Avoid sliced locked contention in internal engine - Add heap size bootstrap check - Remove hostname from NetworkAddress.format - Bootstrapping bootstrap checks - Add max map count check - Remove PROTOTYPE from BulkItemResponse.Failure - Throw an exception if Writeable.Reader reads null - Remove PROTOTYPE from RescorerBuilders - Port Primary Terms to master - Use index UUID to lookup indices on IndicesService - Add -XX+AlwaysPreTouch JVM flag - Add max size virtual memory check - Use and test relative time in TransportBulkAction - Bump Elasticsearch version to 5.0.0-SNAPSHOT - Assert that we can write in all data-path on startup - Add G1GC check on startup - Shards with heavy indexing should get more of the indexing buffer - Remove and ban ImmutableMap - Finish banning ImmutableSet - Removes and bans ImmutableSet - Remove and ban ImmutableMap#entrySet - Forbid ForwardingSet Dates:: - Improve TimeZoneRoundingTests error messages - Support full range of Java Long for epoch DateTime Discovery:: - Do not log cluster service errors at after joining a master - Log warning if minimum_master_nodes set to less than quorum - Add a dedicate queue for incoming ClusterStates Engine:: - Only try to read new segments info if we really flushed the index - Use _refresh instead of reading from Translog in the RT GET case - Remove writeLockTimeout from InternalEngine - Don't guard IndexShard#refresh calls by a check to isRefreshNeeded - Never call a listerner under lock in InternalEngine - Use System.nanoTime() to initialize Engine.lastWriteNanos - Flush big merges automatically if shard is inactive - Remove Engine.Create - Remove the disabled autogenerated id optimization from InternalEngine Exceptions:: - Improve startup exception - Make NotMasterException a first class citizen - Do not catch throwable - Make the index-too-old exception more explicit - Add index name in IndexAlreadyExistsException default message - Fix typos in exception/assert/log messages in core module. - Add field names to several mapping errors - Add serialization support for more important IOExceptions - Adds exception objects to log messages. - Add stack traces to logged exceptions where missing - Remove reflection hacks from ElasticsearchException - Rename QueryParsingException to a more generic ParsingException - Add *Exception(Throwable cause) constructors/ call where appropriate Expressions:: - improve date api for expressions/painless fields - Support geo_point fields in lucene expressions - Add support for .empty to expressions, and some docs improvements Geo:: - GeoBoundingBoxQueryBuilder should throw IAE when topLeft and bottomRight are the same coordinate - Enhanced lat/long error handling - Fix a potential parsing problem in GeoDistanceSortParser - Geo: Add validation of shapes to ShapeBuilders - Make remaining ShapeBuilders implement Writeable - Geo: Remove internal `translated` flag from LineStringBuilder - Make PointBuilder, CircleBuilder & EnvelopeBuilder implement Writable - Merging BaseLineString and BasePolygonBuilder with subclass - Moving static factory methods to ShapeBuilders - Remove InternalLineStringBuilder and InternalPolygonBuilder Highlighting:: - Switch Highlighting to ObjectParser - Use HighlightBuilder in SearchSourceBuilder - Joint parsing of common global Hightlighter and subfield parameters - Enable HighlightBuilder to create SearchContextHighlight - Add fromXContent method to HighlightBuilder Index APIs:: - Add date-math support to `_rollover` - Add Shrink request source parser to parse create index request body - Fail hot_threads in a better way if unsupported by JDK Index Templates:: - Add "version" field to Templates - Parse and validate mappings on index template creation Ingest:: - Add "version" field to Pipelines - Make it possible for Ingest Processors to access AnalysisRegistry - add ignore_missing option to convert,trim,lowercase,uppercase,grok,rename - Add support for parameters to the script ingest processor - introduce the JSON Processor - Allow rename processor to turn leaf fields into branch fields - remove ability to set field value in script-processor configuration - Add REST _ingest/pipeline to get all pipelines - Show ignored errors in verbose simulate result - update foreach processor to only support one applied processor. - Skip the execution of an empty pipeline - Add `ignore_failure` option to all ingest processors - new ScriptProcessor for Ingest - Expose underlying processor to blame for thrown exception within CompoundProcessor - Avoid string concatentation in IngestDocument.FieldPath - add ability to specify multiple grok patterns - add ability to disable ability to override values of existing fields in set processor - Streamline option naming for several processors - add automatic type conversion support to ConvertProcessor - Give the foreach processor access to the rest of the document - Added ingest statistics to node stats API - Add `ingest_took` to bulk response - Add ingest info to node info API, which contains a list of available processors - Use diffs for ingest metadata in cluster state - hide null-valued metadata fields from WriteableIngestDocument#toXContent - Ingest: use bulk thread pool for bulk request processing (was index before) - Add foreach processor - revert PipelineFactoryError handling with throwing ElasticsearchParseException in ingest pipeline creation - Add processor tags to on_failure metadata in ingest pipeline - catch processor/pipeline factory exceptions and return structured error responses - Ingest: move get/put/delete pipeline methods to ClusterAdminClient - Geoip processor: remove redundant latitude and longitude fields and make location an object with lat and lon subfields Inner Hits:: - Change scriptFields member in InnerHitBuilder to set Internal:: - Remove poor-mans compression in InternalSearchHit and friends - Don't register SearchTransportService handlers more than once - Unguice SearchModule - Deguice SearchService and friends - NodeStats classes to implement Writeable rather then Streamable - More info classes to implement Writeable rather than Streamable - Internal: Split disk threshold monitoring from decider - Switching LockObtainFailedException over to ShardLockObtainFailedException - update and delete by query requests to implement IndicesRequest.Replaceable - VersionFetchSubPhase should not use Versions#loadDocIdAndVersion - Remove useless PK lookup in IndicesTTLService - ignore some docker craziness in seccomp environment checks - Make Priority an enum - Snapshot UUIDs in blob names - Add RestController method for deprecating in one step - Tighten ensure atomic move cleanup - Enable checkstyle ModifierOrder - Expose task information from NodeClient - Changed rest handler interface to take NodeClient - Deprecate ExceptionsHelper.detailedMessage - Factor out ChannelBuffer from BytesReference - Cleanup Compressor interface - Hot methods redux - Remove forked joda time BaseDateTime class - Support optional ctor args in ConstructingObjectParser - Remove thread pool from page cache recycler - Do not automatically close XContent objects/arrays - Remove use of a Fields class in snapshot responses - Removes multiple toXContent entry points for SnapshotInfo - Removes unused methods in the o/e/common/Strings class - Determine content length eagerly in HttpServer - Consolidate query generation in QueryShardContext - Make reset in QueryShardContext private - Remove Strings#splitStringToArray - Add toString() to GetResponse - ConstructingObjectParser adapts ObjectParser for ctor args - Makes Script type writeable - FiltersAggregatorBuilder: Don't create new context for inner parsing - Clean up serialization on some stats - Normalize registration for SignificanceHeuristics - Make (read|write)NamedWriteable public - Use try-with-resource when creating new parser instances where possible - Don't pass XContentParser to ParseFieldRegistry#lookup - Internal: Remove threadlocal from document parser - Cut range aggregations to registerAggregation - Remove ParseFieldMatcher from AbstractXContentParser - Remove parser argument from methods where we already pass in a parse context - Switch SearchAfterBuilder to writeGenericValue - Remove StreamableReader - Cleanup nested, has_child & has_parent query builders for inner hits construction - Make AllocationCommands NamedWriteables - Isolate StreamableReader - Create registration methods for aggregations similar to those for queries - Remove PROTOTYPEs from QueryBuilders - Remove registerQueryParser - ParseField#getAllNamesIncludedDeprecated to not return duplicate names - Rework a query parser and improve registration - Clean up QueryParseContext and don't hold it inside QueryRewrite/ShardContext - Remove PROTOTYPE from MLT.Item - Remove PROTOTYPE from VersionType - Remove PROTOTYPEs from highlighting - Remove PROTOTYPEs from ingest - Start to rework query registration - Factor out slow logs into Search and IndexingOperationListeners - Remove PROTOTYPE from Suggesters - Remove PROTOTYPE from SortBuilders - Remove PROTOTYPE from ShapeBuilders - Replace FieldStatsProvider with a method on MappedFieldType. - Stop using PROTOTYPE in NamedWriteableRegistry - Support scheduled commands in current context - Thread limits - Remove leniency from segments info integrity checks - Rename SearchServiceTransportAction to SearchTransportService - Decouple the TransportService and ClusterService - Refactor bootstrap checks - Add LifecycleRunnable - Hot inlined methods in your area - Move IndicesQueryCache and IndicesRequestCache into IndicesService - Forbid use of java.security.MessageDigest#clone() - Make IndicesWarmer a private class of IndexService - Simplify IndicesFieldDataCache and detach from guice - Uppercase ells ('L') in long literals - ShardId equality and hash code inconsistency - Ensure all resources are closed on Node#close() - Make index uuid available in Index, ShardRouting & ShardId - Move RefreshTask into IndexService and use since task per index - Make IndexingMemoryController private to IndicesService - Cleanup IndexingOperationListeners infrastructure - Remove and forbid use of j.u.c.ThreadLocalRandom - Fix IntelliJ query builder type inference issues - Remove and forbid use of Collections#shuffle(List) and Random#<init>() - Remove and forbid use of the type-unsafe empty Collections fields - Move IndicesService.canDeleteShardContent to use IndexSettings - Simplify MonitorService construction and detach from guice - Use Supplier for StreamInput#readOptionalStreamable - Add variable-length long encoding - Extend usage of IndexSetting class - Fold SimilarityModule into IndexModule - Move to lucene BoostQuery - Use built-in method for computing hash code of longs - Refactor ShardFailure listener infrastructure - Add methods for variable-length encoding integral arrays - Fold IndexAliasesService into IndexService - Remove unneeded Module abstractions - Query refactoring: simplify IndexQueryParserService parse methods - Remove and forbid use of com.google.common.collect.Iterators - Remove and forbid use of com.google.common.collect.ImmutableCollection - Remove and forbid use of com.google.common.io.Resources - Remove and forbid use of com.google.common.hash.* - Remove and forbid use of com.google.common.net.InetAddresses - Remove and forbid use of com.google.common.collect.EvictingQueue - Replace Guava cache with simple concurrent LRU cache - Remove ClusterSerivce and IndexSettingsService dependency from IndexShard - Start making RecoverySourceHandler unittestable - Remove IndexService dep. from IndexShard - Remove ES internal deletion policies in favour of Lucenes implementations - Move ShardTermVectorService to be on indices level as TermVectorService - Move ShardPercolateService creation into IndexShard - Remove `ExpressionScriptCompilationException` and `ExpressionScriptExecutionException` - Reduced the number of ClusterStateUpdateTask variants - Add a BaseParser helper for stream parsing - Remove and forbid use of com.google.common.primitives.Ints - Remove and forbid use of com.google.common.math.LongMath - Remove and forbid use of com.google.common.base.Joiner - Replace and ban next batch of Guava classes - Remove and forbid use of com.google.common.collect.Iterables - Replace LoadingCache usage with a simple ConcurrentHashMap - Use Supplier instead of Reflection - Remove and forbid use of com.google.common.base.Preconditions - Remove and forbid use of guava Function, Charsets, Collections2 - Remove and forbid use of com.google.common.collect.ImmutableSortedMap - Remove and forbid use of several com.google.common.util. classes - Cleanup SearchRequest & SearchRequestBuilder - Remove and forbid use of com.google.common.collect.Queues - Remove and forbid use of com.google.common.base.Preconditions#checkNotNull - Remove and forbid use of com.google.common.collect.Sets - Remove and forbid use of com.google.common.collect.Maps - Remove use of underscore as an identifier - Remove and forbid the use of com.google.common.base.Predicate(s)? - This commit removes com.google.common.io Java API:: - Ensure PutMappingRequest.buildFromSimplifiedDef input are pairs - Start from a random node number so that clients do not overload the first node configured - Switch QueryBuilders to new MatchPhraseQueryBuilder - Improve adding clauses to `span_near` and `span_or` query - QueryBuilder does not need generics. - Remove copy constructors from request classes and TransportMessage type Java REST Client:: - Add support for a RestClient path prefix - Add "Async" to the end of each Async RestClient method - Allow RestClient to send array-based headers - Add response body to ResponseException error message - Simplify Sniffer initialization and automatically create the default HostsSniffer - Remove duplicate dependency declaration for http client - Add callback to customize http client settings - Rest Client: add short performRequest method variants without params and/or body Logging:: - Ensure logging is initialized in CLI tools - Give useful error message if log config is missing - Complete Elasticsearch logger names - Add node name to decider trace logging - Logging shutdown hack - Disable console logging - Skip loading of jansi from log4j2 - Configure AWS SDK logging configuration - Warn if unsupported logging configuration present - Size limit deprecation logs - Increase visibility of deprecation logger - Add log message about enforcing bootstrap checks - Improve logging for batched cluster state updates - Send HTTP Warning Header(s) for any Deprecation Usage from a REST request - Throw IllegalStateException when handshake fails due to version or cluster mismatch Mapping:: - Automatically downgrade text and keyword to string on indexes imported from 2.x - Do not parse numbers as both strings and numbers when not included in `_all`. - Don't index the `_version` field - The root object mapper should support updating `numeric_detection`, `date_detection` and `dynamic_date_formats`. - Automatically upgrade analyzed string fields that have `index_options` or `position_increment_gap` set. - Mappings: Support dots in field names in mapping parsing - Save one utf8 conversion in KeywordFieldMapper. - Do not parse the created version from the settings every time a field is parsed. - Elasticsearch should reject dynamic templates with unknown `match_mapping_type`. - Upgrade `string` fields to `text`/`keyword` even if `include_in_all` is set. - Adds a methods to find (and dynamically create) the mappers for the parents of a field with dots in the field name - Automatically upgrade analyzed strings with an analyzer to `text`. - Support dots in field names when mapping already exists - Use the new points API to index numeric fields. - Simplify AllEntries, AllField and AllFieldMapper: - Make `parseMultiField` part of `parseField`. - Automatically add a sub keyword field to string dynamic mappings. - Remove friction from the mapping changes in 5.0. - Rework norms parameters for 5.0. - Moved dynamic field handling in doc parsing to end of parsing - Remove the MapperBuilders utility class. - Make the `index` property a boolean. - Remove the ability to enable doc values with the `fielddata.format` setting. - Be stricter about parsing boolean values in mappings. - Fix default doc values to be enabled when a field is not indexed. - Dynamically map floating-point numbers as floats instead of doubles. - Simplify MetaDataMappingService. - Remove MergeMappingException. Network:: - Avoid early initializing Netty - Network: Allow to listen on virtual interfaces. - Explicitly tell Netty to not use unsafe - Enable Netty 4 extensions - Modularize netty - Simplify TcpTransport interface by reducing send code to a single send method - Do not start scheduled pings until transport start Packaging:: - Add quiet option to disable console logging - Explicitly disable Netty key set replacement - Remove explicit parallel new GC flag - Use JAVA_HOME or java.exe in PATH like the Linux scripts do - Don't mkdir directly in deb init script - Increase default heap size to 2g - Switch init.d scripts to use bash - Switch scripts to use bash - Further simplifications of plugin script - Pass ES_JAVA_OPTS to JVM for plugins script - Remove unnecessary sleep from init script restart - Explicitly set packaging permissions - rpm uses non-portable `--system` flag to `useradd` - Adding JAVA_HOME to documents and env config file - Added RPM metadata - Elasticsearch ownership for data, logs, and configs - Fail early on JDK with compiler bug - Make security non-optional - Remove RuntimePermission("accessDeclaredMembers") - Remove Guava as a dependency - Remove Guava as a dependency Percolator:: - Also support query term extract for queries wrapped inside a FunctionScoreQuery - Add support for synonym query to percolator query term extraction - Add percolator query extraction support for dismax query - Improve percolate query performance by not verifying certain candidate matches - Improve percolator query term extraction - PercolatorQueryBuilder cleanup by using MemoryIndex#fromDocument(...) helper - Add scoring support to the percolator query - Add query extract support for the blended term query and the common terms query - Add support for several span queries in ExtractQueryTermsService - Add support for TermsQuery in ExtractQueryTermsService - Replace percolate APIs with a percolator query Plugin Analysis Kuromoji:: - Add nbest options and NumberFilter Plugin Discovery EC2:: - Use `DefaultAWSCredentialsProviderChain` AWS SDK class for credentials - Support new Asia Pacific (Mumbai) ap-south-1 AWS region - Add support for proxy authentication for s3 and ec2 Plugin Discovery GCE:: - Allow `_gce_` network when not using discovery gce Plugin Ingest Attachment:: - Minor attachment processor improvements Plugin Lang Painless:: - Disable regexes by default in painless - Catch OutOfMemory and StackOverflow errors in Painless - Change Painless Tree Structure for Variable/Method Chains - Add replaceAll and replaceFirst - Painless Initializers - Add augmentation - Infer lambda arguments/return type - Fix explicit casts and improve tests. - Add lambda captures - improve Debugger to print code even if it hits exception - Move semicolon hack into lexer - Add flag support to regexes - improve lambda syntax (allow single expression) - Remove useless dropArguments in megamorphic cache - non-capturing lambda support - fix bugs in operators and more improvements for the dynamic case - improve unary operators and cleanup tests - Add support for the find operator (=~) and the match operator (==~) - Remove casts and boxing for dynamic math - Refactor def math - Add support for /regex/ - Array constructor references - Method references to user functions - Add } as a delimiter. - Add Lambda Stub Node - Add capturing method references - Add Functions to Painless - Add Method to Get New MethodWriters - Static For Each - Method reference support - Add support for the new Java 9 MethodHandles#arrayLength() factory - Improve painless compile-time exceptions - add java.time packages to painless whitelist - Add Function Reference Stub to Painless - improve painless whitelist coverage of java api - Definition cleanup - Made def variable casting consistent with invokedynamic rules - Use Java 9 Indy String Concats, if available - Add method overloading based on arity - Refactor WriterUtils to extend ASM GeneratorAdapter - Whitelist expansion - Remove boxing when loading and storing values in "def" fields/arrays, remove boxing onsimple method calls of "def" methods - Some cleanups - Use isAssignableFrom instead of relying on ClassCastException - Build descriptor of array and field load/store in code - Rename the dynamic call site factory to DefBootstrap - Cleanup of DynamicCallSite - Improve exception stacktraces - Make Line Number Available in Painless - Remove input, support params instead - Decouple ANTLR AST from Painless - _value support in painess? - Long priority over Float - _score as double, not float - Add 'ctx' keyword to painless. - Painless doc access - Retrieve _score directly from Scorer - Implement needsScore() correctly. - Add synthetic length property as alias to Lists, so they can be used like arrays - Use better typing for dynamic method calls - Array load/store and length with invokedynamic - Switch painless dynamic calls to invokedynamic, remove perf hack/cheat - Add fielddata accessors (.value/.values/.distance()/etc) - painless: optimize/simplify dynamic field and method access - Painless: Single-Quoted Strings - Painless Clean Up - Make Painless a Module - Minor Clean up - Remove Extra String Concat Token Plugin Mapper Attachment:: - minor attachments cleanups: IDE test support and EPUB format Plugin Mapper Size:: - Add doc values support to the _size field in the mapper-size plugin Plugin Repository Azure:: - Support global `repositories.azure.` settings - Add timeout settings (default to 5 minutes) - Remove AbstractLegacyBlobContainer Plugin Repository HDFS:: - merge current hdfs improvements to master Plugin Repository S3:: - Extract AWS Key from KeyChain instead of using potential null value - Check that S3 setting `buffer_size` is always lower than `chunk_size` Plugins:: - Revert "Display plugins versions" - Provide error message when plugin id is missing - Print message when removing plugin with config - Plugins: Update official plugin location with unified release - Allow plugins to upgrade global custom metadata on startup - Switch aggregations from push to pull - Display plugins versions - Add ScriptService to dependencies available for plugin components - Make NamedWriteableRegistry immutable and add extension point for named writeables - Log one plugin info per line - Make rest headers registration pull based - Add resource watcher to services available for plugin components - Add some basic services to createComponents for plugins - Make plugins closeable - Plugins: Add status bar on download - Add did-you-mean for plugin cli - Plugins: Remove name() and description() from api - Emit nicer error message when trying to install unknown plugin - Add plugin information for Verbose mode - Cli: Improve output for usage errors - Cli: Add verbose output with zip url when installing plugin - PluginManager: Add xpack as official plugin - CliTool: Cleanup and document Terminal - Plugin cli: Improve maven coordinates detection - Enforce plugin zip does not contain zip entries outside of the plugin dir - CliTool: Allow unexpected exceptions to propagate - Reduce complexity of plugin cli - Remove Plugin.onIndexService. - Open up QueryCache and SearcherWrapper extension points Query DSL:: - Throw exception when multiple field names are provided as part of query short syntax - Query parsers to throw exception when multiple field names are provided - Allow empty json object in request body in `_count` API - Treat zero token in `common` terms query as MatchNoDocsQuery - Handle empty query bodies at parse time and remove EmptyQueryBuilder - Enforce MatchQueryBuilder#maxExpansions() to be strictly positive - Don't allow `fuzziness` for `multi_match` types `cross_fields`, `phrase` and `phrase_prefix` - Add MatchNoDocsQuery, a query that matches no documents and prints the reason why in the toString method. - Adds `ignore_unmapped` option to geo queries - Adds `ignore_unmapped` option to nested and P/C queries - SimpleQueryParser should call MappedFieldType.termQuery when appropriate. - An `exists` query on an object should query a single term. - Function Score Query: make parsing stricter - Parsers should throw exception on unknown objects - UNICODE_CHARACTER_CLASS fix Query Refactoring:: - Add infrastructure to rewrite query builders - Switch geo validation to enum REST:: - Add a REST spec for the create API - Add response params to REST params did you mean - Add did you mean to strict REST params - Add exclusion support to response filtering - Only write forced_refresh if we forced a refresh - Add Location header to the index, update, and create APIs - Add support for `wait_for_events` to the `_cluster/health` REST endpoint - Rename Search Template REST spec names - Adding status field in _msearch error request bodies - Add semicolon query string parameter delimiter - Enable HTTP compression by default with compression level 3 - Allow JSON with unquoted field names by enabling system property - More robust handling of CORS HTTP Access Control - Add option to exclude based on paths in XContent Recovery:: - Pass on maxUnsafeAutoIdTimestamp on recovery / relocation - Non-blocking primary relocation hand-off - index shard should be able to cancel check index on close. - TransportNodesListGatewayStartedShards should fall back to disk based index metadata if not found in cluster state - Recover broken IndexMetaData as closed - Relocation source should be marked as relocating before starting recovery to primary relocation target - Operation counter for IndexShard - Primary relocation handoff - Remove recovery threadpools and throttle outgoing recoveries on the master - Refactor StoreRecoveryService to be a simple package private util class Reindex API:: - Only ask for `_version` we need it - Use fewer threads when reindexing-from-remote - Support authentication with reindex-from-remote - Support requests_per_second=-1 to mean no throttling in reindex - Implement ctx.op = "delete" on _update_by_query and _reindex - Make Reindex cancellation tests more uniform - Makes DeleteByQueryRequest implements IndicesRequest - Teach reindex to retry on search failures - Remove ReindexResponse in favor of BulkIndexByScrollResponse - Stricter validation of Reindex's requests_per_second - Properly mark reindex's child tasks as child tasks - Make reindex throttling dynamic - Throttling support for reindex - Add ingest pipeline support to reindex Scripting:: - Parse script on storage instead of on retrieval - Migrate elasticsearch native script examples to the main repo - Remove ClusterState from compile api - Mustache: Render Map as JSON - Compile each Groovy script in its own classloader - Include script field even if it value is null - Skipping hidden files compilation for script service - Rename Plan A to Painless - Add plumbing for script compile-time parameters - Factor mustache -> modules/lang-mustache Scroll:: - Add an index setting to limit the maximum number of slices allowed in a scroll request. Search:: - Limit batch size when scrolling - Record method counts while profiling query components - Change default similarity to BM25 - Add a parameter to cap the number of searches the msearch api will concurrently execute - Introduces GeoValidationMethod to GeoDistanceSortBuilder - Switches from empty boolean query to matchNoDocs - Allow binary sort values. - Fail query if it contains very large rescores - Type filters should not have a performance impact when there is a single type. - Store _all payloads on 1 byte instead of 4. - Refuse to load fields from _source when using the `fields` option and support wildcards. - Add response into ClearScrollResponse - Shuffle shards for _only_nodes + support multiple specifications like cluster API Search Refactoring:: - Removes the now obsolete SearchParseElement implementations - Remove RescoreParseElement - Remove HighlighterParseElement - Move top level parsing of sort element to SortBuilder - Switch to using refactored SortBuilder instead of using BytesReference in serialization - Add build() method to SortBuilder implementations - Refactoring of Suggestions - Move sort `order` field up into SortBuilder - Moves SortParser:parse(...) to only require QueryShardContext - Change internal representation of suggesters - Make GeoDistanceSortBuilder serializable, 2nd try - Move missing() from SortBuilder interface to class - Remove deprecated parameters from ScriptSortBuilder - Refactor GeoSortBuilder - Refactor FieldSortBuilder - Make sort order enum writable. - Make DistanceUnit writable. - RescoreBuilder: Add parsing and creating of RescoreSearchContext - Make RescoreBuilder and nested QueryRescorer Writable - Explain api: move query parsing to the coordinating node - Switch query parsers to use ParseField - Refactoring of Aggregations Sequence IDs:: - Persist sequence number checkpoints - Add sequence numbers to cat shards API Settings:: - Add precise logging on unknown or invalid settings - Make `action.auto_create_index` setting a dynamic cluster setting - Removes space between # and the setting in elasticsearch.yml - Validates new dynamic settings from the current state - Improve error message if a setting is not found - Cleanup placeholder replacement - Switch to registered Settings for all IndexingMemoryController settings - Add guard against null-valued settings - Useful error message for null property placeholder - Archive cluster level settings if unknown or broken - Improve error message if setting is not found - Improve upgrade experience of node level index settings - Settings with complex matchers should not overlap - Moves GCE settings to the new infra - Add filtering support within Setting class - Migrate AWS settings to new settings infrastructure - Remove `gateway.initial_meta` and always rely on min master nodes - Rewrite SettingsFilter to be immutable - Simplify azure settings - Convert PageCacheRecycler settings - Monitor settings - Cut over tribe node settings to new settings infra - Convert multcast plugin settings to the new infra - Convert `request.headers.*` to the new settings infra - Migrate Azure settings to new settings infrastructure - Validate logger settings and allow them to be reset via API - Switch NodeEnvironment's settings to new settings - Simplify AutoCreateIndex and add more tests - Convert several pending settings - Migrate query caching settings to the new settings infra. - Convert `action.auto_create_index` and `action.master.force_local` to the new settings infra - Convert `cluster.routing.allocation.type` and `processors` to the new settings infra. - Validate tribe node settings on startup - Move node.client, node.data, node.master, node.local and node.mode to new settings infra - Moved http settings to the new settings infrastructure - Migrate network service to the new infra - Convert client.transport settings to new infra - Move discovery.* settings to new Setting infrastructure - Change over to o.e.common.settings.Setting for http settings - Convert "path.*" and "pidfile" to new settings infra - Migrate repository settings to the new settings API - Convert "indices.*" settings to new infra. - Migrate gateway settings to the new settings API. - Convert several node and test level settings - Run Metadata upgrade tool on every version - Check for invalid index settings on metadata upgrade - Validate the settings key if it's simple chars separated by `.` - Validate known global settings on startup - Cut over all index scope settings to the new setting infrastrucuture - Remove updatability of `index.flush_on_close` - Move all dynamic settings and their config classes to the index level - Always require units for bytes and time settings - Make MetaData parsing less lenient. - Move async translog sync logic into IndexService - Remove `index.merge.scheduler.notify_on_failure` and default to `true` - Remove cache concurrency level settings that no longer apply Similarities:: - Defining a global default similarity Snapshot/Restore:: - Delete differing files in the store before restoring - Adds ignoreUnavailable option to the snapshot status API - Check restores in progress before deleting a snapshot - Snapshot repository cleans up empty index folders - BlobContainer#writeBlob no longer can overwrite a blob - More resilient blob handling in snapshot repositories - Adding repository index generational files - Raised IOException on deleteBlob - Adds UUIDs to snapshots - Clarify the semantics of the BlobContainer interface - Change BlobPath.buildAsString() method - Remove the Snapshot class in favor of using SnapshotInfo Stats:: - Add mem section back to cluster stats - Add network types to cluster stats - Add missing field type in the FieldStats response. - Expose the ClusterInfo object in the allocation explain output - Add total_indexing_buffer/_in_bytes to nodes info API - Allow FieldStatsRequest to disable cache - Remove index_writer_max_memory stat from segment stats - Move DocStats under Engine to get more accurate numbers - Do not return fieldstats information for fields that exist in the mapping but not in the index. - Add whether the shard state fetch is pending to the allocation explain API - Add Failure Details to every NodesResponse - Add I/O statistics on Linux - Add points to SegmentStats. - Remove FieldStats.Float. - Show configured and remaining delay for an unassigned shard. - indexing stats now contain indexing ops from recovery [ISSUE] - Normalize unavailable load average - Add load averages to OS stats on FreeBSD - Expose pending cluster state queue size in node stats Store:: - Use `mmapfs` by default. - Remove support for legacy checksums - Rename index folder to index_uuid Suggesters:: - Move SuggestUtils methods to their respective caller classes - Remove payload option from completion suggester - Add bwc support for reading pre-5.0 completion index Task Manager:: - Rename Task Persistence into Storing Task Results - Fetch result when wait_for_completion - Create get task API that falls back to the .tasks index - Add ability to store results for long running tasks - Move parentTaskId into TransportRequest - Shorten the serialization of the empty TaskId - Expose whether a task is cancellable in the _tasks list API - Add ability to group tasks by common parent - Add start time and duration to tasks - Combine node name and task id into single string task id - Add task status - Extend tracking of parent tasks to master node, replication and broadcast actions Translog:: - Fsync documents in an async fashion - Add checksumming and versions to the Translog's Checkpoint files - Beef up Translog testing with random channel exceptions - Do not replay into translog on local recovery - FSync translog outside of the writers global lock - Remove ChannelReference and simplify Views - Simplify TranslogWriter to always write to a stream - Remove TranslogService and fold it into synchronous IndexShard API === Bug fixes Aggregations:: - Fixed writeable name from range to geo_distance - Fix date_range aggregation to not cache if now is used - The `top_hits` aggregation should compile scripts only once. - Fix agg profiling when using breadth_first collect mode - Throw exception when maxBounds greater than minBounds - Undeprecates `aggs` in the search request - Change how `nested` and `reverse_nested` aggs know about their nested depth level - Make ExtendedBounds immutable - Aggregations fix: support include/exclude strings for IP and dates - Fix xcontent rendering of ip terms aggs. - Improving parsing of sigma param for Extended Stats Bucket Aggregation - Fixes NPE when no window is specified in moving average request - Fixes Filter and FiltersAggregation to work with empty query - Fixes the defaults for `keyed` in the percentiles aggregations - Correct typo in class name of StatsAggregator Allocation:: - Keep a shadow replicas' allocation id when it is promoted to primary - IndicesClusterStateService should clean local started when re-assigns an initializing shard with the same aid - IndexRoutingTable.initializeEmpty shouldn't override supplied primary RecoverySource - Update incoming recoveries stats when shadow replica is reinitialized - `index.routing.allocation.initial_recovery` limits replica allocation - Upon being elected as master, prefer joins' node info to existing cluster state - Fix NPE when initializing replica shard has no UnassignedInfo - Make shard store fetch less dependent on the current cluster state, both on master and non data nodes - Fix recovery throttling to properly handle relocating non-primary shards - Replica shards must be failed before primary shards Analysis:: - Named analyzer should close the analyzer that it wraps - Can load non-PreBuiltTokenFilter in Analyze API - Fix analyzer alias processing Bulk:: - Add not-null precondition check in BulkRequest CAT API:: - Fixes cat tasks operation in detailed mode - Add index pattern wildcards support to _cat/shards CRUD:: - GET operations should not extract fields from `_source`. - Squash a race condition in RefreshListeners - Prevent TransportReplicationAction to route request based on stale local routing table - Resolves the conflict between alias routing and parent routing by applying the alias routing and ignoring the parent routing. Cache:: - Prevent requests that use scripts or now() from being cached - Serialize index boost and phrase suggest collation keys in a consistent order Circuit Breakers:: - Never trip circuit breaker in liveness request - Free bytes reserved on request breaker Cluster:: - Fixes issue with dangling index being deleted instead of re-imported - Allow routing table to be filtered by index pattern - Use executor's describeTasks method to log task information in cluster service - Acknowledge index deletion requests based on standard cluster state acknowledgment - Dangling indices are not imported if a tombstone for the index exists - Fix issue with tombstones matching active indices in cluster state - Shard state action channel exceptions Core:: - Makes `m` case sensitive in TimeValue - Guard against negative result from FileStore.getUsableSpace when picking data path for a new shard - Handle rejected execution exception on reschedule - Fix concurrency bug in IMC that could cause it to check too infrequently - Iterables.flatten should not pre-cache the first iterator - Avoid race while retiring executors - Refactor UUID-generating methods out of Strings - Node names cleanup - NullPointerException from IndexingMemoryController when a version conflict happens during recovery - Handle RejectedExecution gracefully in TransportService during shutdown Discovery:: - Update discovery nodes after cluster state is published - Add current cluster state version to zen pings and use them in master election Engine:: - Take refresh IOExceptions into account when catching ACE in InternalEngine - Don't suppress AlreadyClosedException Expressions:: - replace ScriptException with a better one Geo:: - Incomplete results when using geo_distance for large distances [ISSUE] - Fix multi-field support for GeoPoint types - Enforce distance in distance query is > 0 [ISSUE] Highlighting:: - Enable BoostingQuery with FVH highlighter Index APIs:: - Fixes active shard count check in the case of `all` shards - Add zero-padding to auto-generated rollover index name increment Ingest:: - no null values in ingest configuration error messages - JSON Processor was not properly added - Don't rebuild pipeline on every cluster state update - Add dotexpander processor - Fix NPE when simulating a pipeline with no id - Change foreach processor to use ingest metadata for array element - No other processors should be executed after on_failure is called - rethrow script compilation exceptions into ingest configuration exceptions - Rename from `ingest-useragent` plugin to `ingest-user-agent` and its processor from `useragent` to `user_agent` - Fix ignore_failure behavior in _simulate?verbose and more cleanup - Pipeline Stats: Fix concurrent modification exception - Validate properties values according to database type - Ingest does not close its factories - Handle regex parsing errors in Gsub and Grok Processors - add on_failure exception metadata to ingest document for verbose simulate - The IngestDocument copy constructor should make a deep copy Inner Hits:: - Ensure that that InnerHitBuilder uses rewritten queries Internal:: - Prevent AbstractArrays from release bytes more than once - IndicesAliasesRequest should not implement CompositeIndicesRequest - Ensure elasticsearch doesn't start with unuspported indices - Remove ListTasksResponse#setDiscoveryNodes() - Priority values should be unmodifiable - Extract AbstractBytesReferenceTestCase - Add XPointValues - Fix BulkItemResponse.Failure.toString - Enable unmap hack for java 9 - Fix issues with failed cache loads - Allow parser to move on the START_OBJECT token when parsing search source - Ensure searcher is release if wrapping fails - Avoid deadlocks in Cache#computeIfAbsent Java API:: - fix IndexResponse#toString to print out shards info - Add NamedWriteables from plugins to TransportClient - Fix potential NPE in SearchSourceBuilder Java REST Client:: - Rest Client: add slash to log line when missing between host and uri - Rest Client: HostsSniffer to set http as default scheme Logging:: - Fix logger when you can not create an azure storage client - Avoid unnecessary creation of prefix loggers - Fix logging hierarchy configs - Fix prefix logging - Hack around Log4j bug rendering exceptions - Avoid prematurely triggering logger initialization - Only log running out of slots when out of slots Mapping:: - Allow position_gap_increment for fields in indices created prior to 5.0 - Validate blank field name - Better error message when mapping configures null - Make doc_values accessible for _type - Fix and test handling of `null_value`. - Fail automatic string upgrade if the value of `index` is not recognized. - Fix dynamic check to properly handle parents - Fix array parsing to remove its context when finished parsing - Disallow fielddata loading on text fields that are not indexed. - Make dynamic template parsing less lenient. - Fix dynamic mapper when its parent already has an update - Fix copy_to when the target is a dynamic object field. - Preserve existing mappings on batch mapping updates Network:: - Fix connection close header handling - Ensure port range is readable in the exception message - Fix expect 100 continue header handling - Fixes netty4 module's CORS config to use defaults - Fix various concurrency issues in transport - Verify lower level transport exceptions don't bubble up on disconnects Packaging:: - [Packaging] Do not remove scripts directory on upgrade - [Package] Remove bin/lib/modules directories on RPM uninstall/upgrade - Fix handling of spaces for jvm.options on Windows - Disable service in pre-uninstall - Remove extra bin/ directory in bin folder - Filter client/server VM options from jvm.options - Preserve config files from RPM install - Fix typo in message for variable setup ES_MAX_MEM - Don't run `mkdir` when $DATA_DIR contains a comma-separated list - Fix exit code - Set MAX_OPEN_FILES to 65536 - [windows] Service command still had positional start command - Do not pass double-dash arguments on startup Parent/Child:: - Make sure that no `_parent#null` gets introduces as default _parent mapping Percolator:: - Fail indexing percolator queries containing either a has_child or has_parent query - Add support for MatchNoDocsQuery in percolator's query terms extract service - Let PercolatorQuery's explain use the two phase iterator Plugin Discovery Azure Classic:: - Make discovery-azure plugin work again Plugin Discovery EC2:: - Fix EC2 discovery settings - Add TAG_SETTING to list of allowed tags for the ec2 discovery plugin. - Fix EC2 Discovery settings Plugin Discovery GCE:: - Fix NPE when GCE region is empty Plugin Ingest Attachment:: - Adds content-length as number Plugin Ingest GeoIp:: - [ingest-geoip] update geoip to not include null-valued results from Plugin Lang Painless:: - Fix String Concatenation Bug In Painless - Fix break bug in for/foreach loops. - Fix compound assignment with string concats - Fix horrible capture - Fix Casting Bug - Remove Grammar Ambiguities - Remove if/else ANTLR ambiguity. - Fix insanely slow compilation - Fix Bug in Painless Assignment - Fix bracket shortcuts Plugin Repository Azure:: - Register group setting for repository-azure accounts - Fix azure files removal Plugin Repository S3:: - Fixes leading forward slash in S3 repository base_path - Add missing permission to repository-s3 - Fix repository S3 Settings and add more tests Plugin Store SMB:: - Fix calling ensureOpen() on the wrong directory (master forwardport) Plugins:: - Use sysprop like with es.path.home to pass conf dir - Quote path to java binary - CliTool: Messages printed in Terminal should have percent char escaped Query DSL:: - Fixes MultiMatchQuery so that it doesn't provide a null context - Fix silently accepting malformed queries - query_string_query should take term length into consideration when fuzziness is auto - Throw ParsingException if a query is wrapped in an array - Restore parameter name auto_generate_phrase_queries - Resolve string dates and date math to millis before evaluating for rewrite in range query - `constant_score` query should throw error on more than one filter - Single IPv4 addresses in IP field term queries - Make strategy optional in GeoShapeQueryBuilder readFrom and writeTo Query Refactoring:: - Query refactoring: set has_parent & has_child types context properly - Make sure equivalent geohashCellQueries are equal after toQuery called REST:: - Remove lenient URL parameter parsing - Fixes CORS handling so that it uses the defaults - Get XContent params from request in Nodes rest actions - Fixes reading of CORS pre-flight headers and methods Recovery:: - Fix concurrency issues between cancelling a relocation and marking shard as relocated - Move `reset recovery` into RecoveriesCollection - Fix replica-primary inconsistencies when indexing during primary relocation with ongoing replica recoveries - Invoke `IndexingOperationListeners` also when recovering from store or remote - Prevent interruption while store checks lucene files for consistency - Mark shard as recovering on the cluster state thread Reindex API:: - Fix reindex with transport client - Fix a race condition in reindex's rethrottle - Reindex should never report negative throttled_until - Reindex should gracefully handle when _source is disabled Scripting:: - Add support for booleans in scripts - Fix Javascript OOM build Failure - Fix propagating the default value for script settings - Catch and wrap AssertionError and NoClassDefFoundError in groovy scripts Search:: - Do not cache script queries. - Throw error when trying to fetch fields from source and source is disabled - Source filtering should keep working when the source contains numbers greater than `Long.MAX_VALUE`. - Fix NPE when running a range query on a `scaled_float` with no upper bound. - Fix NPE during search with source filtering if the source is disabled. - Restore assignment of time value when deserializing a scroll instance - Fix explain output for dfs query - Don't recursively count children profile timings - fix explain in function_score if no function filter matches - Fix NPEs due to disabled source - Require timeout units when parsing query body - Close SearchContext if query rewrite failed - Fix parsing single `rescore` element in SearchSourceBuilder - Fail queries on not indexed fields. - Fix for search after - Do not be lenient when parsing CIDRs Settings:: - Fix Setting.timeValue() method - Add a hard limit for `index.number_of_shard` - Include complex settings in settings requests - Fix filter cache setting to allow percentages - Move cluster.routing.allocation.same_shard.host setting to new settings infrastructure - Validate settings against dynamic updaters on the master - Register "cloud.node.auto_attributes" setting in EC2 discovery plugin - Use object equality to compare versions in IndexSettings - fix exists method for list settings when using numbered setting format - convert settings for ResourceWatcherService to new infrastructure - Register bootstrap settings - Add settings filtering to node info requests - Ban write access to system properties Snapshot/Restore:: - Better handling of an empty shard's segments_N file - Fix race condition in snapshot initialization - Fix the semantics for the BlobContainer interface Stats:: - Fix FieldStats deserialization of `ip` field - Fix serialization bug in allocation explain API. - Allocation explain: Also serialize `includeDiskInfo` field - Add missing builder.endObject() in FsInfo Store:: - Tighten up concurrent store metadata listing and engine writes - Make static Store access shard lock aware - Catch assertion errors on commit and turn it into a real exception Task Manager:: - Shard level tasks in Bulk Action lose reference to their parent tasks - Take filterNodeIds into consideration while sending task requests to nodes Term Vectors:: - Fix calculation of took time of term vectors request Translog:: - Fix RAM usage estimation of LiveVersionMap. - Fix translog replay multiple operations same doc - Snapshotting and sync could cause a dead lock TranslogWriter - Move translog recover outside of the engine - Mark shard active during recovery; push settings after engine finally inits === Regressions Highlighting:: - Handle SynonymQuery extraction for the FastVectorHighlighter === Upgrades Core:: - Upgrade to Lucene 6.2.0 - Update to jackson 2.8.1 - Upgrade to Lucene 6.1.0. - Upgrade to lucene-6.1.0-snapshot-3a57bea. - Upgrade to Lucene 6.0.1. - Upgrade to lucene 6 release - Upgrade to lucene-6.0.0-f0aa4fc. - upgrade to lucene 6.0.0-snapshot-bea235f - Upgrade to Jackson 2.7.1 Ingest:: - Update MaxMind geoip2 version to 2.6 Internal:: - Bump master (3.0-snapshot) to java 8 Network:: - Upgrade to Netty 4.1.5 - Dependencies: Upgrade to netty 4.1.4 - Introduce Netty 4 Packaging:: - Upgrade JNA to 4.2.2 and remove optionality Plugin Discovery EC2:: - Update aws sdk to 1.10.69 and add use_throttle_retries repository setting Scripting:: - Dependencies: Updates to mustache 0.9.3 Search Templates:: - Update mustache.java to version 0.9.1
2016-11-08 10:18:00 +01:00
lib/elasticsearch/modules/lang-expression/plugin-descriptor.properties
lib/elasticsearch/modules/lang-expression/plugin-security.policy
lib/elasticsearch/modules/lang-groovy/groovy-2.4.6-indy.jar
lib/elasticsearch/modules/lang-groovy/lang-groovy-${PKGVERSION}.jar
lib/elasticsearch/modules/lang-groovy/plugin-descriptor.properties
lib/elasticsearch/modules/lang-groovy/plugin-security.policy
lib/elasticsearch/modules/lang-mustache/compiler-0.9.3.jar
lib/elasticsearch/modules/lang-mustache/lang-mustache-${PKGVERSION}.jar
lib/elasticsearch/modules/lang-mustache/plugin-descriptor.properties
lib/elasticsearch/modules/lang-mustache/plugin-security.policy
lib/elasticsearch/modules/lang-painless/antlr4-runtime-4.5.1-1.jar
lib/elasticsearch/modules/lang-painless/asm-debug-all-5.1.jar
lib/elasticsearch/modules/lang-painless/lang-painless-${PKGVERSION}.jar
lib/elasticsearch/modules/lang-painless/plugin-descriptor.properties
lib/elasticsearch/modules/lang-painless/plugin-security.policy
lib/elasticsearch/modules/percolator/percolator-${PKGVERSION}.jar
lib/elasticsearch/modules/percolator/plugin-descriptor.properties
lib/elasticsearch/modules/reindex/commons-codec-1.10.jar
lib/elasticsearch/modules/reindex/commons-logging-1.1.3.jar
lib/elasticsearch/modules/reindex/httpasyncclient-4.1.2.jar
lib/elasticsearch/modules/reindex/httpclient-4.5.2.jar
lib/elasticsearch/modules/reindex/httpcore-4.4.5.jar
lib/elasticsearch/modules/reindex/httpcore-nio-4.4.5.jar
lib/elasticsearch/modules/reindex/plugin-descriptor.properties
lib/elasticsearch/modules/reindex/reindex-${PKGVERSION}.jar
lib/elasticsearch/modules/reindex/rest-${PKGVERSION}.jar
lib/elasticsearch/modules/transport-netty3/netty-3.10.6.Final.jar
lib/elasticsearch/modules/transport-netty3/plugin-descriptor.properties
lib/elasticsearch/modules/transport-netty3/plugin-security.policy
lib/elasticsearch/modules/transport-netty3/transport-netty3-${PKGVERSION}.jar
Update databases/elasticsearch to 5.4.1. === Enhancements Aggregations:: - Allow scripted metric agg to access `_score` Core:: - Improve bootstrap checks error messages Internal:: - Log JVM arguments on startup Network:: - Disable the Netty recycler in the client - Remove Netty logging hack - Set available processors for Netty Snapshot/Restore:: - Ensure every repository has an incompatible-snapshots blob Stats:: - Show JVM arguments === Bug fixes Aggregations:: - Fix ArrayIndexOutOfBoundsException when no ranges are specified in the query Allocation:: - Discard stale node responses from async shard fetching Core:: - Fix cache expire after access Index APIs:: - Fix legacy GeoPointField decoding in FieldStats - Validates updated settings on closed indices Internal:: - Remove `_UNRELEASED` from Version constants for released versions - Avoid race when shutting down controller processes - Fix NPE if field caps request has a field that exists not in all indices More Like This:: - Pass over _routing value with more_like_this items to be retrieved Network:: - Notify onConnectionClosed rather than onNodeDisconnect to prune transport handlers - SniffNodesSampler should close connection after handling responses Packaging:: - Handle parentheses in batch file path Percolator:: - Fix range queries with date range based on current time in percolator queries. Plugin Repository HDFS:: - Fixing permission errors for `KERBEROS` security mode for HDFS Repository Plugins:: - X-Pack plugin download fails on Windows desktop [ISSUE] - Fix plugin installation permissions Reindex API:: - 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:: - Fix ExpandSearchPhase when response contains no hits - Include all aliases including non-filtering in `_search_shards` response Settings:: - Allow resetting settings that use an IP validator Snapshot/Restore:: - Removes completed snapshot from cluster state on master change - Fix inefficient (worst case exponential) loading of snapshot repository === Upgrades Core:: - Upgrade to Lucene 6.5.1 Network:: - Upgrade to Netty 4.1.11.Final - Upgrade Netty to 4.1.10.Final
2017-06-14 15:49:35 +02:00
lib/elasticsearch/modules/transport-netty4/netty-buffer-4.1.11.Final.jar
lib/elasticsearch/modules/transport-netty4/netty-codec-4.1.11.Final.jar
lib/elasticsearch/modules/transport-netty4/netty-codec-http-4.1.11.Final.jar
lib/elasticsearch/modules/transport-netty4/netty-common-4.1.11.Final.jar
lib/elasticsearch/modules/transport-netty4/netty-handler-4.1.11.Final.jar
lib/elasticsearch/modules/transport-netty4/netty-resolver-4.1.11.Final.jar
lib/elasticsearch/modules/transport-netty4/netty-transport-4.1.11.Final.jar
Update databases/elasticsearch to 5.0.0. * Now requires JDK 8.0. * Use a different installation layout as some location are now impossible to change without patching the Java sources. === Breaking changes in 5.0 === Migration Plugin - The elasticsearch-migration plugin (compatible with Elasticsearch 2.3.0 and above) will help you to find issues that need to be addressed when upgrading to Elasticsearch 5.0. Indices created before 5.0 - Elasticsearch 5.0 can read indices created in version 2.0 or above. An Elasticsearch 5.0 node will not start in the presence of indices created in a version of Elasticsearch before 2.0. - Indices created in Elasticsearch 1.x or before will need to be reindexed with Elasticsearch 2.x in order to be readable by Elasticsearch 5.x. It is not sufficient to use the upgrade API. === Breaking changes Aggregations:: - Remove size 0 options in aggregations Aliases:: - make get alias expand to open and closed indices by default - Remove deprecated indices.get_aliases Allocation:: - Remove DisableAllocationDecider Analysis:: - Remove `token_filter` in _analyze API - Removes support for adding aliases to analyzers - Analyze API : Rename filters/token_filters/char_filter in Analyze API in master CAT API:: - Improve cat thread pool API - Row-centric output for _cat/fielddata - Add raw recovery progress to cat recovery API - Remove host from cat nodes API - Using the accept header in the request instead of content-type in _cat API. CRUD:: - Fixed naming inconsistency for fields/stored_fields in the APIs - Disallow creating indices starting with '-' or '+' - Wait for changes to be visible by search - Remove object notation for core types. Cache:: - Remove deprecated query cache settings Cluster:: - Persistent Node Ids - Remove validation errors from cluster health response - Remove memory section Core:: - Remove ignore system bootstrap checks - Remove minimum master nodes bootstrap check - Keep input time unit when parsing TimeValues - Remove cluster name from data path - Add max number of processes check - Add mlockall bootstrap check - One log Engine:: - Optimize indexing for the autogenerated ID append-only case - Remove `index.compound_on_flush` setting and default to `true` Exceptions:: - Die with dignity Fielddata:: - Remove "uninverted" and "binary" fielddata support for numeric and boolean fields. Geo:: - Deprecate GeoDistance enums and remove geo distance script helpers Index APIs:: - Removes write consistency level across replication action APIs in favor of wait_for_active_shards - Remove `GET` option for /_forcemerge - Remove /_optimize REST API endpoint Indexed Scripts/Templates:: - Store indexed scripts in the cluster state instead of the `.scripts` index Inner Hits:: - Also do not serialize `_index` key in search response for parent/child inner hits - Don't include `_id`, `_type` and `_index` keys in search response for inner hits - Nested inner hits shouldn't use relative paths - Drop top level inner hits in favour of inner hits defined in the query dsl Internal:: - `_flush` should block by default - Actually bound the generic thread pool - Remove support for pre 2.0 indices Logging:: - Introduce Log4j 2 Mapping:: - Remove `_timestamp` and `_ttl` on 5.x indices. - Add a soft limit on the mapping depth. - Disable fielddata on text fields by defaults. - Add limit to total number of fields in mapping - Change the field mapping index time boost into a query time boost. - Deprecate string in favor of text/keyword. - Term vector APIs should no longer update mappings - Remove the `format` option of the `_source` field. - Remove transform Packaging:: - Rename service.bat to elasticsearch-service.bat - Remove -D handling in args for windows plugin script - Set default min heap equal to default max heap - Remove allow running as root - Require /bin/bash in packaging - Remove plugin script parsing of system properties - Add JVM options configuration file Parent/Child:: - Removed `total` score mode in favour for `sum` score mode. - Removed pre 2.x parent child implementation Percolator:: - Remove `.percolator` type in favour of `percolator` field type - Change the percolate api to not dynamically add fields to mapping Plugin Delete By Query:: - Remove Delete-By-Query plugin Plugin Lang Painless:: - Remove all date 'now' methods from Painless - Make Painless the Default Language Plugins:: - Plugins cleanup - Rename bin/plugin in bin/elasticsearch-plugin - Change the inner structure of the plugins zip - Remove multicast plugin - Plugins: Remove site plugins Query DSL:: - Lessen leniency of the query dsl. - Function score query: remove deprecated support for boost_factor - Remove support for deprecated queries. REST:: - Change separator for shards preference - Parameter improvements to Cluster Health API wait for shards - Switch indices.exists_type from `{index}/{type}` to `{index}/_mapping/{type}`. - Only use `PUT` for index creation, not POST. - Remove camelCase support - Remove 'case' parameter from rest apis - Disallow unquoted field names - Limit the accepted length of the _id Scripting:: - Hardcode painless as the default scripting lang and add legacy script default for stored scripts - Remove deprecated 1.x script and template syntax - Allow only a single extension for a scripting engine - Remove 'sandbox' option for script settings, allow only registering a single language. Search:: - Rename `fields` to `stored_fields` and add `docvalue_fields` - Remove only node preference - Add search preference to prefer multiple nodes - Add a soft limit on the number of shards that can be queried in a single search request. - Remove deprecated reverse option from sorting - Remove some deprecations - Remove search exists api - Remove the scan and count search types. Search Refactoring:: - Remove deprecated parameter from field sort builder. - Remove "query" query and fix related parsing bugs Settings:: - Default max local storage nodes to one - Persistent Node Names - Remove support for properties - Rename boostrap.mlockall to bootstrap.memory_lock - Register `indices.query.bool.max_clause_count` setting - Remove settings and system properties entanglement - Remove `action.get.realtime` setting - Remove ability to specify arbitrary node attributes with `node.` prefix - Enforce `discovery.zen.minimum_master_nodes` is set when bound to a public ip - Prevent index level setting from being configured on a node level - Remove support for node.client setting - Remove es.max-open-files flag - Enforce node level limits if node is started in production env - Make settings validation strict - Remove the ability to fsync on every operation and only schedule fsync task if really needed - Script settings - Remove index.flush_on_close entirely - Restore chunksize of 512kb on recovery and remove configurability - Remove ancient deprecated and alternative recovery settings Similarities:: - Renames `default` similarity into `classic` Snapshot/Restore:: - Change the default of `include_global_state` from true to false for snapshot restores - Fail closing or deleting indices during a full snapshot Stats:: - Modify load average format - Reintroduce five-minute and fifteen-minute load averages on Linux - Add system CPU percent to OS stats Term Vectors:: - Remove DFS support from TermVector API Translog:: - Drop support for simple translog and hard-wire buffer to 8kb - Simplify translog-based flush settings Warmers:: - Remove query warmers and the warmer API. === Breaking Java changes Aggregations:: - getKeyAsString and key_as_string should be the same for terms aggregation on boolean field Allocation:: - Move parsing of allocation commands into REST and remove support for plugins to register allocation commands - Simplify shard balancer interface Analysis:: - Simplify Analysis registration and configuration CRUD:: - Removing isCreated and isFound from the Java API Cache:: - Refactor IndicesRequestCache to make it testable. - Fold IndexCacheModule into IndexModule Core:: - Remove ability to plug-in TransportService - Register thread pool settings - Bootstrap does not set system properties - Remove es.useLinkedTransferQueue Discovery:: - Introduce node handshake - Include pings from client nodes in master election Highlighting:: - Register Highlighter instances instead of classes Internal:: - Remove TransportService#registerRequestHandler leniency - Consolidate search parser registries - Move all FetchSubPhases to o.e.search.fetch.subphase - Squash the rest of o.e.rest.action - Clean up BytesReference - Cleanup ClusterService dependencies and detached from Guice - Simplify SubFetchPhase interface - Simplify FetchSubPhase registration and detach it from Guice - Remove duplicate getters from DiscoveryNode and DiscoveryNodes - Cli: Switch to jopt-simple - Replace ContextAndHeaders with a ThreadPool based ThreadLocal implementation - Remove NodeBuilder - Fix IndexSearcherWrapper interface to not depend on the EngineConfig - Cleanup query parsing and remove IndexQueryParserService - Remove circular dependency between IndicesService and IndicesStore - Remove guice injection from IndexStore and friends - Replace IndicesLifecycle with a per-index IndexEventListener - Simplify similarity module and friends - Refactor SearchRequest to be parsed on the coordinating node Java API:: - Add a dedicated client/transport project for transport-client - Remove setRefresh - Remove the count api - IdsQueryBuilder to accept only non null ids and types Mapping:: - [Mapping] Several MappingService cleanups Network:: - Factor out abstract TCPTransport* classes to reduce the netty footprint - Remove ability to disable Netty gathering writes Parent/Child:: - Cleanup ParentFieldMapper - Several other parent/child cleanups Percolator:: - Move the percolator from core to its own module - Remove percolator cache Plugins:: - Cleanup sub fetch phase extension point - Remove IndexTemplateFilter - Switch custom ShardsAllocators to pull based model - Make custom allocation deciders use pull based extensions - Migrate query registration from push to pull - Add components getter as bridge between guice and new plugin init world - Remove CustomNodeAttributes extension point - Add RepositoryPlugin interface for registering snapshot repositories - Simplified repository api for snapshot/restore - Switch most search extensions from push to pull - Move RestHandler registration to ActionModule and ActionPlugin - Pull actions from plugins - Switch analysis from push to pull - Remove guice from Mapper plugins - Fail to start if plugin tries broken onModule - Simplify ScriptModule and script registration - Cut over settings registration to a pull model - Enforce isolated mode for all plugins - Don't use guice for QueryParsers - Remove guice from the index level - Remove shard-level injector Query DSL:: - Remove the MissingQueryBuilder which was deprecated in 2.2.0. - Remove NotQueryBuilder Scripting:: - Remove o.e.script.Template class and move template query to lang-mustache module - Move search template to lang-mustache module - Remove LeafSearchScript.runAsFloat(): Nothing calls it. Search:: - Remove FetchSubPhaseParseElement - Refactor of query profile classes to make way for other profile implementations - Query refactoring: split parse phase into fromXContent and toQuery for all queries Search Refactoring:: - Refactored inner hits parsing and intoduced InnerHitBuilder - Remove support for query_binary and filter_binary - Validate query api: move query parsing to the coordinating node Settings:: - Remove `node.mode` and `node.local` settings - Remove Settings.settingsBuilder. - Move remaining settings in NettyHttpServerTransport to the new infra - Replace IndexSettings annotation with a full-fledged class - Fix ping timeout settings inconsistencies Snapshot/Restore:: - Removes extra writeBlob method in BlobContainer Store:: - Standardize state format type for global and index level metadata Suggesters:: - Remove suggest threadpool - Remove suggest transport action === Deprecations CRUD:: - Deprecate found and created in delete and index rest responses Plugin Discovery Azure Classic:: - Deprecate discovery-azure and rename it to discovery-azure-classic Plugin Mapper Attachment:: - Deprecate mapper-attachments plugin Query DSL:: - Deprecate Indices query - Deprecate mlt, in and geo_bbox query name shortcuts Query Refactoring:: - Splits `phrase` and `phrase_prefix` in match query into `MatchPhraseQueryBuilder` and `MatchPhrasePrefixQueryBuilder` Scripting:: - Deprecate Groovy, Python, and Javascript Search:: - Deprecate fuzzy query Templates:: - Deprecate template query === New features Aggregations:: - Split regular histograms from date histograms. - Adds aggregation profiling to the profile API - New Matrix Stats Aggregation module Aliases:: - Add an alias action to delete an index Allocation:: - Add API to explain why a shard is or isn't assigned Analysis:: - Exposing lucene 6.x minhash filter. - Add `fingerprint` token filter and `fingerprint` analyzer Circuit Breakers:: - Circuit break on aggregation bucket numbers with request breaker Discovery:: - Add two phased commit to Cluster State publishing Geo:: - Cut over geo_point field and queries to new LatLonPoint type Index APIs:: - Add rollover API to switch index aliases given some predicates Ingest:: - ingest-useragent plugin - Add a Sort ingest processor - Add date_index_name processor - Merge feature/ingest branch into master branch Java REST Client:: - Introduce async performRequest method - Low level Rest Client Mapping:: - Add `scaled_float`. - Expose half-floats. - Add a text field. - Add a new `keyword` field. Percolator:: - index the query terms from the percolator query Plugin Analysis ICU:: - Adding support for customizing the rule file in ICU tokenizer Plugin Discovery File:: - File-based discovery plugin Plugin Ingest Attachment:: - Ingest: Add attachment processor Plugin Mapper Attachment:: - Migrate mapper attachments plugin to main repository Plugin Repository HDFS:: - HDFS Snapshot/Restore plugin Plugin Repository S3:: - Add support for path_style_access Query DSL:: - Adds a rewrite phase to queries on the shard level Reindex API:: - Reindex from remote - Port Delete By Query to Reindex infrastructure - Merge reindex to master Scripting:: - Exceptions and Infinite Loop Checking - Added a new scripting language (PlanA) Scroll:: - Add the ability to partition a scroll in multiple slices. Search:: - Add the ability to disable the retrieval of the stored fields entirely - Add `search_after` parameter in the SearchAPI Settings:: - Add infrastructure to transactionally apply and reset dynamic settings Snapshot/Restore:: - Add Google Cloud Storage repository plugin Stats:: - Extend field stats to report searchable/aggregatable fields - API for listing index file sizes Store:: - Expose MMapDirectory.preLoad(). - Add primitive to shrink an index into a single shard Suggesters:: - Add support for returning documents with completion suggester - Add document-oriented completion suggester Task Manager:: - Add task cancellation mechanism - Make the Task object available to the action caller - Task Management: Add framework for registering and communicating with tasks Translog:: - Add `elasticsearch-translog` CLI tool with `truncate` command === Enhancements Aggregations:: - Make the heuristic to compute the default shard size less aggressive. - Add _bucket_count option to buckets_path - Remove AggregationStreams - Migrate serial_diff aggregation to NamedWriteable - Migrate most remaining pipeline aggregations to NamedWriteable - Migrate moving_avg pipeline aggregation to NamedWriteable - Migrate matrix_stats to NamedWriteable - Migrate derivative pipeline aggregation to NamedWriteable - Migrate top_hits, histogram, and ip_range aggregations to NamedWriteable - Migrate nested, reverse_nested, and children aggregations to NamedWriteable - Migrate geohash_grid and geo_bounds aggregations to NamedWriteable - Clean up significant terms aggregation results - Migrate range, date_range, and geo_distance aggregations to NamedWriteable - Migrate terms aggregation to NamedWriteable - Migrate sampler and missing aggregations to NamedWriteable - Migrate global, filter, and filters aggregation to NamedWriteable - Migrate the cardinality, scripted_metric, and geo_centroid aggregations to NamedWriteable - Use a static default precision for the cardinality aggregation. - Migrate more aggregations to NamedWriteable - Migrate stats and extended stats to NamedWriteable - Migrate sum, min, and max aggregations over to NamedWriteable - Start migration away from aggregation streams - Automatically set the collection mode to breadth_first in the terms aggregation when the cardinality of the field is unknown or smaller than the requested size. - Rename PipelineAggregatorBuilder to PipelineAggregationBuilder. - AggregatorBuilder and PipelineAggregatorBuilder do not need generics. - Rename AggregatorBuilder to AggregationBuilder - Add the ability to use the breadth_first mode with nested aggregations (such as `top_hits`) which require access to score information. - Make significant terms work on fields that are indexed with points. - Add tests and documentation for using `time_zone` in date range aggregation - Fixes serialisation of Ranges Allocation:: - Verify AllocationIDs in replication actions - Mark shard as stale on non-replicated write, not on node shutdown - Add routing changes API to RoutingAllocation - Primary shard allocator observes limits in forcing allocation - Use primary terms as authority to fail shards - Add recovery source to ShardRouting - Allow `_shrink` to N shards if source shards is a multiple of N - Only filter intial recovery (post API) when shrinking an index - Estimate shard size for shrinked indices - Only fail relocation target shard if failing source shard is a primary - Simplify delayed shard allocation - Limit retries of failed allocations per index - Immutable ShardRouting - Add the shard's store status to the explain API - Write shard state metadata as soon as shard is created / initializing - Reuse existing allocation id for primary shard allocation - Remove version in ShardRouting (now obsolete) - Prefer nodes that previously held primary shard for primary shard allocation - Extend reroute with an option to force assign stale primary shard copies - Allocate primary shards based on allocation IDs - Persist currently started allocation IDs to index metadata - Use ObjectParser to parse AllocationID - Persist allocation ID with shard state metadata on nodes Analysis:: - Stop using cached component in _analyze API - Specify custom char_filters/tokenizer/token_filters in the analyze API - Add a MultiTermAwareComponent marker interface to analysis factories. - Add Flags Parameter for Char Filter - Core: better error message when analyzer created without tokenizer or… - Move AsciiFolding earlier in FingerprintAnalyzer filter chain - Improve error message if resource files have illegal encoding Benchmark:: - Add client-benchmark-noop-api-plugin to stress clients even more in benchmarks CAT API:: - Add health status parameter to cat indices API - Includes the index UUID in the _cat/indices API - Add node name to Cat Recovery - Add support for documented byte/size units and for micros as a time unit in _cat API - Add _cat/tasks - Cat health supports ts=0 option - Expose http address in cat/nodes - [cat/recovery] Make recovery time a TimeValue() - :CAT API: remove space at the end of a line CRUD:: - Renaming operation to result and reworking responses - Adding _operation field to index, update, delete response. - CRUD: Allow to get and set ttl as a time value/string Cache:: - Enable option to use request cache for size > 0 - Cache FieldStats in the request cache - Allow the query cache to be disabled. - Enable the indices request cache by default Circuit Breakers:: - Cluster Settings Updates should not trigger circuit breakers. - Circuit break the number of inline scripts compiled per minute Cluster:: - Add clusterUUID to RestMainAction output - Batch process node left and node failure - Index creation waits for write consistency shards - Inline reroute with process of node join/master election - Index creation does not cause the cluster health to go RED - Cluster Health class improvements - Adds tombstones to cluster state for index deletions - Enable acked indexing - Cluster Health should run on applied states, even if waitFor=0 - Resolve index names to Index instances early - Remove DiscoveryNode#shouldConnectTo method - Fail demoted primary shards and retry request - Illegal shard failure requests - Shard failure requests for non-existent shards - Add handling of channel failures when starting a shard - Wait for new master when failing shard - Master should wait on cluster state publication when failing a shard - Split cluster state update tasks into roles - Add timeout mechanism for sending shard failures - Add listener mechanism for failures to send shard failed Core:: - Add production warning for pre-release builds - Add serial collector bootstrap check - Rename Netty TCP transports thread factories from http_* to transport_* - Do not log full bootstrap checks exception - Mark halting the virtual machine as privileged - Makes index creation more friendly - Clearer error when handling fractional time values - Read Elasticsearch manifest via URL - Throw if the local node is not set - Bootstrap check for OnOutOfMemoryError and seccomp - Log OS and JVM on startup - Add GC overhead logging - Refactor JvmGcMonitorService for testing - Default to server VM and add client VM check - Add system bootstrap checks escape hatch - Avoid sliced locked contention in internal engine - Add heap size bootstrap check - Remove hostname from NetworkAddress.format - Bootstrapping bootstrap checks - Add max map count check - Remove PROTOTYPE from BulkItemResponse.Failure - Throw an exception if Writeable.Reader reads null - Remove PROTOTYPE from RescorerBuilders - Port Primary Terms to master - Use index UUID to lookup indices on IndicesService - Add -XX+AlwaysPreTouch JVM flag - Add max size virtual memory check - Use and test relative time in TransportBulkAction - Bump Elasticsearch version to 5.0.0-SNAPSHOT - Assert that we can write in all data-path on startup - Add G1GC check on startup - Shards with heavy indexing should get more of the indexing buffer - Remove and ban ImmutableMap - Finish banning ImmutableSet - Removes and bans ImmutableSet - Remove and ban ImmutableMap#entrySet - Forbid ForwardingSet Dates:: - Improve TimeZoneRoundingTests error messages - Support full range of Java Long for epoch DateTime Discovery:: - Do not log cluster service errors at after joining a master - Log warning if minimum_master_nodes set to less than quorum - Add a dedicate queue for incoming ClusterStates Engine:: - Only try to read new segments info if we really flushed the index - Use _refresh instead of reading from Translog in the RT GET case - Remove writeLockTimeout from InternalEngine - Don't guard IndexShard#refresh calls by a check to isRefreshNeeded - Never call a listerner under lock in InternalEngine - Use System.nanoTime() to initialize Engine.lastWriteNanos - Flush big merges automatically if shard is inactive - Remove Engine.Create - Remove the disabled autogenerated id optimization from InternalEngine Exceptions:: - Improve startup exception - Make NotMasterException a first class citizen - Do not catch throwable - Make the index-too-old exception more explicit - Add index name in IndexAlreadyExistsException default message - Fix typos in exception/assert/log messages in core module. - Add field names to several mapping errors - Add serialization support for more important IOExceptions - Adds exception objects to log messages. - Add stack traces to logged exceptions where missing - Remove reflection hacks from ElasticsearchException - Rename QueryParsingException to a more generic ParsingException - Add *Exception(Throwable cause) constructors/ call where appropriate Expressions:: - improve date api for expressions/painless fields - Support geo_point fields in lucene expressions - Add support for .empty to expressions, and some docs improvements Geo:: - GeoBoundingBoxQueryBuilder should throw IAE when topLeft and bottomRight are the same coordinate - Enhanced lat/long error handling - Fix a potential parsing problem in GeoDistanceSortParser - Geo: Add validation of shapes to ShapeBuilders - Make remaining ShapeBuilders implement Writeable - Geo: Remove internal `translated` flag from LineStringBuilder - Make PointBuilder, CircleBuilder & EnvelopeBuilder implement Writable - Merging BaseLineString and BasePolygonBuilder with subclass - Moving static factory methods to ShapeBuilders - Remove InternalLineStringBuilder and InternalPolygonBuilder Highlighting:: - Switch Highlighting to ObjectParser - Use HighlightBuilder in SearchSourceBuilder - Joint parsing of common global Hightlighter and subfield parameters - Enable HighlightBuilder to create SearchContextHighlight - Add fromXContent method to HighlightBuilder Index APIs:: - Add date-math support to `_rollover` - Add Shrink request source parser to parse create index request body - Fail hot_threads in a better way if unsupported by JDK Index Templates:: - Add "version" field to Templates - Parse and validate mappings on index template creation Ingest:: - Add "version" field to Pipelines - Make it possible for Ingest Processors to access AnalysisRegistry - add ignore_missing option to convert,trim,lowercase,uppercase,grok,rename - Add support for parameters to the script ingest processor - introduce the JSON Processor - Allow rename processor to turn leaf fields into branch fields - remove ability to set field value in script-processor configuration - Add REST _ingest/pipeline to get all pipelines - Show ignored errors in verbose simulate result - update foreach processor to only support one applied processor. - Skip the execution of an empty pipeline - Add `ignore_failure` option to all ingest processors - new ScriptProcessor for Ingest - Expose underlying processor to blame for thrown exception within CompoundProcessor - Avoid string concatentation in IngestDocument.FieldPath - add ability to specify multiple grok patterns - add ability to disable ability to override values of existing fields in set processor - Streamline option naming for several processors - add automatic type conversion support to ConvertProcessor - Give the foreach processor access to the rest of the document - Added ingest statistics to node stats API - Add `ingest_took` to bulk response - Add ingest info to node info API, which contains a list of available processors - Use diffs for ingest metadata in cluster state - hide null-valued metadata fields from WriteableIngestDocument#toXContent - Ingest: use bulk thread pool for bulk request processing (was index before) - Add foreach processor - revert PipelineFactoryError handling with throwing ElasticsearchParseException in ingest pipeline creation - Add processor tags to on_failure metadata in ingest pipeline - catch processor/pipeline factory exceptions and return structured error responses - Ingest: move get/put/delete pipeline methods to ClusterAdminClient - Geoip processor: remove redundant latitude and longitude fields and make location an object with lat and lon subfields Inner Hits:: - Change scriptFields member in InnerHitBuilder to set Internal:: - Remove poor-mans compression in InternalSearchHit and friends - Don't register SearchTransportService handlers more than once - Unguice SearchModule - Deguice SearchService and friends - NodeStats classes to implement Writeable rather then Streamable - More info classes to implement Writeable rather than Streamable - Internal: Split disk threshold monitoring from decider - Switching LockObtainFailedException over to ShardLockObtainFailedException - update and delete by query requests to implement IndicesRequest.Replaceable - VersionFetchSubPhase should not use Versions#loadDocIdAndVersion - Remove useless PK lookup in IndicesTTLService - ignore some docker craziness in seccomp environment checks - Make Priority an enum - Snapshot UUIDs in blob names - Add RestController method for deprecating in one step - Tighten ensure atomic move cleanup - Enable checkstyle ModifierOrder - Expose task information from NodeClient - Changed rest handler interface to take NodeClient - Deprecate ExceptionsHelper.detailedMessage - Factor out ChannelBuffer from BytesReference - Cleanup Compressor interface - Hot methods redux - Remove forked joda time BaseDateTime class - Support optional ctor args in ConstructingObjectParser - Remove thread pool from page cache recycler - Do not automatically close XContent objects/arrays - Remove use of a Fields class in snapshot responses - Removes multiple toXContent entry points for SnapshotInfo - Removes unused methods in the o/e/common/Strings class - Determine content length eagerly in HttpServer - Consolidate query generation in QueryShardContext - Make reset in QueryShardContext private - Remove Strings#splitStringToArray - Add toString() to GetResponse - ConstructingObjectParser adapts ObjectParser for ctor args - Makes Script type writeable - FiltersAggregatorBuilder: Don't create new context for inner parsing - Clean up serialization on some stats - Normalize registration for SignificanceHeuristics - Make (read|write)NamedWriteable public - Use try-with-resource when creating new parser instances where possible - Don't pass XContentParser to ParseFieldRegistry#lookup - Internal: Remove threadlocal from document parser - Cut range aggregations to registerAggregation - Remove ParseFieldMatcher from AbstractXContentParser - Remove parser argument from methods where we already pass in a parse context - Switch SearchAfterBuilder to writeGenericValue - Remove StreamableReader - Cleanup nested, has_child & has_parent query builders for inner hits construction - Make AllocationCommands NamedWriteables - Isolate StreamableReader - Create registration methods for aggregations similar to those for queries - Remove PROTOTYPEs from QueryBuilders - Remove registerQueryParser - ParseField#getAllNamesIncludedDeprecated to not return duplicate names - Rework a query parser and improve registration - Clean up QueryParseContext and don't hold it inside QueryRewrite/ShardContext - Remove PROTOTYPE from MLT.Item - Remove PROTOTYPE from VersionType - Remove PROTOTYPEs from highlighting - Remove PROTOTYPEs from ingest - Start to rework query registration - Factor out slow logs into Search and IndexingOperationListeners - Remove PROTOTYPE from Suggesters - Remove PROTOTYPE from SortBuilders - Remove PROTOTYPE from ShapeBuilders - Replace FieldStatsProvider with a method on MappedFieldType. - Stop using PROTOTYPE in NamedWriteableRegistry - Support scheduled commands in current context - Thread limits - Remove leniency from segments info integrity checks - Rename SearchServiceTransportAction to SearchTransportService - Decouple the TransportService and ClusterService - Refactor bootstrap checks - Add LifecycleRunnable - Hot inlined methods in your area - Move IndicesQueryCache and IndicesRequestCache into IndicesService - Forbid use of java.security.MessageDigest#clone() - Make IndicesWarmer a private class of IndexService - Simplify IndicesFieldDataCache and detach from guice - Uppercase ells ('L') in long literals - ShardId equality and hash code inconsistency - Ensure all resources are closed on Node#close() - Make index uuid available in Index, ShardRouting & ShardId - Move RefreshTask into IndexService and use since task per index - Make IndexingMemoryController private to IndicesService - Cleanup IndexingOperationListeners infrastructure - Remove and forbid use of j.u.c.ThreadLocalRandom - Fix IntelliJ query builder type inference issues - Remove and forbid use of Collections#shuffle(List) and Random#<init>() - Remove and forbid use of the type-unsafe empty Collections fields - Move IndicesService.canDeleteShardContent to use IndexSettings - Simplify MonitorService construction and detach from guice - Use Supplier for StreamInput#readOptionalStreamable - Add variable-length long encoding - Extend usage of IndexSetting class - Fold SimilarityModule into IndexModule - Move to lucene BoostQuery - Use built-in method for computing hash code of longs - Refactor ShardFailure listener infrastructure - Add methods for variable-length encoding integral arrays - Fold IndexAliasesService into IndexService - Remove unneeded Module abstractions - Query refactoring: simplify IndexQueryParserService parse methods - Remove and forbid use of com.google.common.collect.Iterators - Remove and forbid use of com.google.common.collect.ImmutableCollection - Remove and forbid use of com.google.common.io.Resources - Remove and forbid use of com.google.common.hash.* - Remove and forbid use of com.google.common.net.InetAddresses - Remove and forbid use of com.google.common.collect.EvictingQueue - Replace Guava cache with simple concurrent LRU cache - Remove ClusterSerivce and IndexSettingsService dependency from IndexShard - Start making RecoverySourceHandler unittestable - Remove IndexService dep. from IndexShard - Remove ES internal deletion policies in favour of Lucenes implementations - Move ShardTermVectorService to be on indices level as TermVectorService - Move ShardPercolateService creation into IndexShard - Remove `ExpressionScriptCompilationException` and `ExpressionScriptExecutionException` - Reduced the number of ClusterStateUpdateTask variants - Add a BaseParser helper for stream parsing - Remove and forbid use of com.google.common.primitives.Ints - Remove and forbid use of com.google.common.math.LongMath - Remove and forbid use of com.google.common.base.Joiner - Replace and ban next batch of Guava classes - Remove and forbid use of com.google.common.collect.Iterables - Replace LoadingCache usage with a simple ConcurrentHashMap - Use Supplier instead of Reflection - Remove and forbid use of com.google.common.base.Preconditions - Remove and forbid use of guava Function, Charsets, Collections2 - Remove and forbid use of com.google.common.collect.ImmutableSortedMap - Remove and forbid use of several com.google.common.util. classes - Cleanup SearchRequest & SearchRequestBuilder - Remove and forbid use of com.google.common.collect.Queues - Remove and forbid use of com.google.common.base.Preconditions#checkNotNull - Remove and forbid use of com.google.common.collect.Sets - Remove and forbid use of com.google.common.collect.Maps - Remove use of underscore as an identifier - Remove and forbid the use of com.google.common.base.Predicate(s)? - This commit removes com.google.common.io Java API:: - Ensure PutMappingRequest.buildFromSimplifiedDef input are pairs - Start from a random node number so that clients do not overload the first node configured - Switch QueryBuilders to new MatchPhraseQueryBuilder - Improve adding clauses to `span_near` and `span_or` query - QueryBuilder does not need generics. - Remove copy constructors from request classes and TransportMessage type Java REST Client:: - Add support for a RestClient path prefix - Add "Async" to the end of each Async RestClient method - Allow RestClient to send array-based headers - Add response body to ResponseException error message - Simplify Sniffer initialization and automatically create the default HostsSniffer - Remove duplicate dependency declaration for http client - Add callback to customize http client settings - Rest Client: add short performRequest method variants without params and/or body Logging:: - Ensure logging is initialized in CLI tools - Give useful error message if log config is missing - Complete Elasticsearch logger names - Add node name to decider trace logging - Logging shutdown hack - Disable console logging - Skip loading of jansi from log4j2 - Configure AWS SDK logging configuration - Warn if unsupported logging configuration present - Size limit deprecation logs - Increase visibility of deprecation logger - Add log message about enforcing bootstrap checks - Improve logging for batched cluster state updates - Send HTTP Warning Header(s) for any Deprecation Usage from a REST request - Throw IllegalStateException when handshake fails due to version or cluster mismatch Mapping:: - Automatically downgrade text and keyword to string on indexes imported from 2.x - Do not parse numbers as both strings and numbers when not included in `_all`. - Don't index the `_version` field - The root object mapper should support updating `numeric_detection`, `date_detection` and `dynamic_date_formats`. - Automatically upgrade analyzed string fields that have `index_options` or `position_increment_gap` set. - Mappings: Support dots in field names in mapping parsing - Save one utf8 conversion in KeywordFieldMapper. - Do not parse the created version from the settings every time a field is parsed. - Elasticsearch should reject dynamic templates with unknown `match_mapping_type`. - Upgrade `string` fields to `text`/`keyword` even if `include_in_all` is set. - Adds a methods to find (and dynamically create) the mappers for the parents of a field with dots in the field name - Automatically upgrade analyzed strings with an analyzer to `text`. - Support dots in field names when mapping already exists - Use the new points API to index numeric fields. - Simplify AllEntries, AllField and AllFieldMapper: - Make `parseMultiField` part of `parseField`. - Automatically add a sub keyword field to string dynamic mappings. - Remove friction from the mapping changes in 5.0. - Rework norms parameters for 5.0. - Moved dynamic field handling in doc parsing to end of parsing - Remove the MapperBuilders utility class. - Make the `index` property a boolean. - Remove the ability to enable doc values with the `fielddata.format` setting. - Be stricter about parsing boolean values in mappings. - Fix default doc values to be enabled when a field is not indexed. - Dynamically map floating-point numbers as floats instead of doubles. - Simplify MetaDataMappingService. - Remove MergeMappingException. Network:: - Avoid early initializing Netty - Network: Allow to listen on virtual interfaces. - Explicitly tell Netty to not use unsafe - Enable Netty 4 extensions - Modularize netty - Simplify TcpTransport interface by reducing send code to a single send method - Do not start scheduled pings until transport start Packaging:: - Add quiet option to disable console logging - Explicitly disable Netty key set replacement - Remove explicit parallel new GC flag - Use JAVA_HOME or java.exe in PATH like the Linux scripts do - Don't mkdir directly in deb init script - Increase default heap size to 2g - Switch init.d scripts to use bash - Switch scripts to use bash - Further simplifications of plugin script - Pass ES_JAVA_OPTS to JVM for plugins script - Remove unnecessary sleep from init script restart - Explicitly set packaging permissions - rpm uses non-portable `--system` flag to `useradd` - Adding JAVA_HOME to documents and env config file - Added RPM metadata - Elasticsearch ownership for data, logs, and configs - Fail early on JDK with compiler bug - Make security non-optional - Remove RuntimePermission("accessDeclaredMembers") - Remove Guava as a dependency - Remove Guava as a dependency Percolator:: - Also support query term extract for queries wrapped inside a FunctionScoreQuery - Add support for synonym query to percolator query term extraction - Add percolator query extraction support for dismax query - Improve percolate query performance by not verifying certain candidate matches - Improve percolator query term extraction - PercolatorQueryBuilder cleanup by using MemoryIndex#fromDocument(...) helper - Add scoring support to the percolator query - Add query extract support for the blended term query and the common terms query - Add support for several span queries in ExtractQueryTermsService - Add support for TermsQuery in ExtractQueryTermsService - Replace percolate APIs with a percolator query Plugin Analysis Kuromoji:: - Add nbest options and NumberFilter Plugin Discovery EC2:: - Use `DefaultAWSCredentialsProviderChain` AWS SDK class for credentials - Support new Asia Pacific (Mumbai) ap-south-1 AWS region - Add support for proxy authentication for s3 and ec2 Plugin Discovery GCE:: - Allow `_gce_` network when not using discovery gce Plugin Ingest Attachment:: - Minor attachment processor improvements Plugin Lang Painless:: - Disable regexes by default in painless - Catch OutOfMemory and StackOverflow errors in Painless - Change Painless Tree Structure for Variable/Method Chains - Add replaceAll and replaceFirst - Painless Initializers - Add augmentation - Infer lambda arguments/return type - Fix explicit casts and improve tests. - Add lambda captures - improve Debugger to print code even if it hits exception - Move semicolon hack into lexer - Add flag support to regexes - improve lambda syntax (allow single expression) - Remove useless dropArguments in megamorphic cache - non-capturing lambda support - fix bugs in operators and more improvements for the dynamic case - improve unary operators and cleanup tests - Add support for the find operator (=~) and the match operator (==~) - Remove casts and boxing for dynamic math - Refactor def math - Add support for /regex/ - Array constructor references - Method references to user functions - Add } as a delimiter. - Add Lambda Stub Node - Add capturing method references - Add Functions to Painless - Add Method to Get New MethodWriters - Static For Each - Method reference support - Add support for the new Java 9 MethodHandles#arrayLength() factory - Improve painless compile-time exceptions - add java.time packages to painless whitelist - Add Function Reference Stub to Painless - improve painless whitelist coverage of java api - Definition cleanup - Made def variable casting consistent with invokedynamic rules - Use Java 9 Indy String Concats, if available - Add method overloading based on arity - Refactor WriterUtils to extend ASM GeneratorAdapter - Whitelist expansion - Remove boxing when loading and storing values in "def" fields/arrays, remove boxing onsimple method calls of "def" methods - Some cleanups - Use isAssignableFrom instead of relying on ClassCastException - Build descriptor of array and field load/store in code - Rename the dynamic call site factory to DefBootstrap - Cleanup of DynamicCallSite - Improve exception stacktraces - Make Line Number Available in Painless - Remove input, support params instead - Decouple ANTLR AST from Painless - _value support in painess? - Long priority over Float - _score as double, not float - Add 'ctx' keyword to painless. - Painless doc access - Retrieve _score directly from Scorer - Implement needsScore() correctly. - Add synthetic length property as alias to Lists, so they can be used like arrays - Use better typing for dynamic method calls - Array load/store and length with invokedynamic - Switch painless dynamic calls to invokedynamic, remove perf hack/cheat - Add fielddata accessors (.value/.values/.distance()/etc) - painless: optimize/simplify dynamic field and method access - Painless: Single-Quoted Strings - Painless Clean Up - Make Painless a Module - Minor Clean up - Remove Extra String Concat Token Plugin Mapper Attachment:: - minor attachments cleanups: IDE test support and EPUB format Plugin Mapper Size:: - Add doc values support to the _size field in the mapper-size plugin Plugin Repository Azure:: - Support global `repositories.azure.` settings - Add timeout settings (default to 5 minutes) - Remove AbstractLegacyBlobContainer Plugin Repository HDFS:: - merge current hdfs improvements to master Plugin Repository S3:: - Extract AWS Key from KeyChain instead of using potential null value - Check that S3 setting `buffer_size` is always lower than `chunk_size` Plugins:: - Revert "Display plugins versions" - Provide error message when plugin id is missing - Print message when removing plugin with config - Plugins: Update official plugin location with unified release - Allow plugins to upgrade global custom metadata on startup - Switch aggregations from push to pull - Display plugins versions - Add ScriptService to dependencies available for plugin components - Make NamedWriteableRegistry immutable and add extension point for named writeables - Log one plugin info per line - Make rest headers registration pull based - Add resource watcher to services available for plugin components - Add some basic services to createComponents for plugins - Make plugins closeable - Plugins: Add status bar on download - Add did-you-mean for plugin cli - Plugins: Remove name() and description() from api - Emit nicer error message when trying to install unknown plugin - Add plugin information for Verbose mode - Cli: Improve output for usage errors - Cli: Add verbose output with zip url when installing plugin - PluginManager: Add xpack as official plugin - CliTool: Cleanup and document Terminal - Plugin cli: Improve maven coordinates detection - Enforce plugin zip does not contain zip entries outside of the plugin dir - CliTool: Allow unexpected exceptions to propagate - Reduce complexity of plugin cli - Remove Plugin.onIndexService. - Open up QueryCache and SearcherWrapper extension points Query DSL:: - Throw exception when multiple field names are provided as part of query short syntax - Query parsers to throw exception when multiple field names are provided - Allow empty json object in request body in `_count` API - Treat zero token in `common` terms query as MatchNoDocsQuery - Handle empty query bodies at parse time and remove EmptyQueryBuilder - Enforce MatchQueryBuilder#maxExpansions() to be strictly positive - Don't allow `fuzziness` for `multi_match` types `cross_fields`, `phrase` and `phrase_prefix` - Add MatchNoDocsQuery, a query that matches no documents and prints the reason why in the toString method. - Adds `ignore_unmapped` option to geo queries - Adds `ignore_unmapped` option to nested and P/C queries - SimpleQueryParser should call MappedFieldType.termQuery when appropriate. - An `exists` query on an object should query a single term. - Function Score Query: make parsing stricter - Parsers should throw exception on unknown objects - UNICODE_CHARACTER_CLASS fix Query Refactoring:: - Add infrastructure to rewrite query builders - Switch geo validation to enum REST:: - Add a REST spec for the create API - Add response params to REST params did you mean - Add did you mean to strict REST params - Add exclusion support to response filtering - Only write forced_refresh if we forced a refresh - Add Location header to the index, update, and create APIs - Add support for `wait_for_events` to the `_cluster/health` REST endpoint - Rename Search Template REST spec names - Adding status field in _msearch error request bodies - Add semicolon query string parameter delimiter - Enable HTTP compression by default with compression level 3 - Allow JSON with unquoted field names by enabling system property - More robust handling of CORS HTTP Access Control - Add option to exclude based on paths in XContent Recovery:: - Pass on maxUnsafeAutoIdTimestamp on recovery / relocation - Non-blocking primary relocation hand-off - index shard should be able to cancel check index on close. - TransportNodesListGatewayStartedShards should fall back to disk based index metadata if not found in cluster state - Recover broken IndexMetaData as closed - Relocation source should be marked as relocating before starting recovery to primary relocation target - Operation counter for IndexShard - Primary relocation handoff - Remove recovery threadpools and throttle outgoing recoveries on the master - Refactor StoreRecoveryService to be a simple package private util class Reindex API:: - Only ask for `_version` we need it - Use fewer threads when reindexing-from-remote - Support authentication with reindex-from-remote - Support requests_per_second=-1 to mean no throttling in reindex - Implement ctx.op = "delete" on _update_by_query and _reindex - Make Reindex cancellation tests more uniform - Makes DeleteByQueryRequest implements IndicesRequest - Teach reindex to retry on search failures - Remove ReindexResponse in favor of BulkIndexByScrollResponse - Stricter validation of Reindex's requests_per_second - Properly mark reindex's child tasks as child tasks - Make reindex throttling dynamic - Throttling support for reindex - Add ingest pipeline support to reindex Scripting:: - Parse script on storage instead of on retrieval - Migrate elasticsearch native script examples to the main repo - Remove ClusterState from compile api - Mustache: Render Map as JSON - Compile each Groovy script in its own classloader - Include script field even if it value is null - Skipping hidden files compilation for script service - Rename Plan A to Painless - Add plumbing for script compile-time parameters - Factor mustache -> modules/lang-mustache Scroll:: - Add an index setting to limit the maximum number of slices allowed in a scroll request. Search:: - Limit batch size when scrolling - Record method counts while profiling query components - Change default similarity to BM25 - Add a parameter to cap the number of searches the msearch api will concurrently execute - Introduces GeoValidationMethod to GeoDistanceSortBuilder - Switches from empty boolean query to matchNoDocs - Allow binary sort values. - Fail query if it contains very large rescores - Type filters should not have a performance impact when there is a single type. - Store _all payloads on 1 byte instead of 4. - Refuse to load fields from _source when using the `fields` option and support wildcards. - Add response into ClearScrollResponse - Shuffle shards for _only_nodes + support multiple specifications like cluster API Search Refactoring:: - Removes the now obsolete SearchParseElement implementations - Remove RescoreParseElement - Remove HighlighterParseElement - Move top level parsing of sort element to SortBuilder - Switch to using refactored SortBuilder instead of using BytesReference in serialization - Add build() method to SortBuilder implementations - Refactoring of Suggestions - Move sort `order` field up into SortBuilder - Moves SortParser:parse(...) to only require QueryShardContext - Change internal representation of suggesters - Make GeoDistanceSortBuilder serializable, 2nd try - Move missing() from SortBuilder interface to class - Remove deprecated parameters from ScriptSortBuilder - Refactor GeoSortBuilder - Refactor FieldSortBuilder - Make sort order enum writable. - Make DistanceUnit writable. - RescoreBuilder: Add parsing and creating of RescoreSearchContext - Make RescoreBuilder and nested QueryRescorer Writable - Explain api: move query parsing to the coordinating node - Switch query parsers to use ParseField - Refactoring of Aggregations Sequence IDs:: - Persist sequence number checkpoints - Add sequence numbers to cat shards API Settings:: - Add precise logging on unknown or invalid settings - Make `action.auto_create_index` setting a dynamic cluster setting - Removes space between # and the setting in elasticsearch.yml - Validates new dynamic settings from the current state - Improve error message if a setting is not found - Cleanup placeholder replacement - Switch to registered Settings for all IndexingMemoryController settings - Add guard against null-valued settings - Useful error message for null property placeholder - Archive cluster level settings if unknown or broken - Improve error message if setting is not found - Improve upgrade experience of node level index settings - Settings with complex matchers should not overlap - Moves GCE settings to the new infra - Add filtering support within Setting class - Migrate AWS settings to new settings infrastructure - Remove `gateway.initial_meta` and always rely on min master nodes - Rewrite SettingsFilter to be immutable - Simplify azure settings - Convert PageCacheRecycler settings - Monitor settings - Cut over tribe node settings to new settings infra - Convert multcast plugin settings to the new infra - Convert `request.headers.*` to the new settings infra - Migrate Azure settings to new settings infrastructure - Validate logger settings and allow them to be reset via API - Switch NodeEnvironment's settings to new settings - Simplify AutoCreateIndex and add more tests - Convert several pending settings - Migrate query caching settings to the new settings infra. - Convert `action.auto_create_index` and `action.master.force_local` to the new settings infra - Convert `cluster.routing.allocation.type` and `processors` to the new settings infra. - Validate tribe node settings on startup - Move node.client, node.data, node.master, node.local and node.mode to new settings infra - Moved http settings to the new settings infrastructure - Migrate network service to the new infra - Convert client.transport settings to new infra - Move discovery.* settings to new Setting infrastructure - Change over to o.e.common.settings.Setting for http settings - Convert "path.*" and "pidfile" to new settings infra - Migrate repository settings to the new settings API - Convert "indices.*" settings to new infra. - Migrate gateway settings to the new settings API. - Convert several node and test level settings - Run Metadata upgrade tool on every version - Check for invalid index settings on metadata upgrade - Validate the settings key if it's simple chars separated by `.` - Validate known global settings on startup - Cut over all index scope settings to the new setting infrastrucuture - Remove updatability of `index.flush_on_close` - Move all dynamic settings and their config classes to the index level - Always require units for bytes and time settings - Make MetaData parsing less lenient. - Move async translog sync logic into IndexService - Remove `index.merge.scheduler.notify_on_failure` and default to `true` - Remove cache concurrency level settings that no longer apply Similarities:: - Defining a global default similarity Snapshot/Restore:: - Delete differing files in the store before restoring - Adds ignoreUnavailable option to the snapshot status API - Check restores in progress before deleting a snapshot - Snapshot repository cleans up empty index folders - BlobContainer#writeBlob no longer can overwrite a blob - More resilient blob handling in snapshot repositories - Adding repository index generational files - Raised IOException on deleteBlob - Adds UUIDs to snapshots - Clarify the semantics of the BlobContainer interface - Change BlobPath.buildAsString() method - Remove the Snapshot class in favor of using SnapshotInfo Stats:: - Add mem section back to cluster stats - Add network types to cluster stats - Add missing field type in the FieldStats response. - Expose the ClusterInfo object in the allocation explain output - Add total_indexing_buffer/_in_bytes to nodes info API - Allow FieldStatsRequest to disable cache - Remove index_writer_max_memory stat from segment stats - Move DocStats under Engine to get more accurate numbers - Do not return fieldstats information for fields that exist in the mapping but not in the index. - Add whether the shard state fetch is pending to the allocation explain API - Add Failure Details to every NodesResponse - Add I/O statistics on Linux - Add points to SegmentStats. - Remove FieldStats.Float. - Show configured and remaining delay for an unassigned shard. - indexing stats now contain indexing ops from recovery [ISSUE] - Normalize unavailable load average - Add load averages to OS stats on FreeBSD - Expose pending cluster state queue size in node stats Store:: - Use `mmapfs` by default. - Remove support for legacy checksums - Rename index folder to index_uuid Suggesters:: - Move SuggestUtils methods to their respective caller classes - Remove payload option from completion suggester - Add bwc support for reading pre-5.0 completion index Task Manager:: - Rename Task Persistence into Storing Task Results - Fetch result when wait_for_completion - Create get task API that falls back to the .tasks index - Add ability to store results for long running tasks - Move parentTaskId into TransportRequest - Shorten the serialization of the empty TaskId - Expose whether a task is cancellable in the _tasks list API - Add ability to group tasks by common parent - Add start time and duration to tasks - Combine node name and task id into single string task id - Add task status - Extend tracking of parent tasks to master node, replication and broadcast actions Translog:: - Fsync documents in an async fashion - Add checksumming and versions to the Translog's Checkpoint files - Beef up Translog testing with random channel exceptions - Do not replay into translog on local recovery - FSync translog outside of the writers global lock - Remove ChannelReference and simplify Views - Simplify TranslogWriter to always write to a stream - Remove TranslogService and fold it into synchronous IndexShard API === Bug fixes Aggregations:: - Fixed writeable name from range to geo_distance - Fix date_range aggregation to not cache if now is used - The `top_hits` aggregation should compile scripts only once. - Fix agg profiling when using breadth_first collect mode - Throw exception when maxBounds greater than minBounds - Undeprecates `aggs` in the search request - Change how `nested` and `reverse_nested` aggs know about their nested depth level - Make ExtendedBounds immutable - Aggregations fix: support include/exclude strings for IP and dates - Fix xcontent rendering of ip terms aggs. - Improving parsing of sigma param for Extended Stats Bucket Aggregation - Fixes NPE when no window is specified in moving average request - Fixes Filter and FiltersAggregation to work with empty query - Fixes the defaults for `keyed` in the percentiles aggregations - Correct typo in class name of StatsAggregator Allocation:: - Keep a shadow replicas' allocation id when it is promoted to primary - IndicesClusterStateService should clean local started when re-assigns an initializing shard with the same aid - IndexRoutingTable.initializeEmpty shouldn't override supplied primary RecoverySource - Update incoming recoveries stats when shadow replica is reinitialized - `index.routing.allocation.initial_recovery` limits replica allocation - Upon being elected as master, prefer joins' node info to existing cluster state - Fix NPE when initializing replica shard has no UnassignedInfo - Make shard store fetch less dependent on the current cluster state, both on master and non data nodes - Fix recovery throttling to properly handle relocating non-primary shards - Replica shards must be failed before primary shards Analysis:: - Named analyzer should close the analyzer that it wraps - Can load non-PreBuiltTokenFilter in Analyze API - Fix analyzer alias processing Bulk:: - Add not-null precondition check in BulkRequest CAT API:: - Fixes cat tasks operation in detailed mode - Add index pattern wildcards support to _cat/shards CRUD:: - GET operations should not extract fields from `_source`. - Squash a race condition in RefreshListeners - Prevent TransportReplicationAction to route request based on stale local routing table - Resolves the conflict between alias routing and parent routing by applying the alias routing and ignoring the parent routing. Cache:: - Prevent requests that use scripts or now() from being cached - Serialize index boost and phrase suggest collation keys in a consistent order Circuit Breakers:: - Never trip circuit breaker in liveness request - Free bytes reserved on request breaker Cluster:: - Fixes issue with dangling index being deleted instead of re-imported - Allow routing table to be filtered by index pattern - Use executor's describeTasks method to log task information in cluster service - Acknowledge index deletion requests based on standard cluster state acknowledgment - Dangling indices are not imported if a tombstone for the index exists - Fix issue with tombstones matching active indices in cluster state - Shard state action channel exceptions Core:: - Makes `m` case sensitive in TimeValue - Guard against negative result from FileStore.getUsableSpace when picking data path for a new shard - Handle rejected execution exception on reschedule - Fix concurrency bug in IMC that could cause it to check too infrequently - Iterables.flatten should not pre-cache the first iterator - Avoid race while retiring executors - Refactor UUID-generating methods out of Strings - Node names cleanup - NullPointerException from IndexingMemoryController when a version conflict happens during recovery - Handle RejectedExecution gracefully in TransportService during shutdown Discovery:: - Update discovery nodes after cluster state is published - Add current cluster state version to zen pings and use them in master election Engine:: - Take refresh IOExceptions into account when catching ACE in InternalEngine - Don't suppress AlreadyClosedException Expressions:: - replace ScriptException with a better one Geo:: - Incomplete results when using geo_distance for large distances [ISSUE] - Fix multi-field support for GeoPoint types - Enforce distance in distance query is > 0 [ISSUE] Highlighting:: - Enable BoostingQuery with FVH highlighter Index APIs:: - Fixes active shard count check in the case of `all` shards - Add zero-padding to auto-generated rollover index name increment Ingest:: - no null values in ingest configuration error messages - JSON Processor was not properly added - Don't rebuild pipeline on every cluster state update - Add dotexpander processor - Fix NPE when simulating a pipeline with no id - Change foreach processor to use ingest metadata for array element - No other processors should be executed after on_failure is called - rethrow script compilation exceptions into ingest configuration exceptions - Rename from `ingest-useragent` plugin to `ingest-user-agent` and its processor from `useragent` to `user_agent` - Fix ignore_failure behavior in _simulate?verbose and more cleanup - Pipeline Stats: Fix concurrent modification exception - Validate properties values according to database type - Ingest does not close its factories - Handle regex parsing errors in Gsub and Grok Processors - add on_failure exception metadata to ingest document for verbose simulate - The IngestDocument copy constructor should make a deep copy Inner Hits:: - Ensure that that InnerHitBuilder uses rewritten queries Internal:: - Prevent AbstractArrays from release bytes more than once - IndicesAliasesRequest should not implement CompositeIndicesRequest - Ensure elasticsearch doesn't start with unuspported indices - Remove ListTasksResponse#setDiscoveryNodes() - Priority values should be unmodifiable - Extract AbstractBytesReferenceTestCase - Add XPointValues - Fix BulkItemResponse.Failure.toString - Enable unmap hack for java 9 - Fix issues with failed cache loads - Allow parser to move on the START_OBJECT token when parsing search source - Ensure searcher is release if wrapping fails - Avoid deadlocks in Cache#computeIfAbsent Java API:: - fix IndexResponse#toString to print out shards info - Add NamedWriteables from plugins to TransportClient - Fix potential NPE in SearchSourceBuilder Java REST Client:: - Rest Client: add slash to log line when missing between host and uri - Rest Client: HostsSniffer to set http as default scheme Logging:: - Fix logger when you can not create an azure storage client - Avoid unnecessary creation of prefix loggers - Fix logging hierarchy configs - Fix prefix logging - Hack around Log4j bug rendering exceptions - Avoid prematurely triggering logger initialization - Only log running out of slots when out of slots Mapping:: - Allow position_gap_increment for fields in indices created prior to 5.0 - Validate blank field name - Better error message when mapping configures null - Make doc_values accessible for _type - Fix and test handling of `null_value`. - Fail automatic string upgrade if the value of `index` is not recognized. - Fix dynamic check to properly handle parents - Fix array parsing to remove its context when finished parsing - Disallow fielddata loading on text fields that are not indexed. - Make dynamic template parsing less lenient. - Fix dynamic mapper when its parent already has an update - Fix copy_to when the target is a dynamic object field. - Preserve existing mappings on batch mapping updates Network:: - Fix connection close header handling - Ensure port range is readable in the exception message - Fix expect 100 continue header handling - Fixes netty4 module's CORS config to use defaults - Fix various concurrency issues in transport - Verify lower level transport exceptions don't bubble up on disconnects Packaging:: - [Packaging] Do not remove scripts directory on upgrade - [Package] Remove bin/lib/modules directories on RPM uninstall/upgrade - Fix handling of spaces for jvm.options on Windows - Disable service in pre-uninstall - Remove extra bin/ directory in bin folder - Filter client/server VM options from jvm.options - Preserve config files from RPM install - Fix typo in message for variable setup ES_MAX_MEM - Don't run `mkdir` when $DATA_DIR contains a comma-separated list - Fix exit code - Set MAX_OPEN_FILES to 65536 - [windows] Service command still had positional start command - Do not pass double-dash arguments on startup Parent/Child:: - Make sure that no `_parent#null` gets introduces as default _parent mapping Percolator:: - Fail indexing percolator queries containing either a has_child or has_parent query - Add support for MatchNoDocsQuery in percolator's query terms extract service - Let PercolatorQuery's explain use the two phase iterator Plugin Discovery Azure Classic:: - Make discovery-azure plugin work again Plugin Discovery EC2:: - Fix EC2 discovery settings - Add TAG_SETTING to list of allowed tags for the ec2 discovery plugin. - Fix EC2 Discovery settings Plugin Discovery GCE:: - Fix NPE when GCE region is empty Plugin Ingest Attachment:: - Adds content-length as number Plugin Ingest GeoIp:: - [ingest-geoip] update geoip to not include null-valued results from Plugin Lang Painless:: - Fix String Concatenation Bug In Painless - Fix break bug in for/foreach loops. - Fix compound assignment with string concats - Fix horrible capture - Fix Casting Bug - Remove Grammar Ambiguities - Remove if/else ANTLR ambiguity. - Fix insanely slow compilation - Fix Bug in Painless Assignment - Fix bracket shortcuts Plugin Repository Azure:: - Register group setting for repository-azure accounts - Fix azure files removal Plugin Repository S3:: - Fixes leading forward slash in S3 repository base_path - Add missing permission to repository-s3 - Fix repository S3 Settings and add more tests Plugin Store SMB:: - Fix calling ensureOpen() on the wrong directory (master forwardport) Plugins:: - Use sysprop like with es.path.home to pass conf dir - Quote path to java binary - CliTool: Messages printed in Terminal should have percent char escaped Query DSL:: - Fixes MultiMatchQuery so that it doesn't provide a null context - Fix silently accepting malformed queries - query_string_query should take term length into consideration when fuzziness is auto - Throw ParsingException if a query is wrapped in an array - Restore parameter name auto_generate_phrase_queries - Resolve string dates and date math to millis before evaluating for rewrite in range query - `constant_score` query should throw error on more than one filter - Single IPv4 addresses in IP field term queries - Make strategy optional in GeoShapeQueryBuilder readFrom and writeTo Query Refactoring:: - Query refactoring: set has_parent & has_child types context properly - Make sure equivalent geohashCellQueries are equal after toQuery called REST:: - Remove lenient URL parameter parsing - Fixes CORS handling so that it uses the defaults - Get XContent params from request in Nodes rest actions - Fixes reading of CORS pre-flight headers and methods Recovery:: - Fix concurrency issues between cancelling a relocation and marking shard as relocated - Move `reset recovery` into RecoveriesCollection - Fix replica-primary inconsistencies when indexing during primary relocation with ongoing replica recoveries - Invoke `IndexingOperationListeners` also when recovering from store or remote - Prevent interruption while store checks lucene files for consistency - Mark shard as recovering on the cluster state thread Reindex API:: - Fix reindex with transport client - Fix a race condition in reindex's rethrottle - Reindex should never report negative throttled_until - Reindex should gracefully handle when _source is disabled Scripting:: - Add support for booleans in scripts - Fix Javascript OOM build Failure - Fix propagating the default value for script settings - Catch and wrap AssertionError and NoClassDefFoundError in groovy scripts Search:: - Do not cache script queries. - Throw error when trying to fetch fields from source and source is disabled - Source filtering should keep working when the source contains numbers greater than `Long.MAX_VALUE`. - Fix NPE when running a range query on a `scaled_float` with no upper bound. - Fix NPE during search with source filtering if the source is disabled. - Restore assignment of time value when deserializing a scroll instance - Fix explain output for dfs query - Don't recursively count children profile timings - fix explain in function_score if no function filter matches - Fix NPEs due to disabled source - Require timeout units when parsing query body - Close SearchContext if query rewrite failed - Fix parsing single `rescore` element in SearchSourceBuilder - Fail queries on not indexed fields. - Fix for search after - Do not be lenient when parsing CIDRs Settings:: - Fix Setting.timeValue() method - Add a hard limit for `index.number_of_shard` - Include complex settings in settings requests - Fix filter cache setting to allow percentages - Move cluster.routing.allocation.same_shard.host setting to new settings infrastructure - Validate settings against dynamic updaters on the master - Register "cloud.node.auto_attributes" setting in EC2 discovery plugin - Use object equality to compare versions in IndexSettings - fix exists method for list settings when using numbered setting format - convert settings for ResourceWatcherService to new infrastructure - Register bootstrap settings - Add settings filtering to node info requests - Ban write access to system properties Snapshot/Restore:: - Better handling of an empty shard's segments_N file - Fix race condition in snapshot initialization - Fix the semantics for the BlobContainer interface Stats:: - Fix FieldStats deserialization of `ip` field - Fix serialization bug in allocation explain API. - Allocation explain: Also serialize `includeDiskInfo` field - Add missing builder.endObject() in FsInfo Store:: - Tighten up concurrent store metadata listing and engine writes - Make static Store access shard lock aware - Catch assertion errors on commit and turn it into a real exception Task Manager:: - Shard level tasks in Bulk Action lose reference to their parent tasks - Take filterNodeIds into consideration while sending task requests to nodes Term Vectors:: - Fix calculation of took time of term vectors request Translog:: - Fix RAM usage estimation of LiveVersionMap. - Fix translog replay multiple operations same doc - Snapshotting and sync could cause a dead lock TranslogWriter - Move translog recover outside of the engine - Mark shard active during recovery; push settings after engine finally inits === Regressions Highlighting:: - Handle SynonymQuery extraction for the FastVectorHighlighter === Upgrades Core:: - Upgrade to Lucene 6.2.0 - Update to jackson 2.8.1 - Upgrade to Lucene 6.1.0. - Upgrade to lucene-6.1.0-snapshot-3a57bea. - Upgrade to Lucene 6.0.1. - Upgrade to lucene 6 release - Upgrade to lucene-6.0.0-f0aa4fc. - upgrade to lucene 6.0.0-snapshot-bea235f - Upgrade to Jackson 2.7.1 Ingest:: - Update MaxMind geoip2 version to 2.6 Internal:: - Bump master (3.0-snapshot) to java 8 Network:: - Upgrade to Netty 4.1.5 - Dependencies: Upgrade to netty 4.1.4 - Introduce Netty 4 Packaging:: - Upgrade JNA to 4.2.2 and remove optionality Plugin Discovery EC2:: - Update aws sdk to 1.10.69 and add use_throttle_retries repository setting Scripting:: - Dependencies: Updates to mustache 0.9.3 Search Templates:: - Update mustache.java to version 0.9.1
2016-11-08 10:18:00 +01:00
lib/elasticsearch/modules/transport-netty4/plugin-descriptor.properties
lib/elasticsearch/modules/transport-netty4/plugin-security.policy
lib/elasticsearch/modules/transport-netty4/transport-netty4-${PKGVERSION}.jar
share/doc/elasticsearch/LICENSE.txt
share/doc/elasticsearch/NOTICE.txt
share/doc/elasticsearch/README.textile
share/examples/elasticsearch/elasticsearch.yml
Update databases/elasticsearch to 5.0.0. * Now requires JDK 8.0. * Use a different installation layout as some location are now impossible to change without patching the Java sources. === Breaking changes in 5.0 === Migration Plugin - The elasticsearch-migration plugin (compatible with Elasticsearch 2.3.0 and above) will help you to find issues that need to be addressed when upgrading to Elasticsearch 5.0. Indices created before 5.0 - Elasticsearch 5.0 can read indices created in version 2.0 or above. An Elasticsearch 5.0 node will not start in the presence of indices created in a version of Elasticsearch before 2.0. - Indices created in Elasticsearch 1.x or before will need to be reindexed with Elasticsearch 2.x in order to be readable by Elasticsearch 5.x. It is not sufficient to use the upgrade API. === Breaking changes Aggregations:: - Remove size 0 options in aggregations Aliases:: - make get alias expand to open and closed indices by default - Remove deprecated indices.get_aliases Allocation:: - Remove DisableAllocationDecider Analysis:: - Remove `token_filter` in _analyze API - Removes support for adding aliases to analyzers - Analyze API : Rename filters/token_filters/char_filter in Analyze API in master CAT API:: - Improve cat thread pool API - Row-centric output for _cat/fielddata - Add raw recovery progress to cat recovery API - Remove host from cat nodes API - Using the accept header in the request instead of content-type in _cat API. CRUD:: - Fixed naming inconsistency for fields/stored_fields in the APIs - Disallow creating indices starting with '-' or '+' - Wait for changes to be visible by search - Remove object notation for core types. Cache:: - Remove deprecated query cache settings Cluster:: - Persistent Node Ids - Remove validation errors from cluster health response - Remove memory section Core:: - Remove ignore system bootstrap checks - Remove minimum master nodes bootstrap check - Keep input time unit when parsing TimeValues - Remove cluster name from data path - Add max number of processes check - Add mlockall bootstrap check - One log Engine:: - Optimize indexing for the autogenerated ID append-only case - Remove `index.compound_on_flush` setting and default to `true` Exceptions:: - Die with dignity Fielddata:: - Remove "uninverted" and "binary" fielddata support for numeric and boolean fields. Geo:: - Deprecate GeoDistance enums and remove geo distance script helpers Index APIs:: - Removes write consistency level across replication action APIs in favor of wait_for_active_shards - Remove `GET` option for /_forcemerge - Remove /_optimize REST API endpoint Indexed Scripts/Templates:: - Store indexed scripts in the cluster state instead of the `.scripts` index Inner Hits:: - Also do not serialize `_index` key in search response for parent/child inner hits - Don't include `_id`, `_type` and `_index` keys in search response for inner hits - Nested inner hits shouldn't use relative paths - Drop top level inner hits in favour of inner hits defined in the query dsl Internal:: - `_flush` should block by default - Actually bound the generic thread pool - Remove support for pre 2.0 indices Logging:: - Introduce Log4j 2 Mapping:: - Remove `_timestamp` and `_ttl` on 5.x indices. - Add a soft limit on the mapping depth. - Disable fielddata on text fields by defaults. - Add limit to total number of fields in mapping - Change the field mapping index time boost into a query time boost. - Deprecate string in favor of text/keyword. - Term vector APIs should no longer update mappings - Remove the `format` option of the `_source` field. - Remove transform Packaging:: - Rename service.bat to elasticsearch-service.bat - Remove -D handling in args for windows plugin script - Set default min heap equal to default max heap - Remove allow running as root - Require /bin/bash in packaging - Remove plugin script parsing of system properties - Add JVM options configuration file Parent/Child:: - Removed `total` score mode in favour for `sum` score mode. - Removed pre 2.x parent child implementation Percolator:: - Remove `.percolator` type in favour of `percolator` field type - Change the percolate api to not dynamically add fields to mapping Plugin Delete By Query:: - Remove Delete-By-Query plugin Plugin Lang Painless:: - Remove all date 'now' methods from Painless - Make Painless the Default Language Plugins:: - Plugins cleanup - Rename bin/plugin in bin/elasticsearch-plugin - Change the inner structure of the plugins zip - Remove multicast plugin - Plugins: Remove site plugins Query DSL:: - Lessen leniency of the query dsl. - Function score query: remove deprecated support for boost_factor - Remove support for deprecated queries. REST:: - Change separator for shards preference - Parameter improvements to Cluster Health API wait for shards - Switch indices.exists_type from `{index}/{type}` to `{index}/_mapping/{type}`. - Only use `PUT` for index creation, not POST. - Remove camelCase support - Remove 'case' parameter from rest apis - Disallow unquoted field names - Limit the accepted length of the _id Scripting:: - Hardcode painless as the default scripting lang and add legacy script default for stored scripts - Remove deprecated 1.x script and template syntax - Allow only a single extension for a scripting engine - Remove 'sandbox' option for script settings, allow only registering a single language. Search:: - Rename `fields` to `stored_fields` and add `docvalue_fields` - Remove only node preference - Add search preference to prefer multiple nodes - Add a soft limit on the number of shards that can be queried in a single search request. - Remove deprecated reverse option from sorting - Remove some deprecations - Remove search exists api - Remove the scan and count search types. Search Refactoring:: - Remove deprecated parameter from field sort builder. - Remove "query" query and fix related parsing bugs Settings:: - Default max local storage nodes to one - Persistent Node Names - Remove support for properties - Rename boostrap.mlockall to bootstrap.memory_lock - Register `indices.query.bool.max_clause_count` setting - Remove settings and system properties entanglement - Remove `action.get.realtime` setting - Remove ability to specify arbitrary node attributes with `node.` prefix - Enforce `discovery.zen.minimum_master_nodes` is set when bound to a public ip - Prevent index level setting from being configured on a node level - Remove support for node.client setting - Remove es.max-open-files flag - Enforce node level limits if node is started in production env - Make settings validation strict - Remove the ability to fsync on every operation and only schedule fsync task if really needed - Script settings - Remove index.flush_on_close entirely - Restore chunksize of 512kb on recovery and remove configurability - Remove ancient deprecated and alternative recovery settings Similarities:: - Renames `default` similarity into `classic` Snapshot/Restore:: - Change the default of `include_global_state` from true to false for snapshot restores - Fail closing or deleting indices during a full snapshot Stats:: - Modify load average format - Reintroduce five-minute and fifteen-minute load averages on Linux - Add system CPU percent to OS stats Term Vectors:: - Remove DFS support from TermVector API Translog:: - Drop support for simple translog and hard-wire buffer to 8kb - Simplify translog-based flush settings Warmers:: - Remove query warmers and the warmer API. === Breaking Java changes Aggregations:: - getKeyAsString and key_as_string should be the same for terms aggregation on boolean field Allocation:: - Move parsing of allocation commands into REST and remove support for plugins to register allocation commands - Simplify shard balancer interface Analysis:: - Simplify Analysis registration and configuration CRUD:: - Removing isCreated and isFound from the Java API Cache:: - Refactor IndicesRequestCache to make it testable. - Fold IndexCacheModule into IndexModule Core:: - Remove ability to plug-in TransportService - Register thread pool settings - Bootstrap does not set system properties - Remove es.useLinkedTransferQueue Discovery:: - Introduce node handshake - Include pings from client nodes in master election Highlighting:: - Register Highlighter instances instead of classes Internal:: - Remove TransportService#registerRequestHandler leniency - Consolidate search parser registries - Move all FetchSubPhases to o.e.search.fetch.subphase - Squash the rest of o.e.rest.action - Clean up BytesReference - Cleanup ClusterService dependencies and detached from Guice - Simplify SubFetchPhase interface - Simplify FetchSubPhase registration and detach it from Guice - Remove duplicate getters from DiscoveryNode and DiscoveryNodes - Cli: Switch to jopt-simple - Replace ContextAndHeaders with a ThreadPool based ThreadLocal implementation - Remove NodeBuilder - Fix IndexSearcherWrapper interface to not depend on the EngineConfig - Cleanup query parsing and remove IndexQueryParserService - Remove circular dependency between IndicesService and IndicesStore - Remove guice injection from IndexStore and friends - Replace IndicesLifecycle with a per-index IndexEventListener - Simplify similarity module and friends - Refactor SearchRequest to be parsed on the coordinating node Java API:: - Add a dedicated client/transport project for transport-client - Remove setRefresh - Remove the count api - IdsQueryBuilder to accept only non null ids and types Mapping:: - [Mapping] Several MappingService cleanups Network:: - Factor out abstract TCPTransport* classes to reduce the netty footprint - Remove ability to disable Netty gathering writes Parent/Child:: - Cleanup ParentFieldMapper - Several other parent/child cleanups Percolator:: - Move the percolator from core to its own module - Remove percolator cache Plugins:: - Cleanup sub fetch phase extension point - Remove IndexTemplateFilter - Switch custom ShardsAllocators to pull based model - Make custom allocation deciders use pull based extensions - Migrate query registration from push to pull - Add components getter as bridge between guice and new plugin init world - Remove CustomNodeAttributes extension point - Add RepositoryPlugin interface for registering snapshot repositories - Simplified repository api for snapshot/restore - Switch most search extensions from push to pull - Move RestHandler registration to ActionModule and ActionPlugin - Pull actions from plugins - Switch analysis from push to pull - Remove guice from Mapper plugins - Fail to start if plugin tries broken onModule - Simplify ScriptModule and script registration - Cut over settings registration to a pull model - Enforce isolated mode for all plugins - Don't use guice for QueryParsers - Remove guice from the index level - Remove shard-level injector Query DSL:: - Remove the MissingQueryBuilder which was deprecated in 2.2.0. - Remove NotQueryBuilder Scripting:: - Remove o.e.script.Template class and move template query to lang-mustache module - Move search template to lang-mustache module - Remove LeafSearchScript.runAsFloat(): Nothing calls it. Search:: - Remove FetchSubPhaseParseElement - Refactor of query profile classes to make way for other profile implementations - Query refactoring: split parse phase into fromXContent and toQuery for all queries Search Refactoring:: - Refactored inner hits parsing and intoduced InnerHitBuilder - Remove support for query_binary and filter_binary - Validate query api: move query parsing to the coordinating node Settings:: - Remove `node.mode` and `node.local` settings - Remove Settings.settingsBuilder. - Move remaining settings in NettyHttpServerTransport to the new infra - Replace IndexSettings annotation with a full-fledged class - Fix ping timeout settings inconsistencies Snapshot/Restore:: - Removes extra writeBlob method in BlobContainer Store:: - Standardize state format type for global and index level metadata Suggesters:: - Remove suggest threadpool - Remove suggest transport action === Deprecations CRUD:: - Deprecate found and created in delete and index rest responses Plugin Discovery Azure Classic:: - Deprecate discovery-azure and rename it to discovery-azure-classic Plugin Mapper Attachment:: - Deprecate mapper-attachments plugin Query DSL:: - Deprecate Indices query - Deprecate mlt, in and geo_bbox query name shortcuts Query Refactoring:: - Splits `phrase` and `phrase_prefix` in match query into `MatchPhraseQueryBuilder` and `MatchPhrasePrefixQueryBuilder` Scripting:: - Deprecate Groovy, Python, and Javascript Search:: - Deprecate fuzzy query Templates:: - Deprecate template query === New features Aggregations:: - Split regular histograms from date histograms. - Adds aggregation profiling to the profile API - New Matrix Stats Aggregation module Aliases:: - Add an alias action to delete an index Allocation:: - Add API to explain why a shard is or isn't assigned Analysis:: - Exposing lucene 6.x minhash filter. - Add `fingerprint` token filter and `fingerprint` analyzer Circuit Breakers:: - Circuit break on aggregation bucket numbers with request breaker Discovery:: - Add two phased commit to Cluster State publishing Geo:: - Cut over geo_point field and queries to new LatLonPoint type Index APIs:: - Add rollover API to switch index aliases given some predicates Ingest:: - ingest-useragent plugin - Add a Sort ingest processor - Add date_index_name processor - Merge feature/ingest branch into master branch Java REST Client:: - Introduce async performRequest method - Low level Rest Client Mapping:: - Add `scaled_float`. - Expose half-floats. - Add a text field. - Add a new `keyword` field. Percolator:: - index the query terms from the percolator query Plugin Analysis ICU:: - Adding support for customizing the rule file in ICU tokenizer Plugin Discovery File:: - File-based discovery plugin Plugin Ingest Attachment:: - Ingest: Add attachment processor Plugin Mapper Attachment:: - Migrate mapper attachments plugin to main repository Plugin Repository HDFS:: - HDFS Snapshot/Restore plugin Plugin Repository S3:: - Add support for path_style_access Query DSL:: - Adds a rewrite phase to queries on the shard level Reindex API:: - Reindex from remote - Port Delete By Query to Reindex infrastructure - Merge reindex to master Scripting:: - Exceptions and Infinite Loop Checking - Added a new scripting language (PlanA) Scroll:: - Add the ability to partition a scroll in multiple slices. Search:: - Add the ability to disable the retrieval of the stored fields entirely - Add `search_after` parameter in the SearchAPI Settings:: - Add infrastructure to transactionally apply and reset dynamic settings Snapshot/Restore:: - Add Google Cloud Storage repository plugin Stats:: - Extend field stats to report searchable/aggregatable fields - API for listing index file sizes Store:: - Expose MMapDirectory.preLoad(). - Add primitive to shrink an index into a single shard Suggesters:: - Add support for returning documents with completion suggester - Add document-oriented completion suggester Task Manager:: - Add task cancellation mechanism - Make the Task object available to the action caller - Task Management: Add framework for registering and communicating with tasks Translog:: - Add `elasticsearch-translog` CLI tool with `truncate` command === Enhancements Aggregations:: - Make the heuristic to compute the default shard size less aggressive. - Add _bucket_count option to buckets_path - Remove AggregationStreams - Migrate serial_diff aggregation to NamedWriteable - Migrate most remaining pipeline aggregations to NamedWriteable - Migrate moving_avg pipeline aggregation to NamedWriteable - Migrate matrix_stats to NamedWriteable - Migrate derivative pipeline aggregation to NamedWriteable - Migrate top_hits, histogram, and ip_range aggregations to NamedWriteable - Migrate nested, reverse_nested, and children aggregations to NamedWriteable - Migrate geohash_grid and geo_bounds aggregations to NamedWriteable - Clean up significant terms aggregation results - Migrate range, date_range, and geo_distance aggregations to NamedWriteable - Migrate terms aggregation to NamedWriteable - Migrate sampler and missing aggregations to NamedWriteable - Migrate global, filter, and filters aggregation to NamedWriteable - Migrate the cardinality, scripted_metric, and geo_centroid aggregations to NamedWriteable - Use a static default precision for the cardinality aggregation. - Migrate more aggregations to NamedWriteable - Migrate stats and extended stats to NamedWriteable - Migrate sum, min, and max aggregations over to NamedWriteable - Start migration away from aggregation streams - Automatically set the collection mode to breadth_first in the terms aggregation when the cardinality of the field is unknown or smaller than the requested size. - Rename PipelineAggregatorBuilder to PipelineAggregationBuilder. - AggregatorBuilder and PipelineAggregatorBuilder do not need generics. - Rename AggregatorBuilder to AggregationBuilder - Add the ability to use the breadth_first mode with nested aggregations (such as `top_hits`) which require access to score information. - Make significant terms work on fields that are indexed with points. - Add tests and documentation for using `time_zone` in date range aggregation - Fixes serialisation of Ranges Allocation:: - Verify AllocationIDs in replication actions - Mark shard as stale on non-replicated write, not on node shutdown - Add routing changes API to RoutingAllocation - Primary shard allocator observes limits in forcing allocation - Use primary terms as authority to fail shards - Add recovery source to ShardRouting - Allow `_shrink` to N shards if source shards is a multiple of N - Only filter intial recovery (post API) when shrinking an index - Estimate shard size for shrinked indices - Only fail relocation target shard if failing source shard is a primary - Simplify delayed shard allocation - Limit retries of failed allocations per index - Immutable ShardRouting - Add the shard's store status to the explain API - Write shard state metadata as soon as shard is created / initializing - Reuse existing allocation id for primary shard allocation - Remove version in ShardRouting (now obsolete) - Prefer nodes that previously held primary shard for primary shard allocation - Extend reroute with an option to force assign stale primary shard copies - Allocate primary shards based on allocation IDs - Persist currently started allocation IDs to index metadata - Use ObjectParser to parse AllocationID - Persist allocation ID with shard state metadata on nodes Analysis:: - Stop using cached component in _analyze API - Specify custom char_filters/tokenizer/token_filters in the analyze API - Add a MultiTermAwareComponent marker interface to analysis factories. - Add Flags Parameter for Char Filter - Core: better error message when analyzer created without tokenizer or… - Move AsciiFolding earlier in FingerprintAnalyzer filter chain - Improve error message if resource files have illegal encoding Benchmark:: - Add client-benchmark-noop-api-plugin to stress clients even more in benchmarks CAT API:: - Add health status parameter to cat indices API - Includes the index UUID in the _cat/indices API - Add node name to Cat Recovery - Add support for documented byte/size units and for micros as a time unit in _cat API - Add _cat/tasks - Cat health supports ts=0 option - Expose http address in cat/nodes - [cat/recovery] Make recovery time a TimeValue() - :CAT API: remove space at the end of a line CRUD:: - Renaming operation to result and reworking responses - Adding _operation field to index, update, delete response. - CRUD: Allow to get and set ttl as a time value/string Cache:: - Enable option to use request cache for size > 0 - Cache FieldStats in the request cache - Allow the query cache to be disabled. - Enable the indices request cache by default Circuit Breakers:: - Cluster Settings Updates should not trigger circuit breakers. - Circuit break the number of inline scripts compiled per minute Cluster:: - Add clusterUUID to RestMainAction output - Batch process node left and node failure - Index creation waits for write consistency shards - Inline reroute with process of node join/master election - Index creation does not cause the cluster health to go RED - Cluster Health class improvements - Adds tombstones to cluster state for index deletions - Enable acked indexing - Cluster Health should run on applied states, even if waitFor=0 - Resolve index names to Index instances early - Remove DiscoveryNode#shouldConnectTo method - Fail demoted primary shards and retry request - Illegal shard failure requests - Shard failure requests for non-existent shards - Add handling of channel failures when starting a shard - Wait for new master when failing shard - Master should wait on cluster state publication when failing a shard - Split cluster state update tasks into roles - Add timeout mechanism for sending shard failures - Add listener mechanism for failures to send shard failed Core:: - Add production warning for pre-release builds - Add serial collector bootstrap check - Rename Netty TCP transports thread factories from http_* to transport_* - Do not log full bootstrap checks exception - Mark halting the virtual machine as privileged - Makes index creation more friendly - Clearer error when handling fractional time values - Read Elasticsearch manifest via URL - Throw if the local node is not set - Bootstrap check for OnOutOfMemoryError and seccomp - Log OS and JVM on startup - Add GC overhead logging - Refactor JvmGcMonitorService for testing - Default to server VM and add client VM check - Add system bootstrap checks escape hatch - Avoid sliced locked contention in internal engine - Add heap size bootstrap check - Remove hostname from NetworkAddress.format - Bootstrapping bootstrap checks - Add max map count check - Remove PROTOTYPE from BulkItemResponse.Failure - Throw an exception if Writeable.Reader reads null - Remove PROTOTYPE from RescorerBuilders - Port Primary Terms to master - Use index UUID to lookup indices on IndicesService - Add -XX+AlwaysPreTouch JVM flag - Add max size virtual memory check - Use and test relative time in TransportBulkAction - Bump Elasticsearch version to 5.0.0-SNAPSHOT - Assert that we can write in all data-path on startup - Add G1GC check on startup - Shards with heavy indexing should get more of the indexing buffer - Remove and ban ImmutableMap - Finish banning ImmutableSet - Removes and bans ImmutableSet - Remove and ban ImmutableMap#entrySet - Forbid ForwardingSet Dates:: - Improve TimeZoneRoundingTests error messages - Support full range of Java Long for epoch DateTime Discovery:: - Do not log cluster service errors at after joining a master - Log warning if minimum_master_nodes set to less than quorum - Add a dedicate queue for incoming ClusterStates Engine:: - Only try to read new segments info if we really flushed the index - Use _refresh instead of reading from Translog in the RT GET case - Remove writeLockTimeout from InternalEngine - Don't guard IndexShard#refresh calls by a check to isRefreshNeeded - Never call a listerner under lock in InternalEngine - Use System.nanoTime() to initialize Engine.lastWriteNanos - Flush big merges automatically if shard is inactive - Remove Engine.Create - Remove the disabled autogenerated id optimization from InternalEngine Exceptions:: - Improve startup exception - Make NotMasterException a first class citizen - Do not catch throwable - Make the index-too-old exception more explicit - Add index name in IndexAlreadyExistsException default message - Fix typos in exception/assert/log messages in core module. - Add field names to several mapping errors - Add serialization support for more important IOExceptions - Adds exception objects to log messages. - Add stack traces to logged exceptions where missing - Remove reflection hacks from ElasticsearchException - Rename QueryParsingException to a more generic ParsingException - Add *Exception(Throwable cause) constructors/ call where appropriate Expressions:: - improve date api for expressions/painless fields - Support geo_point fields in lucene expressions - Add support for .empty to expressions, and some docs improvements Geo:: - GeoBoundingBoxQueryBuilder should throw IAE when topLeft and bottomRight are the same coordinate - Enhanced lat/long error handling - Fix a potential parsing problem in GeoDistanceSortParser - Geo: Add validation of shapes to ShapeBuilders - Make remaining ShapeBuilders implement Writeable - Geo: Remove internal `translated` flag from LineStringBuilder - Make PointBuilder, CircleBuilder & EnvelopeBuilder implement Writable - Merging BaseLineString and BasePolygonBuilder with subclass - Moving static factory methods to ShapeBuilders - Remove InternalLineStringBuilder and InternalPolygonBuilder Highlighting:: - Switch Highlighting to ObjectParser - Use HighlightBuilder in SearchSourceBuilder - Joint parsing of common global Hightlighter and subfield parameters - Enable HighlightBuilder to create SearchContextHighlight - Add fromXContent method to HighlightBuilder Index APIs:: - Add date-math support to `_rollover` - Add Shrink request source parser to parse create index request body - Fail hot_threads in a better way if unsupported by JDK Index Templates:: - Add "version" field to Templates - Parse and validate mappings on index template creation Ingest:: - Add "version" field to Pipelines - Make it possible for Ingest Processors to access AnalysisRegistry - add ignore_missing option to convert,trim,lowercase,uppercase,grok,rename - Add support for parameters to the script ingest processor - introduce the JSON Processor - Allow rename processor to turn leaf fields into branch fields - remove ability to set field value in script-processor configuration - Add REST _ingest/pipeline to get all pipelines - Show ignored errors in verbose simulate result - update foreach processor to only support one applied processor. - Skip the execution of an empty pipeline - Add `ignore_failure` option to all ingest processors - new ScriptProcessor for Ingest - Expose underlying processor to blame for thrown exception within CompoundProcessor - Avoid string concatentation in IngestDocument.FieldPath - add ability to specify multiple grok patterns - add ability to disable ability to override values of existing fields in set processor - Streamline option naming for several processors - add automatic type conversion support to ConvertProcessor - Give the foreach processor access to the rest of the document - Added ingest statistics to node stats API - Add `ingest_took` to bulk response - Add ingest info to node info API, which contains a list of available processors - Use diffs for ingest metadata in cluster state - hide null-valued metadata fields from WriteableIngestDocument#toXContent - Ingest: use bulk thread pool for bulk request processing (was index before) - Add foreach processor - revert PipelineFactoryError handling with throwing ElasticsearchParseException in ingest pipeline creation - Add processor tags to on_failure metadata in ingest pipeline - catch processor/pipeline factory exceptions and return structured error responses - Ingest: move get/put/delete pipeline methods to ClusterAdminClient - Geoip processor: remove redundant latitude and longitude fields and make location an object with lat and lon subfields Inner Hits:: - Change scriptFields member in InnerHitBuilder to set Internal:: - Remove poor-mans compression in InternalSearchHit and friends - Don't register SearchTransportService handlers more than once - Unguice SearchModule - Deguice SearchService and friends - NodeStats classes to implement Writeable rather then Streamable - More info classes to implement Writeable rather than Streamable - Internal: Split disk threshold monitoring from decider - Switching LockObtainFailedException over to ShardLockObtainFailedException - update and delete by query requests to implement IndicesRequest.Replaceable - VersionFetchSubPhase should not use Versions#loadDocIdAndVersion - Remove useless PK lookup in IndicesTTLService - ignore some docker craziness in seccomp environment checks - Make Priority an enum - Snapshot UUIDs in blob names - Add RestController method for deprecating in one step - Tighten ensure atomic move cleanup - Enable checkstyle ModifierOrder - Expose task information from NodeClient - Changed rest handler interface to take NodeClient - Deprecate ExceptionsHelper.detailedMessage - Factor out ChannelBuffer from BytesReference - Cleanup Compressor interface - Hot methods redux - Remove forked joda time BaseDateTime class - Support optional ctor args in ConstructingObjectParser - Remove thread pool from page cache recycler - Do not automatically close XContent objects/arrays - Remove use of a Fields class in snapshot responses - Removes multiple toXContent entry points for SnapshotInfo - Removes unused methods in the o/e/common/Strings class - Determine content length eagerly in HttpServer - Consolidate query generation in QueryShardContext - Make reset in QueryShardContext private - Remove Strings#splitStringToArray - Add toString() to GetResponse - ConstructingObjectParser adapts ObjectParser for ctor args - Makes Script type writeable - FiltersAggregatorBuilder: Don't create new context for inner parsing - Clean up serialization on some stats - Normalize registration for SignificanceHeuristics - Make (read|write)NamedWriteable public - Use try-with-resource when creating new parser instances where possible - Don't pass XContentParser to ParseFieldRegistry#lookup - Internal: Remove threadlocal from document parser - Cut range aggregations to registerAggregation - Remove ParseFieldMatcher from AbstractXContentParser - Remove parser argument from methods where we already pass in a parse context - Switch SearchAfterBuilder to writeGenericValue - Remove StreamableReader - Cleanup nested, has_child & has_parent query builders for inner hits construction - Make AllocationCommands NamedWriteables - Isolate StreamableReader - Create registration methods for aggregations similar to those for queries - Remove PROTOTYPEs from QueryBuilders - Remove registerQueryParser - ParseField#getAllNamesIncludedDeprecated to not return duplicate names - Rework a query parser and improve registration - Clean up QueryParseContext and don't hold it inside QueryRewrite/ShardContext - Remove PROTOTYPE from MLT.Item - Remove PROTOTYPE from VersionType - Remove PROTOTYPEs from highlighting - Remove PROTOTYPEs from ingest - Start to rework query registration - Factor out slow logs into Search and IndexingOperationListeners - Remove PROTOTYPE from Suggesters - Remove PROTOTYPE from SortBuilders - Remove PROTOTYPE from ShapeBuilders - Replace FieldStatsProvider with a method on MappedFieldType. - Stop using PROTOTYPE in NamedWriteableRegistry - Support scheduled commands in current context - Thread limits - Remove leniency from segments info integrity checks - Rename SearchServiceTransportAction to SearchTransportService - Decouple the TransportService and ClusterService - Refactor bootstrap checks - Add LifecycleRunnable - Hot inlined methods in your area - Move IndicesQueryCache and IndicesRequestCache into IndicesService - Forbid use of java.security.MessageDigest#clone() - Make IndicesWarmer a private class of IndexService - Simplify IndicesFieldDataCache and detach from guice - Uppercase ells ('L') in long literals - ShardId equality and hash code inconsistency - Ensure all resources are closed on Node#close() - Make index uuid available in Index, ShardRouting & ShardId - Move RefreshTask into IndexService and use since task per index - Make IndexingMemoryController private to IndicesService - Cleanup IndexingOperationListeners infrastructure - Remove and forbid use of j.u.c.ThreadLocalRandom - Fix IntelliJ query builder type inference issues - Remove and forbid use of Collections#shuffle(List) and Random#<init>() - Remove and forbid use of the type-unsafe empty Collections fields - Move IndicesService.canDeleteShardContent to use IndexSettings - Simplify MonitorService construction and detach from guice - Use Supplier for StreamInput#readOptionalStreamable - Add variable-length long encoding - Extend usage of IndexSetting class - Fold SimilarityModule into IndexModule - Move to lucene BoostQuery - Use built-in method for computing hash code of longs - Refactor ShardFailure listener infrastructure - Add methods for variable-length encoding integral arrays - Fold IndexAliasesService into IndexService - Remove unneeded Module abstractions - Query refactoring: simplify IndexQueryParserService parse methods - Remove and forbid use of com.google.common.collect.Iterators - Remove and forbid use of com.google.common.collect.ImmutableCollection - Remove and forbid use of com.google.common.io.Resources - Remove and forbid use of com.google.common.hash.* - Remove and forbid use of com.google.common.net.InetAddresses - Remove and forbid use of com.google.common.collect.EvictingQueue - Replace Guava cache with simple concurrent LRU cache - Remove ClusterSerivce and IndexSettingsService dependency from IndexShard - Start making RecoverySourceHandler unittestable - Remove IndexService dep. from IndexShard - Remove ES internal deletion policies in favour of Lucenes implementations - Move ShardTermVectorService to be on indices level as TermVectorService - Move ShardPercolateService creation into IndexShard - Remove `ExpressionScriptCompilationException` and `ExpressionScriptExecutionException` - Reduced the number of ClusterStateUpdateTask variants - Add a BaseParser helper for stream parsing - Remove and forbid use of com.google.common.primitives.Ints - Remove and forbid use of com.google.common.math.LongMath - Remove and forbid use of com.google.common.base.Joiner - Replace and ban next batch of Guava classes - Remove and forbid use of com.google.common.collect.Iterables - Replace LoadingCache usage with a simple ConcurrentHashMap - Use Supplier instead of Reflection - Remove and forbid use of com.google.common.base.Preconditions - Remove and forbid use of guava Function, Charsets, Collections2 - Remove and forbid use of com.google.common.collect.ImmutableSortedMap - Remove and forbid use of several com.google.common.util. classes - Cleanup SearchRequest & SearchRequestBuilder - Remove and forbid use of com.google.common.collect.Queues - Remove and forbid use of com.google.common.base.Preconditions#checkNotNull - Remove and forbid use of com.google.common.collect.Sets - Remove and forbid use of com.google.common.collect.Maps - Remove use of underscore as an identifier - Remove and forbid the use of com.google.common.base.Predicate(s)? - This commit removes com.google.common.io Java API:: - Ensure PutMappingRequest.buildFromSimplifiedDef input are pairs - Start from a random node number so that clients do not overload the first node configured - Switch QueryBuilders to new MatchPhraseQueryBuilder - Improve adding clauses to `span_near` and `span_or` query - QueryBuilder does not need generics. - Remove copy constructors from request classes and TransportMessage type Java REST Client:: - Add support for a RestClient path prefix - Add "Async" to the end of each Async RestClient method - Allow RestClient to send array-based headers - Add response body to ResponseException error message - Simplify Sniffer initialization and automatically create the default HostsSniffer - Remove duplicate dependency declaration for http client - Add callback to customize http client settings - Rest Client: add short performRequest method variants without params and/or body Logging:: - Ensure logging is initialized in CLI tools - Give useful error message if log config is missing - Complete Elasticsearch logger names - Add node name to decider trace logging - Logging shutdown hack - Disable console logging - Skip loading of jansi from log4j2 - Configure AWS SDK logging configuration - Warn if unsupported logging configuration present - Size limit deprecation logs - Increase visibility of deprecation logger - Add log message about enforcing bootstrap checks - Improve logging for batched cluster state updates - Send HTTP Warning Header(s) for any Deprecation Usage from a REST request - Throw IllegalStateException when handshake fails due to version or cluster mismatch Mapping:: - Automatically downgrade text and keyword to string on indexes imported from 2.x - Do not parse numbers as both strings and numbers when not included in `_all`. - Don't index the `_version` field - The root object mapper should support updating `numeric_detection`, `date_detection` and `dynamic_date_formats`. - Automatically upgrade analyzed string fields that have `index_options` or `position_increment_gap` set. - Mappings: Support dots in field names in mapping parsing - Save one utf8 conversion in KeywordFieldMapper. - Do not parse the created version from the settings every time a field is parsed. - Elasticsearch should reject dynamic templates with unknown `match_mapping_type`. - Upgrade `string` fields to `text`/`keyword` even if `include_in_all` is set. - Adds a methods to find (and dynamically create) the mappers for the parents of a field with dots in the field name - Automatically upgrade analyzed strings with an analyzer to `text`. - Support dots in field names when mapping already exists - Use the new points API to index numeric fields. - Simplify AllEntries, AllField and AllFieldMapper: - Make `parseMultiField` part of `parseField`. - Automatically add a sub keyword field to string dynamic mappings. - Remove friction from the mapping changes in 5.0. - Rework norms parameters for 5.0. - Moved dynamic field handling in doc parsing to end of parsing - Remove the MapperBuilders utility class. - Make the `index` property a boolean. - Remove the ability to enable doc values with the `fielddata.format` setting. - Be stricter about parsing boolean values in mappings. - Fix default doc values to be enabled when a field is not indexed. - Dynamically map floating-point numbers as floats instead of doubles. - Simplify MetaDataMappingService. - Remove MergeMappingException. Network:: - Avoid early initializing Netty - Network: Allow to listen on virtual interfaces. - Explicitly tell Netty to not use unsafe - Enable Netty 4 extensions - Modularize netty - Simplify TcpTransport interface by reducing send code to a single send method - Do not start scheduled pings until transport start Packaging:: - Add quiet option to disable console logging - Explicitly disable Netty key set replacement - Remove explicit parallel new GC flag - Use JAVA_HOME or java.exe in PATH like the Linux scripts do - Don't mkdir directly in deb init script - Increase default heap size to 2g - Switch init.d scripts to use bash - Switch scripts to use bash - Further simplifications of plugin script - Pass ES_JAVA_OPTS to JVM for plugins script - Remove unnecessary sleep from init script restart - Explicitly set packaging permissions - rpm uses non-portable `--system` flag to `useradd` - Adding JAVA_HOME to documents and env config file - Added RPM metadata - Elasticsearch ownership for data, logs, and configs - Fail early on JDK with compiler bug - Make security non-optional - Remove RuntimePermission("accessDeclaredMembers") - Remove Guava as a dependency - Remove Guava as a dependency Percolator:: - Also support query term extract for queries wrapped inside a FunctionScoreQuery - Add support for synonym query to percolator query term extraction - Add percolator query extraction support for dismax query - Improve percolate query performance by not verifying certain candidate matches - Improve percolator query term extraction - PercolatorQueryBuilder cleanup by using MemoryIndex#fromDocument(...) helper - Add scoring support to the percolator query - Add query extract support for the blended term query and the common terms query - Add support for several span queries in ExtractQueryTermsService - Add support for TermsQuery in ExtractQueryTermsService - Replace percolate APIs with a percolator query Plugin Analysis Kuromoji:: - Add nbest options and NumberFilter Plugin Discovery EC2:: - Use `DefaultAWSCredentialsProviderChain` AWS SDK class for credentials - Support new Asia Pacific (Mumbai) ap-south-1 AWS region - Add support for proxy authentication for s3 and ec2 Plugin Discovery GCE:: - Allow `_gce_` network when not using discovery gce Plugin Ingest Attachment:: - Minor attachment processor improvements Plugin Lang Painless:: - Disable regexes by default in painless - Catch OutOfMemory and StackOverflow errors in Painless - Change Painless Tree Structure for Variable/Method Chains - Add replaceAll and replaceFirst - Painless Initializers - Add augmentation - Infer lambda arguments/return type - Fix explicit casts and improve tests. - Add lambda captures - improve Debugger to print code even if it hits exception - Move semicolon hack into lexer - Add flag support to regexes - improve lambda syntax (allow single expression) - Remove useless dropArguments in megamorphic cache - non-capturing lambda support - fix bugs in operators and more improvements for the dynamic case - improve unary operators and cleanup tests - Add support for the find operator (=~) and the match operator (==~) - Remove casts and boxing for dynamic math - Refactor def math - Add support for /regex/ - Array constructor references - Method references to user functions - Add } as a delimiter. - Add Lambda Stub Node - Add capturing method references - Add Functions to Painless - Add Method to Get New MethodWriters - Static For Each - Method reference support - Add support for the new Java 9 MethodHandles#arrayLength() factory - Improve painless compile-time exceptions - add java.time packages to painless whitelist - Add Function Reference Stub to Painless - improve painless whitelist coverage of java api - Definition cleanup - Made def variable casting consistent with invokedynamic rules - Use Java 9 Indy String Concats, if available - Add method overloading based on arity - Refactor WriterUtils to extend ASM GeneratorAdapter - Whitelist expansion - Remove boxing when loading and storing values in "def" fields/arrays, remove boxing onsimple method calls of "def" methods - Some cleanups - Use isAssignableFrom instead of relying on ClassCastException - Build descriptor of array and field load/store in code - Rename the dynamic call site factory to DefBootstrap - Cleanup of DynamicCallSite - Improve exception stacktraces - Make Line Number Available in Painless - Remove input, support params instead - Decouple ANTLR AST from Painless - _value support in painess? - Long priority over Float - _score as double, not float - Add 'ctx' keyword to painless. - Painless doc access - Retrieve _score directly from Scorer - Implement needsScore() correctly. - Add synthetic length property as alias to Lists, so they can be used like arrays - Use better typing for dynamic method calls - Array load/store and length with invokedynamic - Switch painless dynamic calls to invokedynamic, remove perf hack/cheat - Add fielddata accessors (.value/.values/.distance()/etc) - painless: optimize/simplify dynamic field and method access - Painless: Single-Quoted Strings - Painless Clean Up - Make Painless a Module - Minor Clean up - Remove Extra String Concat Token Plugin Mapper Attachment:: - minor attachments cleanups: IDE test support and EPUB format Plugin Mapper Size:: - Add doc values support to the _size field in the mapper-size plugin Plugin Repository Azure:: - Support global `repositories.azure.` settings - Add timeout settings (default to 5 minutes) - Remove AbstractLegacyBlobContainer Plugin Repository HDFS:: - merge current hdfs improvements to master Plugin Repository S3:: - Extract AWS Key from KeyChain instead of using potential null value - Check that S3 setting `buffer_size` is always lower than `chunk_size` Plugins:: - Revert "Display plugins versions" - Provide error message when plugin id is missing - Print message when removing plugin with config - Plugins: Update official plugin location with unified release - Allow plugins to upgrade global custom metadata on startup - Switch aggregations from push to pull - Display plugins versions - Add ScriptService to dependencies available for plugin components - Make NamedWriteableRegistry immutable and add extension point for named writeables - Log one plugin info per line - Make rest headers registration pull based - Add resource watcher to services available for plugin components - Add some basic services to createComponents for plugins - Make plugins closeable - Plugins: Add status bar on download - Add did-you-mean for plugin cli - Plugins: Remove name() and description() from api - Emit nicer error message when trying to install unknown plugin - Add plugin information for Verbose mode - Cli: Improve output for usage errors - Cli: Add verbose output with zip url when installing plugin - PluginManager: Add xpack as official plugin - CliTool: Cleanup and document Terminal - Plugin cli: Improve maven coordinates detection - Enforce plugin zip does not contain zip entries outside of the plugin dir - CliTool: Allow unexpected exceptions to propagate - Reduce complexity of plugin cli - Remove Plugin.onIndexService. - Open up QueryCache and SearcherWrapper extension points Query DSL:: - Throw exception when multiple field names are provided as part of query short syntax - Query parsers to throw exception when multiple field names are provided - Allow empty json object in request body in `_count` API - Treat zero token in `common` terms query as MatchNoDocsQuery - Handle empty query bodies at parse time and remove EmptyQueryBuilder - Enforce MatchQueryBuilder#maxExpansions() to be strictly positive - Don't allow `fuzziness` for `multi_match` types `cross_fields`, `phrase` and `phrase_prefix` - Add MatchNoDocsQuery, a query that matches no documents and prints the reason why in the toString method. - Adds `ignore_unmapped` option to geo queries - Adds `ignore_unmapped` option to nested and P/C queries - SimpleQueryParser should call MappedFieldType.termQuery when appropriate. - An `exists` query on an object should query a single term. - Function Score Query: make parsing stricter - Parsers should throw exception on unknown objects - UNICODE_CHARACTER_CLASS fix Query Refactoring:: - Add infrastructure to rewrite query builders - Switch geo validation to enum REST:: - Add a REST spec for the create API - Add response params to REST params did you mean - Add did you mean to strict REST params - Add exclusion support to response filtering - Only write forced_refresh if we forced a refresh - Add Location header to the index, update, and create APIs - Add support for `wait_for_events` to the `_cluster/health` REST endpoint - Rename Search Template REST spec names - Adding status field in _msearch error request bodies - Add semicolon query string parameter delimiter - Enable HTTP compression by default with compression level 3 - Allow JSON with unquoted field names by enabling system property - More robust handling of CORS HTTP Access Control - Add option to exclude based on paths in XContent Recovery:: - Pass on maxUnsafeAutoIdTimestamp on recovery / relocation - Non-blocking primary relocation hand-off - index shard should be able to cancel check index on close. - TransportNodesListGatewayStartedShards should fall back to disk based index metadata if not found in cluster state - Recover broken IndexMetaData as closed - Relocation source should be marked as relocating before starting recovery to primary relocation target - Operation counter for IndexShard - Primary relocation handoff - Remove recovery threadpools and throttle outgoing recoveries on the master - Refactor StoreRecoveryService to be a simple package private util class Reindex API:: - Only ask for `_version` we need it - Use fewer threads when reindexing-from-remote - Support authentication with reindex-from-remote - Support requests_per_second=-1 to mean no throttling in reindex - Implement ctx.op = "delete" on _update_by_query and _reindex - Make Reindex cancellation tests more uniform - Makes DeleteByQueryRequest implements IndicesRequest - Teach reindex to retry on search failures - Remove ReindexResponse in favor of BulkIndexByScrollResponse - Stricter validation of Reindex's requests_per_second - Properly mark reindex's child tasks as child tasks - Make reindex throttling dynamic - Throttling support for reindex - Add ingest pipeline support to reindex Scripting:: - Parse script on storage instead of on retrieval - Migrate elasticsearch native script examples to the main repo - Remove ClusterState from compile api - Mustache: Render Map as JSON - Compile each Groovy script in its own classloader - Include script field even if it value is null - Skipping hidden files compilation for script service - Rename Plan A to Painless - Add plumbing for script compile-time parameters - Factor mustache -> modules/lang-mustache Scroll:: - Add an index setting to limit the maximum number of slices allowed in a scroll request. Search:: - Limit batch size when scrolling - Record method counts while profiling query components - Change default similarity to BM25 - Add a parameter to cap the number of searches the msearch api will concurrently execute - Introduces GeoValidationMethod to GeoDistanceSortBuilder - Switches from empty boolean query to matchNoDocs - Allow binary sort values. - Fail query if it contains very large rescores - Type filters should not have a performance impact when there is a single type. - Store _all payloads on 1 byte instead of 4. - Refuse to load fields from _source when using the `fields` option and support wildcards. - Add response into ClearScrollResponse - Shuffle shards for _only_nodes + support multiple specifications like cluster API Search Refactoring:: - Removes the now obsolete SearchParseElement implementations - Remove RescoreParseElement - Remove HighlighterParseElement - Move top level parsing of sort element to SortBuilder - Switch to using refactored SortBuilder instead of using BytesReference in serialization - Add build() method to SortBuilder implementations - Refactoring of Suggestions - Move sort `order` field up into SortBuilder - Moves SortParser:parse(...) to only require QueryShardContext - Change internal representation of suggesters - Make GeoDistanceSortBuilder serializable, 2nd try - Move missing() from SortBuilder interface to class - Remove deprecated parameters from ScriptSortBuilder - Refactor GeoSortBuilder - Refactor FieldSortBuilder - Make sort order enum writable. - Make DistanceUnit writable. - RescoreBuilder: Add parsing and creating of RescoreSearchContext - Make RescoreBuilder and nested QueryRescorer Writable - Explain api: move query parsing to the coordinating node - Switch query parsers to use ParseField - Refactoring of Aggregations Sequence IDs:: - Persist sequence number checkpoints - Add sequence numbers to cat shards API Settings:: - Add precise logging on unknown or invalid settings - Make `action.auto_create_index` setting a dynamic cluster setting - Removes space between # and the setting in elasticsearch.yml - Validates new dynamic settings from the current state - Improve error message if a setting is not found - Cleanup placeholder replacement - Switch to registered Settings for all IndexingMemoryController settings - Add guard against null-valued settings - Useful error message for null property placeholder - Archive cluster level settings if unknown or broken - Improve error message if setting is not found - Improve upgrade experience of node level index settings - Settings with complex matchers should not overlap - Moves GCE settings to the new infra - Add filtering support within Setting class - Migrate AWS settings to new settings infrastructure - Remove `gateway.initial_meta` and always rely on min master nodes - Rewrite SettingsFilter to be immutable - Simplify azure settings - Convert PageCacheRecycler settings - Monitor settings - Cut over tribe node settings to new settings infra - Convert multcast plugin settings to the new infra - Convert `request.headers.*` to the new settings infra - Migrate Azure settings to new settings infrastructure - Validate logger settings and allow them to be reset via API - Switch NodeEnvironment's settings to new settings - Simplify AutoCreateIndex and add more tests - Convert several pending settings - Migrate query caching settings to the new settings infra. - Convert `action.auto_create_index` and `action.master.force_local` to the new settings infra - Convert `cluster.routing.allocation.type` and `processors` to the new settings infra. - Validate tribe node settings on startup - Move node.client, node.data, node.master, node.local and node.mode to new settings infra - Moved http settings to the new settings infrastructure - Migrate network service to the new infra - Convert client.transport settings to new infra - Move discovery.* settings to new Setting infrastructure - Change over to o.e.common.settings.Setting for http settings - Convert "path.*" and "pidfile" to new settings infra - Migrate repository settings to the new settings API - Convert "indices.*" settings to new infra. - Migrate gateway settings to the new settings API. - Convert several node and test level settings - Run Metadata upgrade tool on every version - Check for invalid index settings on metadata upgrade - Validate the settings key if it's simple chars separated by `.` - Validate known global settings on startup - Cut over all index scope settings to the new setting infrastrucuture - Remove updatability of `index.flush_on_close` - Move all dynamic settings and their config classes to the index level - Always require units for bytes and time settings - Make MetaData parsing less lenient. - Move async translog sync logic into IndexService - Remove `index.merge.scheduler.notify_on_failure` and default to `true` - Remove cache concurrency level settings that no longer apply Similarities:: - Defining a global default similarity Snapshot/Restore:: - Delete differing files in the store before restoring - Adds ignoreUnavailable option to the snapshot status API - Check restores in progress before deleting a snapshot - Snapshot repository cleans up empty index folders - BlobContainer#writeBlob no longer can overwrite a blob - More resilient blob handling in snapshot repositories - Adding repository index generational files - Raised IOException on deleteBlob - Adds UUIDs to snapshots - Clarify the semantics of the BlobContainer interface - Change BlobPath.buildAsString() method - Remove the Snapshot class in favor of using SnapshotInfo Stats:: - Add mem section back to cluster stats - Add network types to cluster stats - Add missing field type in the FieldStats response. - Expose the ClusterInfo object in the allocation explain output - Add total_indexing_buffer/_in_bytes to nodes info API - Allow FieldStatsRequest to disable cache - Remove index_writer_max_memory stat from segment stats - Move DocStats under Engine to get more accurate numbers - Do not return fieldstats information for fields that exist in the mapping but not in the index. - Add whether the shard state fetch is pending to the allocation explain API - Add Failure Details to every NodesResponse - Add I/O statistics on Linux - Add points to SegmentStats. - Remove FieldStats.Float. - Show configured and remaining delay for an unassigned shard. - indexing stats now contain indexing ops from recovery [ISSUE] - Normalize unavailable load average - Add load averages to OS stats on FreeBSD - Expose pending cluster state queue size in node stats Store:: - Use `mmapfs` by default. - Remove support for legacy checksums - Rename index folder to index_uuid Suggesters:: - Move SuggestUtils methods to their respective caller classes - Remove payload option from completion suggester - Add bwc support for reading pre-5.0 completion index Task Manager:: - Rename Task Persistence into Storing Task Results - Fetch result when wait_for_completion - Create get task API that falls back to the .tasks index - Add ability to store results for long running tasks - Move parentTaskId into TransportRequest - Shorten the serialization of the empty TaskId - Expose whether a task is cancellable in the _tasks list API - Add ability to group tasks by common parent - Add start time and duration to tasks - Combine node name and task id into single string task id - Add task status - Extend tracking of parent tasks to master node, replication and broadcast actions Translog:: - Fsync documents in an async fashion - Add checksumming and versions to the Translog's Checkpoint files - Beef up Translog testing with random channel exceptions - Do not replay into translog on local recovery - FSync translog outside of the writers global lock - Remove ChannelReference and simplify Views - Simplify TranslogWriter to always write to a stream - Remove TranslogService and fold it into synchronous IndexShard API === Bug fixes Aggregations:: - Fixed writeable name from range to geo_distance - Fix date_range aggregation to not cache if now is used - The `top_hits` aggregation should compile scripts only once. - Fix agg profiling when using breadth_first collect mode - Throw exception when maxBounds greater than minBounds - Undeprecates `aggs` in the search request - Change how `nested` and `reverse_nested` aggs know about their nested depth level - Make ExtendedBounds immutable - Aggregations fix: support include/exclude strings for IP and dates - Fix xcontent rendering of ip terms aggs. - Improving parsing of sigma param for Extended Stats Bucket Aggregation - Fixes NPE when no window is specified in moving average request - Fixes Filter and FiltersAggregation to work with empty query - Fixes the defaults for `keyed` in the percentiles aggregations - Correct typo in class name of StatsAggregator Allocation:: - Keep a shadow replicas' allocation id when it is promoted to primary - IndicesClusterStateService should clean local started when re-assigns an initializing shard with the same aid - IndexRoutingTable.initializeEmpty shouldn't override supplied primary RecoverySource - Update incoming recoveries stats when shadow replica is reinitialized - `index.routing.allocation.initial_recovery` limits replica allocation - Upon being elected as master, prefer joins' node info to existing cluster state - Fix NPE when initializing replica shard has no UnassignedInfo - Make shard store fetch less dependent on the current cluster state, both on master and non data nodes - Fix recovery throttling to properly handle relocating non-primary shards - Replica shards must be failed before primary shards Analysis:: - Named analyzer should close the analyzer that it wraps - Can load non-PreBuiltTokenFilter in Analyze API - Fix analyzer alias processing Bulk:: - Add not-null precondition check in BulkRequest CAT API:: - Fixes cat tasks operation in detailed mode - Add index pattern wildcards support to _cat/shards CRUD:: - GET operations should not extract fields from `_source`. - Squash a race condition in RefreshListeners - Prevent TransportReplicationAction to route request based on stale local routing table - Resolves the conflict between alias routing and parent routing by applying the alias routing and ignoring the parent routing. Cache:: - Prevent requests that use scripts or now() from being cached - Serialize index boost and phrase suggest collation keys in a consistent order Circuit Breakers:: - Never trip circuit breaker in liveness request - Free bytes reserved on request breaker Cluster:: - Fixes issue with dangling index being deleted instead of re-imported - Allow routing table to be filtered by index pattern - Use executor's describeTasks method to log task information in cluster service - Acknowledge index deletion requests based on standard cluster state acknowledgment - Dangling indices are not imported if a tombstone for the index exists - Fix issue with tombstones matching active indices in cluster state - Shard state action channel exceptions Core:: - Makes `m` case sensitive in TimeValue - Guard against negative result from FileStore.getUsableSpace when picking data path for a new shard - Handle rejected execution exception on reschedule - Fix concurrency bug in IMC that could cause it to check too infrequently - Iterables.flatten should not pre-cache the first iterator - Avoid race while retiring executors - Refactor UUID-generating methods out of Strings - Node names cleanup - NullPointerException from IndexingMemoryController when a version conflict happens during recovery - Handle RejectedExecution gracefully in TransportService during shutdown Discovery:: - Update discovery nodes after cluster state is published - Add current cluster state version to zen pings and use them in master election Engine:: - Take refresh IOExceptions into account when catching ACE in InternalEngine - Don't suppress AlreadyClosedException Expressions:: - replace ScriptException with a better one Geo:: - Incomplete results when using geo_distance for large distances [ISSUE] - Fix multi-field support for GeoPoint types - Enforce distance in distance query is > 0 [ISSUE] Highlighting:: - Enable BoostingQuery with FVH highlighter Index APIs:: - Fixes active shard count check in the case of `all` shards - Add zero-padding to auto-generated rollover index name increment Ingest:: - no null values in ingest configuration error messages - JSON Processor was not properly added - Don't rebuild pipeline on every cluster state update - Add dotexpander processor - Fix NPE when simulating a pipeline with no id - Change foreach processor to use ingest metadata for array element - No other processors should be executed after on_failure is called - rethrow script compilation exceptions into ingest configuration exceptions - Rename from `ingest-useragent` plugin to `ingest-user-agent` and its processor from `useragent` to `user_agent` - Fix ignore_failure behavior in _simulate?verbose and more cleanup - Pipeline Stats: Fix concurrent modification exception - Validate properties values according to database type - Ingest does not close its factories - Handle regex parsing errors in Gsub and Grok Processors - add on_failure exception metadata to ingest document for verbose simulate - The IngestDocument copy constructor should make a deep copy Inner Hits:: - Ensure that that InnerHitBuilder uses rewritten queries Internal:: - Prevent AbstractArrays from release bytes more than once - IndicesAliasesRequest should not implement CompositeIndicesRequest - Ensure elasticsearch doesn't start with unuspported indices - Remove ListTasksResponse#setDiscoveryNodes() - Priority values should be unmodifiable - Extract AbstractBytesReferenceTestCase - Add XPointValues - Fix BulkItemResponse.Failure.toString - Enable unmap hack for java 9 - Fix issues with failed cache loads - Allow parser to move on the START_OBJECT token when parsing search source - Ensure searcher is release if wrapping fails - Avoid deadlocks in Cache#computeIfAbsent Java API:: - fix IndexResponse#toString to print out shards info - Add NamedWriteables from plugins to TransportClient - Fix potential NPE in SearchSourceBuilder Java REST Client:: - Rest Client: add slash to log line when missing between host and uri - Rest Client: HostsSniffer to set http as default scheme Logging:: - Fix logger when you can not create an azure storage client - Avoid unnecessary creation of prefix loggers - Fix logging hierarchy configs - Fix prefix logging - Hack around Log4j bug rendering exceptions - Avoid prematurely triggering logger initialization - Only log running out of slots when out of slots Mapping:: - Allow position_gap_increment for fields in indices created prior to 5.0 - Validate blank field name - Better error message when mapping configures null - Make doc_values accessible for _type - Fix and test handling of `null_value`. - Fail automatic string upgrade if the value of `index` is not recognized. - Fix dynamic check to properly handle parents - Fix array parsing to remove its context when finished parsing - Disallow fielddata loading on text fields that are not indexed. - Make dynamic template parsing less lenient. - Fix dynamic mapper when its parent already has an update - Fix copy_to when the target is a dynamic object field. - Preserve existing mappings on batch mapping updates Network:: - Fix connection close header handling - Ensure port range is readable in the exception message - Fix expect 100 continue header handling - Fixes netty4 module's CORS config to use defaults - Fix various concurrency issues in transport - Verify lower level transport exceptions don't bubble up on disconnects Packaging:: - [Packaging] Do not remove scripts directory on upgrade - [Package] Remove bin/lib/modules directories on RPM uninstall/upgrade - Fix handling of spaces for jvm.options on Windows - Disable service in pre-uninstall - Remove extra bin/ directory in bin folder - Filter client/server VM options from jvm.options - Preserve config files from RPM install - Fix typo in message for variable setup ES_MAX_MEM - Don't run `mkdir` when $DATA_DIR contains a comma-separated list - Fix exit code - Set MAX_OPEN_FILES to 65536 - [windows] Service command still had positional start command - Do not pass double-dash arguments on startup Parent/Child:: - Make sure that no `_parent#null` gets introduces as default _parent mapping Percolator:: - Fail indexing percolator queries containing either a has_child or has_parent query - Add support for MatchNoDocsQuery in percolator's query terms extract service - Let PercolatorQuery's explain use the two phase iterator Plugin Discovery Azure Classic:: - Make discovery-azure plugin work again Plugin Discovery EC2:: - Fix EC2 discovery settings - Add TAG_SETTING to list of allowed tags for the ec2 discovery plugin. - Fix EC2 Discovery settings Plugin Discovery GCE:: - Fix NPE when GCE region is empty Plugin Ingest Attachment:: - Adds content-length as number Plugin Ingest GeoIp:: - [ingest-geoip] update geoip to not include null-valued results from Plugin Lang Painless:: - Fix String Concatenation Bug In Painless - Fix break bug in for/foreach loops. - Fix compound assignment with string concats - Fix horrible capture - Fix Casting Bug - Remove Grammar Ambiguities - Remove if/else ANTLR ambiguity. - Fix insanely slow compilation - Fix Bug in Painless Assignment - Fix bracket shortcuts Plugin Repository Azure:: - Register group setting for repository-azure accounts - Fix azure files removal Plugin Repository S3:: - Fixes leading forward slash in S3 repository base_path - Add missing permission to repository-s3 - Fix repository S3 Settings and add more tests Plugin Store SMB:: - Fix calling ensureOpen() on the wrong directory (master forwardport) Plugins:: - Use sysprop like with es.path.home to pass conf dir - Quote path to java binary - CliTool: Messages printed in Terminal should have percent char escaped Query DSL:: - Fixes MultiMatchQuery so that it doesn't provide a null context - Fix silently accepting malformed queries - query_string_query should take term length into consideration when fuzziness is auto - Throw ParsingException if a query is wrapped in an array - Restore parameter name auto_generate_phrase_queries - Resolve string dates and date math to millis before evaluating for rewrite in range query - `constant_score` query should throw error on more than one filter - Single IPv4 addresses in IP field term queries - Make strategy optional in GeoShapeQueryBuilder readFrom and writeTo Query Refactoring:: - Query refactoring: set has_parent & has_child types context properly - Make sure equivalent geohashCellQueries are equal after toQuery called REST:: - Remove lenient URL parameter parsing - Fixes CORS handling so that it uses the defaults - Get XContent params from request in Nodes rest actions - Fixes reading of CORS pre-flight headers and methods Recovery:: - Fix concurrency issues between cancelling a relocation and marking shard as relocated - Move `reset recovery` into RecoveriesCollection - Fix replica-primary inconsistencies when indexing during primary relocation with ongoing replica recoveries - Invoke `IndexingOperationListeners` also when recovering from store or remote - Prevent interruption while store checks lucene files for consistency - Mark shard as recovering on the cluster state thread Reindex API:: - Fix reindex with transport client - Fix a race condition in reindex's rethrottle - Reindex should never report negative throttled_until - Reindex should gracefully handle when _source is disabled Scripting:: - Add support for booleans in scripts - Fix Javascript OOM build Failure - Fix propagating the default value for script settings - Catch and wrap AssertionError and NoClassDefFoundError in groovy scripts Search:: - Do not cache script queries. - Throw error when trying to fetch fields from source and source is disabled - Source filtering should keep working when the source contains numbers greater than `Long.MAX_VALUE`. - Fix NPE when running a range query on a `scaled_float` with no upper bound. - Fix NPE during search with source filtering if the source is disabled. - Restore assignment of time value when deserializing a scroll instance - Fix explain output for dfs query - Don't recursively count children profile timings - fix explain in function_score if no function filter matches - Fix NPEs due to disabled source - Require timeout units when parsing query body - Close SearchContext if query rewrite failed - Fix parsing single `rescore` element in SearchSourceBuilder - Fail queries on not indexed fields. - Fix for search after - Do not be lenient when parsing CIDRs Settings:: - Fix Setting.timeValue() method - Add a hard limit for `index.number_of_shard` - Include complex settings in settings requests - Fix filter cache setting to allow percentages - Move cluster.routing.allocation.same_shard.host setting to new settings infrastructure - Validate settings against dynamic updaters on the master - Register "cloud.node.auto_attributes" setting in EC2 discovery plugin - Use object equality to compare versions in IndexSettings - fix exists method for list settings when using numbered setting format - convert settings for ResourceWatcherService to new infrastructure - Register bootstrap settings - Add settings filtering to node info requests - Ban write access to system properties Snapshot/Restore:: - Better handling of an empty shard's segments_N file - Fix race condition in snapshot initialization - Fix the semantics for the BlobContainer interface Stats:: - Fix FieldStats deserialization of `ip` field - Fix serialization bug in allocation explain API. - Allocation explain: Also serialize `includeDiskInfo` field - Add missing builder.endObject() in FsInfo Store:: - Tighten up concurrent store metadata listing and engine writes - Make static Store access shard lock aware - Catch assertion errors on commit and turn it into a real exception Task Manager:: - Shard level tasks in Bulk Action lose reference to their parent tasks - Take filterNodeIds into consideration while sending task requests to nodes Term Vectors:: - Fix calculation of took time of term vectors request Translog:: - Fix RAM usage estimation of LiveVersionMap. - Fix translog replay multiple operations same doc - Snapshotting and sync could cause a dead lock TranslogWriter - Move translog recover outside of the engine - Mark shard active during recovery; push settings after engine finally inits === Regressions Highlighting:: - Handle SynonymQuery extraction for the FastVectorHighlighter === Upgrades Core:: - Upgrade to Lucene 6.2.0 - Update to jackson 2.8.1 - Upgrade to Lucene 6.1.0. - Upgrade to lucene-6.1.0-snapshot-3a57bea. - Upgrade to Lucene 6.0.1. - Upgrade to lucene 6 release - Upgrade to lucene-6.0.0-f0aa4fc. - upgrade to lucene 6.0.0-snapshot-bea235f - Upgrade to Jackson 2.7.1 Ingest:: - Update MaxMind geoip2 version to 2.6 Internal:: - Bump master (3.0-snapshot) to java 8 Network:: - Upgrade to Netty 4.1.5 - Dependencies: Upgrade to netty 4.1.4 - Introduce Netty 4 Packaging:: - Upgrade JNA to 4.2.2 and remove optionality Plugin Discovery EC2:: - Update aws sdk to 1.10.69 and add use_throttle_retries repository setting Scripting:: - Dependencies: Updates to mustache 0.9.3 Search Templates:: - Update mustache.java to version 0.9.1
2016-11-08 10:18:00 +01:00
share/examples/elasticsearch/jvm.options
share/examples/elasticsearch/log4j2.properties