Commit Graph

20049 Commits

Author SHA1 Message Date
Clinton Gormley 676078c53d Docs: Java Security Manager and scripting
Added docs explaining the impact of the Java Security Manager on scripting
languages, how to disable the JSM, and how to customise the classloader
whitelist.

Closes https://github.com/elastic/elasticsearch/issues/16094
Closes https://github.com/elastic/elasticsearch/issues/14290
2016-02-01 09:38:21 +01:00
Ryan Ernst a052dfeb38 Plugins: Reduce complexity of plugin cli
The plugin cli currently is extremely lenient, allowing most errors to
simply be logged. This can lead to either corrupt installations (eg
partially installed plugins), or confused users.

This change rewrites the plugin cli to have almost no leniency.
Unfortunately it was not possible to remove all leniency, due in
particular to how config files are handled.

The following functionality was simplified:
* The format of the name argument to install a plugin is now an official
  plugin name, maven coordinates, or a URL.
* Checksum files are required, and only checked, for official plugins
  and maven plugins. Checksums are also only SHA1.
* Downloading no longer uses a separate thread, and no longer has a timeout.
* Installation, and removal, attempts to be atomic. This only truly works
  when no config or bin files exist.
* config and bin directories are verified before copying is attempted.
* Permissions and user/group are no longer set on config and bin files.
  We rely on the users umask.
* config and bin directories must only contain files, no subdirectories.
* The code is reorganized so each command is a separate class. These
  classes already existed, but were embedded in the plugin cli class, as
  an extra layer between the cli code and the code running for each command.
2016-01-31 20:30:45 -08:00
LeeDr 001e1b4714 Tip for detecting init in docs
This commit adds a tip to the setup docs for how to detect whether the
user is running on a system that uses SysV-style init versus systemd.

Closes #16323
2016-01-31 13:49:28 -05:00
Ryan Ernst a398ba839c Tests: Make single node utility methods non-static
With the recent change to allow ESSingleNodeTestCase to specify plugins
and Version for the node, node creation became lazy, where it now
happens before the first test to run. However, there were many static
methods on ESSingleNodeTestCase that still try to access the node. This
change makes those methods non-static.
2016-01-31 09:58:41 -08:00
Jason Tedor 105411060c Uppercase ells ('L') in long literals
This commit removes and forbids the use of lowercase ells ('l') in long
literals because they are often hard to distinguish from the digit
representing one ('1').

Closes #16329
2016-01-30 22:16:02 -05:00
Lee Hinman 4e8623f8f4 Merge remote-tracking branch 'dakrone/add-ex-name-to-msg' 2016-01-30 16:28:03 -07:00
Lee Hinman 7e05b34708 Add Exception class name to message in `NotSerializableExceptionWrapper`
Previously it's possible to get errors like:

```
Caused by: NotSerializableExceptionWrapper[d:\shared_data\afs-issue-1-1\23]
```

Which doesn't tell us what the underlying exception type was that could
not be serialized.

This changes the message to prepend the
`ElasticsearchException.getExceptionName()` of the exception (which is a
underscore case of the class with the leading 'Elasticsearch' removed)
2016-01-30 16:27:24 -07:00
Nik Everett 5c9e7a966f Merge pull request #16279 from nik9000/checkstyle
Checkstyle!
2016-01-30 15:07:30 -05:00
Nik Everett e6c022b520 Mimimal checkstyle configuration
This adds a small pile of checkstyle checks that all pass without any changes.
It moves some checks from ForbiddenPatterns that were java only into
checkstyle.

Don't duplicate forbiddenPatterns in checkstyle
2016-01-30 14:59:50 -05:00
Chris Earle c0a7f88897 [DOCS] Adding node.max_local_storage_nodes setting
This setting was missing from the docs, so I added it. However, I also
completely rewrote the nodes documentation page because it was mostly
talking about client nodes with some issues, without ever discussing
master nodes, or even tribe nodes. All nodes should be listed on a
"nodes" documentation page.

