You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geode.apache.org by Vahram Aharonyan <va...@vmware.com> on 2017/03/03 06:26:35 UTC

RE: NullPointerException during SystemManagementService.startManager

Hi Jinmei,

Could it be you have had a chance to look at this ?

Thanks,
Vahram.

From: Vahram Aharonyan [mailto:vaharonyan@vmware.com]
Sent: Thursday, February 23, 2017 9:34 PM
To: user@geode.apache.org
Subject: RE: NullPointerException during SystemManagementService.startManager

Yes, I don’t get NPE because I replaced startManager() calling with jmx-manager-true option setting.
If we go down startManager routine() following stacktrace below it does something like jmxAdapter.getDistributedSystemMXBean().getAlertLevel(). And as jmxAdapter.getDistributedSystemMXBean() returns null, we get that NPE.

Thank you, Jinmei. If you will be able to provide some details it would be very helpful.

Regards,
Vahram.

From: Jinmei Liao [mailto:jiliao@pivotal.io]
Sent: Thursday, February 23, 2017 9:05 PM
To: user@geode.apache.org<ma...@geode.apache.org>
Subject: Re: NullPointerException during SystemManagementService.startManager

Ok, so after you set jmx-manager-start=true, you don't get this this NPE anymore?

I am not very familiar with the code path you mentioned since it's been there for a long time and haven't been changed recently. Will investigate more if this is a blocking issue for you.

On Thu, Feb 23, 2017 at 8:48 AM, Vahram Aharonyan <va...@vmware.com>> wrote:
Hi Jinmei,

Actually we are trying to have some control over this and have opportunity to stopManager if needed.

Anyways, this is not so principal at the moment and I followed your hint, removed starManager calling and passed “jmx-manager-start=true” to both gemfire.locator.properties and Cache creation routine. Afterwards I observe that any call like managementService.getDistributedSystemMXBean() returns null, as MBeanJMXAdapter. localGemFireMBean is again empty.

So with in Geode MBeanJMXAdapter. localGemFireMBean somehow is not getting filled after cache creation… And actually this was the cause of NullPointerException in startManager as well. From Geode code I see that only items are put into this Map only from MBeanJMXAdapter.registerMBean() method. But I guess this flow should be executed after cache creation while Regions are created, nodes connected, etc., is not it?
Or should I take care of this separately?

Thanks,
Vahram

From: Jinmei Liao [mailto:jiliao@pivotal.io<ma...@pivotal.io>]
Sent: Wednesday, February 22, 2017 12:58 PM

To: user@geode.apache.org<ma...@geode.apache.org>
Subject: Re: NullPointerException during SystemManagementService.startManager

Can you let us know the use case where you need to configure the locator with .set("jmx-manager-start", "false") and then call ManagementService.startManager manually?

On Wed, Feb 22, 2017 at 9:51 AM, Vahram Aharonyan <va...@vmware.com>> wrote:
Hi Anthony,

Currently I’m using Geode 1.1.0 released last week, but actually saw this problem previously with geode-1.0.0-incubating.M3 as well.
BTW, I have not hit this issue with gemfire 8.2.0.6 used before that.

Thanks,
Vahram.

From: Anthony Baker [mailto:abaker@pivotal.io<ma...@pivotal.io>]
Sent: Wednesday, February 22, 2017 8:41 AM
To: user@geode.apache.org<ma...@geode.apache.org>
Subject: Re: NullPointerException during SystemManagementService.startManager

What version of Geode are you using?

On Feb 22, 2017, at 12:09 AM, Vahram Aharonyan <va...@vmware.com>> wrote:

Hi All,

We are getting java.lang.NullPointerException while trying to start JMX Manager Node by invoking ManagementService.startManager:

org.apache.geode.management.ManagementException: java.lang.NullPointerException
        at org.apache.geode.management.internal.FederatingManager.startManager(FederatingManager.java:139)
        at org.apache.geode.management.internal.SystemManagementService.startManager(SystemManagementService.java:467)
Caused by: java.lang.NullPointerException
        at org.apache.geode.management.internal.MemberMessenger.broadcastManagerInfo(MemberMessenger.java:64)
        at org.apache.geode.management.internal.FederatingManager.startManager(FederatingManager.java:132)
        ... 45 more

This seems to be due to MBeanJMXAdapter. localGemFireMBean being empty by that point.

Please note that before startManager call from Java code gemfire locator was successfully started, cache was created, necessary Regions were created using this configuration:

                        .set("jmx-manager", "true")
                        .set("jmx-manager-start", "false")

Could you please let us know whether we miss something in configuration or anything else need to be performed before starting JMX manager Node dynamically?

Thanks,
Vahram.




--
Cheers

Jinmei



--
Cheers

Jinmei