I hope I remember this now…

If Coherence is giving you an error message like:

    This cluster node failed to deserialize the config
    java.io.IOException: message contains more data then expected

Assuming you use the same cache-config etc., the answer is

    Member 1 has tangosol.pof.enabled=true.
    Member n has tangosol.pof.enabled=false.

Only the third time I’ve made this mistake.  This is not as stupid as it may seem – the new low-level CloudTran API will add Spring and AspectJ to Coherence, EclipseLink and TopLink Grid so it’s easy to overlook one line of config.

The root cause of this error is probably that you have asked Coherence for a cache before you have read the CloudTran config (e.g. when copy-and-pasting JUnit test suites … easy to end up skipping init code).  Try setting a breakpoint when you initialize the program and see if the CloudTran config properties trace (search for “loading config.properties”).  If not, reorganise so you initialize the CloudTran config properties first.  This will then set tangosol.pof.enabled=true, which is required by CloudTran.