Commit graph

835 commits

Author SHA1 Message Date
Colin Surprenant
40827a53eb change batch delay to 50ms and page size to 64mb
a 50ms delay helps creating more full batches without practical added latency see #8707
a 64mb page helps PQ perfmance related to a large page size see #8702 #8707
2017-12-05 13:51:54 -05:00
Armin
d3c33e7926 MINOR: Bring log4j version in line with ES
Fixes #8793
2017-12-04 15:45:25 +00:00
Dan Hermann
d2c7fc7eb5 Support setting logging back to defaults via the API.
Fixes #8384

Fixes #8786
2017-12-01 23:09:05 +00:00
Allen Shi
653cfc024a Unknown garbage collector name #8782
https://github.com/elastic/logstash/issues/8782

Fixes #8784
2017-12-01 17:09:31 +00:00
Allen Shi
81f8ad7584 (8782) Unknown garbage collector name
Fix this https://github.com/elastic/logstash/issues/8782

Fixes #8784
2017-12-01 17:09:31 +00:00
Ry Biesemeyer
ce91c99c48 LSCL/LIR: enable plugins to have nested hash directives
A regression was introduced in the new LSCL/LIR implementation in 6.0, in
which configurations that had nested hashes produced valid treetop-ASTs that
could not produce a valid LIR; the values in an `LSCL::AST::Hash` were
assumed to implement `ValueExpression`, but `LSCL::AST::Hash#expr` produced
an unwrapped `RubyHash`.

By making `LSCL::AST::Hash#expr` emit a `ValueExpression` _representing_ a
`RubyHash`, and relying on the existing code that deals with `ValueExpression`
appropriately, we can re-enable deeply-nested hashes in configs.

Resolves: elastic/logstash#8701
Resolves: logstash-plugins/logstash-output-http#77
Resolves: sw-jung/logstash-filter-memoize#1

Fixes #8750
2017-11-28 19:11:50 +00:00
Armin
9efb221837 #8728 Fix RubyTimestamp's '<=>' implementation to correctly compare to other types
Fixes #8730
2017-11-27 16:38:43 +00:00
Joao Duarte
1cf434e43d ensure logstash terminates on second sigint
As more java code is being used in logstash, it's likely that
java.lang.Threads which aren't set as daemon may be running when
`exit(1)` is called.

Because System.exit only raises a SystemExit exception, it's possible
that threads will continue to execute, and if they're not set as daemon
then the JVM won't terminate.

By calling `System.exit!` instead we ensure jruby calls the underlying
java.lang.System.exit and logstash terminates immediately.

Fixes #8729
2017-11-27 11:42:10 +00:00
Jake Landis
26536b45c5 Minor: Move reading the setting into to a utility class
This is support of a adding additional command line entry points that also need to settings (logstash.yml) file. Since there is a distinct before/read/after life-cycle this utility provides some direction for additional command line entry points without duplicating code and logic.

Part of #8353

Fixes #8700
2017-11-21 15:05:56 +00:00
Jake Landis
dc24a87c03 Minor: Rename environment variables to substitution variables
This is in support of a future change to also support substitution from the secret store in addition to the environment variables.

Part of #8353

Fixes #8699
2017-11-21 14:17:13 +00:00
Armin
67a1f281b4 MINOR: Remove unimplemented methods from batch interface
Fixes #8332
2017-11-20 21:27:52 +00:00
Armin
1ce2cd9ad9 #8668 fix NPE in pipeline_reporter's worker_states method
Fixes #8669
2017-11-14 19:59:36 +00:00
Armin
99a36fe5f8 #8623 make Java execution the default
Fixes #8649
2017-11-13 19:12:39 +00:00
Armin
289290109d MINOR: Remove redundant methods and method calls from both Queue implementations
Fixes #8647
2017-11-13 15:04:10 +00:00
Armin
0b8a0bdbdd MINOR: Remove dead code from wrapped in-memory-queue
Fixes #8644
2017-11-13 10:47:45 +00:00
Armin
06c7d64aba Cleanup: Move classloading RubyUtil to a single entrypoint in Ruby code
Fixes #8639
2017-11-10 22:43:45 +00:00
Armin
c5a262d925 PERFORMANCE: Java exec code gen for filters
Fixes #8577
2017-11-08 17:32:57 +00:00
Ry Biesemeyer
148ffd31f2 LIR: merge hash attributes of same name to support legacy configurations
A [build failure][] of the grok plugin when run through LIR/lscl indicates that
there is an expectation for multiple Attributes of the same name to be merged
together.

This commit ports the failing spec in the plugin to an abstraction that can be
tested within logstash-core, and adds a caveat to the LSCL LIR-builder to
ensure that we merge the hashes in a way that is compatible with legacy
behaviour.

NOTE: when multiple Attributes of the same name are used in a single config,
it's possible to create configurations that circumvent `AST::Hash`'s ability to
report duplicate keys.

[build failure]: 293778268

Fixes #8597
2017-11-07 21:48:40 +00:00
Armin
8cbc398282 #8154 break cyclic dependency () between Java and Ruby
Fixes #8594
2017-11-06 18:43:14 +00:00
Armin
86e3cd26d2 CLEANUP: Refactor plugin setup
Fixes #8520
2017-11-06 16:32:22 +00:00
Armin
487afbc2d1 MINOR: Cleanup RubyClass loading some more
Fixes #8593
2017-11-06 16:24:53 +00:00
Armin
bd99fc36ea Java Pipeline Compiler
Fixes #8569
2017-11-02 17:43:51 +00:00
Armin
fcd04658b0 bootstrap janino
Fixes #8500
2017-10-27 17:16:17 +00:00
Armin
c0a355f6ab #8154 break cyclic dependency between Ruby and Java Event classes
Fixes #8529
2017-10-27 05:30:46 +00:00
Armin
aca01544a4 MINOR: Remove needless lock on acked batch read
* The underlying call has its own lock, so this extra mutex is not necessary

