@Test
    void testStorageNodeReportingHigherBitCount() throws Exception {
        setUpSystem();

        nodes.get(1).setNodeState(new NodeState(NodeType.STORAGE, State.UP).setMinUsedBits(11));
        nodes.get(3).setNodeState(new NodeState(NodeType.STORAGE, State.UP).setMinUsedBits(11));

        ClusterState startState = waitForState("version:\\d+ bits:11 distributor:10 storage:10");

        nodes.get(1).setNodeState(new NodeState(NodeType.STORAGE, State.UP).setMinUsedBits(12));
        assertEquals(startState.getVersion(), fleetController().getSystemState().getVersion(), startState + "->" + fleetController().getSystemState());

        for (int i = 0; i < 10; ++i) {
            // nodes is array of [distr.0, stor.0, distr.1, stor.1, ...] and we just want the storage nodes
            nodes.get(i * 2 + 1).setNodeState(new NodeState(NodeType.STORAGE, State.UP).setMinUsedBits(17));
        }
        assertEquals(startState.getVersion() + 1, waitForState("version:\\d+ bits:17 distributor:10 storage:10").getVersion());
    }
Test that when storage node reports higher bit count, but another storage
node has equally low bitcount, the fleetcontroller does nothing.
<p
Test that when storage node reports higher bit count, but another storage
node now being lowest, the fleetcontroller adjusts to use that bit in system state.
clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/DistributionBitCountTest.java