[
https://issues.apache.org/jira/browse/GEODE-6228?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kenneth Howe updated GEODE-6228:
--------------------------------
Description:
Gfsh tests of {{netstat --with-lsof}} create a large String object that
contains the complete output from {{lsof}}. On smaller JVM's that are typical
of those used in CI test environment, the large object causes
OutOfMemoryExceptions when preparing the string for streaming from the server
to the locator.
This is a long standing problem that has existed from the beginning of the
project.
We need to have a solution for streaming large Strings between members in the
cluster.
Following is a typical stack trace from a test failure.
{code}
org.apache.geode.management.internal.cli.NetstatDUnitTest >
testOutputToConsoleWithLsofForOneMember FAILED
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:3332)
at
java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
at
java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:649)
at java.lang.StringBuilder.append(StringBuilder.java:202)
at org.json.JSONStringer.string(JSONStringer.java:369)
at org.json.JSONStringer.value(JSONStringer.java:262)
at org.json.JSONArray.writeTo(JSONArray.java:732)
at org.json.JSONStringer.value(JSONStringer.java:231)
at org.json.JSONObject.writeTo(JSONObject.java:882)
at org.json.JSONStringer.value(JSONStringer.java:235)
at org.json.JSONObject.writeTo(JSONObject.java:882)
at org.json.JSONObject.toString(JSONObject.java:849)
at
org.apache.geode.management.internal.cli.json.GfJsonObject.toString(GfJsonObject.java:292)
at java.lang.String.valueOf(String.java:2994)
at java.lang.StringBuilder.append(StringBuilder.java:131)
at
org.apache.geode.management.internal.cli.result.LegacyCommandResult.toString(LegacyCommandResult.java:501)
at
org.apache.geode.management.internal.cli.NetstatDUnitTest.testOutputToConsoleWithLsofForOneMember(NetstatDUnitTest.java:111)
{code}
was:
Gfsh tests of {{netstat --with-lsof}} create a large String object that
contains the complete output from {{lsof}}. On smaller JVM's that are typical
of those used in CI test environment, the large object causes
OutOfMemoryExceptions when preparing the string for streaming from the server
to the locator.
We need to have a solution for streaming large Strings between members in the
cluster.
Following is a typical stack trace from a test failure.
{code}
org.apache.geode.management.internal.cli.NetstatDUnitTest >
testOutputToConsoleWithLsofForOneMember FAILED
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:3332)
at
java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
at
java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:649)
at java.lang.StringBuilder.append(StringBuilder.java:202)
at org.json.JSONStringer.string(JSONStringer.java:369)
at org.json.JSONStringer.value(JSONStringer.java:262)
at org.json.JSONArray.writeTo(JSONArray.java:732)
at org.json.JSONStringer.value(JSONStringer.java:231)
at org.json.JSONObject.writeTo(JSONObject.java:882)
at org.json.JSONStringer.value(JSONStringer.java:235)
at org.json.JSONObject.writeTo(JSONObject.java:882)
at org.json.JSONObject.toString(JSONObject.java:849)
at
org.apache.geode.management.internal.cli.json.GfJsonObject.toString(GfJsonObject.java:292)
at java.lang.String.valueOf(String.java:2994)
at java.lang.StringBuilder.append(StringBuilder.java:131)
at
org.apache.geode.management.internal.cli.result.LegacyCommandResult.toString(LegacyCommandResult.java:501)
at
org.apache.geode.management.internal.cli.NetstatDUnitTest.testOutputToConsoleWithLsofForOneMember(NetstatDUnitTest.java:111)
{code}
> LSOF output causes out of memory exceptions in tests
> ----------------------------------------------------
>
> Key: GEODE-6228
> URL: https://issues.apache.org/jira/browse/GEODE-6228
> Project: Geode
> Issue Type: Bug
> Components: gfsh
> Affects Versions: 1.1.0
> Reporter: Kenneth Howe
> Priority: Major
>
> Gfsh tests of {{netstat --with-lsof}} create a large String object that
> contains the complete output from {{lsof}}. On smaller JVM's that are typical
> of those used in CI test environment, the large object causes
> OutOfMemoryExceptions when preparing the string for streaming from the server
> to the locator.
> This is a long standing problem that has existed from the beginning of the
> project.
> We need to have a solution for streaming large Strings between members in the
> cluster.
> Following is a typical stack trace from a test failure.
> {code}
> org.apache.geode.management.internal.cli.NetstatDUnitTest >
> testOutputToConsoleWithLsofForOneMember FAILED
>
> java.lang.OutOfMemoryError: Java heap space
>
> at java.util.Arrays.copyOf(Arrays.java:3332)
>
> at
> java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124)
>
> at
> java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:649)
>
> at java.lang.StringBuilder.append(StringBuilder.java:202)
>
> at org.json.JSONStringer.string(JSONStringer.java:369)
>
> at org.json.JSONStringer.value(JSONStringer.java:262)
>
> at org.json.JSONArray.writeTo(JSONArray.java:732)
>
> at org.json.JSONStringer.value(JSONStringer.java:231)
>
> at org.json.JSONObject.writeTo(JSONObject.java:882)
>
> at org.json.JSONStringer.value(JSONStringer.java:235)
>
> at org.json.JSONObject.writeTo(JSONObject.java:882)
>
> at org.json.JSONObject.toString(JSONObject.java:849)
>
> at
> org.apache.geode.management.internal.cli.json.GfJsonObject.toString(GfJsonObject.java:292)
>
> at java.lang.String.valueOf(String.java:2994)
>
> at java.lang.StringBuilder.append(StringBuilder.java:131)
>
> at
> org.apache.geode.management.internal.cli.result.LegacyCommandResult.toString(LegacyCommandResult.java:501)
>
> at
> org.apache.geode.management.internal.cli.NetstatDUnitTest.testOutputToConsoleWithLsofForOneMember(NetstatDUnitTest.java:111)
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)