Commit Graph

17591 Commits

Author SHA1 Message Date
Simon Willnauer 1bdf29e263 Translog recovery can repeatedly fail if we run out of disk
If we run out of disk while recoverying the transaction log
we repeatedly fail since we expect the latest tranlog to be uncommitted.
This change adds 2 safety levels:

 * uncommitted checkpoints are first written to a temp file and then atomically
   renamed into a committed (recovered) checkpoint
 * if the latest uncommitted checkpoints generation is already recovered it has to be
   identical, if not the recovery fails

This allows to fail in between recovering the latest uncommitted checkpoint and moving
the checkpoint generation to N+1 which can for instance happen in a situation where
we can run out of disk. If we run out of disk while recovering the uncommitted checkpoint
either the temp file writing or the atomic rename will fail such that we never have a
half written or corrupted recovered checkpoint.

Close #14695
2015-11-16 18:47:19 +01:00
Christoph Büscher 0623684521 Geo: Moving static factory methods to ShapeBuilders
Currently the abstract ShapeBuilder class serves too many different
purposes, making it hard to refactor and maintain the code. In order
to reduce the size and responsibilities, this PR moved all the
static factory methods used as a shortcut to create new shape builders
out to a new ShapeBuilders class, similar to how QueryBuilders is
used already.
2015-11-16 18:01:23 +01:00
Ryan Ernst 3cc1d272ff Merge pull request #14764 from rjernst/utc_build_date
Override Build-Date in jar manifest to be ISO 8601
2015-11-16 08:39:38 -08:00
Tanguy Leroux d538f0dcf5 Add FilterPath implementation that uses Jackson 2.6 streaming filtering feature 2015-11-16 17:08:06 +01:00
Tanguy Leroux 8b961bc0e0 Remove unused AbstractXContentGenerator 2015-11-16 17:08:06 +01:00
Christoph Büscher a34b555fff Merge pull request #14775 from cbuescher/fix/14746
Add unique id to query names to avoid naming conflicts
2015-11-16 15:34:09 +01:00
Daniel Mitterdorfer 267f726a7f Merge remote-tracking branch 'danielmitterdorfer/feature/11657' 2015-11-16 15:15:41 +01:00
Daniel Mitterdorfer e31d66d137 Log cluster health status changes
With this commit the cluster health status changes are logged
on INFO level. The change is only logged on master and actively
triggered in AllocationService in order to minimize the impact of
constantly reevaluating ClusterState in a ClusterStateListener
although we know that no health-relevant change happened.

