Currently, `TransportGetShutdownStatusAction` is executed in a transport thread, this action can do a substantial amount of work (O(# shards) in some cases) in the transport thread preventing pending transport tasks to make progress and potentially causing cluster instability. This action should be dispatched into a different thread pool to avoid such issues.
x-pack/plugin/shutdown/src/test/java/org/elasticsearch/xpack/shutdown/TransportGetShutdownStatusActionTests.java
)
                    .add(
                        DiscoveryNode.createLocal(
                            Settings.builder().put(Settings.builder().build()).put(Node.NODE_NAME_SETTING.getKey(), LIVE_NODE_ID).build(),
                            new TransportAddress(TransportAddress.META_ADDRESS, 9201),
                            LIVE_NODE_ID
                        )
                    )
                    .add(
                        DiscoveryNode.createLocal(
                            Settings.builder()
                                .put(Settings.builder().build())
                                .put(Node.NODE_NAME_SETTING.getKey(), OTHER_LIVE_NODE_ID)
                                .build(),
                            new TransportAddress(TransportAddress.META_ADDRESS, 9202),
                            OTHER_LIVE_NODE_ID
                        )
                    )
            )
            .routingTable(routingTable.build())
            .build();
        ShutdownShardMigrationStatus status = TransportGetShutdownStatusAction.shardMigrationStatus(
            state,
            bogusNodeId,
            SingleNodeShutdownMetadata.Type.REMOVE,
            false,
            clusterInfoService,
            snapshotsInfoService,
            allocationService,
            allocationDeciders