Fixes #15903
Fixed #14429
2016-01-30 18:13:42 +01:00
Jason Tedor 2a78e02fe9 Log shard ID in TransportReplicationAction
This commit amends a logging statement in TransportReplicationAction to
log the full shard ID instead of just the numerical shard ID (without
the index name).
2016-01-30 09:27:38 -05:00
Ryan Ernst b8f08c35ec Plugin: Remove multicast plugin
closes #16310.
2016-01-29 18:41:31 -08:00
Tal Levy 61e4283a16 Add processor tags to on_failure metadata in ingest pipeline
closes #16202
2016-01-29 14:36:11 -08:00
Tal Levy 6e91d65a99 Merge pull request #16276 from talevy/more_details_factory_factory
catch processor/pipeline factory exceptions and return structured error responses
2016-01-29 13:44:31 -08:00
Tal Levy fca442f4d1 Introduce Pipeline Factory Error Responses in Node Ingest
When there is an exception thrown during pipeline creation within
Rest calls (in put pipeline, and simulate) We now return a structured
error response to the user with details around which processor's
configuration is the cause of the issue, or which configuration property
is misconfigured, etc.
2016-01-29 13:37:27 -08:00
Ryan Ernst 23f70296fb Merge pull request #16304 from rjernst/expect_throws
Tests: Add expectThrows utility to base test case
2016-01-29 09:01:19 -08:00
Ryan Ernst 90485d0635 Remove unnecessary unchecked cast 2016-01-29 09:00:27 -08:00
Simon Willnauer 51745d7272 Call latch in a finally block 2016-01-29 17:38:33 +01:00
Simon Willnauer e24fac644a Fix AzureRepositoryF to handle exceptions on close
Fix TribeUnitTests to handle exceptions on close
2016-01-29 17:34:02 +01:00
Simon Willnauer 6814f24009 Cleanup Relesables now that we can delegate to IOUtils 2016-01-29 17:02:40 +01:00
Simon Willnauer 15841081f6 Disambiguate TestCluster implementation since Client is now also Closeable and if we call IOUtils it might interpret it as a Iterable<Closeable> 2016-01-29 16:51:06 +01:00
Simon Willnauer 0bcee2df37 Use IOUtils#close() where needed 2016-01-29 16:30:50 +01:00
Simon Willnauer ac87751b3d Use IOUtils#close() where needed 2016-01-29 16:26:37 +01:00
Jason Tedor c7b8fecb0e Merge pull request #16313 from jasontedor/monitor-settings
Monitor settings
2016-01-29 10:21:38 -05:00
Simon Willnauer 87737d3e02 Ensure all resoruces are closed on Node#close()
We are leaking all kinds of resources if something during Node#close() barfs.
This commit cuts over to a list of closeables to release resources that
also closed remaining services if one or more services fail to close.

Closes #13685
2016-01-29 16:18:21 +01:00
Jason Tedor a1fd01d4cc No leniency in parsing JVM GC monitor settings
This commit removes some leniency in the parsing of the JVM GC monitor
settings, and adds tests for the JVM GC monitor settings.
2016-01-29 10:07:34 -05:00
Simon Willnauer f89e63f988 Merge pull request #16315 from s1monw/issues/16299
Use index name rather than the index object to check against existence in the set
2016-01-29 15:19:43 +01:00
Boaz Leskes 9aceddb9e2 Missing CLUSTER_ROUTING_ALLOCATION_ALLOW_REBALANCE_SETTING.getKey() 2016-01-29 15:17:46 +01:00
Simon Willnauer 838edab168 Use index name rather than the index object to check against existence in the set
This is an issue due to some refactoring we did along the lines of Index.java etc.
We pass the index object to Set#contains which should actually be only it's name.

