Commit Graph

6422 Commits

Author SHA1 Message Date
Adrien Grand d0143703a1 Fix Aggregator.buildAggregation on MULTI_BUCKETS aggregators. 2013-12-26 11:38:14 +01:00
Adrien Grand f3c1a885fb Fix QueueRecycler.
Double-release protection added in 1c758b0b made QueueRecycler throw NPEs when
trying to recycle existing instances.
2013-12-26 10:49:58 +01:00
Adrien Grand a04d18d2d2 Use BINARY doc values instead of SORTED_SET doc values to store numeric data.
Although SORTED_SET doc values make things like terms aggregations very fast
thanks to the use of ordinals, ordinals are usually not that useful on numeric
data. We are more interested in the values themselves in order to be able to
compute sums, averages, etc. on these values. However, SORTED_SET is quite slow
at accessing values, so BINARY doc values are better suited at storing numeric
data.

floats and doubles are encoded without compression with little-endian byte order
(so that it may be optimizable through sun.misc.Unsafe in the future given that
most computers nowadays use the little-endian byte order) and byte, short, int,
and long are encoded using vLong encoding: they first encode the minimum value
using zig-zag encoding (so that negative values become positive) and then deltas
between successive values.

Close #3993
2013-12-26 09:58:00 +01:00
Boaz Leskes 6fbcd8f8ff Start the task timeout checking *after* adding it to the execution queue.
This prevents missing very short timeouts which fire before the calling thread had the chance to add the task to the queue and are therefore ignored. This is mostly of importance for testing where we explicitly want tasks to timeout and set it to a very low value.
2013-12-24 20:23:31 +01:00
Shay Banon 318bce98c4 update travis config 2013-12-24 20:16:49 +01:00
Shay Banon 09e0a940b3 use the correct d option in getopt instead of the removed f 2013-12-24 18:21:26 +01:00
Andrew Raines c6199b611e Need to make sure we always end up with a Cell, even if it's null.
Fixes #4544.
2013-12-24 11:01:01 -06:00
Alexander Reelsen ababeaed38 Removed bashism in bin/elasticsearch
Using == in an if-statement works in bash but not in dash (used in ubuntu)
Replacing == with = results in strictl POSIX compliance.
2013-12-24 13:35:59 +01:00
Shay Banon 1c758b0bb0 clear the list of releases once released
also double check that once a recycler is released, it can't be released again or used
2013-12-24 10:06:35 +01:00
Andrew Raines 69d88a1edd [DOCS] Add headers and help parameters. 2013-12-23 22:26:28 -06:00
Andrew Raines df39016e58 Add column separator for help output. 2013-12-23 22:26:28 -06:00
Andrew Raines 498e0b418a Round load avg in _cat/nodes. 2013-12-23 22:26:28 -06:00
Andrew Raines dd75020709 Turn off some columns by default in cat/nodes. 2013-12-23 22:26:28 -06:00
Andrew Raines 08ddfcd731 Add associative lookup of columns for arbitrary (and more intuitive) ordering.
% curl 'localhost:9200/_cat/nodes?v&headers=jdk,ip,name'
  jdk      ip        name
  1.7.0_40 127.0.0.1 Mordo, Karl

Closes #4433.
2013-12-23 22:26:27 -06:00
Andrew Raines c2b41f8ad9 Add table concatenation. 2013-12-23 22:26:27 -06:00
uboness 7b13f1932e - currently we make a few assumptions in the field data based aggregations base on which we decide on execution paths, e.g. initial buffer sizes we use for ordinal arrays.
- also, in geo distance, because it's based on range agg and that by default the order of the geo point per doc is unknown, always wrap it in a dedicated field data source which sorts the values if needed. But most of the times, a doc will be associated with a single point and therefore most of this wrapping is redundant and adds perf. cost for nothing.

- the idea here is for every request that "hits" a field data agg, we'll first iterate over the searchable segments and load their field data and compute the cross-segment info out of them. This info will be placed in the field context with which the value sources are created.

- we currently have some of this info on the IndexFieldData, but problem with getting it from there is that we may easily end up getting wrong info that originate in unsearchable segments.
2013-12-24 00:40:20 +01:00
Shay Banon e5f52ce778 update to netty 3.9.0 2013-12-23 20:06:45 +01:00
Martijn van Groningen 682e9548c1 Release SearchContext releaseables also post match filters / queries. 2013-12-23 18:35:54 +01:00
Martijn van Groningen 27b53b8edf Fixed named filter and query support for the top_children, has_child and has_parent queries and filters.
Closes #4534
2013-12-23 13:53:20 +01:00
Martijn van Groningen 9c67be5181 Release parentDocs in TopChildrenQuery. 2013-12-23 13:12:50 +01:00
Simon Willnauer 27e89c2427 Added v0.90.9 2013-12-23 12:13:09 +01:00
Martijn van Groningen eb86a3a6fe [DOCS] Changed `shape_field_name` to `path` in geo_shape filter documentation.
Relates to #4486
2013-12-23 11:27:06 +01:00
Martijn van Groningen a3d6216f40 Make doc lookup in geo_shape filter and query consistent with terms lookup.
The `geo_shape filter and query` option in geo_shape filter and query has been replaced with the `path` option, which allows these filter and query to fetch shapes from within objects as well.

Closes #4486
2013-12-23 11:20:43 +01:00
Simon Willnauer 2d77e2a37e Disable SegmentReader ram usage by default even if -ea is provided 2013-12-23 11:01:11 +01:00
Simon Willnauer af10b65fe1 Add smoketest support for published packages
the build_release.py tool now also downloads and verfyfies the
released packages from S3. It checks integrity based on the sha1
checksums and runs the smoketest against the specs in the current branch.
2013-12-23 10:34:48 +01:00
Alexander Reelsen e4244268fa Fix loading templates in config/ directory
The fixes introduced in #4235 and #4411 do not take into account, that a
template JSON in the config/ directory includes a template name, as opposed
when calling the Put Template API.

This PR allows to put both formats (either specifying a template name or not)
into files. However you template name/id may not be one of the template
element names like "template", "settings", "order" or "mapping".

Closes #4511
2013-12-22 21:37:50 +01:00
Boaz Leskes 5698f9d794 Added asserts to test validation failures presence in ClusterHealthResponse response 2013-12-22 10:21:07 +01:00
Igor Motov d92f573404 Optimize restore source JSON serialization
Don't print "restore_source":  null if restore source is null, omit entire line instead
2013-12-21 22:12:12 -05:00
Shay Banon 9b9ad1a603 fix forbidden API on lower case... 2013-12-22 00:14:06 +01:00
Shay Banon e5b19087cb fix lower case for windows tests 2013-12-22 00:08:14 +01:00
Shay Banon f47f224d33 make sure all integration tests use ElasticsearchIntegrationTest
- move ClusterSettingsTests to ElasticsearchIntegrationTest
- remove InternalNodeTests, we already have separate plugin tests that verify it
2013-12-21 23:26:32 +01:00
Shay Banon 488451b67c remove unused test env var from TESTING doc 2013-12-21 23:02:30 +01:00
Shay Banon 30a0fc30d5 add randomized multi data path nodes tests 2013-12-21 23:01:22 +01:00
Boaz Leskes be27ed3a25 Added unit tests for ClusterIndexHealth and ClusterHealthResponse
Relates to #4528
2013-12-20 22:00:24 +01:00
Alexander Reelsen 0bef2c66a9 Reverting back to 0.90.7 config/templates loading behaviour
Closes #4511
2013-12-20 14:58:46 +01:00
Boaz Leskes bbffeb1b39 Counting shards was wrong if one of the indices was in the RED status
Closes #4528
2013-12-20 13:17:18 +01:00
Clinton Gormley 998b7b3b86 [DOCS] Fixed community links to official clients 2013-12-20 12:16:58 +01:00
Clinton Gormley dea6b112ae [DOCS] Corrected bloom loading docs 2013-12-20 11:20:54 +01:00
Clinton Gormley 2b8c82c883 [DOCS] Documented index.codec.bloom.load for #4525 2013-12-20 10:51:17 +01:00
Clinton Gormley 51dc057244 [DOCS] Added the official PHP client to the community page. 2013-12-20 10:51:17 +01:00
Adrien Grand a7cfae4e7a Stricter parsing of aggregations.
- Only one aggregation type is allowed per aggregation definition.
 - Return an error in the parsers when an unknown field is encountered.

Close #4464
2013-12-20 09:51:25 +01:00
Shay Banon 5bf4e74647 Failed search on a shard tries a local replica on a network thread
When a search on a shard to a remove node fails, and then replica exists on the local node, then the execution of the search is done on the network thread. This is problematic since we need to execute it on the actual search thread pool, but can also explain #4519, where the get happens on the network thread and it waits to send the get request till the network thread we use is freed (deadlock...)
fixes #4526

note, re-enable the geo shape fetch test, this fix should solve it as well
2013-12-19 22:19:20 +01:00
Shay Banon 0c1c2dc671 Allow to enable / disable bloom filter loading on an index
Allow to have a new index level setting index.codec.bloom.load (default to true), that can control if the boom filters will be loaded or not. This is an updateable setting, that can be updated on a live index using the update settings API.

Note though, when this setting is updated, a fresh Lucene index will be reopened, causing associate caches to be dropped potentially.

closes #4525

Note, this change also disables the returning lucene ram usage stats, due to a bug in Lucene, relates to #4512
2013-12-19 21:32:14 +01:00
Simon Willnauer 80ed3d05bc Use a List of shards per shard ID rather than a set.
The shards in the set are mutated after they are added to the
set such that the hashcode doesn't fit anymore. For this reason
this used an identity hashset before but the downside of this is
that the iteration order is not deterministic. We can just use a list
since shard removal is a very rare action and the size of the list is
very small such that iteration is fast.
2013-12-19 19:55:29 +01:00
Richard Pijnenburg df85fdf88f Add repository information to docs
This adds the apt and yum repo information to the setup docs.
2013-12-19 15:58:08 +01:00
Shay Banon a92907c47e fix bloom filter posting format to get the fpp from the correct settings 2013-12-19 14:35:38 +01:00
Shay Banon 46d191c8d4 try and extract store directory also if its wrapped in a compound dir 2013-12-19 14:21:27 +01:00
Igor Motov 8c1073bb6e Update snapshot list when snapshot is deleted 2013-12-18 20:34:05 -05:00
Igor Motov aafd4ddfbd Add ability to specify base directory on the repository level
This change is needed to support multiple repositories per S3 bucket
2013-12-18 20:34:05 -05:00
Shay Banon 95ca06cf09 Add the memory used on segment/segments stats
The memory used for the Lucene index (term dict, bloom filter, ...) can now be reported per segment using the segments API, and on the segments flag on node/indices stats
closes #4512
2013-12-18 22:21:53 +01:00