[
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)