You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ignite TC Bot (Jira)" <ji...@apache.org> on 2020/11/25 16:33:00 UTC

[jira] [Commented] (IGNITE-13753) Non-thread-safe collection is used for the list of registered MBeans in JmxMetricExporterSpi

    [ https://issues.apache.org/jira/browse/IGNITE-13753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17238810#comment-17238810 ] 

Ignite TC Bot commented on IGNITE-13753:
----------------------------------------

{panel:title=Branch: [pull/8492/head] Base: [master] : Possible Blockers (2)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}Cache 5{color} [[tests 0 TIMEOUT , Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=5755989]]

{color:#d04437}Platform .NET (Inspections)*{color} [[tests 0 Failure on metric |https://ci.ignite.apache.org/viewLog.html?buildId=5755973]]

{panel}
{panel:title=Branch: [pull/8492/head] Base: [master] : New Tests (1)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}SPI{color} [[tests 1|https://ci.ignite.apache.org/viewLog.html?buildId=5755092]]
* {color:#013220}IgniteSpiTestSuite: JmxMetricExporterSpiTest.testConcurrentRegistration - PASSED{color}

{panel}
[TeamCity *--&gt; Run :: All* Results|https://ci.ignite.apache.org/viewLog.html?buildId=5755180&amp;buildTypeId=IgniteTests24Java8_RunAll]

> Non-thread-safe collection is used for the list of registered MBeans in JmxMetricExporterSpi
> --------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-13753
>                 URL: https://issues.apache.org/jira/browse/IGNITE-13753
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Alexey Goncharuk
>            Assignee: Alexey Goncharuk
>            Priority: Major
>             Fix For: 2.10
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> {{MetricManager}} registry creation and remove listeners can be invoked concurrently (the only synchronization is via {{map.computeIfAbsent}} which provides key-level granularity.
> As a result, some of the beans are lost and I get an occasional assertion on 
> {code}
> boolean rmv = mBeans.remove(mbeanName);
> assert rmv;
> {code}
> Changing the collection to a synchronized list should suffice.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)