mirror of
https://github.com/ZmnSCPxj/clboss.git
synced 2026-08-13 12:33:20 +02:00
The classic rebalancers consult RebalanceUnmanager, and FundsMover rejects any RequestMoveFunds naming an unmanaged node, but the XRebalancer executes through clboss-xmovefunds or the external xrebalance plugin, bypassing both checks, so peers unmanaged for "balance" were still filled and drained. Fetch the unmanaged set at planning time and exclude those peers from the fill and drain pools. Sources and destinations are drawn only from the pools, so the one filter covers matched and demand cycles in both executor modes. Channeled peers the set withholds are named in one Debug line per cycle, so an operator can tell an unmanaged exclusion from a peer that merely failed candidacy. Adds a test that drives a demand cycle over the bus with the best-paying drain peer unmanaged and checks the resulting request names it on neither side and that the exclusion line names it. |
||
|---|---|---|
| .. | ||
| Mod | ||
| ModG | ||
| Msg | ||
| concurrent.cpp | ||
| concurrent.hpp | ||
| JsonInput.cpp | ||
| JsonInput.hpp | ||
| log.cpp | ||
| log.hpp | ||
| Main.cpp | ||
| Main.hpp | ||
| open_rpc_socket.cpp | ||
| open_rpc_socket.hpp | ||
| random_engine.cpp | ||
| random_engine.hpp | ||
| RebalanceMode.hpp | ||
| Shutdown.hpp | ||
| Signer.cpp | ||
| Signer.hpp | ||