@Override
        protected void update(ClickHouseNodes manager, ClickHouseNode node, Status status) {
            if (status != Status.HEALTHY && status != Status.FAULTY) {
                super.update(manager, node, status);
                return;
            }

            if (status == Status.HEALTHY) {
                manager.faultyNodes.remove(node);
            } else if (!manager.faultyNodes.contains(node)) {
                manager.faultyNodes.add(node);
                manager.scheduleHealthCheck();
            }
        }
Load balancing policy. In general, a policy is responsible for 3 things: 1)
get node from a managed list; 2) managing node's status; and 3) optionally
schedule background tasks like node discovery and health check.
clickhouse-client/src/main/java/com/clickhouse/client/ClickHouseLoadBalancingPolicy.java