From e2068fb3c2b963eaabc217717af4198fa2cd7615 Mon Sep 17 00:00:00 2001 From: Karen Metts Date: Thu, 19 Dec 2024 19:20:58 -0500 Subject: [PATCH 1/5] Doc: Add json_lines known issue to release notes --- docs/static/releasenotes.asciidoc | 41 +++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/docs/static/releasenotes.asciidoc b/docs/static/releasenotes.asciidoc index 30592fc0380..ff57194a11a 100644 --- a/docs/static/releasenotes.asciidoc +++ b/docs/static/releasenotes.asciidoc @@ -76,12 +76,43 @@ This section summarizes the changes in the following releases: === Logstash 8.17.0 Release Notes [[known-issues-8-17-0]] -==== Known issue +==== Known issues + +[[known-issue-8-17-0-jvm]] +===== JVM version changes needed when upgrading Logstash from 8.12.0 (or earlier) + +If the `jvm.options` file was modified and not overwritten with the newest version, you may see a "deserialize invocation error" message, causing the pipeline to crash. +Users are affected if the Persistent Queue (PQ) is enabled, and the pipeline is processing messages larger than 20MB. + +**Solution:** Apply the default change contained in the newer 'jvm.options' file, as seen in this https://github.com/elastic/logstash/blob/main/config/jvm.options#L66-L82[example]. + +[[known-issue-8-17-0-json_lines]] +===== Error with `json_lines` codec 3.2.0 (or earlier) and {ls} 8.17.1 (or earlier) + +This problem is most likely to be seen when you are using the Logstash integration plugin to ship data between two {ls} instances, but may appear in other situations, too. +An error similar to this one may be emitted, crashing the pipelines: + +``` +unable to process event. {:message=>"input buffer full", :class=>"Java::JavaLang::IllegalStateException", :backtrace=>["org.logstash.common.BufferedTokenizerExt.extract(BufferedTokenizerExt.java:83)", "usr.share.logstash.vendor.bundle.jruby.$3_dot_1_dot_0.gems.logstash_minus_codec_minus_json_lines_minus_3_dot_2_dot_2.lib.logstash.codecs.json_lines.RUBY$method$decode$0(/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-codec-json_lines-3.2.2/lib/logstash/codecs/json_lines.rb:69)", "org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:165)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:185)", +``` + +The issue was fixed in https://github.com/elastic/logstash/pull/16760, but is likely present in {ls} versions `8.16.0`, `8.16.1`, and `8.17.0`. + +**Workaround for {ls}-to-{ls} communication** + +This issue can be mitigated by: + +* Downgrading the _receiving_ Logstash to `8.16.2`, or any Logstash in the `8.15` series, **_AND/OR_** +* Upgrading the logstash integration filter of the _sending_ Logstash to version `1.0.4`. + +**Workaround for other `json_lines` codec situations** + +This issue can be mitigated by: + +* Downgrading Logstash to `8.16.2`, or any Logstash in the `8.15` series. + + -When upgrading Logstash to 8.12.0 or earlier, if the `jvm.options` was previously modified and not overwritten with the newest version, -users may see a "deserialize invocation error" message causing the pipeline to crash. Users are affected if the Persistent Queue -is enabled and the pipeline is processing messages larger than 20MB. -The solution is to apply the default change contained in the newer 'jvm.options' file, as seen https://github.com/elastic/logstash/blob/main/config/jvm.options#L66-L82[here]. [[notable-8-17-0]] ==== Notable fixes and improvements From 9302fc0e0014b4238a38dbcffa14cae02f777a1d Mon Sep 17 00:00:00 2001 From: Karen Metts Date: Thu, 19 Dec 2024 21:23:34 -0500 Subject: [PATCH 2/5] Incorporate review feedback --- docs/static/releasenotes.asciidoc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/docs/static/releasenotes.asciidoc b/docs/static/releasenotes.asciidoc index ff57194a11a..49fb4291e55 100644 --- a/docs/static/releasenotes.asciidoc +++ b/docs/static/releasenotes.asciidoc @@ -87,27 +87,26 @@ Users are affected if the Persistent Queue (PQ) is enabled, and the pipeline is **Solution:** Apply the default change contained in the newer 'jvm.options' file, as seen in this https://github.com/elastic/logstash/blob/main/config/jvm.options#L66-L82[example]. [[known-issue-8-17-0-json_lines]] -===== Error with `json_lines` codec 3.2.0 (or earlier) and {ls} 8.17.1 (or earlier) - -This problem is most likely to be seen when you are using the Logstash integration plugin to ship data between two {ls} instances, but may appear in other situations, too. -An error similar to this one may be emitted, crashing the pipelines: +===== "Input buffer full" error with {ls} 8.16.0, 8.16.1, or 8.17.0 +If you are using `json_lines` codec 3.2.0 (or earlier) with {ls} 8.16.0, 8.16.1, or 8.17.0, you may see an error similar to this one, crashing the pipelines: ``` unable to process event. {:message=>"input buffer full", :class=>"Java::JavaLang::IllegalStateException", :backtrace=>["org.logstash.common.BufferedTokenizerExt.extract(BufferedTokenizerExt.java:83)", "usr.share.logstash.vendor.bundle.jruby.$3_dot_1_dot_0.gems.logstash_minus_codec_minus_json_lines_minus_3_dot_2_dot_2.lib.logstash.codecs.json_lines.RUBY$method$decode$0(/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-codec-json_lines-3.2.2/lib/logstash/codecs/json_lines.rb:69)", "org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:165)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:185)", ``` +The issue was fixed in https://github.com/elastic/logstash/pull/16760. -The issue was fixed in https://github.com/elastic/logstash/pull/16760, but is likely present in {ls} versions `8.16.0`, `8.16.1`, and `8.17.0`. +This problem is most likely to be seen when you are using the <> plugin to ship data between two {ls} instances, but may appear in other situations, too. **Workaround for {ls}-to-{ls} communication** -This issue can be mitigated by: +The {ls}-to-{ls} issue can be mitigated by: * Downgrading the _receiving_ Logstash to `8.16.2`, or any Logstash in the `8.15` series, **_AND/OR_** * Upgrading the logstash integration filter of the _sending_ Logstash to version `1.0.4`. **Workaround for other `json_lines` codec situations** -This issue can be mitigated by: +Other `json_lines` codec issues can be mitigated by: * Downgrading Logstash to `8.16.2`, or any Logstash in the `8.15` series. From 0a3e3388c42c774c764f9e1d740afbeb27d740a3 Mon Sep 17 00:00:00 2001 From: Karen Metts Date: Thu, 19 Dec 2024 21:29:57 -0500 Subject: [PATCH 3/5] Remove extra returns --- docs/static/releasenotes.asciidoc | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/static/releasenotes.asciidoc b/docs/static/releasenotes.asciidoc index 49fb4291e55..2fade211d09 100644 --- a/docs/static/releasenotes.asciidoc +++ b/docs/static/releasenotes.asciidoc @@ -110,9 +110,6 @@ Other `json_lines` codec issues can be mitigated by: * Downgrading Logstash to `8.16.2`, or any Logstash in the `8.15` series. - - - [[notable-8-17-0]] ==== Notable fixes and improvements From ef5757756ab60a5d29425a46639b0fa7be7c7237 Mon Sep 17 00:00:00 2001 From: Karen Metts <35154725+karenzone@users.noreply.github.com> Date: Thu, 19 Dec 2024 21:41:43 -0500 Subject: [PATCH 4/5] Update docs/static/releasenotes.asciidoc Co-authored-by: Rob Bavey --- docs/static/releasenotes.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/static/releasenotes.asciidoc b/docs/static/releasenotes.asciidoc index 2fade211d09..3e7f5938003 100644 --- a/docs/static/releasenotes.asciidoc +++ b/docs/static/releasenotes.asciidoc @@ -89,7 +89,7 @@ Users are affected if the Persistent Queue (PQ) is enabled, and the pipeline is [[known-issue-8-17-0-json_lines]] ===== "Input buffer full" error with {ls} 8.16.0, 8.16.1, or 8.17.0 -If you are using `json_lines` codec 3.2.0 (or earlier) with {ls} 8.16.0, 8.16.1, or 8.17.0, you may see an error similar to this one, crashing the pipelines: +If you are using `json_lines` codec 3.2.0 (or later) with {ls} 8.16.0, 8.16.1, or 8.17.0, you may see an error similar to this one, crashing the pipelines: ``` unable to process event. {:message=>"input buffer full", :class=>"Java::JavaLang::IllegalStateException", :backtrace=>["org.logstash.common.BufferedTokenizerExt.extract(BufferedTokenizerExt.java:83)", "usr.share.logstash.vendor.bundle.jruby.$3_dot_1_dot_0.gems.logstash_minus_codec_minus_json_lines_minus_3_dot_2_dot_2.lib.logstash.codecs.json_lines.RUBY$method$decode$0(/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-codec-json_lines-3.2.2/lib/logstash/codecs/json_lines.rb:69)", "org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:165)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:185)", ``` From ed09abf84c7d97352f593d7289fa845135e3300d Mon Sep 17 00:00:00 2001 From: Karen Metts Date: Fri, 20 Dec 2024 19:56:36 -0500 Subject: [PATCH 5/5] Improve content and add known issue to other releases --- docs/static/releasenotes.asciidoc | 66 ++++++++++++++++++++++++++++--- 1 file changed, 60 insertions(+), 6 deletions(-) diff --git a/docs/static/releasenotes.asciidoc b/docs/static/releasenotes.asciidoc index 3e7f5938003..c04446720e6 100644 --- a/docs/static/releasenotes.asciidoc +++ b/docs/static/releasenotes.asciidoc @@ -79,7 +79,7 @@ This section summarizes the changes in the following releases: ==== Known issues [[known-issue-8-17-0-jvm]] -===== JVM version changes needed when upgrading Logstash from 8.12.0 (or earlier) +===== JVM version changes needed when upgrading {ls} from 8.12.0 (or earlier) If the `jvm.options` file was modified and not overwritten with the newest version, you may see a "deserialize invocation error" message, causing the pipeline to crash. Users are affected if the Persistent Queue (PQ) is enabled, and the pipeline is processing messages larger than 20MB. @@ -101,14 +101,14 @@ This problem is most likely to be seen when you are using the <"input buffer full", :class=>"Java::JavaLang::IllegalStateException", :backtrace=>["org.logstash.common.BufferedTokenizerExt.extract(BufferedTokenizerExt.java:83)", "usr.share.logstash.vendor.bundle.jruby.$3_dot_1_dot_0.gems.logstash_minus_codec_minus_json_lines_minus_3_dot_2_dot_2.lib.logstash.codecs.json_lines.RUBY$method$decode$0(/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-codec-json_lines-3.2.2/lib/logstash/codecs/json_lines.rb:69)", "org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:165)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:185)", +``` +The issue was fixed in https://github.com/elastic/logstash/pull/16760. + +This problem is most likely to be seen when you are using the <> plugin to ship data between two {ls} instances, but may appear in other situations, too. + +**Workaround for {ls}-to-{ls} communication** + +The {ls}-to-{ls} issue can be mitigated by: + +* Downgrading the _receiving_ {ls} to `8.16.2`, or any {ls} in the `8.15` series, **_AND/OR_** +* Upgrading the {ls} integration filter of the _sending_ {ls} to version `1.0.4`. + +**Workaround for other `json_lines` codec situations** + +Other `json_lines` codec issues can be mitigated by: + +* Downgrading {ls} to `8.16.2`, or any {ls} in the `8.15` series. + [[notable-8-16-1]] ==== Notable issues fixed @@ -182,14 +209,41 @@ Other `json_lines` codec issues can be mitigated by: === Logstash 8.16.0 Release Notes [[known-issues-8-16-0]] -==== Known issue +==== Known issues -**{ls} may fail to shut down under some circumstances when you are using <>.** +[[known-issue-8-16-0-shutdown-failure]] +===== {ls} may fail to shut down under some circumstances +{ls} may fail to shut down when you are using <>. Check out issue https://github.com/elastic/logstash/issues/16657[#16657] for details. Workaround: Add `-Dlogstash.pipelinebus.implementation=v1` to `config/jvm.options`. This change reverts the `PipelineBus` to `v1`, a version that does not exhibit this issue, but may impact performance in pipeline-to-pipeline scenarios. +[[known-issue-8-16-0-json_lines]] +===== "Input buffer full" error with {ls} 8.16.0, 8.16.1, or 8.17.0 + +If you are using `json_lines` codec 3.2.0 (or later) with {ls} 8.16.0, 8.16.1, or 8.17.0, you may see an error similar to this one, crashing the pipelines: +``` +unable to process event. {:message=>"input buffer full", :class=>"Java::JavaLang::IllegalStateException", :backtrace=>["org.logstash.common.BufferedTokenizerExt.extract(BufferedTokenizerExt.java:83)", "usr.share.logstash.vendor.bundle.jruby.$3_dot_1_dot_0.gems.logstash_minus_codec_minus_json_lines_minus_3_dot_2_dot_2.lib.logstash.codecs.json_lines.RUBY$method$decode$0(/usr/share/logstash/vendor/bundle/jruby/3.1.0/gems/logstash-codec-json_lines-3.2.2/lib/logstash/codecs/json_lines.rb:69)", "org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:165)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:185)", +``` +The issue was fixed in https://github.com/elastic/logstash/pull/16760. + +This problem is most likely to be seen when you are using the <> plugin to ship data between two {ls} instances, but may appear in other situations, too. + +**Workaround for {ls}-to-{ls} communication** + +The {ls}-to-{ls} issue can be mitigated by: + +* Downgrading the _receiving_ {ls} to `8.16.2`, or any {ls} in the `8.15` series, **_AND/OR_** +* Upgrading the {ls} integration filter of the _sending_ {ls} to version `1.0.4`. + +**Workaround for other `json_lines` codec situations** + +Other `json_lines` codec issues can be mitigated by: + +* Downgrading {ls} to `8.16.2`, or any {ls} in the `8.15` series. + + [[health-api-8-16-0]] ==== Announcing the new {ls} Health Report API