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

Reply via email to