Commit Graph

18099 Commits

Author SHA1 Message Date
Costin Leau 7bca97bba6 HDFS Snapshot/Restore plugin
Migrated from ES-Hadoop. Contains several improvements regarding:

* Security
Takes advantage of the pluggable security in ES 2.2 and uses that in order
to grant the necessary permissions to the Hadoop libs. It relies on a
dedicated DomainCombiner to grant permissions only when needed only to the
libraries installed in the plugin folder
Add security checks for SpecialPermission/scripting and provides out of
the box permissions for the latest Hadoop 1.x (1.2.1) and 2.x (2.7.1)

* Testing
Uses a customized Local FS to perform actual integration testing of the
Hadoop stack (and thus to make sure the proper permissions and ACC blocks
are in place) however without requiring extra permissions for testing.
If needed, a MiniDFS cluster is provided (though it requires extra
permissions to bind ports)
Provides a RestIT test

* Build system
Picks the build system used in ES (still Gradle)
2015-12-14 21:50:09 +02:00
Christoph Büscher c7a001dcb4 Merge pull request #15376 from cbuescher/highlight-refactoring-searchSource
Use HighlightBuilder in SearchSourceBuilder
2015-12-14 20:35:07 +01:00
Simon Willnauer bc8745dcc2 Merge pull request #15420 from s1monw/fail_translog_on_tragic_event
Fail and close translog hard if writing to disk fails
2015-12-14 18:30:04 +01:00
Simon Willnauer 943915e05a simplify code and use members directly 2015-12-14 18:06:49 +01:00
Christoph Büscher 59bd21f24f Adding test for Order enum ordinals 2015-12-14 17:29:25 +01:00
Christoph Büscher 6f16317a4b Switch internal representation of order to enum 2015-12-14 16:56:39 +01:00
Simon Willnauer b0144c557c apply feedback from @mikemccand 2015-12-14 16:09:20 +01:00
Christoph Büscher 659bab7105 Use HighlightBuilder in SearchSourceBuilder
After HighlightBuilder implements Writable now, we can remove
the temporary solution for transporting the highlight section in
SearchSourceBuilder from the coordinating node to the shard as
BytesReference and use HighlightBuilder instead.
2015-12-14 15:20:49 +01:00
Christoph Büscher 7742c1e181 Merge pull request #15368 from cbuescher/highlight-builder-shared-parsing
Joint parsing of common global Hightlighter and subfield parameters
2015-12-14 15:19:03 +01:00
Christoph Büscher 2ab937d64d Joint parsing of common global Hightlighter and subfield parameters
The top-level highlighter has many options that can be overwritten per
field. Currently there is very similar code for this in two places.
This PR pulls out the parsing of the common parameters into
AbstractHighlighterBuilder for better reuse and to keep parsing of
common parameters more consistent.
2015-12-14 15:09:00 +01:00
Simon Willnauer 6cefdc82f6 Expose tragic event to translog, close translog once we hit a tragic even and fail engine if we hit one too 2015-12-14 15:01:55 +01:00
Simon Willnauer c6003b6f13 apply feedback from @bleskes 2015-12-14 14:36:20 +01:00
Clinton Gormley f20f41e02e Merge pull request #15405 from alexg-dev/patch-1
More detailed explanation of some similarity types
2015-12-14 14:28:43 +01:00
Clinton Gormley 6144457f01 Merge pull request #15403 from fforbeck/master
Added description for parameter <local>, FIX #14125
2015-12-14 14:24:49 +01:00
Clinton Gormley 83ee1fc903 Merge pull request #15400 from TheDude05/fix-match_pattern-docs
Fix docs with `match_pattern` in dynamic templates
2015-12-14 14:18:59 +01:00
Simon Willnauer 2d03a6b808 Fail and close translog hard if writing to disk fails
Today we are super lenient (how could I missed that for f**k sake) with failing
/ closing the translog writer when we hit an exception. It's actually worse, we allow
to further write to it and don't care what has been already written to disk and what hasn't.
We keep the buffer in memory and try to write it again on the next operation.