Closes #11657
2015-11-16 15:14:43 +01:00
Christoph Büscher 0a0bca6f5b Tests: Add unique id to query names to avoid naming conflicts
In AbstractQueryTestCase we randomly add the `_name` property to
some of the queries. While this generally works, there are exceptional
cases where we assign the same name to two queries in the setup which
leads to test failures later. This PR adds an increasing counter value
to the base tests that gets appended to all random query names to
avoid this name clashes.
2015-11-16 15:08:25 +01:00
Nik Everett b9c3516d9a Merge pull request #14756 from nik9000/leaking_clients
Don't leak clients from ExternalTestCluster
2015-11-16 08:54:06 -05:00
Boaz Leskes fa55a940f7 Test: move SearchQueryIT back to core
There is no groovy dependency there (it's now in lang groovy)

Closes #14770
2015-11-16 14:43:36 +01:00
Yannick Welsch 56f543734e [TEST] Specify usage restrictions for @SuiteScopeTestCase, @SuppressLocalMode and @SuppressNetworkMode
Closes #14477
2015-11-16 14:34:13 +01:00
Simon Willnauer 044b3d59cd Take ingored unallocated shards into account when makeing allocation decision
ClusterRebalanceAllocationDecider did not take unassigned shards into account
that are temporarily marked as ingored. This can cause unexpected behavior
when gateway allocator is still fetching shards or has marked shareds as ignored
since their quorum is not met yet.

Closes #14670
Closes #14678
2015-11-16 14:25:02 +01:00
Yannick Welsch fb10e59578 Merge pull request #14765 from ywelsch/fix/delayed-allocation-race
Fix calculation of next delay for delayed shard allocation
2015-11-16 14:07:35 +01:00
Yannick Welsch 2206030fe6 Fix calculation of next delay for delayed shard allocation
Currently the next delay is calculated based on System.currentTimeMillis() but the actual shards to delay based on the last time the GatewayAllocator tried to assign/delay the shard.

This introduces an inconsistency for the case where shards should have been delay-allocated between the GatewayAllocator-based timestamp and System.currentTimeMillis().

Closes #14765
2015-11-16 14:06:34 +01:00
Christoph Büscher b377d81e1c Adding mock script engine for value script tests 2015-11-16 13:00:43 +01:00
Christoph Büscher 5108e6fd1f Adapting test by using mock script engine 2015-11-16 11:58:28 +01:00
Christoph Büscher e3f9824931 Tests: Move DateHistogramTests back to core module
DateHistogramTests had some dependency on groovy scripts and
were moved to the lang-groovy module. This PR moves it back
and replaces use of groovy scripts by a mock script engine.
Removing three test cases that were testing doing some date
manipulation using script, since these are more groovy script
tests than testing the DateHistogram aggregation.
2015-11-16 11:58:28 +01:00
Martijn van Groningen 293b2f6345 field data: Don't cache top level field data for fields that don't exist.
Just return an empty field data instance, like we do currently the same for segment level field data.
2015-11-16 06:27:48 +01:00
Boaz Leskes eff82fdbcd Tests: update the disco node id seed on node restart
To make sure the new node's id is changed.

Closes #14675
2015-11-15 21:49:54 +01:00
Boaz Leskes 18a75fb30c Test: wrong index and query in testConstantScoreQuery 2015-11-15 20:34:40 +01:00
Jason Tedor 89172dfb02 Remove unused import in RecoverySourceHandler 2015-11-15 10:14:08 -05:00
Ryan Ernst 759fc94947 Build: Override Build-Date in jar manifest to be iso 8601 2015-11-14 22:38:10 -08:00
Jason Tedor c09103c35b Merge pull request #14760 from jasontedor/immutable-transport-options
Transport options should be immutable
2015-11-14 18:29:29 -05:00
Jason Tedor 3acd7800cb Transport options should be immutable
This commit changes TransportRequestOptions and TransportResponseOptions
to be immutable. This is to address an issue where the empty options
were being mutated permanently altering their state. Making these
objects immutable is just good, clean coding.
2015-11-14 18:21:40 -05:00
Nik Everett 2172e60419 Merge pull request #14762 from vvalleru/master
update gradle version from 2.6 to 2.8
2015-11-14 13:07:29 -05:00
Vishnu Valleru 0e48d148ab update gradle version from 2.6 to 2.8 2015-11-14 08:10:52 -08:00
Boaz Leskes d082868436 Merge pull request #14752 from ycombinator/docfix
Fixing `path.data` reference
2015-11-14 11:12:28 +01:00
Ryan Ernst 55d5da485f Merge pull request #14755 from rjernst/tame_the_beast
Effectively remove transitive deps from generated maven poms
2015-11-13 15:06:12 -08:00
Ryan Ernst 5eb5480ea6 Improve wording of transitive deps hack explanation 2015-11-13 15:05:40 -08:00
Ryan Ernst 24d306c2f4 Add explanation of the configuration trick used to find transitive deps
for exclusion
2015-11-13 14:59:45 -08:00
Ryan Ernst be147719ff Remove artifacts left from testing 2015-11-13 14:20:14 -08:00
Nik Everett 1870820208 Don't leak clients from ExternalTestCluster
When the ExternalTestCluster can't fully build it was leaking a client.
These clients created several threads each, causing "fun" thread starvation
issues.
2015-11-13 17:20:08 -05:00
Ryan Ernst 1d38f0ac8e Remove forgotten println 2015-11-13 14:18:14 -08:00
Ryan Ernst 837c593ec2 Build: Effectively remove transitive deps from generated maven poms
With gradle, deploying to maven means first generating poms. These are
filled in based on dependencies of the project. Recently, we started
disallowing transitive dependencies. However, this configuration does
not translate to maven poms because maven has no concept of excluding
all transitive dependencies.

This change adds exclusions for each of the transitive deps of each
dependency being added to the maven pom. It does so by creating dummy
configurations for each direct dependency (which does not have
transitive deps excluded), so that we can iterate the transitive deps
when building the pom.

Note, this should be simpler (just modifying maven's pom model), but
gradle tries to hide that from their api, causing us to need to
manipulate the xml directly.
https://discuss.gradle.org/t/modifying-maven-pom-generation-to-add-excludes/12744
2015-11-13 14:10:17 -08:00
Shaunak Kashyap 636c88d09f Fixing setting name 2015-11-13 13:36:14 -08:00
Jason Tedor a846a257c5 Clarify stale shard issue on Resiliency page 2015-11-13 12:40:51 -05:00
Nicholas Knize 42470c252c Correcting maxRadius units in GeoDistanceRangeQueryTest 2015-11-13 11:18:43 -06:00
Jason Tedor 95c4846e58 Fix race condition in cat shards test
This commit fixes a test bug in the cat shards REST test. In
particular, there was a race condition in the test that would cause the
test to sometimes fail. The race condition is that some of the shards
would go to state STARTED after the sync flush was issued. These shards
would (correctly) show up in the output as having state started but
without a sync_id. However, the expected output was written to only
look for shards that have state STARTED and a sync_id, or shards that
are still INITIALIZING or are UNASSIGNED and (of course) do not have a
sync_id. The best approach here is to just simplify the test.
2015-11-13 12:16:22 -05:00
Nicholas Knize 9b3920b52c Removing pole restriction on GeoDistanceRangeQueryTests
This commit corrects the maxRadialDistance computation for points at the poles to half the distance of the meridian.
2015-11-13 09:32:31 -06:00
Colin Goodheart-Smithe 12bb1b79f6 Aggregations: Pass extended bounds into HistogramAggregator when creating an unmapped aggregator
This fixes an issue where if the field for the aggregation was unmapped the extended bounds would get dropped and the resulting buckets would not cover the extended bounds requested.

Closes #14735
2015-11-13 14:49:15 +00:00
Jason Tedor 99abb76c78 Fix cat shards test bug 2015-11-13 09:31:44 -05:00
Boaz Leskes e848dcfbca java docs fix 2015-11-13 15:05:38 +01:00
Boaz Leskes ac0da91bf7 Extend usage of IndexSetting class
I decided to leave external listeners (used by plugins) alone, for now.

Closes #14731
2015-11-13 14:30:23 +01:00
Yannick Welsch 9673ddc5d0 Throw MasterNotDiscoveredException whenever retry logic of TransportMasterNodeAction times out
Closes #14737
2015-11-13 14:24:00 +01:00
Colin Goodheart-Smithe be64bfb135 Revert "Aggregations: Pass extended bounds into HistogramAggregator when creating an unmapped aggregator"
This reverts commit e1bf9798bf.
2015-11-13 12:48:51 +00:00
Colin Goodheart-Smithe e1bf9798bf Aggregations: Pass extended bounds into HistogramAggregator when creating an unmapped aggregator
This fixes an issue where if the field for the aggregation was unmapped the extended bounds would get dropped and the resulting buckets would not cover the extended bounds requested.

Closes #14735
2015-11-13 12:33:06 +00:00
Jason Tedor 0a5323f4f7 Merge pull request #14712 from jasontedor/cat-shards-sync-id
Add sync_id to cat shards API
2015-11-13 05:13:41 -05:00
Jason Tedor a9ab35a487 Add sync_id to cat shards API
This commit adds the ability to get the sync_id from the cat shards API.

Closes #14705
2015-11-13 05:13:08 -05:00
Ryan Ernst 9aa39401d6 Merge pull request #14728 from rjernst/no_more_jvm_leaks
Use ant exec for starting elasticsearch in integ tests
2015-11-12 22:48:11 -08:00