RFR: 7879: Automated Analysis taking very long time to produce results for Class Leak Rule and showing wrong results. [v4]
Suchita Chaturvedi
schaturvedi at openjdk.org
Fri Nov 11 12:09:35 UTC 2022
On Mon, 24 Oct 2022 13:46:44 GMT, Alex Macdonald <aptmac at openjdk.org> wrote:
>> Suchita Chaturvedi has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Adding higher timeout as default value
>
> I think it looks okay for me. It would be nice to have a way of reproducing the issue to verify, but I get it's tough if the original jfr is from a customer and can't be shared.
>
> Having said that, @Gunde and @bric3 did substantial review on this PR as well as the previous (https://github.com/openjdk/jmc/pull/248), and while on the surface it looks like everything has been addressed I would feel much more comfortable if they could just confirm that what they wanted addressed was updated in this PR before merging it.
@aptmac @bric3 I have implemented the review comments suggested.
@bric3 Yes, you are right " In DefaultIItemResultSet the insertion in data order is dependent on the iteration order of the aggregate collection, since it's a set, there's no ordering guarantees. " We are just processing the records in DefaultIItemResultSet. Sorting is taken care in ClassLeakingRule.java class at line no 182 ( entries.sort(null); ) after all the records are processed.
The reason for why wrong records were shown previously was : We were showing the results in ascending order of the count i.e. difference between the number of times classed loaded vs unloaded. Whereas we had to show in descending order. For Ex: There are 10 classes A (0), B (1), C (1)........H (55), I (60), J (75). As per current implementation we are showing A, B, C on class leak rule results on Automated Analysis Screen and saying everything is normal. Whereas, we have to show J, I, H classes because they are loaded without being unloaded and they need attention. So JMC has to show warning instead of showing OK results.
Regarding test case, we already have a JFRRuleBaseline.xml for testing rules and their results and I have updated that as part of this PR.
-------------
PR: https://git.openjdk.org/jmc/pull/419
More information about the jmc-dev
mailing list