When we hit a disk-full expcetion due to for instance a big merge we are likely adding document to the
translog but fail to write them to disk. Once the merge failed and freed up it's diskspace (note this is
a small window when concurrently indexing and failing the shard due to out of space exceptions) we will
allow in-flight operations to add to the translog and then once we fail the shard fsync it. These operations
are written to disk and fsynced which is fine but the previous buffer flush might have written some bytes
to disk which are not corrupting the translog. That wouldn't be an issue if we prevented the fsync.

Closes #15333
2015-12-14 13:16:17 +01:00
Christoph Büscher f520f8bfb9 Tests: Add test for parsing "_name" field in RangeQueryParser 2015-12-14 10:07:35 +01:00
Jason Tedor 2602439a51 Delegate to j.u.c.ThreadLocalRandom for Random instances 2015-12-12 17:51:46 -05:00
Ryan Ernst 089a9e6977 Merge pull request #15402 from rjernst/port_zero
Change rest integ tests to not have hardcoded ports
2015-12-11 18:20:55 -08:00
Ryan Ernst a0c69fe7f9 Remove forbidden suppressions for InetSocketAddress 2015-12-11 18:20:09 -08:00
Ryan Ernst 7cbb955d19 Move forbidden suppression for InetSocketAddress to its own method 2015-12-11 18:08:39 -08:00
Ryan Ernst 5c8a0da1fd Build: Change rest integ tests to not have hardcoded ports
This change removes hardcoded ports from cluster formation. It passes
port 0 for http and transport, and then uses a special property to have
the node log the ports used for http and transport (just for tests).
This does not yet work for multi node tests. This brings us one step
closer to working with --parallel.
2015-12-11 17:36:08 -08:00
Felipe Forbeck 708abcc59a Added desc for parameter <local> 2015-12-11 22:26:33 -02:00
Jason Tedor a42823ad45 Improve ThreadLocal handling in o.e.c.Randomness
This commit improves the handling of ThreadLocal Random instance
allocation in o.e.c.Randomness.
 - the seed per instance is no longer fixed
 - a non-dangerous race to create the ThreadLocal instance has been
   removed
 - encapsulated all state into an static nested class for safe and lazy
   instantiation
2015-12-11 19:06:59 -05:00
Nicholas Knize 5f3d807f61 Update geo_shape/query docs, fix TermStrategy defaults
This commit adds the following:
* SpatialStrategy documentation to the geo-shape reference docs.
* Updates relation documentation to geo-shape-query reference docs.
* Updates GeoShapeFiledMapper to set points_only to true if TERM strategy is used (to be consistent with documentation)
2015-12-11 17:14:22 -06:00
Andrew Williams e7127c9f6f Fix docs with `match_pattern` in dynamic templates 2015-12-11 14:03:54 -06:00
Jim Ferenczi 9ab168dbf6 Removes all the reference of the query in the docs 2015-12-11 20:07:57 +01:00
Adrien Grand 0f51d81410 Fix settings for TribeUnitTests. 2015-12-11 20:00:38 +01:00
Adrien Grand 003e19b5fb Merge pull request #15398 from jpountz/remove/_source_format
Remove the `format` option of the `_source` field.
2015-12-11 18:27:27 +01:00
Jason Tedor a087d557f9 Fix NullPointerException in o.e.c.Randomness 2015-12-11 12:10:43 -05:00
Adrien Grand 9fd843748e Remove the `format` option of the `_source` field.
This option allows to force the xcontent type to use to store the `_source`
document. The default is to use the same format as the input format.

This commit makes this option ignored for 2.x indices and rejected for 3.0
indices.
2015-12-11 18:06:20 +01:00
Jason Tedor 11cbc08e45 Fix compilation in o.e.m.t.SimpleSortTests 2015-12-11 11:46:50 -05:00
Ryan Ernst 47e922ba85 Add excludes and patterns as explicit inputs to forbidden patterns task 2015-12-11 08:26:38 -08:00
Jason Tedor cd40cd78ba Merge pull request #15299 from jasontedor/collections-shuffle-reproducibility
Remove and forbid use of Collections#shuffle(List) and Random#<init>()
2015-12-11 11:24:56 -05:00
Jim Ferenczi d78e24689b Merge pull request #15364 from jimferenczi/missing_query_removal
Remove the MissingQueryBuilder which was deprecated in 2.2.0.
2015-12-11 17:20:47 +01:00
Jason Tedor 3383c24be0 Remove and forbid use of Collections#shuffle(List) and Random#<init>()
This commit removes and now forbids all uses of
Collections#shuffle(List) and Random#<init>() across the codebase. The
rationale for removing and forbidding these methods is to increase test
reproducibility. As these methods use non-reproducible seeds, production
code and tests that rely on these methods contribute to
non-reproducbility of tests.

