[
https://issues.apache.org/jira/browse/IGNITE-25496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladislav Novikov updated IGNITE-25496:
---------------------------------------
Description:
When calling the {{restoreSnapshot(String name, @Nullable Collection<String>
cacheGroupNames) method with a }}non-serializable collection {{{}({}}}e.g.
{{{}HashMap.keySet()){}}}, the operation fails with
{{{}NotSerializableException{}}}.
This happens because the collection is being serialized during internal
communication via discovery SPI, but the method's contract does not explicitly
require the collection to be serializable. As a result, users may pass valid
{{Collection<String>}} implementations that are not {{{}Serializable{}}},
leading to unexpected runtime errors.
Expected behavior: the method accepts any {{Collection<String>}} and internally
handles serialization safely.
was:
When calling the restoreSnapshot(String name, @Nullable Collection<String>
cacheGroupNames) method with a non-serializable collection (e.g.
HashMap.keySet()), the operation fails with NotSerializableException.
This happens because the collection is being serialized during internal
communication via discovery SPI, but the method's contract does not explicitly
require the collection to be serializable. As a result, users may pass valid
Collection<String> implementations that are not Serializable, leading to
unexpected runtime errors.
Expected behavior: the method accepts any {{Collection<String>}} and internally
handles serialization safely.
> SnapshotRestoreProcess#restoreSnapshot fails if cacheGroupNames collection is
> not Serializable
> ----------------------------------------------------------------------------------------------
>
> Key: IGNITE-25496
> URL: https://issues.apache.org/jira/browse/IGNITE-25496
> Project: Ignite
> Issue Type: Task
> Reporter: Vladislav Novikov
> Priority: Major
> Fix For: 2.18
>
>
> When calling the {{restoreSnapshot(String name, @Nullable Collection<String>
> cacheGroupNames) method with a }}non-serializable collection {{{}({}}}e.g.
> {{{}HashMap.keySet()){}}}, the operation fails with
> {{{}NotSerializableException{}}}.
> This happens because the collection is being serialized during internal
> communication via discovery SPI, but the method's contract does not
> explicitly require the collection to be serializable. As a result, users may
> pass valid {{Collection<String>}} implementations that are not
> {{{}Serializable{}}}, leading to unexpected runtime errors.
> Expected behavior: the method accepts any {{Collection<String>}} and
> internally handles serialization safely.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)