Fixes #8338
2017-10-27 05:26:30 +00:00
Armin
1f8a996be7 MINOR: Remove outdated Rubygems hack
Fixes #8539
2017-10-26 19:58:14 +00:00
Ry Biesemeyer
dd8ebbec0a log Logstash version in structured logs at startup
Adds a new INFO-level log message at Logstash startup indicating that
Logstash is starting, including a structured-log key `logstash.version`
populated with the current logstash version.

This message will only be emitted if the runner gets far enough to actually
start up (e.g., if it is not passed a flag that causes it to bail early)

Resolves elastic/logstash#8512

Fixes #8521
2017-10-26 17:03:51 +00:00
Guy Boertje
4397b2d745 Fix 'https' scheme in ES hosts setting when set from Cloud ID. (#8492)
* fix 'https' scheme in ES hosts setting

* Fixes as per review
2017-10-24 19:02:15 +01:00
Armin
3f5007c2ee MINOR: Remove dead code supporting non-java platforms
Fixes #8513
2017-10-23 18:02:03 +00:00
Rob Bavey
a03982f83b Modules: Set default credentials for Kibana if es info is present
If modules configuration has elasticsearch credentials set, but not
kibana, attempt to use elasticsearch credentials for Kibana login.

Fixes #8422

Fixes #8482
2017-10-13 17:04:49 +00:00
Armin
b062da4912 PERFORMANCE: Avoid redundant (and high overhead) size calls to Java HashMap
Fixes #8448
2017-10-13 12:19:01 +00:00
Tamara Braun
3233d63da5 #8343 return 400 on broken url
Fixes #8471
2017-10-11 21:07:20 +00:00
Jake Landis
4b0b608bd0 PQ/DLQ Monitoring: Fix X-Pack and multi-pipeline monitoring
When X-Pack is installed an internal (hidden) pipeline named .monitoring-logstash is also running. This means that for X-Pack is there N +1 pipelines where N = user defined pipelines. The code currently only supports monitoring 1 pipeline, and it is possible that the internal pipeline gets picked up instead of the intended pipeline.

When multiple user pipelines are enabled (6.0+), the code still only supports monitoring 1 pipeline.

The change here is to ignore the system pipelines, and monitor as many user defined pipelines that may exist.

Fixes: #8382

Fixes #8472
2017-10-11 14:37:02 +00:00
Armin
7decf43483 PERFORMANCE: Simplify batch iteration
Fixes #8443
2017-10-10 16:44:02 +00:00
Armin
b5062e7c18 BUG: Fix filter_func logging for config.debug=true
Fixes #8456
2017-10-09 13:07:03 +00:00
Armin
033fbad766 PERFORMANCE: Faster Ruby pipeline output_func + worker loop
Fixes #8446
2017-10-06 15:04:12 +00:00
Armin
982c44bc1f PERFORMANCE: LIR Pipeline Execution
Fixes #8357
2017-10-05 20:37:25 +00:00
Armin
116ed1d540 PERFORMANCE: filter_func can optionally take an array of events to make batched filters much faster
Fixes #8428
2017-10-05 19:32:47 +00:00
Armin
cdbcbe0472 MINOR+PERFORMANCE: Cleanup constructor of WrappedSynchronousQueue::ReadBatch
Fixes #8433
2017-10-05 06:38:21 +00:00
Armin
b651f30f99 PERFORMANCE: remove blocking on inflight batches map during batch reads
Fixes #8430
2017-10-04 15:35:26 +00:00
liketic
fa38f9f7c6 Add remove method for LogStash::PLUGIN_REGISTRY
Fixes #8378
2017-09-26 18:14:00 +00:00
Guy Boertje
9b09d4c899 bump JrJackson/Jackson versions, source all version refs from versions.yml
final (I hope) fixes for consolidated versioning.

After testing with rake artifact:zip, need to try both files.
Add desc to rake test:install-* tasks, tired of
  not seeing them in rake -vT

changes requested via review

Fixes #8373
2017-09-26 15:29:58 +00:00
Armin
02d3dfbb79 #8149 Fix Logstash::Agent to not leak its webserver thread
Fixes #8151
2017-09-18 13:09:18 +00:00
Armin
1653e9e2af MINOR: Faster batch clocks
Fixes #8081
2017-09-15 16:16:00 +00:00
Armin
cc4eb8186e #8271 fix one excess '/' added to log config file uri on *nix in runner.rb
Fixes #8272
2017-09-15 13:15:27 +00:00
Rob Bavey
f5092292ea Fix double password wrap
Password settings for Modules supplied via a yml file were being wrapped inside a
LogStash::Utils::Password object twice during startup - once in from_yaml, and once
in validate. Disallow this from happening by skipping the wrap if the password is
already wrapped

This should complete the fix for #8224

Fixes #8258
2017-09-14 22:12:45 +00:00
Colin Surprenant
e9a8812317 reword windows launch script
fixes

fix jvm.options parsing

windows compatible URI
2017-09-14 16:24:34 -04:00
Rob Bavey
4db1c94748 Removed unnecessary Password type check
Fixes #8226
2017-09-13 17:57:11 +00:00
Rob Bavey
57484fc799 Fix password support for Modules
Module settings should use value field for setting password in
Elasticsearch output config, not the implicit, obfuscated to_s value.

Fixes #8226
2017-09-13 17:57:11 +00:00
Jordan Sissel
cfca18a4d7 Log an error if the require fails while loading a plugin.
Fixes #6834

Fixes #8147
2017-09-13 17:50:41 +00:00