-
Notifications
You must be signed in to change notification settings - Fork 282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] "java.lang.IllegalArgumentException: -84 is not a valid id" #4521
Comments
Thanks @uranru for reporting this.
|
@mgodwan
|
securityconfig/config.yml
|
Related to: #4494 |
In 2.11, custom serialization was introduced with #2802 In 2.14, custom serialization was disabled and the plugin moved back to JDK serialization with #4264 Hence, I think for a cluster upgrading from 2.11/2.12/2.13 to any 2.14+ version, the cluster can run into this issue due to different serialization methods. (edit: if a plugin like PA wraps the outer channel #609) In 2.11/2.12/2.13 - serialization method is decided using version check In 2.14+ - serialization is decided using version check in SerializationFormat Potential fix: We need to consider outerChannel if an existing cluster with custom serialization is being upgraded to a cluster that will use JDK serialization and change serialization method accordingly. |
How does this happen though? The serialization/de-serialization logic requires the sending and receiving node to get the version of the opposite node on the channel correctly. i.e. Transmitting Node --------------------- Transport Channel ------------------------> Receiving Node The Transmitting node needs to get the version of the receiving node to determine serialization method. Likewise, the receiving node needs to get the version of the transmitting node to determine how to deserialize. This issue occurs when either the transmitting node or receiving node fails to get the accurate version of the opposite node. This issue a red herring for improper delegation and it needs to be determined where the improper delegation is occurring. When this issue was seen in < 2.11 nodes mixed with 2.11 nodes it was because Performance Analyzer was not properly delegating the |
In this case, the version of the outer channel is not being checked here. Inner channel wrapped by PA doesn't implement the |
TLDR from above, would implementing a version check in both channels resolve the issue? |
What are the concrete classes of the outer channel and inner channel that produces the error seen by OP? |
To add another data point - we're seeing this during an upgrade from 2.11.1 to 2.15.0. Would disabling PA help to work around it for now? edit: I had thought it was enabled by default but we never had it enabled anyway:
|
Describe the bug
I use logstash to load data in Openserach.
After updating the version (2.13 -> 2.15) on several nodes, I began to receive this error.
Related component
Other
To Reproduce
Logstash (logstash:8.13.1) sends data to Opensearch.
Expected behavior
No errors when loading data
Additional Details
Plugins
Please list all plugins currently enabled.
Screenshots
If applicable, add screenshots to help explain your problem.
Host/Environment (please complete the following information):
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: