Я пытаюсь создать новый узел в zookeeper с помощью groovy, но после перезагрузки системы узел исчезает, как будто его никогда не создавали.
Этот код является частью конвейера Jenkins, который в пост-билде создает отличный скрипт для некоторых оконных ВМ. затем конвейер выполняет перезапуск на этом компьютере, и узел исчезает.
У меня это происходит на нескольких других виртуальных машинах Windows
Вот мой код:
@Grab('org.apache.zookeeper:zookeeper:3.4.6')
import org.apache.zookeeper.*
import static org.apache.zookeeper.ZooKeeper.States.*
import org.apache.zookeeper.ZooDefs.Ids;
final int TIMEOUT_MSEC = 5000
final int RETRY_MSEC = 100
def num_retries enter code here= 0
PATH_TO_NODE = "/some/path/to/node"
noOpWatcher = { event -> } as Watcher
zk = new ZooKeeper('myIP', TIMEOUT_MSEC, noOpWatcher)
def addNode() {
if (zk.exists(PATH_TO_NODE, true) == null) {
/*create node*/
println("creating nodes")
zk.create(PATH_TO_NODE, new byte[0], Ids.OPEN_ACL_UNSAFE,
CreateMode.PERSISTENT)
zk.create(PATH_TO_NODE + "myNode", "someData".getBytes(), Ids.OPEN_ACL_UNSAFE,
CreateMode.PERSISTENT)
} else {
println("node already exists")
}
}
while (zk.state != CONNECTED && num_retries < (TIMEOUT_MSEC / RETRY_MSEC)) {
Thread.sleep(RETRY_MSEC)
num_retries++
}
if (zk.state != CONNECTED) {
println("could not connect to zookeeper")
System.exit(1)
} else {
addNode()
}
zk.close()