Optimize discovery data bag processing in GridMarshallerMappingProcessor - Fixes
@@ -49,6 +49,7 @@ import org.apache.ignite.internal.processors.marshaller.MarshallerMappingItem;
import org.apache.ignite.internal.processors.marshaller.MarshallerMappingTransport;
import org.apache.ignite.internal.util.IgniteUtils;
import org.apache.ignite.internal.util.future.GridFutureAdapter;
+import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.internal.CU;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgnitePredicate;
@@ -196,6 +197,11 @@ public class MarshallerContextImpl implements MarshallerContext {
int typeId = e.getKey();
String clsName = e.getValue().className();
+ MappedName mappedName = platformCache.get(typeId);
+
+ if (mappedName != null && !F.isEmpty(clsName) && clsName.equals(mappedName.className()))
+ continue;
+
platformCache.put(typeId, new MappedName(clsName, true));
fileStore.mergeAndWriteMapping(platformId, typeId, clsName);
