Hello all,

Short version : On bro2.5 I cannot seem to get the cluster working with a broker script. that same script is working on a single instance of bro.

Detailed version :

a.bro has a Broker listener linked to myevent. Once myevent is occurring, the string it received is added to a table named tb. On a pybroker remote machine I send updates to the listener.

This scenario works with a single bro instance.

However when I try to run broctl deploy, its stuck on “checking configurations …” and never finish executing.
I do see 7 bro processes that are up (1 manager, 1 proxy + 4 workers).

Any ideas on why is this occurring ?

Also, if I state in a.bro that the Broker should listen to 9999/tcp, what happens in the case of a cluster ? do all instances try to bind to the same address+port ?

How can I send one update from my pybroker script to several bro instances (workers) ?

Thanks in advance


For just the hanging issue… Do you perhaps have “exit_only_after_terminate” set in your policy for testing? I’ve seen that hang the config checker.


Have your pybroker script listen for connections and have all the workers connect to it. Or if you just send updates to the manager but mark the table as &synchronized updates will propagate to the other workers.

Thanks, the exit_only_after_terminate helped

about the &synchronized, only the manager is listening and all nodes are familiar with tb: table[string] of string &create_expire=10min &synchronized.

manager successfully updates tb but it is not synchronized across cluster :

broctl print TEST::tb

manager TEST:tb = {

[“hi”] = [name=“bye”]

proxy-1 TEST:tb = {
worker-0 TEST:tb = {

do I need to invoke something after adding an element to tb, or &synchronized should be taking care of it ?