Commit Graph

6284 Commits

Author SHA1 Message Date
Luca Cavanna 2cbecd9cb3 Made sure that we never throw IndexMissingException in indices query and filter
It could happen although we internally use IgnoreIndices.MISSING, due to MetaData#concreteIndices contract, which throws IndexMissingException anyway if all requested indices are missing.
In case all the indices specified in the query/filter are missing, we just execute the no_match query/filter, no need to throw any error.

Closes #3428
2013-12-11 22:26:46 +01:00
Luca Cavanna 24434063b6 Introduced ok & acknowledged constant in AcknowledgedRestResponseActionListener 2013-12-11 21:28:54 +01:00
Luca Cavanna b1fa147968 More common AcknowledgedRestResponseActionListener
Introduced use of AcknowledgedRestResponseActionListener in put/delete alias & delete index
2013-12-11 21:28:15 +01:00
Luca Cavanna 037bf6a85f Unified default ack timeout to 30 seconds
Increased also default publish state timeout to 30 seconds (from 5 seconds) and introduced constant for it.
Introduced AcknowledgedRequest.DEFAULT_ACK_TIMEOUT constant.
Removed misleading default values coming from the REST layer.
Removed (in a bw compatible manner) the timeout support in put/delete index template as the timeout parameter was ignored.

Closes #4395
2013-12-11 20:54:27 +01:00
Martijn van Groningen f9ff733eb8 Renamed the methods in DocumentListenerType to actually reflect when these are invoked. 2013-12-11 17:51:09 +01:00
Martijn van Groningen 92c32dca9e Invoke the DocumentType listeners *before* the mappers are updated. This fixes an issue where if two or more concurrent percolate index requests are processed, the first request would the `.percolator` type mapping, but the real time percolator listener wouldn't be active, this would result in that the subsequent concurrent requests wouldn't be parsed and kept in memory and would never be included in any percolate api result. This issue any occurred when `.percolator` type is created on the fly.
Also made the call to PercolatorQueriesRegistry#enableRealTimePercolator and #disableRealTimePercolator synchronized, so that for the same shard the RealTimePercolatorOperationListener can't registered twice.
2013-12-11 17:41:10 +01:00
Shay Banon a3f1c428c2 bulk response has errors indication + status per item
closes #4002
2013-12-11 16:04:41 +01:00
Shay Banon 10cdb0ae22 Batch processing mapping updates can cause missed merged mappings when batching multiple types
when we bulk changes, we need to use the same index metadata builder across the tasks, otherwise we might remove mappings erroneously
 also, when we check if we can use a higher order mapping, we need to verify that its for the same mapping type
2013-12-11 14:34:59 +01:00
Martijn van Groningen a760f1f54a Make listeners a final field in ShardIndexingService, which fixed possible visibility issue. 2013-12-11 12:22:45 +01:00
Shay Banon aee388ec46 introduce an internal metadata uuid 2013-12-11 10:49:36 +01:00
Florian Schilling 937a4e9d9d SloppyMath
Added copy of SloppyMath.java from lucene 4.6+
and setup GeoDistance for new haversin method

closes #3862
2013-12-11 17:51:32 +09:00
Alexander Reelsen 81e13a870b Packaging: Ensure setting of sysctl vm.max_map_count
In order to be sure that memory mapped lucene directories are working
one can configure the kernel about how many memory mapped areas
a process may have. This setting ensure for the debian and redhat initscripts
as well as the systemd startup, that this setting is set high enough.

Closes #4397
2013-12-11 09:19:22 +01:00
Boaz Leskes 99b421925f Add wildcard support to field resolving in the Get Field Mapping API
Closes #4367
2013-12-10 23:46:37 +01:00
Shay Banon a9e259d438 Introduce BytesTransportRequest, allowing for downstream network optimization in buffers usage
When sending a request, mainly to multiple nodes, if we already have the "body" of the request in bytes, we can share it instead of copying it over to a new buffer. Also, it helps a lot when sending a relatively large body to multiple nodes, since it will use the same body buffer across all nodes
2013-12-10 22:49:31 +01:00
Alexander Reelsen c4f3da2b9d Preference only_node with unknown nodeId returns useful exception
When the search preference is set to only node, but this node is not a
data (or does not exist), we return a search exception, which indicates,
that this is actually a server problem.

However specifying a non-existing node id is a client problem
and should return a more useful error message than
{"error":"SearchPhaseExecutionException[Failed to execute phase [query_fetch], all shards failed]","status":503}
2013-12-10 20:15:14 +01:00
Martijn van Groningen 7d3b78c293 moved log statements 2013-12-10 19:54:27 +01:00
Richard Boulton 1037d071bf Fix bug in explain for function_score queries.
The explain output for function_score queries with score_mode=max or
score_mode=min was incorrect, returning instead the value of the last
function.  This change fixes this.
2013-12-10 17:59:00 +01:00
Simon Willnauer 6c189310b9 Remove 'term_index_interval' and 'term_index_divisor'
These settings are no longer relevant since they are codec /
postingsformat level settings since Lucene 4.0

