WARNING: Version 5.4 of Elasticsearch has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
5.0.0-alpha1 Release Notes
edit5.0.0-alpha1 Release Notes
editThe changes listed below have been released for the first time in Elasticsearch 5.0.0-alpha1. Changes in this release which were first released in the 2.x series are listed in 5.0.0-alpha1 Release Notes (Changes previously released in 2.x).
Also see Breaking changes in 5.0.
This is an alpha release and is intended for testing purposes only. Indices created in this version will not be compatible with Elasticsearch 5.0.0 GA. Upgrading 5.0.0-alpha1 to any other version is not supported.
Breaking changes
edit- Aliases
- Allocation
-
- Remove DisableAllocationDecider #13313
- CAT API
- CRUD
- Cache
-
- Remove deprecated query cache settings #15592
- Cluster
- Core
- Engine
- Fielddata
-
- Remove "uninverted" and "binary" fielddata support for numeric and boolean fields. #14082
- Index APIs
- Internal
-
- Remove support for pre 2.0 indices #13799
- Mapping
- Parent/Child
- Percolator
- Plugins
- Query DSL
- REST
- Search
- Search Refactoring
- Settings
-
-
Remove ability to specify arbitrary node attributes with
node.
prefix #17402 (issue: #17280) -
Enforce
discovery.zen.minimum_master_nodes
is set when bound to a public ip #17288 - Prevent index level setting from being configured on a node level #17144 (issue: #16799)
- Remove support for node.client setting #16963 (issue: #16565)
- Remove es.max-open-files flag #16757 (issues: #16506, #483)
- Enforce node level limits if node is started in production env #16733 (issue: #16727)
- Make settings validation strict #16365
- Remove the ability to fsync on every operation and only schedule fsync task if really needed #16257 (issue: #16152)
- Script settings #16197
- Remove index.flush_on_close entirely #15977
- Restore chunksize of 512kb on recovery and remove configurability #15235 (issue: #15161)
- Remove ancient deprecated and alternative recovery settings #15234
- Fix ping timeout settings inconsistencies #13701 (issue: #6579)
-
Remove ability to specify arbitrary node attributes with
- Similarities
- Snapshot/Restore
- Stats
- Term Vectors
-
- Remove DFS support from TermVector API #16452
- Translog
- Warmers
Breaking Java changes
edit- Aggregations
-
- getKeyAsString and key_as_string should be the same for terms aggregation on boolean field #15393
- Allocation
- Analysis
-
- Simplify Analysis registration and configuration #14355
- Cache
- Core
-
- Remove es.useLinkedTransferQueue #16786
- Discovery
- Internal
-
- Remove duplicate getters from DiscoveryNode and DiscoveryNodes #17410 (issue: #16963)
- Cli: Switch to jopt-simple #17024 (issue: #11564)
- Replace ContextAndHeaders with a ThreadPool based ThreadLocal implementation #15776
- Remove NodeBuilder #15354
- Fix IndexSearcherWrapper interface to not depend on the EngineConfig #14654
- Cleanup query parsing and remove IndexQueryParserService #14452
- Remove circular dependency between IndicesService and IndicesStore #14285
- Remove guice injection from IndexStore and friends #14279
- Replace IndicesLifecycle with a per-index IndexEventListener #14217 (issue: #13259)
- Simplify similarity module and friends #13942
- Refactor SearchRequest to be parsed on the coordinating node #13859
- Java API
- Mapping
- Network
- Parent/Child
- Plugins
- Query DSL
- Search
- Search Refactoring
- Settings
- Store
-
- Standardize state format type for global and index level metadata #17123
- Suggesters
Deprecations
edit- Plugin Mapper Attachment
- Search
New features
edit- Allocation
- Discovery
-
- Add two phased commit to Cluster State publishing #13062
- Ingest
- Mapping
- Percolator
- Plugin Ingest Attachment
- Plugin Mapper Attachment
-
- Migrate mapper attachments plugin to main repository #14605
- Plugin Repository HDFS
- Query DSL
- Reindex API
-
- Merge reindex to master #16861
- Scripting
- Search
- Settings
-
- Add infrastructure to transactionally apply and reset dynamic settings #15278
- Stats
- Suggesters
- Task Manager
Enhancements
edit- Aggregations
- Allocation
-
- Write shard state metadata as soon as shard is created / initializing #16625 (issue: #14739)
- Reuse existing allocation id for primary shard allocation #16530 (issue: #14739)
- Remove version in ShardRouting (now obsolete) #16243 (issue: #14739)
- Prefer nodes that previously held primary shard for primary shard allocation #16096 (issue: #14739)
- Extend reroute with an option to force assign stale primary shard copies #15708 (issue: #14739)
- Allocate primary shards based on allocation IDs #15281 (issue: #14739)
- Persist currently started allocation IDs to index metadata #14964 (issue: #14739)
- Use ObjectParser to parse AllocationID #14962 (issue: #14831)
- Persist allocation ID with shard state metadata on nodes #14831 (issue: #14739)
- Analysis
- CAT API
- CRUD
-
- CRUD: Allow to get and set ttl as a time value/string #15047
- Cache
- Cluster
-
- Cluster Health should run on applied states, even if waitFor=0 #17440
- Resolve index names to Index instances early #17048
- Remove DiscoveryNode#shouldConnectTo method #16898 (issue: #16815)
- Fail demoted primary shards and retry request #16415 (issue: #14252)
- Illegal shard failure requests #16275
- Shard failure requests for non-existent shards #16089 (issue: #14252)
- Add handling of channel failures when starting a shard #16041 (issue: #15895)
- Wait for new master when failing shard #15748 (issue: #14252)
- Master should wait on cluster state publication when failing a shard #15468 (issue: #14252)
- Split cluster state update tasks into roles #14899 (issue: #13627)
- Add timeout mechanism for sending shard failures #14707 (issue: #14252)
- Add listener mechanism for failures to send shard failed #14295 (issue: #14252)
- Core
-
- Remove PROTOTYPE from BulkItemResponse.Failure #17433 (issue: #17086)
- Throw an exception if Writeable.Reader reads null #17332
- Remove PROTOTYPE from RescorerBuilders #17330
- Port Primary Terms to master #17044 (issues: #14062, #14651, #17038)
- Use index UUID to lookup indices on IndicesService #17001
- Add -XX+AlwaysPreTouch JVM flag #16937
- Add max size virtual memory check #16935
- Use and test relative time in TransportBulkAction #16916
- Bump Elasticsearch version to 5.0.0-SNAPSHOT #16862
- Assert that we can write in all data-path on startup #16745
- Add G1GC check on startup #16737 (issue: #10740)
- Shards with heavy indexing should get more of the indexing buffer #14121
- Remove and ban ImmutableMap #13939 (issue: #13224)
- Finish banning ImmutableSet #13820 (issue: #13224)
- Removes and bans ImmutableSet #13754 (issue: #13224)
- Remove and ban ImmutableMap#entrySet #13724
- Forbid ForwardingSet #13720 (issue: #13224)
- Discovery
- Engine
-
- Remove writeLockTimeout from InternalEngine #16930
- Don’t guard IndexShard#refresh calls by a check to isRefreshNeeded #16118
- Never call a listerner under lock in InternalEngine #15786
- Use System.nanoTime() to initialize Engine.lastWriteNanos #14321
- Flush big merges automatically if shard is inactive #14275
- Remove Engine.Create #13955
- Remove the disabled autogenerated id optimization from InternalEngine #13857
- Exceptions
-
- Fix typos in exception/assert/log messages in core module. #16649
- Add field names to several mapping errors #16508 (issue: #16378)
- Add serialization support for more important IOExceptions #15766
- Adds exception objects to log messages. #14827 (issue: #10021)
- Add stack traces to logged exceptions where missing #13825 (issue: #10021)
- Remove reflection hacks from ElasticsearchException #13796
- Rename QueryParsingException to a more generic ParsingException #13631
- Add *Exception(Throwable cause) constructors/ call where appropriate #13544 (issue: #10021)
- Geo
-
- Fix a potential parsing problem in GeoDistanceSortParser #17111
- Geo: Add validation of shapes to ShapeBuilders #15551 (issue: #14416)
- Make remaining ShapeBuilders implement Writeable #15010 (issue: #14416)
-
Geo: Remove internal
translated
flag from LineStringBuilder #14969 - Make PointBuilder, CircleBuilder & EnvelopeBuilder implement Writable #14933 (issue: #14416)
- Merging BaseLineString and BasePolygonBuilder with subclass #14887 (issue: #14482)
- Moving static factory methods to ShapeBuilders #14529
- Remove InternalLineStringBuilder and InternalPolygonBuilder #14482 (issue: #14416)
- Highlighting
-
- Switch Highlighting to ObjectParser #17363
- Use HighlightBuilder in SearchSourceBuilder #15376 (issue: #15044)
- Joint parsing of common global Hightlighter and subfield parameters #15368 (issue: #15285)
- Enable HighlightBuilder to create SearchContextHighlight #15324
- Add fromXContent method to HighlightBuilder #15157
- Ingest
-
- add automatic type conversion support to ConvertProcessor #17263 (issue: #17139)
- Give the foreach processor access to the rest of the document #17172 (issue: #17147)
- Added ingest statistics to node stats API #16915
-
Add
ingest_took
to bulk response #16876 - Add ingest info to node info API, which contains a list of available processors #16865
- Use diffs for ingest metadata in cluster state #16847
- hide null-valued metadata fields from WriteableIngestDocument#toXContent #16557
- Ingest: use bulk thread pool for bulk request processing (was index before) #16539 (issue: #16503)
- Add foreach processor #16432
- revert PipelineFactoryError handling with throwing ElasticsearchParseException in ingest pipeline creation #16355
- Add processor tags to on_failure metadata in ingest pipeline #16324 (issue: #16202)
- catch processor/pipeline factory exceptions and return structured error responses #16276 (issue: #16010)
- Ingest: move get/put/delete pipeline methods to ClusterAdminClient #16242
- Geoip processor: remove redundant latitude and longitude fields and make location an object with lat and lon subfields #16173
- Internal
-
- Remove PROTOTYPE from MLT.Item #17481 (issue: #17085)
- Remove PROTOTYPE from VersionType #17480 (issue: #17085)
- Remove PROTOTYPEs from highlighting #17466 (issue: #17085)
- Remove PROTOTYPEs from ingest #17434 (issue: #17085)
- Start to rework query registration #17424
- Factor out slow logs into Search and IndexingOperationListeners #17398
- Remove PROTOTYPE from Suggesters #17370
- Remove PROTOTYPE from SortBuilders #17337 (issue: #17085)
- Remove PROTOTYPE from ShapeBuilders #17336 (issue: #17085)
- Replace FieldStatsProvider with a method on MappedFieldType. #17334
- Stop using PROTOTYPE in NamedWriteableRegistry #17284 (issue: #17085)
- Support scheduled commands in current context #17077
- Thread limits #17003
- Remove leniency from segments info integrity checks #16985 (issue: #16973)
- Rename SearchServiceTransportAction to SearchTransportService #16880
- Decouple the TransportService and ClusterService #16872 (issue: #16788)
- Refactor bootstrap checks #16844 (issues: #16733, #16835)
- Add LifecycleRunnable #16752
- Hot inlined methods in your area #16725
- Move IndicesQueryCache and IndicesRequestCache into IndicesService #16603
- Forbid use of java.security.MessageDigest#clone() #16543 (issue: #16479)
- Make IndicesWarmer a private class of IndexService #16470
- Simplify IndicesFieldDataCache and detach from guice #16469
- Uppercase ells (L) in long literals #16329 (issue: #16279)
- ShardId equality and hash code inconsistency #16319 (issue: #16217)
- Ensure all resources are closed on Node#close() #16316 (issue: #13685)
- Make index uuid available in Index, ShardRouting & ShardId #16217
- Move RefreshTask into IndexService and use since task per index #15933
- Make IndexingMemoryController private to IndicesService #15877
- Cleanup IndexingOperationListeners infrastructure #15875
- Remove and forbid use of j.u.c.ThreadLocalRandom #15862 (issue: #15294)
- Fix IntelliJ query builder type inference issues #15429
- Remove and forbid use of Collections#shuffle(List) and Random#<init>() #15299 (issue: #15287)
- Remove and forbid use of the type-unsafe empty Collections fields #15187
- Move IndicesService.canDeleteShardContent to use IndexSettings #15150 (issue: #15059)
- Simplify MonitorService construction and detach from guice #15035
- Use Supplier for StreamInput#readOptionalStreamable #14806
- Add variable-length long encoding #14780
- Extend usage of IndexSetting class #14731 (issue: #14251)
- Fold SimilarityModule into IndexModule #14284
- Move to lucene BoostQuery #14264
- Use built-in method for computing hash code of longs #14213
- Refactor ShardFailure listener infrastructure #14206
- Add methods for variable-length encoding integral arrays #14087
- Fold IndexAliasesService into IndexService #14044
- Remove unneeded Module abstractions #13944
- Query refactoring: simplify IndexQueryParserService parse methods #13938 (issue: #13859)
- Remove and forbid use of com.google.common.collect.Iterators #13916 (issue: #13224)
- Remove and forbid use of com.google.common.collect.ImmutableCollection #13909 (issue: #13224)
- Remove and forbid use of com.google.common.io.Resources #13908 (issue: #13224)
- Remove and forbid use of com.google.common.hash.* #13907 (issue: #13224)
- Remove and forbid use of com.google.common.net.InetAddresses #13905 (issue: #13224)
- Remove and forbid use of com.google.common.collect.EvictingQueue #13903 (issue: #13224)
- Replace Guava cache with simple concurrent LRU cache #13879
- Remove ClusterSerivce and IndexSettingsService dependency from IndexShard #13853
- Start making RecoverySourceHandler unittestable #13840
- Remove IndexService dep. from IndexShard #13797
- Remove ES internal deletion policies in favour of Lucenes implementations #13794
- Move ShardTermVectorService to be on indices level as TermVectorService #13786
- Move ShardPercolateService creation into IndexShard #13777
-
Remove
ExpressionScriptCompilationException
andExpressionScriptExecutionException
#13742 - Reduced the number of ClusterStateUpdateTask variants #13735
- Add a BaseParser helper for stream parsing #13615
- Remove and forbid use of com.google.common.primitives.Ints #13596 (issue: #13224)
- Remove and forbid use of com.google.common.math.LongMath #13575 (issue: #13224)
- Remove and forbid use of com.google.common.base.Joiner #13572 (issue: #13224)
- Replace and ban next batch of Guava classes #13562 (issue: #13224)
- Remove and forbid use of com.google.common.collect.Iterables #13559 (issue: #13224)
- Replace LoadingCache usage with a simple ConcurrentHashMap #13552 (issue: #13224)
- Use Supplier instead of Reflection #13545
- Remove and forbid use of com.google.common.base.Preconditions #13540 (issue: #13224)
- Remove and forbid use of guava Function, Charsets, Collections2 #13533 (issue: #13224)
- Remove and forbid use of com.google.common.collect.ImmutableSortedMap #13525 (issue: #13224)
- Remove and forbid use of several com.google.common.util. classes #13524 (issue: #13224)
- Cleanup SearchRequest & SearchRequestBuilder #13518
- Remove and forbid use of com.google.common.collect.Queues #13498 (issue: #13224)
- Remove and forbid use of com.google.common.base.Preconditions#checkNotNull #13493 (issue: #13224)
- Remove and forbid use of com.google.common.collect.Sets #13463 (issue: #13224)
- Remove and forbid use of com.google.common.collect.Maps #13438 (issue: #13224)
- Remove use of underscore as an identifier #13353
- Remove and forbid the use of com.google.common.base.Predicate(s)? #13349 (issues: #13224, #13314)
- This commit removes com.google.common.io #13302 (issue: #13224)
- Java API
- Mapping
-
- Add a soft limit on the mapping depth. #17400
- Disable fielddata on text fields by defaults. #17386
- Add limit to total number of fields in mapping #17357
-
Make
parseMultiField
part ofparseField
. #17313 - Automatically add a sub keyword field to string dynamic mappings. #17188
- Remove friction from the mapping changes in 5.0. #16991
- Rework norms parameters for 5.0. #16987
- Moved dynamic field handling in doc parsing to end of parsing #16798
- Remove the MapperBuilders utility class. #16609
-
Make the
index
property a boolean. #16161 -
Remove the ability to enable doc values with the
fielddata.format
setting. #16147 - Be stricter about parsing boolean values in mappings. #16146
- Fix default doc values to be enabled when a field is not indexed. #16141
- Dynamically map floating-point numbers as floats instead of doubles. #15319 (issue: #13851)
- Simplify MetaDataMappingService. #15217
- Remove MergeMappingException. #15177
- Packaging
-
- Added RPM metadata #17477
- Elasticsearch ownership for data, logs, and configs #17197 (issue: #12688)
- Fail early on JDK with compiler bug #16418 (issues: #16097, #16362)
- Make security non-optional #16176
- Remove RuntimePermission("accessDeclaredMembers") #15378
- Remove Guava as a dependency #14055 (issue: #13224)
- Remove Guava as a dependency #14054 (issue: #13224)
- Percolator
-
- Add scoring support to the percolator query #17385 (issue: #13827)
- Add query extract support for the blended term query and the common terms query #17347
- Add support for several span queries in ExtractQueryTermsService #17323
- Add support for TermsQuery in ExtractQueryTermsService #17316
- Replace percolate APIs with a percolator query #16349 (issues: #10741, #11264, #13176, #13978, #4317, #7297)
- Plugin Analysis Kuromoji
-
- Add nbest options and NumberFilter #17173
- Plugin Discovery EC2
- Plugin Ingest Attachment
-
- Minor attachment processor improvements #16574
- Plugin Lang Painless
- Plugin Mapper Attachment
-
- minor attachments cleanups: IDE test support and EPUB format #14626
- Plugin Repository Azure
- Plugin Repository HDFS
-
- merge current hdfs improvements to master #15588
- Plugin Repository S3
- Plugins
-
- PluginManager: Add xpack as official plugin #17227
- CliTool: Cleanup and document Terminal #16443
- Plugin cli: Improve maven coordinates detection #16384 (issue: #16376)
- Enforce plugin zip does not contain zip entries outside of the plugin dir #16361
- CliTool: Allow unexpected exceptions to propagate #16359
- Reduce complexity of plugin cli #16336
- Remove Plugin.onIndexService. #15029 (issue: #14896)
- Open up QueryCache and SearcherWrapper extension points #14303
- Query DSL
- Query Refactoring
- REST
- Recovery
-
- Recover broken IndexMetaData as closed #17187
- Relocation source should be marked as relocating before starting recovery to primary relocation target #16500
- Operation counter for IndexShard #15956 (issue: #15900)
- Primary relocation handoff #15900 (issue: #15532)
- Remove recovery threadpools and throttle outgoing recoveries on the master #15372
- Refactor StoreRecoveryService to be a simple package private util class #13766
- Reindex API
- Scripting
- Search
-
- Add a soft limit on the number of shards that can be queried in a single search request. #17396
- Type filters should not have a performance impact when there is a single type. #17350
- Store _all payloads on 1 byte instead of 4. #16899
-
Refuse to load fields from _source when using the
fields
option and support wildcards. #15017 (issues: #10783, #14489) - Add response into ClearScrollResponse #13835 (issue: #13817)
- Shuffle shards for _only_nodes + support multiple specifications like cluster API #12575 (issues: #12546, #12700)
- Search Refactoring
-
- Remove RescoreParseElement #17441
- Remove HighlighterParseElement #17303
- Move top level parsing of sort element to SortBuilder #17248
- Switch to using refactored SortBuilder instead of using BytesReference in serialization #17205 (issues: #17146, #17257)
- Add build() method to SortBuilder implementations #17146 (issue: #10217)
- Refactoring of Suggestions #17096 (issue: #10217)
-
Move sort
order
field up into SortBuilder #17035 - Moves SortParser:parse(…) to only require QueryShardContext #16999 (issue: #15178)
- Change internal representation of suggesters #16873
- Make GeoDistanceSortBuilder serializable, 2nd try #16572 (issues: #15178, #16151)
- Move missing() from SortBuilder interface to class #16225 (issues: #15178, #16151)
- Remove deprecated parameters from ScriptSortBuilder #16153 (issue: #15178)
- Refactor GeoSortBuilder #16151 (issue: #15178)
- Refactor FieldSortBuilder #16127 (issue: #15178)
- Make sort order enum writable. #16124 (issue: #15178)
- Make DistanceUnit writable. #16122 (issue: #15178)
- RescoreBuilder: Add parsing and creating of RescoreSearchContext #16014 (issue: #15559)
- Make RescoreBuilder and nested QueryRescorer Writable #15953 (issue: #15559)
- Explain api: move query parsing to the coordinating node #14270
- Switch query parsers to use ParseField #14249 (issue: #8964)
- Refactoring of Aggregations #14136
- Settings
-
- Add guard against null-valued settings #17310 (issue: #17292)
- Useful error message for null property placeholder #17293 (issue: #17292)
- Archive cluster level settings if unknown or broken #17246
- Improve error message if setting is not found #17230
- Improve upgrade experience of node level index settings #17223 (issue: #17187)
- Settings with complex matchers should not overlap #16754
- Moves GCE settings to the new infra #16722 (issue: #16720)
- Add filtering support within Setting class #16629 (issue: #16598)
- Migrate AWS settings to new settings infrastructure #16602 (issue: #16293)
-
Remove
gateway.initial_meta
and always rely on min master nodes #16446 - Rewrite SettingsFilter to be immutable #16425
- Simplify azure settings #16363
- Convert PageCacheRecycler settings #16341
- Monitor settings #16313
- Cut over tribe node settings to new settings infra #16311
- Convert multcast plugin settings to the new infra #16295
-
Convert
request.headers.*
to the new settings infra #16292 - Migrate Azure settings to new settings infrastructure #16291
- Validate logger settings and allow them to be reset via API #16289
- Switch NodeEnvironment’s settings to new settings #16273
- Simplify AutoCreateIndex and add more tests #16270
- Convert several pending settings #16269
- Migrate query caching settings to the new settings infra. #16267
-
Convert
action.auto_create_index
andaction.master.force_local
to the new settings infra #16263 -
Convert
cluster.routing.allocation.type
andprocessors
to the new settings infra. #16238 - Validate tribe node settings on startup #16237
- Move node.client, node.data, node.master, node.local and node.mode to new settings infra #16230
- Moved http settings to the new settings infrastructure #16188
- Migrate network service to the new infra #16187
- Convert client.transport settings to new infra #16183
- Move discovery.* settings to new Setting infrastructure #16182
- Change over to o.e.common.settings.Setting for http settings #16181
- Convert "path.*" and "pidfile" to new settings infra #16180
- Migrate repository settings to the new settings API #16178
- Convert "indices.*" settings to new infra. #16177
- Migrate gateway settings to the new settings API. #16175
- Convert several node and test level settings #16172
- Run Metadata upgrade tool on every version #16168
- Check for invalid index settings on metadata upgrade #16156
-
Validate the settings key if it’s simple chars separated by
.
#16120 - Validate known global settings on startup #16091
- Cut over all index scope settings to the new setting infrastrucuture #16054 (issues: #12790, #12854, #16032, #6732)
-
Remove updatability of
index.flush_on_close
#15964 (issue: #15955) - Move all dynamic settings and their config classes to the index level #15955 (issue: #6732)
- Always require units for bytes and time settings #15948 (issue: #11437)
- Make MetaData parsing less lenient. #15828
- Move async translog sync logic into IndexService #15584
-
Remove
index.merge.scheduler.notify_on_failure
and default totrue
#15572 (issue: #15570) - Remove cache concurrency level settings that no longer apply #14210 (issues: #13224, #13717, #7836)
- Similarities
- Stats
- Store
- Task Manager
- Translog
Bug fixes
edit- Aggregations
- Allocation
-
- Replica shards must be failed before primary shards #15686
- CRUD
- Cluster
- Core
-
- Handle RejectedExecution gracefully in TransportService during shutdown #16965
- Geo
- Ingest
- Internal
- Java API
- Mapping
- Packaging
- Percolator
- Plugin Store SMB
- Plugins
-
- CliTool: Messages printed in Terminal should have percent char escaped #16367
- Query DSL
-
- Resolve string dates and date math to millis before evaluating for rewrite in range query #17239
-
constant_score
query should throw error on more than one filter #17135 (issue: #17126) - Single IPv4 addresses in IP field term queries #16068 (issue: #16058)
- Make strategy optional in GeoShapeQueryBuilder readFrom and writeTo #13963
- Query Refactoring
- Recovery
- Search
- Settings
- Task Manager
-
- Take filterNodeIds into consideration while sending task requests to nodes #17081
- Translog
Upgrades
edit- Core
- Ingest
- Internal
-
- Bump master (3.0-snapshot) to java 8 #13314
- Search Templates