4196 Commits

Author SHA1 Message Date
Boaz Leskes
1f28cd0ba8 When sending shard start/failed message due to a cluster state change, use the master indicated in the new state rather than current
This commit also adds extra protection in other cases against a master node being de-elected and thus being null.

Closes #6189
2014-05-15 18:42:26 +02:00
Boaz Leskes
84593f0d7c Added meta data and routing version to cluster state's pretty print 2014-05-15 15:55:11 +02:00
Boaz Leskes
dc07ece790 Added some debug logs to the recovery process 2014-05-15 15:37:30 +02:00
Simon Willnauer
e47de1f809 [TEST] Randomize number of available processors
We configure the threadpools according to the number of processors which is
different on every machine. Yet, we had some test failures related to this
and #6174 that only happened reproducibly on a node with 1 available processor.
This commit does:
  * sometimes randomize the number of available processors
  * if we don't randomize we should set the actual number of available processors
    in the settings on the test node
  * always print out the num of processors when a test fails to make sure we can
    reproduce the thread pool settings with the reproduce info line

Closes #6176
2014-05-15 12:24:53 +02:00
Simon Willnauer
53bfe44e19 Fix debug logging message for put template action 2014-05-15 11:13:30 +02:00
Andrew Selden
fc0bed5236 Fix bug for BENCH thread pool size == 1
On small hardware, the BENCH thread pool can be set to size 1. This is
problematic as it means that while a benchmark is active, there are no
threads available to service administrative tasks such as listing and
aborting. This change fixes that by executing list and abort operations
on the GENERIC thread pool.

Closes #6174
2014-05-14 10:40:39 -07:00
Simon Willnauer
2c1c5c163f [TEST] Ensure all benchmarks are aborted on failure and latches are counted down 2014-05-14 16:40:34 +02:00
Simon Willnauer
fc2ab0909e [TEST] Remove busy waiting from BenchmarkIntegrationTest
I think Chuck Norris is required to fix this at this point until we have an API
that can for instance pause a Benchmark. We basically wait for a query to be executed
and that query syncs on a latch with the test in a script :)

This commit also adds some more testing for benchmarks that run into errors.
2014-05-14 14:40:27 +02:00
David Pilato
e0a95d9c19 Allow sorting on nested sub generated field
When you have a nested document and want to sort on its fields, it's perfectly doable on regular fields but not on "generated" sub fields.

Here is a SENSE recreation:

```
DELETE /tmp

PUT /tmp

PUT /tmp/doc/_mapping
{
  "properties": {
    "flat": {
      "type": "string",
      "index": "analyzed",
      "fields": {
        "sub": {
          "type": "string",
          "index": "not_analyzed"
        }
      }
    },
    "nested": {
      "type": "nested",
      "properties": {
        "foo": {
          "type": "string",
          "index": "analyzed",
          "fields": {
            "sub": {
              "type": "string",
              "index": "not_analyzed"
            }
          }
        }
      }
    }
  }
}

PUT /tmp/doc/1
{
  "flat":"bar",
  "nested":{
    "foo":"bar"
  }
}
```

When sorting on `flat.sub` sub field, everything is fine:

```
GET /tmp/doc/_search
{
  "sort": [
    {
      "flat.sub": {
        "order": "desc"
      }
    }
  ]
}

```

When sorting on `nested` field, everything is fine:

```
GET /tmp/doc/_search
{
  "sort": [
    {
      "nested.foo": {
        "order": "desc"
      }
    }
  ]
}

```

But when sorting on `nested.sub` field, sorting is incorrect:

```
GET /tmp/doc/_search
{
  "sort": [
    {
      "nested.foo.sub": {
        "order": "desc"
      }
    }
  ]
}

Closes #6150.
2014-05-14 14:13:44 +02:00
Britta Weber
08e57890f8 use shard_min_doc_count also in TermsAggregation
This was discussed in issue #6041 and #5998 .

closes #6143
2014-05-14 14:10:04 +02:00
Britta Weber
d4a0eb818e refactor: make requiredSize, shardSize, minDocCount and shardMinDocCount a single parameter
Every class using these parameters has their own member where these four
are stored. This clutters the code. Because they mostly needed together
it might make sense to group them.
2014-05-14 14:10:02 +02:00
Britta Weber
8e3bcb5e2f refactor: unify terms and significant_terms parsing
Both need the requiredSize, shardSize, minDocCount and shardMinDocCount.
Parsing should not be duplicated.
2014-05-14 14:09:59 +02:00
Adrien Grand
bfcebbb957 [TESTS] Fix test bug in PagedBytesReferenceTest. 2014-05-14 10:09:11 +02:00
Adrien Grand
265b386fa7 [TESTS] Fix test bugs for parent/child queries.
If you got a bad seed and tests.nightly=true, these tests would either call
Random#nextInt on `0` or trigger infinite loops.
2014-05-14 09:35:45 +02:00
Boaz Leskes
9daa72941a [Test] increase ping timeout to 400ms in MinimumMasterNodesTests.dynamicUpdateMinimumMasterNodes 2014-05-14 09:28:44 +02:00
Boaz Leskes
fb501b22e1 [Test] SimpleNodesInfoTests.testNodesInfos didn't wait for cluster to form properly 2014-05-14 08:59:48 +02:00
Lee Hinman
588ae1ba9e Track the number of times the CircuitBreaker has been tripped
Fixes #6130
2014-05-13 21:08:48 +02:00
javanna
ffe97f004e [TEST] improved MetaDataTests coverage for different index options
Relates to #6068
2014-05-13 20:17:46 +02:00
David Pilato
2971a102f6 [Javadoc] Add full link to TDigest class
(cherry picked from commit ed72484)
2014-05-13 20:04:45 +02:00
Andrew Selden
8713a090c2 Fix recovery percentage > 100%
The recovery API was sometimes misreporting the recovered byte
percentages of index files. This was caused by summing up total file
lengths on each file chunk transfer. It should have been summing the
lengths of each transfer request.

Closes #6113
2014-05-13 09:38:02 -07:00
Simon Willnauer
0457b0b765 [TEST] Raise request timeout windows is sometimes extraordinary slow 2014-05-13 18:05:34 +02:00
Martijn van Groningen
c6c9bbdd72 Removed useless and illegal json object in the response.
Relates to #5865
2014-05-13 14:32:03 +02:00
Adrien Grand
3ad321fcb2 Fix NPE when initializing an accepted socket in NettyTransport.
NettyTransport's ChannelPipelineFactory uses the instance variable
serverOpenChannels in order to create sockets. However, this instance variable
is set to null when stoping the netty transport, so if the transport tries to
stop and to initialize a socket at the same time you might hit the following
NullPointerException:

[2014-05-13 07:33:47,616][WARN ][netty.channel.socket.nio.AbstractNioSelector] Failed to initialize an accepted socket.
java.lang.NullPointerException: handler
	at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.<init>(DefaultChannelPipeline.java:725)
	at org.jboss.netty.channel.DefaultChannelPipeline.init(DefaultChannelPipeline.java:667)
	at org.jboss.netty.channel.DefaultChannelPipeline.addLast(DefaultChannelPipeline.java:96)
	at org.elasticsearch.transport.netty.NettyTransport$2.getPipeline(NettyTransport.java:327)
	at org.jboss.netty.channel.socket.nio.NioServerBoss.registerAcceptedChannel(NioServerBoss.java:134)
	at org.jboss.netty.channel.socket.nio.NioServerBoss.process(NioServerBoss.java:104)
	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:318)
	at org.jboss.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42)
	at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
	at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)

This fix ensures that the ChannelPipelineFactory always uses the channels that
have been used upon start, even if a stop request is issued concurrently.

Close #6144
2014-05-13 13:39:56 +02:00
Simon Willnauer
d8c02c2599 Read full message on free context
Since #5730 we write a boolean in the FreeContextResponse which should be deserialized

Closes #6147
2014-05-13 12:36:13 +02:00
Simon Willnauer
1feddac315 Log cache recycler clear call as debug 2014-05-13 12:26:31 +02:00
Simon Willnauer
53db387698 Report all errors if benchmark fails and mark as failed 2014-05-13 12:26:31 +02:00
Simon Willnauer
65d27bff9d [TEST] Ensure no bechmarks are running after test 2014-05-13 12:26:30 +02:00
Benjamin Devèze
240a2a8abf [JAVADOCS] Fix wrong javadoc in IdentityHashSet.
Close #6121
2014-05-13 11:57:11 +02:00
Adrien Grand
cc530b9037 Use t-digest as a dependency.
Our improvements to t-digest have been pushed upstream and t-digest also got
some additional nice improvements around memory usage and speedups of quantile
estimation. So it makes sense to use it as a dependency now.

This also allows to remove the test dependency on Apache Mahout.

Close #6142
2014-05-13 10:38:08 +02:00
markharwood
1e560b0d92 Significant_terms agg: added option for a background_filter to define background context for analysis of term frequencies
Closes #5944
2014-05-13 09:10:30 +01:00
Lee Hinman
3484ca3737 Log script change/add and removal at INFO level
Closes #6104
2014-05-13 09:33:22 +02:00
Igor Motov
dfdc183ba6 Fix for hanging aborted snapshot during node shutdown
If a node is shutdown while a snapshot that runs on this node is aborted, it might cause the snapshot process to hang.

Closes #5958
2014-05-12 18:02:07 -04:00
Andrew Selden
fdbefa0cd1 Fix for benchmark test timeout
Lower number of random requests generated for each test so as not to
timeout on heavy tests.

Addresses #6094
2014-05-12 14:45:43 -07:00
javanna
154688bba1 improved IndicesOptions javadocs 2014-05-12 23:26:29 +02:00
javanna
c69c66bb7a fixed MetaData#concreteIndices to throw exception with a single index argument in case allowNoIndices == false and ignoreUnavailable == true
Closes #6137
2014-05-12 23:26:29 +02:00
mikemccand
00fcf4d560 #6081: set IO throttling back to 20 MB/sec now that #6018 is fixed 2014-05-12 14:42:26 -04:00
mikemccand
254ebc2f88 #6120 Remove SerialMergeScheduler (master only)
It's dangerous to expose SerialMergeScheduler as an option: since it only allows one merge at a time, it can easily cause merging to fall behind.

Closes #6120
2014-05-12 14:06:20 -04:00
mikemccand
eae304aa39 5882: put back Elasticsearch's 1.1 defaults for ConcurrentMergeScheduler 2014-05-12 13:22:33 -04:00
Britta Weber
4b2e4becc7 Check if root mapping is actually valid
When a mapping is declared and the type is known from the uri
then the type can be skipped in the body (see #4483). However,
there was no check if the given keys actually make a valid mapping.

closes #5864
closes #6093
2014-05-12 18:36:14 +02:00
Adrien Grand
caacce9429 [TESTS] Improve BenchmarkIntegrationTest's check that percentiles are increasing.
Percentiles are supposed to be monotonically increasing but floating-point
rounding issues can come into play and make the test fail if checks are too
strict.
2014-05-12 17:21:11 +02:00
Shay Banon
78e39882ee Allow to change concurrent merge scheduling setting dynamically
Allow to change the concurrent merge scheduler settings dynamically using the update settings API
closes #6098
2014-05-12 07:33:31 -07:00
Adrien Grand
6d9da390ed [TESTS] Fix MinDocCountTests.
The new include/exclude support for global ordinals didn't exclude terms in
`buildAggregation` (which is required if minDocCount is 0).
2014-05-12 15:45:29 +02:00
javanna
9361305177 [TEST] made catch request more accurate in REST tests runner
Excluded 404, 403 and 409 status codes from the catch request as they have their own specific catch codes
2014-05-12 14:29:56 +02:00
Martijn van Groningen
64c43c6dc0 Made the include and exclude support for terms and significant terms aggregations based on global ordinals.
Closes #6000
2014-05-12 13:14:13 +02:00
javanna
7980911d96 restored @Test annotation in SimpleValidateQueryTests 2014-05-12 12:52:48 +02:00
Alex Marandon
d1ddbd2c51 Detect unsupported fields after query in validate query api
The validate API was failing to reject JSON input that had unsupported
fields placed after a supported field. This was causing invalid requests
to be reported as valid.

Fixes #5685
2014-05-12 12:49:25 +02:00
javanna
3d63bac51d Fixed validate query parsing issues
Made sure that a match_all query is used when no query is specified and ensure no NPE is thrown either.
Also used the same code path as the search api to ensure that alias filters are taken into account, same for type filters.

Closes #6111 Closes #6112 Closes #6116
2014-05-12 12:49:25 +02:00
Alex Ksikes
513f25ae97 More Like This: Fix correct use of size and from parameters
More Like This API would not take into account 'size' and 'from' in request body parameters.
Instead these values would always be overriden by the default values of REST parameters
'search_size' and 'search_from'.

Closes #5981
2014-05-12 12:30:04 +02:00
Martijn van Groningen
d4d6c3459e [TEST] Make sure all shards are allocated before the delete type is being executed. 2014-05-12 11:59:09 +02:00
Adrien Grand
ebfab19400 [TESTS] Disable BenchmarkIntegrationTest#testSubmitBenchmark until it is fixed. 2014-05-12 11:30:01 +02:00