Commit Graph

9802 Commits

Author SHA1 Message Date
Lee Hinman 57bcd65ca4 Simplify translog interface
get rid of readSource() entirely, it sucked, Operations should be able
to provide the source themselves.

No more TranslogStream headers, you are now required to pass an
StreamInput or StreamOutput for all operations, which means no extra
state is needed and no need to construct new versions when detecting the
version.

Read and write translog op sizes in TranslogStreams

Previously we handled these integers outside of the translog stream
itself, which was very unclean because other code had to know about
reading the size, or about writing the correct header sometimes.

There is some additional code in LocalIndexShardGateway to handle the
legacy case for older translogs, because we need to read and discard the
size in order to maintain the compatibility for the streaming
operations (they did not read or write the size for 1.3.x and earlier).

Additionally, we need to handle a case where the header is truncated
when recovering from disk

Use a NoopStreamOutput instead of byte arrays

Instead of writing translog operations to a temporary byte array and
then writing that byte array to the stream, we now write the operation
twice, once to a No-op stream to get the size, then again to the real
size.

This trades a little more CPU usage for less memory usage.
2014-09-09 15:26:13 +02:00
Martijn van Groningen 52f1ab6e16 Core: Added the `index.query.parse.allow_unmapped_fields` setting to fail queries if they refer to unmapped fields.
The percolator and filters in aliases by default enforce strict query parsing.

Closes #7335
2014-09-09 15:00:47 +02:00
ansj fee832df66 Docs: Update plugins.asciidoc
add search by sql

Closes #7525
2014-09-09 14:57:38 +02:00
Alexander Reelsen bd0eb32d9c CORS: Disable by default
In order to deliver a more secure out-of-the-box configuration this commit
disables cross-origin resource sharing by default.

Closes #7151
2014-09-09 11:09:03 +02:00
Ryan Ernst 789c0a9a1b Quiet BWC analysis test case for now.
See https://issues.apache.org/jira/browse/LUCENE-5927.
2014-09-08 14:23:11 -07:00
Simon Willnauer 2619911e17 [STORE] Write Snapshots directly to the blobstore stream
Today we serialize the snashot metadata to a byte array and then copy
the byte array to a stream. Instead this commit moves the serialization
directly to the target stream without the intermediate representation.

Closes #7637
2014-09-08 22:19:24 +02:00
Colin Goodheart-Smithe b127b52fd3 Revert "Aggregations: Adds ability to sort on multiple criteria"
This reverts commit bfedd11ffa.
2014-09-08 20:27:19 +01:00
Colin Goodheart-Smithe 13d01af940 Revert "[TEST] added @AwaitsFix to failing StringTermsTests while I work on a fix"
This reverts commit 18a713a2ae.
2014-09-08 20:27:16 +01:00
Britta Weber 59ce940d43 [TESTS]: create directory for heapdumps if not exists
Before the heapdump was either written in a file with the
directory name if the heapdump path ended without / or
not written at all if the path ended with /