Closes #16299
2016-01-29 15:09:48 +01:00
Simon Willnauer 14017d4ad8 Merge pull request #16311 from s1monw/cut_over_tribe_settings
Cut over tribe node settings to new settings infra
2016-01-29 14:23:50 +01:00
Jason Tedor ea56bfad9a JVM GC monitor settings
This commit converts the GC monitor settings "monitor.jvm.gc.*" to the
new settings infrastructure.
2016-01-29 08:07:27 -05:00
Jason Tedor 3f53e143a5 FS monitor refresh interval setting
This commit converts the FS monitor refresh interval setting
"monitor.fs.refresh_interval" to the new settings infrastructure.
2016-01-29 07:58:57 -05:00
Jason Tedor aac53c9210 JVM monitor refresh interval setting
This commit converts the JVM monitor refresh interval setting
"monitor.jvm.refresh_interval" to the new settings infrastructure.
2016-01-29 07:58:56 -05:00
Simon Willnauer 65c0f80b13 Merge pull request #16308 from s1monw/never_interrupt_store_checks
Prevent interruption while store checks lucene files for consistency
2016-01-29 13:04:55 +01:00
Simon Willnauer 4c8768eeb7 Cut over tribe node settings to new settings infra 2016-01-29 13:03:55 +01:00
Colin Goodheart-Smithe 859f9e69b7 Merge branch 'master' into feature/aggs-refactoring
# Conflicts:
#	core/src/main/java/org/elasticsearch/action/search/SearchRequestBuilder.java
#	core/src/main/java/org/elasticsearch/percolator/PercolateContext.java
#	core/src/main/java/org/elasticsearch/search/aggregations/bucket/significant/heuristics/ScriptHeuristic.java
#	core/src/main/java/org/elasticsearch/search/internal/DefaultSearchContext.java
#	core/src/test/java/org/elasticsearch/search/aggregations/bucket/significant/SignificanceHeuristicTests.java
2016-01-29 11:58:19 +00:00
Jason Tedor 4eed71cad2 Process monitor refresh interval setting
This commit converts the process monitor refresh interval setting
"monitor.process.refresh_interval" to the new settings infrastructure.
2016-01-29 06:52:29 -05:00
Jason Tedor d13739fcb9 OS monitor refresh interval setting
This commit converts the OS monitor refresh interval setting
"monitor.os.refresh_interval" to the new settings infrastructure.
2016-01-29 06:49:43 -05:00
Simon Willnauer 74a1959c3b Merge pull request #16305 from s1monw/issues/16301
Add a hard check to ensure we are running with the expected lucene version
2016-01-29 12:17:35 +01:00
Simon Willnauer f6b922a97a Prevent interruption while store checks lucene files for consistency
This can cause premature closing of the underlying file descriptor immediately
if at the same time the thread is blocked on IO. The file descriptor will remain closed
and subsequent access to NIOFSDirectory will throw a ClosedChannelException.
2016-01-29 12:09:00 +01:00
Simon Willnauer fa17a84a89 Add a hard check to ensure we are running with the expected lucene version
Closes #16301
2016-01-29 11:59:31 +01:00
Martijn van Groningen ce89039926 percolator: If `index.percolator.map_unmapped_fields_as_string` is enabled then don't replace found fields with dummy string field
Closes #10500
2016-01-29 11:45:54 +01:00
Martijn van Groningen 6c34452409 inner hits: Query and top level inner hit definitions shouldn't overwrite each other.
Closes #16218
2016-01-29 10:52:04 +01:00
Ryan Ernst ccfe1bd2e0 Tests: Add expectThrows utility to base test case
In junit5, a neat assertion method is added which makes testing expected
failures a little more straightforward. The block of code that is
expected to throw is passed in with a lambda expression, and the caught
exception returned for inspection.

This change adds an implementation of expectThrows to ESTestCase. When
junit5 is eventually releassed and we switch to it, we can remove.
2016-01-29 01:51:29 -08:00
Christoph Büscher b039360d2e Merge pull request #16130 from cbuescher/refactor-smoothingModel
Enable Writeable serialization and parsing from xContent for SmoothingModels
2016-01-29 10:49:34 +01:00
Christoph Büscher aefdee17fd Adding builder method to SmoothingModel implementations
Adds a method that emits a WordScorerFactory to all of the
three SmoothingModel implementatins that will be needed when
we switch to parsing the PhraseSuggestion on the coordinating
node and need to delay creating the WordScorer on the shards.
2016-01-29 10:21:31 +01:00
Martijn van Groningen f5e89f7242 mappings: remove fly weight 2016-01-29 10:12:39 +01:00
Martijn van Groningen 9ec1b11148 term vectors: The term vector APIs no longer modify the mappings if an unmapped field is found 2016-01-29 09:32:40 +01:00
Ali Beyad e3816d58ae TribeIT.testOnConflictDrop test awaits fix until #16299 is resolved 2016-01-28 17:10:04 -05:00
Jason Tedor 90284e6f01 Merge pull request #16061 from jasontedor/normalize-unavailable-load-average
Normalize unavailable load average

Relates #12049, #14741, #15907, #15932, #15934
2016-01-28 15:38:36 -05:00