]
Bela Ban resolved JGRP-1915.
----------------------------
Resolution: Done
JDBC_PING discovery fails when stale entries are found in the
database
----------------------------------------------------------------------
Key: JGRP-1915
URL:
https://issues.jboss.org/browse/JGRP-1915
Project: JGroups
Issue Type: Bug
Affects Versions: 3.6.1
Reporter: Patrick Haas
Assignee: Bela Ban
Fix For: 3.6.3
Node: "CHQ-PATRICKH-55008"
Database contains two rows.. other node is dead but was unable to remove the JDBC entry.
1) JChannel.connect(...)
2) JChannel.down(Event[CONNECT_WITH_STATE_TRANSFER_USE_FLUSH])
3) STATE_TRANSFER -> FRAG2 -> MFC -> UFC -> GMS
4) GMS.down(...) calls out to joinWithStateTransfer -> joinInternal(...)
JDBC pulls the node list from the database table.
Ping Data:
- CHQ-PATRICKH-3895, name=CHQ-PATRICKH-3895, addr=10.1.130.228:55503, server
- CHQ-PATRICKH-55008, name=CHQ-PATRICKH-55008, addr=10.1.130.228:57489
joinInternal is a never-terminating while loop:
- down: Event.FIND_INITIAL_MBRS_EVT
- inspect responses -- no valid join responses
- responses are NOT empty -> does not become singletonMember
- gets all coordinators (none)
- Sorts all nodes by GUID in a TreeSet
- Is first of all joiners?
- No, another joiner is listed first
... repeat forever
When the process is restarted and a node ID < than the existing db entry is generated,
it successfully takes over as owner.