Closes #3912
2013-12-10 16:54:08 +01:00
Martijn van Groningen 38cff53a0f Added more logging for percolator.
Lowered log level in percolator tests.
2013-12-10 15:45:04 +01:00
Adrien Grand 794a927c43 Use a dedicated cluster name for GeoDistanceSearchBenchmark (like we do for other benchmarks). 2013-12-10 14:42:14 +01:00
Martijn van Groningen ebf6519965 Added aggs option to percolate api documentation. 2013-12-10 14:09:37 +01:00
Luca Cavanna ac158f6a87 Made sure the new cluster state is not held by AckCountDownListener
(also made AckCountDownListener class static)
2013-12-10 11:15:46 +01:00
Simon Willnauer acf371ef57 Do not override thetas if sum is less or equals to `0`
Closes #4390
2013-12-10 10:41:50 +01:00
Simon Willnauer 2dfb1d98f4 move to ensureGreen in aggs tests to stabelize tests 2013-12-09 21:50:24 +01:00
Simon Willnauer 5771f9083c Added ElasticsearchIntegrationTest#ensureSearchable() to prepare indices to be searchable
Currently we sometimes see test failures that fail because not all replicase are
`searchable` which means they are not started yet or still recovering. Yet, the usual
situation is where two nodes have the same clusterstate but the one that acts as
the search target has not yet processed that clusterstate. The requester sees the
shard as started but it's not mark as such on the target node. For now the #ensureSearchable()
just delegates to #ensureYellow() to make sure the cluster is not red. In the future if we have
the possibilty to recover from situations like this in the search logic we can easily test
this by making the impl a no-op. Note: this problem only occurs if you have low number of docs
and the indexing is really quick such that first request are exectued but shards are not
fully `started`
2013-12-09 17:31:58 +01:00
Martijn van Groningen d3fde78394 Fix test failure. 2013-12-09 17:27:58 +01:00
Martijn van Groningen 1b481ef395 Support postings highlighter in percolate api.
The postings hl now uses a searcher that only encapsulate the view of segment the document being highlighted is in,
this should be better than using the top level engine searcher.

Closes #4385
2013-12-09 16:56:09 +01:00
Alexander Reelsen d2ee22f01c Allow to get a specific transport client inside of tests
Adding functionality to call cluster().transportClient() in tests in order
to get an arbitrary TransportClient object back, independently if the
transport client ratio in returning the normal clients is configured.

Also made sure, that if the normal client is already a transport client
(or a node client) we do not generate another one.
2013-12-09 14:39:22 +01:00
Simon Willnauer 7cd189b3d3 Trace log all shard failures if an exception is attached. 2013-12-09 11:55:13 +01:00
Simon Willnauer 44382ae629 remove ensureGreen for debugging 2013-12-09 11:04:33 +01:00
Simon Willnauer 7ff4681e5f Enable Trace Logging for org.elasticsearch.action.search.type on aggregations 2013-12-09 11:03:36 +01:00
Simon Willnauer 581eb618b3 Add Class and Package Level support for TestLogging 2013-12-09 11:02:13 +01:00
David Pilato 9d8361a542 Use random number of iteration for tests
Thanks @simonw for the review.
Related to #4361 and #4371.
2013-12-09 09:01:51 +01:00
David Pilato a2853f3855 Use random number of iteration for tests
Thanks @simonw for the review.
Related to #4361 and #4371.
2013-12-09 08:41:45 +01:00
Lee Hinman bc9698a347 Support 'yaml' as a format for the Analyze API
Fixes #4311
2013-12-08 15:08:00 -07:00
Simon Willnauer 2058a03547 Enable Trace Logging for SearchWhileRelocatingTests 2013-12-08 22:31:17 +01:00
Simon Willnauer 7e326bdb73 Beef up test to use more threads and iterations randomly 2013-12-08 20:56:24 +01:00
Simon Willnauer 191887dd08 Added refCount assertion due to LUCENE-5362 2013-12-08 20:55:57 +01:00
Simon Willnauer 11e2b1bef3 Move Thread.sleep test to awaitBusy 2013-12-08 20:55:08 +01:00
Simon Willnauer 1ef349db49 Add generic assertion to all aggs.bucket tests to check if all shards were successful 2013-12-08 19:34:17 +01:00
Shay Banon 36a76cc0ab add node and order to the source of update mapping 2013-12-08 03:32:10 +01:00
uboness 2e08977adc - fixing update mapping tests for index operations so the number of request will be based on the index thread pool size
- added update mapping tests for bulk operations
2013-12-07 22:57:18 +01:00
David Pilato 822acfa568 Query String caching could cause matched_filters not working
When searching with a query containing query_strings inside a bool query, the specified _name is randomly missing from the results due to caching.

Closes #4361.
Closes #4371.
2013-12-07 22:52:16 +01:00
Martijn van Groningen 8c1de501e7 Update percolator highlighting docs. 2013-12-07 16:40:49 -05:00
Boaz Leskes b7d6cce4c9 Add an `usage` key to the CPU section of OsStats.toXContent.
This is just the sum of existing `sys` and `user`

Closes #4374
2013-12-07 21:26:22 +01:00
Luca Cavanna ed5b3ace57 Fixed local option explanation in TESTING readme 2013-12-07 20:52:47 +01:00
Shay Banon 104613c0b9 update the test to use the same API as 0.90
so backports will be simpler for now
2013-12-07 19:31:33 +01:00
Shay Banon 4a3978d1b7 Optimize dynamic mapping updates on master by processing latest one per index/node
Instead of processing all the bulk of update mappings we have per index/node, we can only update the last ordered one out of those (cause they are incremented on the node/index level). This will improve the processing time of an index that have large updates of mappings.
closes #4373
2013-12-07 19:20:16 +01:00
Simon Willnauer dd95895977 Apply slop correctly if phrase query is wrapped in a filtered query.
If a phrase query is wrapped in a filtered query due to type filtering
slop was not applied correctly. Also if the default field required a
type filter the filter was not applied.

Closes #4356
2013-12-06 23:02:09 +01:00
Adrien Grand 32eb5ffa92 [Docs] Document which encoding should be used in order to make sense of the offsets returned by the term vectors API.
Close #4363
2013-12-06 22:39:08 +01:00