Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 902794

Summary: Joining node ignored by hotrod clients in REPL clustering mode
Product: [JBoss] JBoss Data Grid 6 Reporter: Michal Linhard <mlinhard>
Component: InfinispanAssignee: Tristan Tarrant <ttarrant>
Status: CLOSED UPSTREAM QA Contact: Nobody <nobody>
Severity: high Docs Contact:
Priority: high    
Version: 6.1.0CC: jdg-bugs, nobody, randythomas34
Target Milestone: ER10   
Target Release: 6.1.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-02-10 03:27:20 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Comment 1 JBoss JIRA Server 2013-01-22 12:46:46 UTC
Michal Linhard <mlinhard> made a comment on jira ISPN-2738

working on trace logs

Comment 3 JBoss JIRA Server 2013-01-22 17:53:36 UTC
Michal Linhard <mlinhard> made a comment on jira ISPN-2738

[~galder.zamarreno]

Comment 4 JBoss JIRA Server 2013-01-22 17:54:30 UTC
Michal Linhard <mlinhard> made a comment on jira ISPN-2738

[~galder.zamarreno] or [~dan.berindei] could you please have a look at this ? I think this might be connected with solution to ISPN-2632 we've talked about.

Comment 5 JBoss JIRA Server 2013-01-23 09:50:16 UTC
Galder ZamarreƱo <galder.zamarreno> updated the status of jira ISPN-2738 to Coding In Progress

Comment 6 JBoss JIRA Server 2013-01-23 11:06:34 UTC
Galder ZamarreƱo <galder.zamarreno> made a comment on jira ISPN-2738

The problem does indeed look related to ISPN-2632 and I think it's linked to removal of coordination between the address cache and the topology id update. The problem seems to be that the Hot Rod server sends a new topology id before the cache has been updated, so when a new added, it says: here's the new topology ID but the cache has not yet been updated. The client now has a new id but the members are the same. When the cache is eventually updated with the new node, the topology ID is not increased, so clients will never talk to it. Here's a snippet from node01.log that proofs what I say:

{code}12:43:03,137 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-119) Decoded header HotRodHeader{op=GetRequest, version=12, 
messageId=1974, cacheName=testCache, flag=0, clientIntelligence=3, topologyId=8}
...
12:43:03,229 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-107) Decoded header HotRodHeader{op=GetRequest, version=12, 
messageId=2626, cacheName=testCache, flag=0, clientIntelligence=3, topologyId=9}
...
12:43:03,753 TRACE [org.infinispan.container.entries.ReadCommittedEntry] (OOB-197,null) Updating entry (key=node02/default removed=false valid=true 
changed=true created=true loaded=false value=172.18.1.3:11222]
...
node01.log:86873:12:43:03,780 TRACE [org.infinispan.server.hotrod.HotRodDecoder] (HotRodServerWorker-119) Decoded header HotRodHeader{op=PutRequest, 
version=12, messageId=1992, cacheName=testCache, flag=6, clientIntelligence=3, topologyId=9}{code}

@Dan, this is precisely the reason why the interceptor in HotRodServer was created. To coordinate and make sure that the new topology ID is not sent before the cache has been updated. This is crucial is part of the code I added to deal with resilience testing in previous testing round.

Comment 7 JBoss JIRA Server 2013-01-23 12:03:29 UTC
Dan Berindei <dberinde> made a comment on jira ISPN-2738

In my fix for ISPN-2632 I replaced the interceptor with a check to not send the topology update unless all the consistent hash members also exist in the address cache. Unfortunately I only added the check for distributed caches (see AbstraceEncoder1x/AbstractTopologyAwareEncoder1x.writeHashTopologyHeader).

The fix is to add the same check on all the code paths that write a topology update.

Comment 8 JBoss JIRA Server 2013-01-23 15:56:51 UTC
Dan Berindei <dberinde> updated the status of jira ISPN-2738 to Open

Comment 9 JBoss JIRA Server 2013-01-23 15:56:59 UTC
Dan Berindei <dberinde> updated the status of jira ISPN-2738 to Coding In Progress

Comment 10 JBoss JIRA Server 2013-01-24 10:23:13 UTC
Dan Berindei <dberinde> made a comment on jira ISPN-2738

Skip the topology update if the cache members aren't all in the address
cache. Do the check in AbstractEncoder1x.generateTopologyResponse, so that
it works for all topology types (i.e. also for replicated caches).

I added a new replicated-mode test, but it still doesn't cover this case.

Comment 11 Michal Linhard 2013-01-30 12:37:57 UTC
Verified for JDG 6.1.0.ER10

Comment 16 Red Hat Bugzilla 2025-02-10 03:27:20 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.