Hello, Guys.
I found that CacheConfiguration which implements Serializable contains not
serializable fields by default.
CacheConfiguration -> affMapper -> CacheDefaultBinaryAffinityKeyMapper ->
proc -> CacheObjectBinaryProcessorImpl.
Is this a bug or I miss something?
Simple reproducer:
```
public class SimpleSerializableTet extends GridCommonAbstractTest {
public void testRemoteFilterFactoryClient() throws Exception {
Ignite g = startGrid(0);
IgniteCache<Object, Object> cache =
g.getOrCreateCache("TEST_CACHE");
CacheConfiguration ccfg =
cache.getConfiguration(CacheConfiguration.class);
assertTrue(ccfg instanceof Serializable);
assertTrue(ccfg.getAffinityMapper() instanceof Serializable);
try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) {
ObjectOutput out = new ObjectOutputStream(bos);
out.writeObject(ccfg);
out.flush();
}
}
}
```
Exception is:
```
java.io.NotSerializableException:
org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)
```
--
Nikolay Izhikov
[email protected]