Do not override thetas if sum is less or equals to `0`

Closes #4390
Made sure the new cluster state is not held by AckCountDownListener

(also made AckCountDownListener class static)