closes #7645
2014-09-08 21:21:05 +02:00
Simon Willnauer ce2e65f6e7 [TEST] Don't print BWC test path - it's different on every machine 2014-09-08 21:10:09 +02:00
Boaz Leskes 9054ce5569 [Stats] update action returns before updating stats for `NONE` operations
We keep around a noop stats indicating how many update operations ended up not updating the document (typically because it didn't change). However, the TransportUpdateAction update that counter only after returning the result. This can throw off stats check which are done immediately after, potentially causing test failures.

Closes #7639
2014-09-08 20:46:07 +02:00
Simon Willnauer 72c4cb51cc [CORE] Unify search context cleanup
Today there are two different ways to cleanup search contexts which can
potentially lead to double releasing of a context. This commit unifies
the methods and prevents double closing.

Closes #7625
2014-09-08 20:36:19 +02:00
Andrew Selden 80a3038f83 Make .zip and .tar.gz release artifacts contain same files.
This commit changes the build to include .exe and sigar/.dll files in
both the zip and tar artifacts.

Closes #2793
2014-09-08 10:43:09 -07:00
Colin Goodheart-Smithe 18a713a2ae [TEST] added @AwaitsFix to failing StringTermsTests while I work on a fix 2014-09-08 16:28:12 +01:00
Britta Weber ee5221bd22 _timestamp: enable mapper properties merging
Updates on the _timestamp field were silently ignored.
Now _timestamp undergoes the same merge as regular
fields. This includes exceptions if a property cannot
be changed.
"path" and "default" cannot be changed.

closes #5772
closes #6958
closes #7614
partially fixes #777
2014-09-08 17:17:06 +02:00
Colin Goodheart-Smithe bfedd11ffa Aggregations: Adds ability to sort on multiple criteria
The terms aggregation can now support sorting on multiple criteria by replacing the sort object with an array or sort object whose order signifies the priority of the sort. The existing syntax for sorting on a single criteria also still works.

Contributes to #6917
2014-09-08 15:20:33 +01:00
Adrien Grand 11fe940ea9 [TESTS] Add explicit mappings to IndexAliasesTests.testSearchingFilteringAliasesSingleIndex
This makes sure that all shards know about the `_uid` field.
2014-09-08 16:11:50 +02:00
Colin Goodheart-Smithe 12ca36574e [TEST] added debug info to GeoBoundsTests to try to solve build issue 2014-09-08 10:50:25 +01:00
Simon Willnauer aadbfa44b4 [SEARCH] Execute search reduce phase on the search threadpool
Reduce Phases can be expensive and some of them like the aggregations
reduce phase might even execute a one-off call via an internal client
that might cause a deadlock due to execution on the network thread
that is needed to handle the one-off call. This commit dispatches
the reduce phase to the search threadpool to ensure we don't wait
for the current thread to be available.

Closes #7623
2014-09-08 11:32:55 +02:00
Joao Duarte a6e0f02220 Doc: Fixes node client section name on Java API Doc
Closes #7539
2014-09-08 11:20:49 +02:00
mikemccand 130fdef367 Core: remove built-in support for Lucene's experimental codecs
Lucene's experimental codecs (from the codecs module) do not provide
backwards compatibility and are free to change from release to
release.  When they do change, they typically cannot in general read
older indices and the resulting exceptions look like index corruption.
So, we are removing built-in support for them to prevent applications
from choosing one and then seeing strange exceptions on upgrade.

Closes #7566

Closes #7604
2014-09-08 04:55:15 -04:00
Tanvir Alam c7d0c3ea18 Docs: fixed typo
Closes #7544
2014-09-08 10:50:59 +02:00
Clinton Gormley e0684c4f6e Docs: Update regexp-syntax.asciidoc
Closes #7419
2014-09-07 11:42:33 +02:00
Clinton Gormley 46cda7db09 Docs: Clarify that refresh on update just refreshes the relevant shards 2014-09-07 11:41:05 +02:00
Clinton Gormley 3bda779336 Docs: Update scripting.asciidoc
Clarify that doc[...] does not return objects

Closes #7384
2014-09-07 11:39:33 +02:00
Clinton Gormley 51cec43d3c Docs: Clarify that refresh on get/update/delete just refreshes the relevant shards
Closes #7359
2014-09-07 11:36:52 +02:00
Clinton Gormley 0578a703df Docs: Update prefix-query.asciidoc
Typo (missing word)

Closes #7283
2014-09-07 11:32:05 +02:00
Clinton Gormley cf001d6837 Docs: Adds missing explanation to multi-match
Closes #7281
2014-09-07 11:30:52 +02:00
pachanta 8bae96485e Docs: Update span-not-query.asciidoc
The example given does not clearly explain what the query does.

Closes #7049
2014-09-07 11:28:19 +02:00
Clinton Gormley 1bdf79e527 Docs: Added explanation of how to do multi-field terms agg
Closes #5100
2014-09-07 11:09:52 +02:00
Dominik Surowiecki 7c2490b2ad Docs: Wrong class name
Was QFilterBuilders, should be FilterBuilders.

Closes #7611
2014-09-07 08:46:41 +02:00
Ryan Ernst 1a9c82d6b5 RestAPI: Change validation exceptions to respond with 400 status instead of 500.
Validation errors are clearly in the realm of client errors (a program
with the request).  Thus they should return a 4xx response code.

closes #7619
2014-09-06 22:02:32 -07:00
Simon Willnauer 36f9d39205 [TEST] Close input stream in test to not upset windows 2014-09-06 22:07:01 +02:00
shrinidhichaudhari 13e3a5e99c Docs: Update cardinality-aggregation.asciidoc
Closes #7516
2014-09-06 20:45:45 +02:00
uboness 333a39cf30 Extended ActionFilter to also enable filtering the response side
Enables filtering the actions on both sides - request and response. Also added a base class for filter implementations (cleans up filters that only need to filter one side)

Also refactored the filter & filter chain methods to more intuitive names
2014-09-06 13:18:40 +02:00
Ryan Ernst dd54025b17 Internal: Change LZFCompressedStreamOutput to use buffer recycler when allocating encoder
closes #7613
2014-09-05 13:59:10 -07:00
Ryan Ernst 669a7eb4f1 RestAPI: Add explicit error when PUT mapping API is given an empty request body.
closes #7536
closes #7618
2014-09-05 13:30:39 -07:00
Simon Willnauer 7f32e8c707 [STORE] Simplify reading / writing from and to BlobContainer
BlobContainer used to provide async APIs which are not used
internally. The implementation of these APIs are also not async
by nature and neither is any of the pluggable BlobContainers. This
commit simplifies the API to a simple input / output stream and
reduces the hierarchy of BlobContainer dramatically.
NOTE: This is a breaking change!

Closes #7551
2014-09-05 21:40:20 +02:00
Simon Willnauer 6a0a7afea6 [TEST] Allow SingleNodeTest to reset the node if really needed after test 2014-09-05 21:22:24 +02:00
Robert Muir 223dab8921 [Lucene] Upgrade to Lucene 4.10
Closes #7584
2014-09-05 12:21:08 -04:00
uboness 5df9c048fe Introduced a transient context to the rest request
Similar to the one in `TransportMessage`. Added the `ContextHolder` base class where both `TransportMessage` and `RestRequest` derive from

Now next to the known headers, the context is always copied over from the rest request to the transport request (when the injected client is used)
2014-09-05 16:54:46 +02:00
Alexander Reelsen 8b8cc80ba8 TransportClient: Mark transport client as such when instantiating
This allows plugins to load/inject specific classes, when the client started
is a transport client (compared to being a node client).

Closes #7552
2014-09-05 15:01:14 +02:00
Alex Ksikes 07d741c2cb Term Vectors: Support for artificial documents
This adds the ability to the Term Vector API to generate term vectors for
artifical documents, that is for documents not present in the index. Following
a similar syntax to the Percolator API, a new 'doc' parameter is used, instead
of '_id', that specifies the document of interest. The parameters '_index' and
'_type' determine the mapping and therefore analyzers to apply to each value
field.

Closes #7530
2014-09-05 07:42:43 +02:00
Adrien Grand b49853a619 Internal: Upgrade Guava to 18.0.
17.0 and earlier versions were affected by the following bug
https://code.google.com/p/guava-libraries/issues/detail?id=1761
which caused caches that are configured with weights that are greater than
32GB to actually be unbounded. This is now fixed.

Relates to #6268
Close #7593
2014-09-04 20:14:59 +02:00
Clinton Gormley c88f55ab52 Docs: Fixed typo in windows-as-a-service 2014-09-04 16:12:46 +02:00
javanna a857798e1c Indexed scripts: make sure headers are handed over to internal requests and streamline versioning support
The get, put and delete indexed script apis map to get, index and delete api and internally create those corresponding requests. We need to make sure that the original headers are handed over to the new request by passing the original request in the constructor when creating the new one.

Also streamlined the support for version and version_type in the REST layer since the parameters were not consistently parsed and set to the internal java API requests.

Modified the REST delete template and delete script actions to make use of a client instead of using the `ScriptService` directly.

Closes #7569
2014-09-04 16:00:32 +02:00
uboness 221eafab59 Refactored TransportMessage context
Removed CHM in favour of an OpenHashMap and synchronized accessor/mutator methods. Also, the context is now lazily inititialied (just like we do with the headers)
2014-09-04 15:11:28 +02:00
javanna 6633221470 Internal: deduplicate useful headers that get copied from REST to transport requests
The useful headers are now stored into a `Set` instead of an array so we can easily deduplicate them. A set is also returned instead of an array by the `usefulHeaders` static getter.

Relates to #6513

Closes #7590
2014-09-04 15:04:11 +02:00
Adrien Grand 4ca2dd0a0a Core: Remove DocSetCache.
This class was unused.

Close #7582
2014-09-04 11:03:16 +02:00
Nik Everett 7bcd09a134 [docs] fix typo in language analyzer docs 2014-09-04 09:33:00 +02:00