You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ivan Pavlukhin (Jira)" <ji...@apache.org> on 2020/02/12 09:54:00 UTC
[jira] [Commented] (IGNITE-12664) Failed to dump debug information.
Failed to create string representation of binary object.
[ https://issues.apache.org/jira/browse/IGNITE-12664?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17035208#comment-17035208 ]
Ivan Pavlukhin commented on IGNITE-12664:
-----------------------------------------
It happens because to create a string representation of a binary object having nested field serialized with OptimizedMarshaller we need to have a real class on a classpath to convert that nested field to string. A rough scenario is as follows:
Prepare 2 classes, Wrapper (should be serialized to BinaryObject) and Nested (should be serialized by OptimizedMarshaller, e.g. make it Externalizable).
Create a Wrapper object and put a Nested object inside it.
Start server node with both classes available, put the object from previous step into a cache.
Start client node with both classes unavailable, read the object from the cache.withKeepBinary() and call toString() on the retrieved object.
An exception with cause ClassNotFoundException will be thrown.
> Failed to dump debug information. Failed to create string representation of binary object.
> ------------------------------------------------------------------------------------------
>
> Key: IGNITE-12664
> URL: https://issues.apache.org/jira/browse/IGNITE-12664
> Project: Ignite
> Issue Type: Bug
> Components: binary
> Reporter: Ivan Pavlukhin
> Assignee: Ivan Pavlukhin
> Priority: Major
> Fix For: 2.9
>
>
> Logging long transactions warning fails:
> {noformat}
> Dec 12, 2019 12:18:09 PM org.apache.ignite.logger.java.JavaLogger error
> SEVERE: Failed to dump debug information: class o.a.i.IgniteException: Failed to create string representation of binary object.
> class org.apache.ignite.IgniteException: Failed to create string representation of binary object.
> at org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl(GridToStringBuilder.java:1021)
> at org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:761)
> ....
> Caused by: java.lang.ClassNotFoundException: org.springframework.security.core.authority.SimpleGrantedAuthority
> at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
> {noformat}
> We are using replicated cache: Cache<String, MapSession> sessionsCache
> where MapSession is:
> {code}
> public final class MapSession implements ExpiringSession, Serializable {
> public static final int DEFAULT_MAX_INACTIVE_INTERVAL_SECONDS = 1800;
> private String id;
> private Map<String, Object> sessionAttrs;
> private long creationTime;
> private long lastAccessedTime;
> private int maxInactiveInterval;
> private static final long serialVersionUID = 7160779239673823561L;
> {code}
> and sessionAttrs contains SimpleGrantedAuthority.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)