Commit graph

10814 commits

Author SHA1 Message Date
github-actions[bot]
8364c8e89c
Update patch plugin versions in gemfile lock (#16516)
Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
2024-10-08 17:22:27 +02:00
github-actions[bot]
228d19e1f5
Update patch plugin versions in gemfile lock (#16509)
Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
2024-10-07 11:26:52 +01:00
github-actions[bot]
0d49d92cce
Improve pipeline bootstrap error logs (#16495) (#16503)
This PR adds the cause errors details on the pipeline converge state error logs

(cherry picked from commit e84fb458ce)

Co-authored-by: Edmo Vamerlatti Costa <11836452+edmocosta@users.noreply.github.com>
2024-10-03 13:31:01 +02:00
github-actions[bot]
d08555908e
Don't use an older JRuby with oraclelinux-7 (#16499) (#16502)
A recent PR (elastic/ci-agent-images/pull/932) modernized the VM images
and removed JRuby 9.4.5.0 and some older versions.

This ended up breaking exhaustive test on Oracle Linux 7 that hard coded
JRuby 9.4.5.0.

PR https://github.com/elastic/logstash/pull/16489 worked around the
problem by pinning to the new JRuby, but actually we don't
need the conditional anymore since the original issue
https://github.com/jruby/jruby/issues/7579#issuecomment-1425885324 has
been resolved and none of our releasable branches (apart from 7.17 which
uses `9.2.20.1`) specify `9.3.x.y` in `/.ruby-version`.

Therefore, this commit removes conditional setting of JRuby for
OracleLinux 7 agents in exhaustive tests (and relies on whatever
`/.ruby-version` defines).

(cherry picked from commit 07c01f8231)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-10-02 19:21:21 +03:00
github-actions[bot]
bbac28d7ab
Use jruby-9.4.8.0 in exhaustive CIs. (#16489) (#16492)
(cherry picked from commit fd1de39005)

Co-authored-by: Mashhur <99575341+mashhurs@users.noreply.github.com>
2024-10-02 09:33:14 +01:00
github-actions[bot]
1a8676dc7d
Change LogStash::Util::SubstitutionVariables#replace_placeholders refine argument to optional (#16485) (#16487)
(cherry picked from commit 8368c00367)

Co-authored-by: Edmo Vamerlatti Costa <11836452+edmocosta@users.noreply.github.com>
2024-10-01 12:06:28 -07:00
Andrea Selva
97513f76d7
Bump 8.15.3 (#16473) 2024-09-26 14:02:24 +02:00
github-actions[bot]
604bb86e0f
bump .ruby_version to jruby-9.4.8.0 (#16477) (#16479)
(cherry picked from commit 51cca7320e)

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2024-09-25 13:27:50 +01:00
github-actions[bot]
01dc76f3b5
Release notes for 8.15.2 (#16471)
Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
Co-authored-by: andsel <selva.andre@gmail.com>
Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2024-09-25 14:25:30 +02:00
github-actions[bot]
a426e1b7f5
Known issue for 8.15.1 related to env vars references (#16455) (#16470)
(cherry picked from commit b54caf3fd8)

Co-authored-by: Luca Belluccini <luca.belluccini@elastic.co>
2024-09-19 14:34:06 -04:00
github-actions[bot]
7a9f41a0f5
Fixes the issue where LS wipes out all quotes from docker env variables. (#16456) (#16458)
* Fixes the issue where LS wipes out all quotes from docker env variables. This is an issue when running LS on docker with CONFIG_STRING, needs to keep quotes with env variable.

* Add a docker acceptance integration test.

(cherry picked from commit 7c64c7394b)

Co-authored-by: Mashhur <99575341+mashhurs@users.noreply.github.com>
2024-09-17 07:18:31 -07:00
github-actions[bot]
58ab36f11c
Update patch plugin versions in gemfile lock (#16454)
Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
2024-09-17 14:18:28 +02:00
kaisecheng
c14926cc0f
bump core (#16424) 2024-09-05 15:42:12 +01:00
github-actions[bot]
2fca7e39e8
Release notes for 8.15.1 (#16405)
* Update release notes for 8.15.1

* update release note

---------

Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
Co-authored-by: Kaise Cheng <kaise.cheng@elastic.co>
2024-09-02 15:39:38 +01:00
github-actions[bot]
3aee7aecd8
Update patch plugin versions in gemfile lock (#16401)
Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
2024-08-27 11:33:11 +01:00
github-actions[bot]
425e79684a
Exclude substitution refinement on pipelines.yml (#16375) (#16384)
* Exclude substitution refinement on pipelines.yml (applies on ENV vars and logstash.yml where env2yaml saves vars)

* Safety integration test for pipeline config.string contains ENV .

(cherry picked from commit e104704830)

Co-authored-by: Mashhur <99575341+mashhurs@users.noreply.github.com>
2024-08-09 14:04:27 -07:00
github-actions[bot]
f0fe4ce43f
deprecate java less-than 17 (#16370) (#16381)
(cherry picked from commit 3d13ebe33e)

Co-authored-by: Ry Biesemeyer <yaauie@users.noreply.github.com>
2024-08-09 09:15:58 +01:00
github-actions[bot]
30735bf02e
Doc: Add SNMP integration to breaking changes (#16374) (#16380)
(cherry picked from commit 2db2a224ed)
Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2024-08-08 11:32:10 -04:00
github-actions[bot]
e92911fc86
Update patch plugin versions in gemfile lock (#16378)
Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
2024-08-08 09:57:29 +01:00
github-actions[bot]
3086aab1cd
fix line used to determine ES is up (#16349) (#16350)
(cherry picked from commit 90f303e401)

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2024-08-08 09:57:05 +01:00
github-actions[bot]
dced3202f1
Json normalization performance (#16313) (#16314)
Since the underlying JrJackson now properly (and efficiently) encodes the
UTF-8 transcode of whichever strings it is given, we no longer need to
pre-normalize to UTF-8 in ruby _except_ when the string is flagged as BINARY
because we have alternate behaviour to preserve valid UTF-8 sequences.

By emitting a _copy_ of binary-flagged strings that have been re-flagged as
UTF-8, we allow the downstream (efficient) encoding operation in jrjackson
to produce equivalent behaviour at much lower cost.

(cherry picked from commit 66aeeeef83)

Co-authored-by: Ry Biesemeyer <yaauie@users.noreply.github.com>
2024-08-08 09:56:30 +01:00
João Duarte
2f82e3ba39
bump version to 8.15.1 (#16377) 2024-08-08 09:50:45 +01:00
github-actions[bot]
86aab5f9db
Release notes for 8.15.0 (#16351)
Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2024-08-07 19:26:42 -04:00
github-actions[bot]
0ab0e759cc
[Bugfix] Resolve the array and char (single | double quote) escaped values of ${ENV} (#16365) (#16371)
* Properly resolve the values from ENV vars if literal array string provided with ENV var.

* Docker acceptance test for persisting  keys and use actual values in docker container.

* Review suggestion.

Simplify the code by stripping whitespace before `gsub`, no need to check comma and split.

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>

---------

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
(cherry picked from commit 62ef8a0847)

Co-authored-by: Mashhur <99575341+mashhurs@users.noreply.github.com>
2024-08-06 11:13:35 -07:00
github-actions[bot]
0dd7d41c41
bump lock file for 8.15 (#16369)
* Update patch plugin versions in gemfile lock

---------

Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
Co-authored-by: Edmo Vamerlatti Costa <11836452+edmocosta@users.noreply.github.com>
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2024-08-05 13:14:15 +02:00
github-actions[bot]
8735847a7d
Fix 8.13.1 release notes (#16363) (#16367)
make a note of the fix that went to 8.13.1: #16026

Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
(cherry picked from commit 03841cace3)

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2024-07-30 09:23:40 +01:00
github-actions[bot]
46b996c24d
settings: add support for observing settings after post-process hooks (#16339) (#16348)
Because logging configuration occurs after loading the `logstash.yml`
settings, deprecation logs from `LogStash::Settings::DeprecatedAlias#set` are
effectively emitted to a null logger and lost.

By re-emitting after the post-process hooks, we can ensure that they make
their way to the deprecation log. This change adds support for any setting
that responds to `Object#observe_post_process` to receive it after all
post-processing hooks have been executed.

Resolves: elastic/logstash#16332
(cherry picked from commit c633ad2568)

Co-authored-by: Ry Biesemeyer <yaauie@users.noreply.github.com>
2024-07-24 10:29:18 +01:00
github-actions[bot]
b6bf12d86a
Doc: Reposition worker-utilization in doc (#16335) (#16337)
(cherry picked from commit eff9b540df)
Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2024-07-19 12:59:25 -04:00
github-actions[bot]
4f34601a44
correctly handle stack overflow errors during pipeline compilation (#16323) (#16336)
This commit improves error handling when pipelines that are too big hit the Xss limit and throw a StackOverflowError. Currently the exception is printed outside of the logger, and doesn’t even show if log.format is json, leaving the user to wonder what happened.

A couple of thoughts on the way this is implemented:

* There should be a first barrier to handle pipelines that are too large based on the PipelineIR compilation. The barrier would use the detection of Xss to determine how big a pipeline could be. This however doesn't reduce the need to still handle a StackOverflow if it happens.
* The catching of StackOverflowError could also be done on the WorkerLoop. However I'd suggest that this is unrelated to the Worker initialization itself, it just so happens that compiledPipeline.buildExecution is computed inside the WorkerLoop class for performance reasons. So I'd prefer logging to not come from the existing catch, but from a dedicated catch clause.

Solves #16320

(cherry picked from commit 8f2dae618c)

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2024-07-18 10:09:45 +01:00
github-actions[bot]
3624a82c56
Update major plugin versions in gemfile lock for 8.15.0 (#16330)
Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
2024-07-17 11:31:54 +01:00
github-actions[bot]
e99e5bc82f
regenerate webserver test certificates (#16331) (#16333)
(cherry picked from commit c30aa1c7f5)

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2024-07-17 10:44:51 +01:00
github-actions[bot]
bbfc9279c8
Release notes for 8.14.3 (#16312) (#16321) 2024-07-11 15:13:02 -04:00
github-actions[bot]
aef289ce9e
Remove Debian 10 from CI (#16300) (#16317)
This commit removes Debian 10 (Buster) which is EOL
since July 1 2024[^1] from CI.

Relates https://github.com/elastic/ingest-dev/issues/2872

(cherry picked from commit f728c44a0a)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-07-10 16:15:26 +03:00
github-actions[bot]
eae379b6d9
Add Ubuntu 24.04 to CI (#16299) (#16302)
Now that we have custom VM images for Ubuntu 24.04, this commit adds
CI for Ubuntu 24.04.

This is a revert of #16279

(cherry picked from commit ea0c16870f)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-07-08 18:13:19 +03:00
github-actions[bot]
2c926c2403
Remove CentOS 7 from CI (#16293) (#16296)
CentOS 7 is EOL since June 30 2024[^1]. All repositories and mirrors are
now unreachable.

This commit removes CentOS 7 from CI jobs using it.

Relates https://github.com/elastic/ingest-dev/issues/3520

[^1]: https://www.redhat.com/en/topics/linux/centos-linux-eol

(cherry picked from commit db06ec415a)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-07-04 17:17:34 +03:00
Ry Biesemeyer
5d3d3fe8c1
Release notes for 8.14.2 (#16266) (#16285)
---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2024-07-04 09:12:10 +01:00
github-actions[bot]
447cacec61
add flow-informed tuning guidance (#16265) (#16289)
* docs: sentence-case headings

* docs-style: one-line-per-sentence asciidoc convention

* docs: add flow-informed tuning guidance

* docs: clarify `pipeline.batch.delay`

* Apply suggestions from code review

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>

* Update docs/static/performance-checklist.asciidoc

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>

---------

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
(cherry picked from commit e3271db946)

Co-authored-by: Ry Biesemeyer <yaauie@users.noreply.github.com>
2024-07-03 16:01:37 -07:00
github-actions[bot]
9572a6bdb8
Update plugin versions in gemfile lock (#16283)
Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
2024-07-03 13:08:30 +01:00
João Duarte
86af05753c Add base lock file for 8.15.0 2024-07-03 10:15:10 +01:00
João Duarte
121b1c9632
update jruby to 9.4.8.0 (#16278)
https://www.jruby.org/2024/07/02/jruby-9-4-8-0.html

> Fixed a bug in the bytecode JIT causing patterns to execute incorrect branches. #8283, #8284
> jruby-openssl is updated to 0.15.0, with updated Bouncy Castle libraries to avoid CVEs in older versions.
> uri is updated to 0.12.2, mitigating CVE
> net-ftp is updated to 0.3.7 with restored functionality on JRuby.

Exhaustive test suite: https://buildkite.com/elastic/logstash-exhaustive-tests-pipeline/builds/580
2024-07-02 19:57:55 +01:00
João Duarte
a046d3f273
Revert "add ubuntu 24.04 to CI (#16263)" (#16279)
This reverts commit a0bcd61ad3.
2024-07-02 17:45:50 +01:00
João Duarte
a0bcd61ad3
add ubuntu 24.04 to CI (#16263) 2024-07-02 14:34:58 +01:00
Dimitrios Liappis
7080ec5427
Add retries to aarch64 CI pipeline (#16271)
Add retries in the aarch64 CI pipeline to reduce noise from transient
network failures.

Closes https://github.com/elastic/ingest-dev/issues/3510
2024-07-01 12:49:26 +03:00
Karen Metts
095733c409
Doc: Add ecs and datastream requirement for intg filter (#16268) 2024-06-28 19:25:39 -04:00
Edmo Vamerlatti Costa
784fa186c8
Ensure pipeline metrics are cleared on the pipeline shutdown (#16264)
This commit fixed the configuration reload process to clean up the pipeline's metric store, so it does not retain references to failed pipelines components.
2024-06-28 13:13:39 +02:00
Mashhur
0cfe6b0801
Add RubyEvent#dup support and unit test case to keep Json#dump(Event) safe. (#16255)
* Add RubyEvent#dup support and unit test case to keep Json#dump(Event) safe.


Co-authored-by: Ry Biesemeyer <ry.biesemeyer@elastic.co>

---------

Co-authored-by: Ry Biesemeyer <ry.biesemeyer@elastic.co>
2024-06-27 13:08:56 -07:00
João Duarte
0e1d67eda9
produce wolfi docker image in ci (#16252) 2024-06-26 13:50:47 +01:00
Alex S
bc0b9556bd
Add quotes to fix path handling in pqcheck.bat (#16205) 2024-06-26 11:05:17 +01:00
Mashhur
e6682c94b9
Pin fileutils version to 1.7+ (#16250)
* Pin fileutils version to 1.7+

* Add fileutils license notice.
2024-06-25 12:14:09 -07:00
Ry Biesemeyer
0ec16ca398
Unicode pipeline and plugin ids (#15971)
* fix: restore support for unicode pipeline- and plugin-id's

JRuby's `Ruby#newSymbol(String)` throws an exception when provided a `String`
that contains characters outside of lower-ASCII because JRuby internals expect
"the incoming String to be one of our mangled ISO-8859-1 strings" as noted in
a comment on jruby/jruby#6217.

Instead, we use `Ruby#newString(String)` to create a new `RubyString` (which
works properly), and then rely on `RubyString#intern` to get our `RubySymbol`.

This fixes a regression introduced in the 8.7 series in which pipeline id's
are consistently represented as ruby symbols in the metrics store, and ensures
similar issue does not exist when specifying a plugin id that contains
characters above the lower-ASCII plane.

* fix: use properly-encoded RubySymbol in PipelineConfig

We cannot rely on `RubySymbol#toString` to produce a properly-encoded `String`
whe the string contains characters above the lower-ASCII plane because the
result is effectively a binary ruby-internal marshal of the bytes that only
holds when the symbol contains lower-ASCII.

Instead, we can use the internally-memoizing `RubySymbol#name` to get a
properly-encoded `RubyString`, and `RubyString#asJavaString()` to get a
properly-encoded java-`String`.

* fix: properly serialize unicode pipeline names in API output

Jackson's JSON serializer leaks the JRuby-internal byte structure of Symbols,
which only aligns with the byte-structure of the symbol's actual string when
that string is wholly-comprised of lower-ASCII characters.

By pre-converting Symbols to Strings, we ensure that the result is readable
and useful.

* spec: bypass monitoring specs for unicode pipeline ids when PQ enabled
2024-06-25 08:35:28 -07:00