Elasticsearch 1.3.0
See issues on GitHub
Release Notes
Breaking changes
- Allocation: Enable disk-space allocation decider by default #6200
- Analysis: Improvements to
StemmerTokenFilter
#6452 - Internal:
- Mappings: Update mapping on master in async manner #6648
- REST API: Replace error code 503 with 429 when appropriate to tell client to back off #6627
- Security: Disable JSONP by default #6795
New features
- Aggregations:
- Scripting:
- Mappings: Add transform to document before index #6599
- Suggester: Phrase suggest option to limit suggestions to existing phrases #3482
Enhancements
- Resiliency:
- Resend failed shard messages when receiving a cluster state still referring to the failed shards #6881
- Send shard exists requests if shard exists locally but is not allocated to the node #6870
- Don't attempt to start or fail shard if no master node can be found #6841
- Improve handling of failed primary replica handling #6825
- During discovery, verify connect when sending a rejoin cluster request #6779
- During relocation, process pending mapping update in phase 2 #6762
- Set a default of 5m to
recover_after_time
when any of theexpected*Nodes
is set #6742 - Start master/node fault detection pinging immediately during discovery #6706
- Before deleting shard verify that another node holds an active shard instance #6692
- Ensure
index.version.created
is consistent #6660 - Cancel recovery if shard on the target node closes during recovery operation #6645
- Raise proper failure if not fully reading translog entry #6562
- Wait till node is part of cluster state for join process #6480
- Have a dedicated join timeout that is higher than
ping.timeout
for join #6342 - Before deleting a local unused shard copy, verify we're connected to the node it's supposed to be on #6191
- Use Lucene built-in checksumming #5924
- Indexing:
- Set default translog
flush_threshold_ops
tounlimited
, to flush by byte size by default and not penalize tiny documents #6783 - Don't acquire
dirtyLock
on autoid for create #6584 - Clear versionMap on refresh not flush #6379
- If versionMap is too large we should trigger refresh #6378
- Reuse Lucene's
TermsEnum
for faster _uid/version lookup during indexing #6298 - Don't use
AllTokenStream
if no fields were boosted #6187
- Set default translog
- Analysis:
- Improve Hunspell error messages #6850
- Share numeric date analyzer instances between mappings #6843
- Added missing pre built analysis components #6770
PatternAnalyzer
should usePatternTokenFilter
instead #6717- More resource efficient analysis wrapping usage #6714
- Added additional Analyzers, Tokenizers, and TokenFilters from Lucene #6693
- Administration & Monitoring:
- Improve pending API to include current executing class #6744
- Stats: Expose
IndexWriter
andversionMap
RAM usage #6483 - Improve indices stats options #6390
- Improve cluster update settings api #6244
- Remove field names in stats url #6054
- Index template API: Unified PUT/POST behaviour in relation to create parameter #6429
- Snapshot/Restore:
- Aggregations:
- Extend allowed characters in aggregation name #6702
- Add
from
support totop_hits
aggregator #6299 - Moved
BucketsAggregator#docCounts
field toIntArray
#6529 GlobalOrdinalsStringTermsAggregator
is inefficient for high-cardinality fields #6518- Remove
ordinals
execution hint. #6499 - Delegation of
nextReader
calls #6477
- Fielddata:
- Allocation:
- Mapping:
- Scripting:
- Search:
- Wrap filter only once in
ApplyAcceptedDocsFilter
#6873 - Remove
Queries#optimizeQuery
- already handled inBooleanQuery
#6743 - Speed up
exists
andmissing
filters on high-cardinality fields #5659 - Parent/Child: Support
min_children
andmax_children
onhas_child
query/filter #6019 - Geo: Added caching support to
geohash
filter #6478
- Wrap filter only once in
- Highlighting:
- More Like This Query:
- Plugins:
- Build:
- REST API:
- Internal:
- Make
XContentBuilder
implementReleasable
#6869 - Don't close/reopen
IndexWriter
when changing RAM buffer size #6856 - Added more utility methods to
Settings
#6840 - Cleanup of the transport request/response messages #6834
- Add local node to cluster state #6811
- Control whether
MapperService
docMapper iterator should containDEFAULT_MAPPING
#6793 - Upgrade to Jackson 2.4.1.1 #6789
- Don't replace indices within ActionRequest and check blocks against concrete indices #6777
- Improve
Settings#get
lookup for camel case support #6765 - Improve large bytes request handling by detecting content composite buffer #6756
- Call callback on actual mapping processed #6748
- Remove intern calls on
FieldMapper#Names
for better performance #6747 - Clean shard bulk mapping update to only use type name #6695
- Disable explicit GC by default #6637
- Make a hybrid directory default using
mmapfs
/niofs
#6636 - Make sure we don't reuse arrays when sending an error back #6631
- Wrap
RateLimiter
rather than copyRateLimitedIndexOutput
#6625 - Upgrade to Lucene 4.9 #6623
- Re-shade MVEL as a dependency #6570
- Refactored
AckedClusterStateUpdateTask
& co. to remove code repetitions in subclasses #6559 - Better default size for global index to alias map #6504
- Suppress
Unsafe is an internal proprietary API...
compilation warnings #6423 - use
ConcurrentHashMapV8
for lower memory overhead #6400 - Base64 decode parsing detects more errors #6334
- Upgrade to netty 3.9.1 #6331
- Added plugins to .gitignore #6324
- Change the default type of the page recycler to
CONCURRENT
instead ofSOFT_CONCURRENT
#6320 - Entirely cut over to
TopDocs#merge
for merging shard docs in the reduce phase #6197 - Add support for
Byte
andBytesRef
to theXContentBuilder
#6127 - Make Node and Client interfaces
Closeable
#4355 - Settings: Throw error when incorrect setting applied to
auto_expand_replicas
#5752 - TransportClient: Improve logging, fix minor issue #6376
- Java API: Client intermediate interfaces removal follow-up #6563
- Make
Bug fixes
- Resiliency:
- Increment Store refcount on
RecoveryTarget
#6844 - Improve handling of failed primary replica handling #6816
- Do not ignore
ConnectTransportException
for shard replication operations #6813 - Recovering replicas might get stuck in initializing state #6808
- During recovery, only send mapping updates to master if needed #6772
- If the node initialisation fails, make sure the node environment is closed correctly #6715
- Handle
ConnectionTransportException
during a Master/Node fault detection ping during discovery #6686 - Recovery from local gateway should re-introduce new mappings #6659
- Also send Refresh and Flush actions to relocation targets #6545
- Honor time delay when retrying recoveries #6226
- Increment Store refcount on
- Aggregations:
- Histogram Aggregation key bug #6655
- Fix JSON response for significant terms #6535
- Fix reducing of range aggregations. #6484
- Fix cardinality aggregation when doc values field is empty #6413
ReverseNestedAggregator
does not compute parent documents correctly #6278ClassCastException
when sibling aggregations have the same name #6255date_histogram
aggregation breaks on date fields with multiple formats #6239DateHistogramBuilder
uses wrong data type forpre_offset
andpost_offset
#5586
- Administration & Monitoring:
- Indexing:
- Translog: Better support for partial buffer reads/writes in translog infrastructure #6576
- Force refresh when
versionMap
is using too much RAM #6443 - Lower the translog flush triggers to workaround #6377
- Clear
versionMap
on refresh not flush #6363 DocumentMissingException
is uncaught if thrown during retry of update request #6355- Geo: Valid polygon crossing dateline fails to parse #6179
- Search:
- The
query_string
cache should returned clonedQuery
instances. #6733 - Replace empty bool queries with match_all to prevent
NullPointerException
#6722 - Match query with operator
and
,cutoff_frequency
and stacked tokens #6573 - Search template not replacing parameter after initial failure in parameter substitution #6318
- Nested: queries/filters/aggregations expect
FixedBitSets
, yet it isn't the case withNoneFilterCache
#6279
- The
- Query DSL:
- Mapping:
- Analysis:
- Bulk API:
- Percolator:
- Plugins:
- Java API:
- Internal:
- Fix possible NPE during shutdown for requests using timeouts #6849
- Prevent NPE if engine is closed while version map is checked #6786
- Fixes Logger class for
BackgroundIndexer
#6781 - Check for index blocks against concrete indices on master operations #6694
IndexingMemoryController
should only update buffer settings of fully recovered shards #6667- Fix possible race condition in checksum name generator #6662
- Lucene: Use
XNativeFSLockFactory
instead of the buggy Lucene 4.8.1 version #6424 - Disable circuit breaking for BigArrays #6381
- Guava doesn't explicitly remove entries when clearing the entire cache #6296
- Filter cache size limit not honored for 32GB or over #6268
- Threadpool Info: Allow to serialize negative thread pool sizes #6486
- Core: The
ignore_unavailable
option should also ignore indices that are closed #6475 - Remove
indicesLifecycle.Listener
fromIndexingMemoryController
#6892 - Store: delete unallocated shards under a cluster state task #6902
- Routing: Restore shard routing #6393
- Scripting: Wrap groovy script exceptions in a serializable Exception object #6628
Tests
- Resiliency: Add basic Backwards Compatibility Tests #6497
- Add test case verifying that dynamically enabling/disabling merge IO throttling works #6842
- Added ability to provide settings for external nodes in backwards compatibility tests #6809
- Add
assertBusy
helper test method #6753 - Reset all cluster if a test hit a failure #6734
- Take compatibility version into account for
XContentType
randomization #6691 - Prevent usage of system properties in the
InternalTestCluster
#6663 - Randomize netty worker and connection parameters #6635
- Change
es.node.mode
default for tests tolocal
#6624 - Verify all threads created by node and client have the node name #6516
- Fix Test - Cluster naming #6510
- Add test for accessing
_score
in scripts #6509 - Randomly disable the filter cache #6280
- Allow to disable plugin loading from classpath #6242
- Add dummy docs injection to
indexRandom
#6235