The problem is originally reported by Vinay Sharma here: http://apache-ignite-users.70518.x6.nabble.com/changed-cache-configuration-and-restarted-server-nodes-Getting-exception-td3064.html#none
When client is reconnected to topology after full topology restart (i.e. all server nodes were down), it doesn't re-send binary metadata to topology. As a result, BinaryMarshaller exception occurs.
Steps to reproduce
Run attached code.
Clean cached binary metadata during re-connect.