[jira] [Commented] (GEODE-5281) Race between registering and unregistering CustomMXBeans in concurrent thread may result in NPE
[ https://issues.apache.org/jira/browse/GEODE-5281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16535433#comment-16535433 ] ASF subversion and git services commented on GEODE-5281: Commit 29c71c96f2933e8380e412e9d14b42beb30ae96b in geode's branch refs/heads/feature/GEODE-QueryProvider from [~balesh2] [ https://gitbox.apache.org/repos/asf?p=geode.git;h=29c71c9 ] GEODE-5281: replicate failure and fix bug (#2096) * GEODE-5281: replicate failure and fix bug - replicate the bad timing using a DUnit test - fix the bug by only doing one lookup of MBeans - add more tests - fix potential NPE in waiting for regions to be ready on servers Co-authored-by: Kenneth Howe * add TestingOnly annotation to setter add a TestingOnly annotation to setter for ProxyFactory in the FederatingManager for injecting test spies. > Race between registering and unregistering CustomMXBeans in concurrent thread > may result in NPE > --- > > Key: GEODE-5281 > URL: https://issues.apache.org/jira/browse/GEODE-5281 > Project: Geode > Issue Type: Bug > Components: jmx >Affects Versions: 1.0.0-incubating >Reporter: Kenneth Howe >Assignee: Kenneth Howe >Priority: Major > Labels: pull-request-available > Fix For: 1.8.0 > > Time Spent: 1h 10m > Remaining Estimate: 0h > > Stack trace from an example of the unexpected NullPointerException in > {{MBeanProxyFactory.createProxy()}} > {code:java} > [warning 2018/02/03 17:32:13.561 UTC > managing_1_gemfire2_79a23c4a-f5e3-4c9f-6455-149c397ce13c_38199 > tid=0x5e] Create Proxy failed for > GemFire:type=CustomMXBean213,member=locator_managing_gemfire1_79a23c4a-f5e3-4c9f-6455-149c397ce13c_37116 > with exception null > java.lang.NullPointerException > at > org.apache.geode.management.internal.MBeanProxyFactory.createProxy(MBeanProxyFactory.java:83) > at > org.apache.geode.management.internal.MBeanProxyFactory.createAllProxies(MBeanProxyFactory.java:137) > at > org.apache.geode.management.internal.FederatingManager$GIITask.call(FederatingManager.java:457) > at > org.apache.geode.management.internal.FederatingManager$GIITask.call(FederatingManager.java:341) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > {code} > The registering thread enters > {code} > public void createProxy(DistributedMember member, ObjectName objectName, > Region monitoringRegion, Object newVal) { > {code} > with the {{objectName}} existing in the {{_monitoringRegion}}. A few lines > further the entry is retrieved from the region, but is now {{null}} due to it > being removed by the unregistering thread. > {code} > String name = objectName.toString(); > FederationComponent federationComponent = (FederationComponent) > monitoringRegion.get(name); > String interfaceClassName = > federationComponent.getMBeanInterfaceClass(); > {code} > {{federationComponent == null}} results in the NPE. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (GEODE-5281) Race between registering and unregistering CustomMXBeans in concurrent thread may result in NPE
[ https://issues.apache.org/jira/browse/GEODE-5281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16535432#comment-16535432 ] ASF subversion and git services commented on GEODE-5281: Commit 29c71c96f2933e8380e412e9d14b42beb30ae96b in geode's branch refs/heads/feature/GEODE-QueryProvider from [~balesh2] [ https://gitbox.apache.org/repos/asf?p=geode.git;h=29c71c9 ] GEODE-5281: replicate failure and fix bug (#2096) * GEODE-5281: replicate failure and fix bug - replicate the bad timing using a DUnit test - fix the bug by only doing one lookup of MBeans - add more tests - fix potential NPE in waiting for regions to be ready on servers Co-authored-by: Kenneth Howe * add TestingOnly annotation to setter add a TestingOnly annotation to setter for ProxyFactory in the FederatingManager for injecting test spies. > Race between registering and unregistering CustomMXBeans in concurrent thread > may result in NPE > --- > > Key: GEODE-5281 > URL: https://issues.apache.org/jira/browse/GEODE-5281 > Project: Geode > Issue Type: Bug > Components: jmx >Affects Versions: 1.0.0-incubating >Reporter: Kenneth Howe >Assignee: Kenneth Howe >Priority: Major > Labels: pull-request-available > Fix For: 1.8.0 > > Time Spent: 1h 10m > Remaining Estimate: 0h > > Stack trace from an example of the unexpected NullPointerException in > {{MBeanProxyFactory.createProxy()}} > {code:java} > [warning 2018/02/03 17:32:13.561 UTC > managing_1_gemfire2_79a23c4a-f5e3-4c9f-6455-149c397ce13c_38199 > tid=0x5e] Create Proxy failed for > GemFire:type=CustomMXBean213,member=locator_managing_gemfire1_79a23c4a-f5e3-4c9f-6455-149c397ce13c_37116 > with exception null > java.lang.NullPointerException > at > org.apache.geode.management.internal.MBeanProxyFactory.createProxy(MBeanProxyFactory.java:83) > at > org.apache.geode.management.internal.MBeanProxyFactory.createAllProxies(MBeanProxyFactory.java:137) > at > org.apache.geode.management.internal.FederatingManager$GIITask.call(FederatingManager.java:457) > at > org.apache.geode.management.internal.FederatingManager$GIITask.call(FederatingManager.java:341) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > {code} > The registering thread enters > {code} > public void createProxy(DistributedMember member, ObjectName objectName, > Region monitoringRegion, Object newVal) { > {code} > with the {{objectName}} existing in the {{_monitoringRegion}}. A few lines > further the entry is retrieved from the region, but is now {{null}} due to it > being removed by the unregistering thread. > {code} > String name = objectName.toString(); > FederationComponent federationComponent = (FederationComponent) > monitoringRegion.get(name); > String interfaceClassName = > federationComponent.getMBeanInterfaceClass(); > {code} > {{federationComponent == null}} results in the NPE. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (GEODE-5281) Race between registering and unregistering CustomMXBeans in concurrent thread may result in NPE
[ https://issues.apache.org/jira/browse/GEODE-5281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16534953#comment-16534953 ] ASF subversion and git services commented on GEODE-5281: Commit 29c71c96f2933e8380e412e9d14b42beb30ae96b in geode's branch refs/heads/develop from [~balesh2] [ https://gitbox.apache.org/repos/asf?p=geode.git;h=29c71c9 ] GEODE-5281: replicate failure and fix bug (#2096) * GEODE-5281: replicate failure and fix bug - replicate the bad timing using a DUnit test - fix the bug by only doing one lookup of MBeans - add more tests - fix potential NPE in waiting for regions to be ready on servers Co-authored-by: Kenneth Howe * add TestingOnly annotation to setter add a TestingOnly annotation to setter for ProxyFactory in the FederatingManager for injecting test spies. > Race between registering and unregistering CustomMXBeans in concurrent thread > may result in NPE > --- > > Key: GEODE-5281 > URL: https://issues.apache.org/jira/browse/GEODE-5281 > Project: Geode > Issue Type: Bug > Components: jmx >Affects Versions: 1.0.0-incubating >Reporter: Kenneth Howe >Assignee: Kenneth Howe >Priority: Major > Labels: pull-request-available > Time Spent: 1h 10m > Remaining Estimate: 0h > > Stack trace from an example of the unexpected NullPointerException in > {{MBeanProxyFactory.createProxy()}} > {code:java} > [warning 2018/02/03 17:32:13.561 UTC > managing_1_gemfire2_79a23c4a-f5e3-4c9f-6455-149c397ce13c_38199 > tid=0x5e] Create Proxy failed for > GemFire:type=CustomMXBean213,member=locator_managing_gemfire1_79a23c4a-f5e3-4c9f-6455-149c397ce13c_37116 > with exception null > java.lang.NullPointerException > at > org.apache.geode.management.internal.MBeanProxyFactory.createProxy(MBeanProxyFactory.java:83) > at > org.apache.geode.management.internal.MBeanProxyFactory.createAllProxies(MBeanProxyFactory.java:137) > at > org.apache.geode.management.internal.FederatingManager$GIITask.call(FederatingManager.java:457) > at > org.apache.geode.management.internal.FederatingManager$GIITask.call(FederatingManager.java:341) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > {code} > The registering thread enters > {code} > public void createProxy(DistributedMember member, ObjectName objectName, > Region monitoringRegion, Object newVal) { > {code} > with the {{objectName}} existing in the {{_monitoringRegion}}. A few lines > further the entry is retrieved from the region, but is now {{null}} due to it > being removed by the unregistering thread. > {code} > String name = objectName.toString(); > FederationComponent federationComponent = (FederationComponent) > monitoringRegion.get(name); > String interfaceClassName = > federationComponent.getMBeanInterfaceClass(); > {code} > {{federationComponent == null}} results in the NPE. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (GEODE-5281) Race between registering and unregistering CustomMXBeans in concurrent thread may result in NPE
[ https://issues.apache.org/jira/browse/GEODE-5281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16534952#comment-16534952 ] ASF subversion and git services commented on GEODE-5281: Commit 29c71c96f2933e8380e412e9d14b42beb30ae96b in geode's branch refs/heads/develop from [~balesh2] [ https://gitbox.apache.org/repos/asf?p=geode.git;h=29c71c9 ] GEODE-5281: replicate failure and fix bug (#2096) * GEODE-5281: replicate failure and fix bug - replicate the bad timing using a DUnit test - fix the bug by only doing one lookup of MBeans - add more tests - fix potential NPE in waiting for regions to be ready on servers Co-authored-by: Kenneth Howe * add TestingOnly annotation to setter add a TestingOnly annotation to setter for ProxyFactory in the FederatingManager for injecting test spies. > Race between registering and unregistering CustomMXBeans in concurrent thread > may result in NPE > --- > > Key: GEODE-5281 > URL: https://issues.apache.org/jira/browse/GEODE-5281 > Project: Geode > Issue Type: Bug > Components: jmx >Affects Versions: 1.0.0-incubating >Reporter: Kenneth Howe >Assignee: Kenneth Howe >Priority: Major > Labels: pull-request-available > Time Spent: 1h 10m > Remaining Estimate: 0h > > Stack trace from an example of the unexpected NullPointerException in > {{MBeanProxyFactory.createProxy()}} > {code:java} > [warning 2018/02/03 17:32:13.561 UTC > managing_1_gemfire2_79a23c4a-f5e3-4c9f-6455-149c397ce13c_38199 > tid=0x5e] Create Proxy failed for > GemFire:type=CustomMXBean213,member=locator_managing_gemfire1_79a23c4a-f5e3-4c9f-6455-149c397ce13c_37116 > with exception null > java.lang.NullPointerException > at > org.apache.geode.management.internal.MBeanProxyFactory.createProxy(MBeanProxyFactory.java:83) > at > org.apache.geode.management.internal.MBeanProxyFactory.createAllProxies(MBeanProxyFactory.java:137) > at > org.apache.geode.management.internal.FederatingManager$GIITask.call(FederatingManager.java:457) > at > org.apache.geode.management.internal.FederatingManager$GIITask.call(FederatingManager.java:341) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > {code} > The registering thread enters > {code} > public void createProxy(DistributedMember member, ObjectName objectName, > Region monitoringRegion, Object newVal) { > {code} > with the {{objectName}} existing in the {{_monitoringRegion}}. A few lines > further the entry is retrieved from the region, but is now {{null}} due to it > being removed by the unregistering thread. > {code} > String name = objectName.toString(); > FederationComponent federationComponent = (FederationComponent) > monitoringRegion.get(name); > String interfaceClassName = > federationComponent.getMBeanInterfaceClass(); > {code} > {{federationComponent == null}} results in the NPE. -- This message was sent by Atlassian JIRA (v7.6.3#76005)