[jira] [Commented] (GEODE-5281) Race between registering and unregistering CustomMXBeans in concurrent thread may result in NPE

2018-07-06 Thread ASF subversion and git services (JIRA)


[ 
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

2018-07-06 Thread ASF subversion and git services (JIRA)


[ 
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

2018-07-06 Thread ASF subversion and git services (JIRA)


[ 
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

2018-07-06 Thread ASF subversion and git services (JIRA)


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