title: Hazelcast : Portable Serialization : Incompatible class-definitions with same class-id
body: <p>I recently upgraded a cluster from 3.7.2 to 3.9.2; shutting down all the boxes.</p>
  
  <p>I'm using Portable Serialization and the current version number in the config file is 6. Yet, after a cold start, the cluster indicates a incompatible class definition.</p>
  
  <p>I've restarted the cluster several times since, yet the same error remains.  </p>
  
  <p>How is it possible for the system to remain out of sync for some fields in some classes, yet the version for the class was upgraded?</p>
  
  <p><strong>Log:</strong></p>
  
  <pre><code>Caused by: 
  com.hazelcast.nio.serialization.HazelcastSerializationException: 
  Incompatible class-definitions with same class-id: 
  ClassDefinition{factoryId=1, classId=8, version=6, fieldDefinitions=[
    FieldDefinitionImpl{index=0, fieldName='feature', type=UTF, classId=0, factoryId=0, version=6}, 
    FieldDefinitionImpl{index=1, fieldName='value', type=BOOLEAN, classId=0, factoryId=0, version=6}]}
  VS 
  ClassDefinition{factoryId=1, classId=8, version=6, fieldDefinitions=[
    FieldDefinitionImpl{index=0, fieldName='feature', type=UTF, classId=0, factoryId=0, version=0}, 
    FieldDefinitionImpl{index=1, fieldName='value', type=BOOLEAN, classId=0, factoryId=0, version=0}]}
  </code></pre>
  
  <p>Config:</p>
  
  <pre><code>&lt;serialization&gt;
      &lt;portable-version&gt;6&lt;/portable-version&gt;
      &lt;portable-factories&gt;
          &lt;portable-factory factory-id="1"&gt;
              com.MyPortableFactory
          &lt;/portable-factory&gt;
      &lt;/portable-factories&gt;
  &lt;/serialization&gt;
  </code></pre>