RFR: 8262386: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java timed out [v4]
Chris Plummer
cjplummer at openjdk.java.net
Tue Mar 16 00:23:16 UTC 2021
On Mon, 15 Mar 2021 08:50:35 GMT, Lin Zang <lzang at openjdk.org> wrote:
>> 8262386: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java timed out
>
> Lin Zang has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains five additional commits since the last revision:
>
> - Merge branch 'master' into sf
> - Revert "reduce memory consumption"
>
> This reverts commit 70e43ddd453724ce36bf729fa6489c0027957b8e.
> - reduce memory consumption
> - code refine
> - 8262386: resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java timed out
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java line 587:
> 585: long currentRecordLength = 0;
> 586:
> 587: // There is an U4 slot contains the data size written in the dump file.
"a U4 slot that contains..."
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java line 588:
> 586:
> 587: // There is an U4 slot contains the data size written in the dump file.
> 588: // Need to trunicate the array length if the size exceed the MAX_U4_VALUE.
Should be "truncate" and "exceeds"
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/utilities/HeapHprofBinWriter.java line 618:
> 616: int bytesToWrite = (int) (longBytes);
> 617: hprofBufferedOut.fillSegmentSizeAndEnableWriteThrough(bytesToWrite);
> 618: }
It seems to me this is the key part of the fix, and all other changes and driven by this change. What I don't understand is why enabling `writeThrough` is done here in `calculateArrayMaxLength()`, especially since this same code might be execute more than once for the same segment (thus "enabling" `writeThrough` when it is already enabled). What is the actual trigger for wanting `writeThrough` mode? Is it really just seeing an array for the first time in a segment?
-------------
PR: https://git.openjdk.java.net/jdk/pull/2803
More information about the serviceability-dev
mailing list