Commit Graph

18352 Commits

Author SHA1 Message Date
Adrien Grand f40b72633b Add sub-fields support to `bool` fields.
`bool` is our only core mapper that does not support sub fields.

Close #6587
2015-12-23 17:45:46 +01:00
Adrien Grand 76fa9023b6 Merge pull request #15488 from jpountz/remove/index_name_back_compat
Remove `index_name` back compat.
2015-12-23 14:55:41 +01:00
Adrien Grand d8d8666877 Remove `index_name` back compat.
Since 2.0 we enforce that fields have the same full and index names. So in 3.x
we can remove the ability to have different names on the same field.
2015-12-23 14:55:26 +01:00
Adrien Grand b771daa3c7 Merge pull request #15602 from jpountz/enhancement/function_score_two_phase
FunctionScoreQuery should implement two-phase iteration.
2015-12-23 14:54:23 +01:00
Alexander Reelsen 1e2919b03d Smoke Tester: Install mapper attachment & repository hdfs plugin 2015-12-23 13:26:23 +01:00
Alexander Reelsen a0b946ccab Smoke Tester: Dont install groovy/expression plugins
Those two plugins are modules now and thus dont need to be installed
explicitely when testing.
2015-12-23 13:15:56 +01:00
Adrien Grand 07658f58a8 FunctionScoreQuery should implement two-phase iteration.
FunctionScoreQuery should do two things that it doesn't do today:
 - propagate the two-phase iterator from the wrapped scorer so that things are
   still executed efficiently eg. if a phrase or geo-distance query is wrapped
 - filter out docs that don't have a high enough score using two-phase
   iteration: this way the score is only checked when everything else matches

While doing these changes, I noticed that minScore was ignored when scores were
not needed and that explain did not take it into account, so I fixed these
issues as well.
2015-12-23 12:02:21 +01:00
Alexander Reelsen 9cd618244a Docs: Remove deprecated documentation flag in profile docs 2015-12-23 10:59:38 +01:00
Adrien Grand 56d2dd701e Fix SizeMappingTests failure. 2015-12-23 10:48:00 +01:00
Adrien Grand a2072fe927 Merge pull request #15539 from jpountz/fix/immutable_document_mapper
Make mapping updates more robust.
2015-12-23 09:55:42 +01:00
Adrien Grand f535c27024 Make mapping updates more robust.
This changes a couple of things:

Mappings are truly immutable. Before, each field mapper stored a
MappedFieldTypeReference that was shared across fields that have the same name
across types. This means that a mapping update could have the side-effect of
changing the field type in other types when updateAllTypes is true. This works
differently now: after a mapping update, a new copy of the mappings is created
in such a way that fields across different types have the same MappedFieldType.
See the new Mapper.updateFieldType API which replaces MappedFieldTypeReference.

DocumentMapper is now immutable and MapperService.merge has been refactored in
such a way that if an exception is thrown while eg. lookup structures are being
updated, then the whole mapping update will be aborted. As a consequence,
FieldTypeLookup's checkCompatibility has been folded into copyAndAddAll.

Synchronization was simplified: given that mappings are truly immutable, we
don't need the read/write lock so that no documents can be parsed while a
mapping update is being processed. Document parsing is not performed under a
lock anymore, and mapping merging uses a simple synchronized block.
2015-12-23 09:55:07 +01:00
Lee Hinman 862cdad8dc Merge remote-tracking branch 'dakrone/freebsd-test-fix' 2015-12-22 15:41:35 -07:00
Jason Tedor 4c9a9b4b2d Reduce number of threads in o.e.c.c.CacheTests
This commit reduces the randomized number of threads in the cache tests
to reduce the amount of time that the tests take to execute.
2015-12-22 16:55:55 -05:00
Lee Hinman 482843e27b Fix build to run correctly on FreeBSD
This adds the required changes/checks so that the build can run on
FreeBSD.

There are a few things that differ between FreeBSD and Linux:

- CPU probes return -1 for CPU usage
- `hot_threads` cannot be supported on FreeBSD

From OpenJDK's `os_bsd.cpp`:

```c++
bool os::is_thread_cpu_time_supported() {
  #ifdef __APPLE__
  return true;
  #else
  return false;
  #endif
}
```

So this API now returns (for each FreeBSD node):

```
curl -s localhost:9200/_nodes/hot_threads
::: {Devil Hunter Gabriel}{q8OJnKCcQS6EB9fygU4R4g}{127.0.0.1}{127.0.0.1:9300}
   hot_threads is not supported on FreeBSD
```

