diff --git a/hazelcast/src/main/java/com/hazelcast/internal/serialization/impl/SerializationUtil.java b/hazelcast/src/main/java/com/hazelcast/internal/serialization/impl/SerializationUtil.java index 0e84079c92cd..f6646739aeea 100644 --- a/hazelcast/src/main/java/com/hazelcast/internal/serialization/impl/SerializationUtil.java +++ b/hazelcast/src/main/java/com/hazelcast/internal/serialization/impl/SerializationUtil.java @@ -26,6 +26,8 @@ import com.hazelcast.internal.serialization.InternalSerializationService; import com.hazelcast.internal.serialization.SerializableByConvention; import com.hazelcast.internal.util.collection.PartitionIdSet; +import com.hazelcast.logging.ILogger; +import com.hazelcast.logging.Logger; import com.hazelcast.nio.ObjectDataInput; import com.hazelcast.nio.ObjectDataOutput; import com.hazelcast.nio.serialization.ByteArraySerializer; @@ -61,6 +63,8 @@ public final class SerializationUtil { static final PartitioningStrategy EMPTY_PARTITIONING_STRATEGY = new EmptyPartitioningStrategy(); + private static final ILogger LOGGER = Logger.getLogger(SerializationUtil.class); + private SerializationUtil() { } @@ -129,6 +133,10 @@ static RuntimeException handleSerializeException(Object rootObject, Throwable e) return exception; } String clazz = rootObject == null ? "null" : rootObject.getClass().getName(); + if (rootObject instanceof Throwable throwable) { + LOGGER.warning("Failed to serialize '" + clazz + "'. It will be logged here and " + + "then ignored and replaced with a HazelcastSerializationException.", throwable); + } return new HazelcastSerializationException("Failed to serialize '" + clazz + '\'', e); }