You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Aleksandr Polovtcev (Jira)" <ji...@apache.org> on 2021/07/30 09:33:00 UTC

[jira] [Updated] (IGNITE-15213) StreamCorruptedException when running a node with existing PDS

     [ https://issues.apache.org/jira/browse/IGNITE-15213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aleksandr Polovtcev updated IGNITE-15213:
-----------------------------------------
    Description: 
When running an Ignite node with an existing PDS folder, the following exception is printed in the logs during configuration startup:

 
{code:java}
WARNING: Could not deserialize an object
java.io.StreamCorruptedException: invalid stream header: 00000000
	at java.base/java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:940)
	at java.base/java.io.ObjectInputStream.<init>(ObjectInputStream.java:379)
	at org.apache.ignite.internal.util.ByteUtils.fromBytes(ByteUtils.java:138)
	at org.apache.ignite.internal.storage.DistributedConfigurationStorage.readAll(DistributedConfigurationStorage.java:116)
	at org.apache.ignite.internal.configuration.ConfigurationChanger.register(ConfigurationChanger.java:193)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
	at org.apache.ignite.internal.configuration.ConfigurationRegistry.start(ConfigurationRegistry.java:121)
	at org.apache.ignite.internal.configuration.ConfigurationManager.start(ConfigurationManager.java:73)
	at org.apache.ignite.internal.app.IgnitionImpl.doStartComponent(IgnitionImpl.java:418)
	at org.apache.ignite.internal.app.IgnitionImpl.doStart(IgnitionImpl.java:279)
	at org.apache.ignite.internal.app.IgnitionImpl.start(IgnitionImpl.java:133)
	at org.apache.ignite.app.IgnitionManager.start(IgnitionManager.java:64)
	at org.apache.ignite.example.table.KeyValueBinaryViewExample.main(KeyValueBinaryViewExample.java:46)
{code}
This error happens due to a bug in the {{DistributedConfigurationStorage}}: {{MASTER_KEY}}, that is used to store the configuration version also happens to be the same as the key prefix in the metastore. This leads to confusion, for example, it is accidentally included in the data read from the vault in the {{readAll}} method, which leads to de-serialization errors. 

 

> StreamCorruptedException when running a node with existing PDS
> --------------------------------------------------------------
>
>                 Key: IGNITE-15213
>                 URL: https://issues.apache.org/jira/browse/IGNITE-15213
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Aleksandr Polovtcev
>            Assignee: Aleksandr Polovtcev
>            Priority: Major
>             Fix For: 3.0.0-alpha3
>
>
> When running an Ignite node with an existing PDS folder, the following exception is printed in the logs during configuration startup:
>  
> {code:java}
> WARNING: Could not deserialize an object
> java.io.StreamCorruptedException: invalid stream header: 00000000
> 	at java.base/java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:940)
> 	at java.base/java.io.ObjectInputStream.<init>(ObjectInputStream.java:379)
> 	at org.apache.ignite.internal.util.ByteUtils.fromBytes(ByteUtils.java:138)
> 	at org.apache.ignite.internal.storage.DistributedConfigurationStorage.readAll(DistributedConfigurationStorage.java:116)
> 	at org.apache.ignite.internal.configuration.ConfigurationChanger.register(ConfigurationChanger.java:193)
> 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
> 	at org.apache.ignite.internal.configuration.ConfigurationRegistry.start(ConfigurationRegistry.java:121)
> 	at org.apache.ignite.internal.configuration.ConfigurationManager.start(ConfigurationManager.java:73)
> 	at org.apache.ignite.internal.app.IgnitionImpl.doStartComponent(IgnitionImpl.java:418)
> 	at org.apache.ignite.internal.app.IgnitionImpl.doStart(IgnitionImpl.java:279)
> 	at org.apache.ignite.internal.app.IgnitionImpl.start(IgnitionImpl.java:133)
> 	at org.apache.ignite.app.IgnitionManager.start(IgnitionManager.java:64)
> 	at org.apache.ignite.example.table.KeyValueBinaryViewExample.main(KeyValueBinaryViewExample.java:46)
> {code}
> This error happens due to a bug in the {{DistributedConfigurationStorage}}: {{MASTER_KEY}}, that is used to store the configuration version also happens to be the same as the key prefix in the metastore. This leads to confusion, for example, it is accidentally included in the data read from the vault in the {{readAll}} method, which leads to de-serialization errors. 
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)