darkleaf commented on issue #1084:
URL: https://github.com/apache/curator/issues/1084#issuecomment-4040156002
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:
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]