[ 
https://issues.apache.org/jira/browse/IGNITE-7195?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Semen Boikov reopened IGNITE-7195:
----------------------------------
      Assignee: Alexander Belyak

Commented out code initializing tail, since it fails:
{noformat}
Caused by: class org.apache.ignite.IgniteException: String index out of range: 
-7752
        at 
org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl(GridToStringBuilder.java:1028)
        at 
org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:826)
        at 
org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:783)
        at 
org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry.toString(IgniteTxEntry.java:1267)
        at java.lang.String.valueOf(String.java:2849)
        at java.lang.StringBuilder.append(StringBuilder.java:128)
        at java.util.AbstractCollection.toString(AbstractCollection.java:458)
        at java.lang.String.valueOf(String.java:2849)
        at 
org.apache.ignite.internal.util.GridStringBuilder.a(GridStringBuilder.java:101)
        at 
org.apache.ignite.internal.util.tostring.SBLimitedLength.a(SBLimitedLength.java:86)
        at 
org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:939)
        at 
org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl(GridToStringBuilder.java:1005)
        ... 24 more
Caused by: class org.apache.ignite.IgniteException: String index out of range: 
-7752
        at 
org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl(GridToStringBuilder.java:1028)
        at 
org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:826)
        at 
org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:783)
        at 
org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:885)
        at 
org.apache.ignite.internal.processors.cache.distributed.GridDistributedCacheEntry.toString(GridDistributedCacheEntry.java:722)
        at 
org.apache.ignite.internal.processors.cache.distributed.dht.colocated.GridDhtDetachedCacheEntry.toString(GridDhtDetachedCacheEntry.java:90)
        at java.lang.String.valueOf(String.java:2849)
        at 
org.apache.ignite.internal.util.GridStringBuilder.a(GridStringBuilder.java:101)
        at 
org.apache.ignite.internal.util.tostring.SBLimitedLength.a(SBLimitedLength.java:86)
        at 
org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:939)
        at 
org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl(GridToStringBuilder.java:1005)
        ... 35 more
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of 
range: -7752
        at 
java.lang.AbstractStringBuilder.substring(AbstractStringBuilder.java:872)
        at java.lang.StringBuilder.substring(StringBuilder.java:72)
        at 
java.lang.AbstractStringBuilder.substring(AbstractStringBuilder.java:819)
        at java.lang.StringBuilder.substring(StringBuilder.java:72)
        at 
org.apache.ignite.internal.util.tostring.SBLengthLimit.onWrite(SBLengthLimit.java:62)
        at 
org.apache.ignite.internal.util.tostring.SBLimitedLength.onWrite(SBLimitedLength.java:72)
        at 
org.apache.ignite.internal.util.tostring.SBLimitedLength.a(SBLimitedLength.java:88)
        at 
org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:939)
        at 
org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:897)
        at 
org.apache.ignite.internal.util.tostring.GridToStringBuilder.appendVals(GridToStringBuilder.java:1666)
        at 
org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl(GridToStringBuilder.java:1008)
        ... 45 more
{noformat}

> GridToStringBuilder should limit large collections output to first N elements
> -----------------------------------------------------------------------------
>
>                 Key: IGNITE-7195
>                 URL: https://issues.apache.org/jira/browse/IGNITE-7195
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.3
>            Reporter: Yakov Zhdanov
>            Assignee: Alexander Belyak
>
> GridToStringBuilder should limit large collections output to first N elements 
> (otherwise, OOME is possible). N should be limited by 
> IGNITE_TO_STRING_COLLECTION_LIMIT system property and should be 10 by default.
> Upd: how about we limit GridToStringBuilder to 10000 chars by default to 
> avoid OOME in complex recursive obj graphs? and (1) provide system property 
> to change default and (2) also provide S.toString() overload that will accept 
> maxLen parameter. 
> Upd1: how about we add thread local message length counter in addition to 
> thread local with buffers.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to