Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cells: ignore empty core domain uris propagated by zk
Motivation: When Zookeeper updates core domain infos, dCache will first kill the existing cell tunnels and then later try to read and parse the new value. If the new value is an empty string (for whatever reason), parsing will fail, but a new connection will not be established. The corresponding error in the log: 18 Nov 2024 08:45:00 (c-dcache-head-xxx03_messageDomain-AAYmVA1LtnA-AAYmVA16phA) [dcache-head-xxx03_messageDomain,9.2.21,CORE] Error while reading from tunnel: java.net.SocketExceptio> 18 Nov 2024 08:45:43 (c-dcache-head-xxx03_messageDomain-AAYnKxn40fA) [] Uncaught exception in thread TunnelConnector-dcache-head-xxx03_messageDomain java.lang.NullPointerException: null at java.base/java.net.Socket.<init>(Socket.java:448) at java.base/java.net.Socket.<init>(Socket.java:264) at java.base/javax.net.DefaultSocketFactory.createSocket(SocketFactory.java:277) at dmg.cells.network.LocationManagerConnector.connect(LocationManagerConnector.java:64) at dmg.cells.network.LocationManagerConnector.run(LocationManagerConnector.java:94) at dmg.cells.nucleus.CellNucleus.lambda$wrapLoggingContext$2(CellNucleus.java:725) at java.base/java.lang.Thread.run(Thread.java:829) Modification: before killing existing tunnel check that ZK didn't propagate empty data. Result: More roust cell communication NOTE: a non empty invalid data still accepted!!! Fixes: #7696 Acked-by: Lea Morschel Target: master, 10.2, 10.1, 10.0, 9.2 Require-book: no Require-notes: yes (cherry picked from commit 30829c9) Signed-off-by: Tigran Mkrtchyan <[email protected]>
- Loading branch information