[
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)