• Bug
  • Status: Closed
  • 2 Major
  • Resolution: Fixed
  • hsingh
  • Reporter: jmikhail
  • June 29, 2009
  • 0
  • Watchers: 2
  • February 12, 2013
  • September 03, 2009

Description

I have an app in which I bring up two instances. If I kill the second instance 1st I can do a call to DsoClusterEvent.getNode().getIp() without issue in my DsoClusterListener class. However if I kill the instance that come up first I get a valid DsoClusterEvent, and am able to call event.getNode() just fine. But when I call getIP I get null. At the start of both instances I am able to get the IP address without any issue.

Comments

Geert Bevin 2009-07-01

The reason for this is that node meta data is pulled in lazily on an as-needed basis and then cached locally. When a node isn’t connected anymore, this information can’t be obtained anymore. The reason for this initially was to not send out data when it’s not needed, and that certainly for the hostname since this lookup can be costly. However, I think we overlooked your use-case and I can now see a need for caching the meta-data immediately at client connect.

Fiona OShea 2009-07-17

assigning to Rivera, I dont know what the impact of fixing this is. Or how important it is. So please let me know if it should be pushed out..

Geert Bevin 2009-09-01

r13529 in trunk r13530 in 3.1 branch

Geert Bevin 2009-09-02

Reverted commit since it was creating other issues.

Geert Bevin 2009-09-03

New fix in r13543 for trunk and r13544 from 3.1

Himadri Singh 2009-10-01

ClusterMetaDataAfterNodeLeftTest takes care of this. Monkeys are running it.