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)