darkleaf commented on issue #1084:
URL: https://github.com/apache/curator/issues/1084#issuecomment-4040160780

   We hit a related issue: `NamespaceImpl.fixForNamespace()` also ignores 
`dontUseContainerParents()`.                                                    
               
                               
     When a namespace is configured, the first operation triggers 
`fixForNamespace` which calls:                                                  
                         
                                                  
     ```java                                                                    
                                                                                
           
     // NamespaceImpl.java:76                                                   
                                                                                
           
     ZKPaths.mkdirs(zookeeperClient.getZooKeeper(), ZKPaths.makePath("/", 
namespace),
         true, client.getAclProvider(), true);  // asContainers = hardcoded true
   ```
   
     This sends createContainer (opcode 19) regardless of the 
dontUseContainerParents flag. Servers that don't support container nodes (e.g. 
ClickHouse Keeper) drop the
     connection immediately, causing an infinite reconnect loop.
   
     Packet capture confirms it:
     1. exists("/namespace") → NONODE
     2. create with opcode 19 (createContainer), mode=CONTAINER → server sends 
FIN
     3. reconnect → goto 1
   
     The fix would be to respect useContainerParentsIfAvailable in 
NamespaceImpl.fixForNamespace(), something like:
   
   ```java
     ZKPaths.mkdirs(zookeeperClient.getZooKeeper(), ZKPaths.makePath("/", 
namespace),
         true, client.getAclProvider(), 
client.useContainerParentsIfAvailable());
     ```
     cc @kezhuw @tisonkun


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to