- multicast fails in native `join` method - known bug:
  https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193246

Which causes:

```
1> Caused by: java.net.SocketException: Invalid argument
1>    at java.net.PlainDatagramSocketImpl.join(Native Method)
1>    at java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:179)
1>    at java.net.MulticastSocket.joinGroup(MulticastSocket.java:323)
1>    at org.elasticsearch.plugin.discovery.multicast.MulticastChannel$Plain.buildMulticastSocket(MulticastChannel.java:309)
```

So these tests are skipped on FreeBSD.

Resolves #15562
2015-12-22 12:36:04 -07:00
Daniel Mitterdorfer f9a601c7da Make BulkProcessorRetryIT less sensitive
In this commit we increase the queue size of the bulk pool in
BulkProcessorRetryIT to make it less sensitive.

As this test case should stress the pool so bulk processor needs to
back off but not so much that the backoff policy will give up at
some point (which is a valid condition), we still keep it below the
default queue size of 50.
2015-12-22 17:37:30 +01:00
Yannick Welsch c91b0ed7b0 Merge pull request #15603 from ywelsch/fix/java-api-indexed-scripts
Fix Java API documentation for indexed scripts
2015-12-22 16:58:59 +01:00
Yannick Welsch 6d0114edb5 Fix Java API documentation for indexed scripts 2015-12-22 16:58:19 +01:00
Adrien Grand ef6d2f5ab3 Merge pull request #15605 from jpountz/fix/speedup_CodecTests
Speed up CodecTests.
2015-12-22 15:45:59 +01:00
Adrien Grand 6f3fc5d75d Speed up CodecTests.
Some tests, but in particular CodecTests, are slow because they test all
versions that ever existed even though they should only test supported
versions.
2015-12-22 15:16:08 +01:00
Simon Willnauer d353dcb138 Merge pull request #15592 from s1monw/remove_deprecated_query_cache_settings
Remove deprecated query cache settings
2015-12-22 10:34:00 +01:00
Simon Willnauer 00bff44899 Merge pull request #15594 from s1monw/remove_compound_on_flush
Remove `index.compound_on_flush` setting and default to `true`
2015-12-22 10:33:38 +01:00
Simon Willnauer 8135a4ac9f Remove `index.compound_on_flush` setting and default to `true`
We added this undocumented realtime setting as backup plan long ago
but to date we haven't had a situation where it was a problem. It's reducing
the number of filehandles in the NRT case dramatically and should always be enabled.
2015-12-22 09:56:26 +01:00
Simon Willnauer 3a5d3a3bb0 Remove deprecated query cache settings 2015-12-22 09:39:12 +01:00
Simon Willnauer 8c898048bc Merge pull request #15584 from s1monw/move_translog_syn_to_index_service
Move async translog sync logic into IndexService
2015-12-22 09:28:11 +01:00
Jun Ohtani 51f6519e71 Analysis : Fix no response from Analyze API without specified index
fix test
2015-12-22 11:53:29 +09:00
Jun Ohtani 267cd65506 Analysis : Fix no response from Analyze API without specified index
Fix error handling in TransportSingleShardAction without shardIt

