[jira] [Commented] (IGNITE-8162) Handle ClassNotFoundException during deserialization of persisted cache configuration
[ https://issues.apache.org/jira/browse/IGNITE-8162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16465672#comment-16465672 ] Ivan Rakov commented on IGNITE-8162: [~garus.d.g], this message doesn't give a hint to user how to resolve problem with ClassNotFoundException. I'd suggest to add to your message something like this: {noformat} An error occurred during cache configuration loading from file [file="absolute_file_path"]. You may want to remove the configuration file; cache will be running after next node start if static Ignite Configuration contains correct configuration of this cache. If it was started dynamically, you may need to start it again (all data will be present). {noformat} > Handle ClassNotFoundException during deserialization of persisted cache > configuration > -- > > Key: IGNITE-8162 > URL: https://issues.apache.org/jira/browse/IGNITE-8162 > Project: Ignite > Issue Type: Improvement > Components: general >Affects Versions: 2.4 >Reporter: Ivan Rakov >Assignee: Denis Garus >Priority: Major > Labels: newbie > Fix For: 2.6 > > > Ticket is created according to dev list discussion: > http://apache-ignite-developers.2346864.n4.nabble.com/Fwd-Data-Loss-while-upgrading-custom-jar-from-old-jar-in-server-and-client-nodes-td28808.html > Cache configuration is serialized by JDK marshaller and persisted in > cache_data.dat file. It may contain instances of classes that disappeared > from runtime classpath (e.g. if implementation of CacheStore has been > renamed). In such case, node will fail on start. > We should handle this and show meaningful message with instruction how to > overcome this issue - delete cache_data.dat and restart cache. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-8162) Handle ClassNotFoundException during deserialization of persisted cache configuration
[ https://issues.apache.org/jira/browse/IGNITE-8162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16462248#comment-16462248 ] Denis Garus commented on IGNITE-8162: - [~ivan.glukos], I suggest following error message without recomendation of user activity: An error occurred given cache configuration loading from given file [name="cache_name", file="absolute_file_path"] > Handle ClassNotFoundException during deserialization of persisted cache > configuration > -- > > Key: IGNITE-8162 > URL: https://issues.apache.org/jira/browse/IGNITE-8162 > Project: Ignite > Issue Type: Improvement > Components: general >Affects Versions: 2.4 >Reporter: Ivan Rakov >Assignee: Denis Garus >Priority: Major > Labels: newbie > Fix For: 2.6 > > > Ticket is created according to dev list discussion: > http://apache-ignite-developers.2346864.n4.nabble.com/Fwd-Data-Loss-while-upgrading-custom-jar-from-old-jar-in-server-and-client-nodes-td28808.html > Cache configuration is serialized by JDK marshaller and persisted in > cache_data.dat file. It may contain instances of classes that disappeared > from runtime classpath (e.g. if implementation of CacheStore has been > renamed). In such case, node will fail on start. > We should handle this and show meaningful message with instruction how to > overcome this issue - delete cache_data.dat and restart cache. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-8162) Handle ClassNotFoundException during deserialization of persisted cache configuration
[ https://issues.apache.org/jira/browse/IGNITE-8162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16457558#comment-16457558 ] Ivan Rakov commented on IGNITE-8162: [~garus.d.g], there's no guarantee. Cache will work correctly after restart if new cache configuration what user will provide (via static configuration or dynamic start) will be compatible to actual persisted data. I don't think that we should delete cache_data.dat without user consent. In case of dynamic cache start, it may be the only place where cache config is stored. It should be manual action. > Handle ClassNotFoundException during deserialization of persisted cache > configuration > -- > > Key: IGNITE-8162 > URL: https://issues.apache.org/jira/browse/IGNITE-8162 > Project: Ignite > Issue Type: Improvement > Components: general >Affects Versions: 2.4 >Reporter: Ivan Rakov >Assignee: Denis Garus >Priority: Major > Labels: newbie > Fix For: 2.6 > > > Ticket is created according to dev list discussion: > http://apache-ignite-developers.2346864.n4.nabble.com/Fwd-Data-Loss-while-upgrading-custom-jar-from-old-jar-in-server-and-client-nodes-td28808.html > Cache configuration is serialized by JDK marshaller and persisted in > cache_data.dat file. It may contain instances of classes that disappeared > from runtime classpath (e.g. if implementation of CacheStore has been > renamed). In such case, node will fail on start. > We should handle this and show meaningful message with instruction how to > overcome this issue - delete cache_data.dat and restart cache. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-8162) Handle ClassNotFoundException during deserialization of persisted cache configuration
[ https://issues.apache.org/jira/browse/IGNITE-8162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16448225#comment-16448225 ] Denis Garus commented on IGNITE-8162: - [~ivan.glukos], there are some questions: - deleting a file of cache configuration leads to successfuly getting cache clonfiguration. But, is there guarantee that cache will work correctly? - if deleting a file of cache configuration is enough to get cache able to work, can we delete this file in catch block and continue cache start? > Handle ClassNotFoundException during deserialization of persisted cache > configuration > -- > > Key: IGNITE-8162 > URL: https://issues.apache.org/jira/browse/IGNITE-8162 > Project: Ignite > Issue Type: Improvement > Components: general >Affects Versions: 2.4 >Reporter: Ivan Rakov >Assignee: Denis Garus >Priority: Major > Labels: newbie > Fix For: 2.6 > > > Ticket is created according to dev list discussion: > http://apache-ignite-developers.2346864.n4.nabble.com/Fwd-Data-Loss-while-upgrading-custom-jar-from-old-jar-in-server-and-client-nodes-td28808.html > Cache configuration is serialized by JDK marshaller and persisted in > cache_data.dat file. It may contain instances of classes that disappeared > from runtime classpath (e.g. if implementation of CacheStore has been > renamed). In such case, node will fail on start. > We should handle this and show meaningful message with instruction how to > overcome this issue - delete cache_data.dat and restart cache. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-8162) Handle ClassNotFoundException during deserialization of persisted cache configuration
[ https://issues.apache.org/jira/browse/IGNITE-8162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16445483#comment-16445483 ] Denis Garus commented on IGNITE-8162: - TC build: https://ci.ignite.apache.org/viewLog.html?buildId=1226039&; > Handle ClassNotFoundException during deserialization of persisted cache > configuration > -- > > Key: IGNITE-8162 > URL: https://issues.apache.org/jira/browse/IGNITE-8162 > Project: Ignite > Issue Type: Improvement > Components: general >Affects Versions: 2.4 >Reporter: Ivan Rakov >Assignee: Denis Garus >Priority: Major > Labels: newbie > Fix For: 2.6 > > > Ticket is created according to dev list discussion: > http://apache-ignite-developers.2346864.n4.nabble.com/Fwd-Data-Loss-while-upgrading-custom-jar-from-old-jar-in-server-and-client-nodes-td28808.html > Cache configuration is serialized by JDK marshaller and persisted in > cache_data.dat file. It may contain instances of classes that disappeared > from runtime classpath (e.g. if implementation of CacheStore has been > renamed). In such case, node will fail on start. > We should handle this and show meaningful message with instruction how to > overcome this issue - delete cache_data.dat and restart cache. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-8162) Handle ClassNotFoundException during deserialization of persisted cache configuration
[ https://issues.apache.org/jira/browse/IGNITE-8162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16440688#comment-16440688 ] ASF GitHub Bot commented on IGNITE-8162: GitHub user dgarus opened a pull request: https://github.com/apache/ignite/pull/3841 IGNITE-8162 Handle ClassNotFoundException during deserialization of persisted cache configuration You can merge this pull request into a Git repository by running: $ git pull https://github.com/dgarus/ignite ignite-8162 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/3841.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #3841 commit fd28f4bef77f4e8d4d94290de598f156f60e1e50 Author: denis.garus Date: 2018-04-17T09:41:30Z IGNITE-8162 Show meaningful message with instruction how to overcome ClassNotFoundException during deserialization of persisted cache configuration commit 9b84851a9cbbd89ec1d9e901e83a95afdc67f9e4 Author: denis.garus Date: 2018-04-17T09:52:28Z Merge branch 'master' of https://github.com/apache/ignite into ignite-8162 > Handle ClassNotFoundException during deserialization of persisted cache > configuration > -- > > Key: IGNITE-8162 > URL: https://issues.apache.org/jira/browse/IGNITE-8162 > Project: Ignite > Issue Type: Improvement > Components: general >Affects Versions: 2.4 >Reporter: Ivan Rakov >Assignee: Denis Garus >Priority: Major > Labels: newbie > Fix For: 2.6 > > > Ticket is created according to dev list discussion: > http://apache-ignite-developers.2346864.n4.nabble.com/Fwd-Data-Loss-while-upgrading-custom-jar-from-old-jar-in-server-and-client-nodes-td28808.html > Cache configuration is serialized by JDK marshaller and persisted in > cache_data.dat file. It may contain instances of classes that disappeared > from runtime classpath (e.g. if implementation of CacheStore has been > renamed). In such case, node will fail on start. > We should handle this and show meaningful message with instruction how to > overcome this issue - delete cache_data.dat and restart cache. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (IGNITE-8162) Handle ClassNotFoundException during deserialization of persisted cache configuration
[ https://issues.apache.org/jira/browse/IGNITE-8162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16428209#comment-16428209 ] Ivan Rakov commented on IGNITE-8162: Issue should be covered by test. We can reproduce it by passing different classloaders into IgniteConfiguration (one should have access to CacheStore class, another shoudln't). > Handle ClassNotFoundException during deserialization of persisted cache > configuration > -- > > Key: IGNITE-8162 > URL: https://issues.apache.org/jira/browse/IGNITE-8162 > Project: Ignite > Issue Type: Improvement > Components: general >Affects Versions: 2.4 >Reporter: Ivan Rakov >Priority: Major > Labels: newbie > Fix For: 2.6 > > > Ticket is created according to dev list discussion: > http://apache-ignite-developers.2346864.n4.nabble.com/Fwd-Data-Loss-while-upgrading-custom-jar-from-old-jar-in-server-and-client-nodes-td28808.html > Cache configuration is serialized by JDK marshaller and persisted in > cache_data.dat file. It may contain instances of classes that disappeared > from runtime classpath (e.g. if implementation of CacheStore has been > renamed). In such case, node will fail on start. > We should handle this and show meaningful message with instruction how to > overcome this issue - delete cache_data.dat and restart cache. -- This message was sent by Atlassian JIRA (v7.6.3#76005)