Instead of Collections#shuffle(List) the method
Collections#shuffle(List, Random) can be used. All that is required then
is a reproducible source of randomness. Consequently, the utility class
Randomness has been added to assist in creating reproducible sources of
randomness.

Instead of Random#<init>(), Random#<init>(long) with a reproducible seed
or the aforementioned Randomess class can be used.

Closes #15287
2015-12-11 11:16:38 -05:00
Adrien Grand ed53edd4d0 Merge pull request #15344 from jpountz/fix/remove_source_backcompat
Remove back compat for the `_source` compression options.
2015-12-11 17:01:15 +01:00
Daniel Mitterdorfer f5d307e426 BulkItemResponse returns status code instead of status name
In commit fafeb3a, we've refactored REST response handling logic
and returned HTTP status names instead of HTTP status codes for
bulk item responses. With this commit we restore the original
behavior.

Checked with @bleskes.
2015-12-11 16:22:36 +01:00
Simon Willnauer 90ff1ad5fb Merge pull request #15235 from s1monw/remove_recovery_settings
Restore chunksize of 512kb on recovery and remove configurability
2015-12-11 15:27:20 +01:00
Simon Willnauer db15682b3c apply review comments from @bleskes 2015-12-11 15:16:14 +01:00
Clinton Gormley 259c6eeb59 Merge pull request #15274 from murnieza/patch-1
[Doc] Redundant indefinite article removed
2015-12-11 14:38:44 +01:00
Adrien Grand afcaa593ae Merge pull request #15358 from jpountz/fix/safe_write_raw
Make XContentGenerator.writeRaw* safer.
2015-12-11 12:18:04 +01:00
Isabel Drost-Fromm 8dad4d03f4 Merge pull request #11598 from srogljan/master
UNICODE_CHARACTER_CLASS fix
2015-12-11 11:53:35 +01:00
Adrien Grand d408313974 Make XContentGenerator.writeRaw* safer.
This method currently allows to write arbitrary bytes in an xcontent stream.
I changed it so that it can only write data to the same stream as the xcontent
(the bos parameter is removed) and that it yells at you if you try to write
raw bytes that can't be recognized as xcontent. Also the logic to copy the
structure instead of appending the bytes directly if the source and target
are of a different xcontent type have been moved to the low-level
XContentGenerator.
2015-12-11 11:13:57 +01:00
Yannick Welsch ce50fb49b3 Merge pull request #15151 from ywelsch/feature/get-snapshot-wildcards
Support wildcards for getting repositories and snapshots
2015-12-11 10:36:28 +01:00
Yannick Welsch db5594a2af Support wildcards for getting repositories or snapshots
Closes #15151
2015-12-11 10:20:27 +01:00
Simon Willnauer 12f905a675 Make chunkSize configurabel for tests and use correct close handling for closing streams to not hide original exception 2015-12-11 09:44:08 +01:00
Ryan Ernst 7f4ef9f586 Merge pull request #15356 from rjernst/clean_benchmarks
Remove benchmark package
2015-12-10 19:30:25 -08:00
Ryan Ernst 81d6363967 Remove benchmark package
Tons of ancient "benchmarks" exist in elasticsearch. These are main
methods that do some kind of construction of ES classes and time various
things. The problem with these is they are not maintained, and not run.
Refactorings that touch anything that is common in these classes is very
painful. Going through these, almost all would simply not work in 2.x
without modifications (because they do not set path.home).

This change removes the entire benchmark package. If someone needs to
run a benchmark like this, they can look at history for examples if
necessary (although these examples are often not realistic and should
just start real elasticsearch processes in a shell script). Longer term,
we should make this easier to do by having the build support adding real
benchmarks which can be run in jenkins (so we know they actually run,
instead of doing refactorings with pure guesswork as to whether the
benchmark would run correctly).
2015-12-10 19:29:54 -08:00
Ryan Ernst 93de1ed606 Merge pull request #15354 from rjernst/just_node
Remove NodeBuilder
2015-12-10 19:19:55 -08:00