Closes #15148
2015-12-22 10:13:52 +09:00
Simon Willnauer 98f9749ee1 fix visibility 2015-12-21 22:12:32 +01:00
Simon Willnauer 87494dd7db fix spelling and remove wildcard imports 2015-12-21 22:06:51 +01:00
Simon Willnauer c3f901400c Move async translog sync logic into IndexService
Today the logic to async - commit the translog is in every translog instance
itself. While the setting is a per index setting we manageing it per shard. This
polluts the translog code and can more easily be managed in IndexService.
2015-12-21 21:36:02 +01:00
Simon Willnauer 445be98e4c Merge pull request #15574 from s1monw/drop_simple_translog
Drop support for simple translog and hard-wire buffer to 8kb
2015-12-21 17:28:55 +01:00
Adrien Grand a6bf860cb5 Merge pull request #15575 from jpountz/upgrade/5.5.0-snapshot-1721183
Upgrade to lucene-5.5.0-snapshot-1721183.
2015-12-21 17:17:42 +01:00
Adrien Grand cf52e96c42 Upgrade to lucene-5.5.0-snapshot-1721183.
Some files that implement or use the Scorer API had to be changed because of
https://issues.apache.org/jira/browse/LUCENE-6919.
2015-12-21 17:02:08 +01:00
Simon Willnauer fcfd98e9e8 Drop support for simple translog and hard-wire buffer to 8kb
Today we have two variants of translogs for indexing. We only recommend the buffered
one which also has a 20% advantage in indexing speed. This commit removes the option and defaults
to the buffered case. It also hard-wires the translog buffer to 8kb instead of 64kb. We used to
adjust that buffer based on if the shard is active or not, this code has also been removed and
instead we just keep an 8kb buffer arround.
2015-12-21 16:44:35 +01:00
Jim Ferenczi 96e29be7c6 Merge pull request #15571 from jimferenczi/min_should_match
Min should match greater than the number of optional clauses should return no result
2015-12-21 16:06:51 +01:00
Jim Ferenczi 4d32cc0b9f Queries.calculateMinShouldMatch returns the number of "min should match" clauses that the user wanted
even if the number of optional clauses is smaller than the provided number.
In such case the query now returns no result.
Closes #15521
2015-12-21 16:06:06 +01:00
Simon Willnauer 0cdbcdab64 added 2.3.0-SNAPSHOT as a Version constant 2015-12-21 15:48:16 +01:00
Simon Willnauer b56e19a00c Merge pull request #15573 from s1monw/drop_settings_01
Simplify translog-based flush settings
2015-12-21 15:45:56 +01:00
Simon Willnauer 7fe2eddfec fix test 2015-12-21 15:26:56 +01:00
Simon Willnauer 613e8a9782 add note to migration guide 2015-12-21 15:20:32 +01:00
Simon Willnauer afc1cc19af Simplify translog-based flush settings
This commit removes `index.translog.flush_threshold_ops` and `index.translog.disable_flush`
in favor of `index.translog.flush_threshold_size`. The number of operations is meaningless by itself and
can easily be turned into a size value with knowledge of the data. Disabling the flush is only useful in
tests and we can set the size value to a really high value. If users really need to do this they can
also apply a very high value like `1PB`.
2015-12-21 15:15:00 +01:00
Simon Willnauer 67c2f4224c Merge pull request #15572 from s1monw/issues/15570
Remove `index.merge.scheduler.notify_on_failure` and default to `true`
2015-12-21 15:13:49 +01:00
Simon Willnauer eb64a81d05 Remove `index.merge.scheduler.notify_on_failure` and default to `true`
This setting was undocumented and should not be set by any user. We should
fail the shard instead.

Closes  #15570
2015-12-21 14:39:58 +01:00
Adrien Grand 454f3e8679 Merge pull request #15546 from jpountz/fix/realistic_mapping_tests
Make mappings tests more realistic.
2015-12-21 10:47:13 +01:00
Adrien Grand ac393b7a31 Make mappings tests more realistic.
DocumentMapperParser has both parse and parseCompressed methods. Except that the
parse methods are ONLY used from the unit tests. This commit removes the parse
method and moves all tests to parseCompressed so that they test more
realistically how mappings are managed.

Then I renamed parseCompressed to parse given that this is the only alternative
anyway.
2015-12-21 10:44:00 +01:00
Jim Ferenczi 1ec44dcdda Merge pull request #15371 from jimferenczi/alias_routing
Resolves the conflict between alias routing and parent routing by applying the alias routing and ignoring the parent routing.
2015-12-21 09:58:45 +01:00
Jim Ferenczi 776e5d8096 Separates routing and parent in all documentrequest in order to be able to distinguish an explicit routing value from a parent routing.
Resolves conflicts between parent routing and alias routing with the following rule:
    * The parent routing is ignored if there is an alias routing that matches the request.
Closes #3068
2015-12-21 09:44:57 +01:00
Ryan Ernst a518599e27 Allow plugins to upgrade slf4j-api to a compile dep
This was originally intended to be general purpose in #15555, but
that still had problems. Instead, this change fixes the issue explicitly
for slf4j-api, since that is the problematic dep that is not actually
included in the distributions.
2015-12-20 17:59:00 -08:00
Simon Willnauer a9e9dc7d88 Disable tests for example-fixture 2015-12-20 15:13:14 +01:00
Ryan Ernst 403644cb48 Merge pull request #15561 from rjernst/fixtures
Add fixture capabilities to integ tests
2015-12-19 15:46:45 -08:00
Ryan Ernst 9cb4c82c58 Build: Add fixture capabilities to integ tests
This change adds a Fixture class for use by gradle. A Fixture is an
external process that integration tests will use. It can be added as a
dependsOn for integTest, and will automatically be shutdown upon success
or failure, as well as relevant information dumped on failure. There is
also an example fixture in this change.
2015-12-19 15:46:21 -08:00