class TransportCancelAction extends TransportAction<CancelRequest, AcknowledgedResponse> {

    public static final String NAME = "internal:crate:pg/cancel";
    public static final ActionType<AcknowledgedResponse> ACTION = new ActionType<>(NAME);
    private final Sessions sessions;
    private final ClusterService clusterService;
    private final TransportService transportService;

    @Inject
    public TransportCancelAction(Sessions sessions,
                                 ClusterService clusterService,
                                 TransportService transportService) {
        super(NAME);
        this.sessions = sessions;
        this.clusterService = clusterService;
        this.transportService = transportService;
        NodeAction<CancelRequest, TransportResponse> nodeAction = this::nodeOperation;
        transportService.registerRequestHandler(
            NAME,
            ThreadPool.Names.SAME, // operation is cheap
            true,
            false,
            CancelRequest::new,
            new NodeActionRequestHandler<>(nodeAction)
        );
    }

    protected void doExecute(CancelRequest request, ActionListener<AcknowledgedResponse> finalListener) {<FILL_FUNCTION_BODY>}

    CompletableFuture<TransportResponse> nodeOperation(CancelRequest request) {
        sessions.cancelLocally(request.keyData());
        return CompletableFuture.completedFuture(TransportResponse.Empty.INSTANCE);
    }
}

        DiscoveryNodes nodes = clusterService.state().nodes();
        var multiActionListener = new MultiActionListener<>(
            nodes.getSize() - 1, // localNode is excluded
            () -> null,
            (x, y) -> {},
            state -> new AcknowledgedResponse(true),
            finalListener
        );
        for (var node : nodes) {
            if (node.equals(clusterService.localNode())) {
                continue;
            }
            transportService.sendRequest(
                node,
                NAME,
                request,
                new ActionListenerResponseHandler<>(multiActionListener, AcknowledgedResponse::new)
            );
        }
    
<methods>public final CompletableFuture<org.elasticsearch.action.support.master.AcknowledgedResponse> execute(io.crate.execution.jobs.transport.CancelRequest) ,public final CompletableFuture<T> execute(io.crate.execution.jobs.transport.CancelRequest, Function<? super org.elasticsearch.action.support.master.AcknowledgedResponse,? extends T>) <variables>protected final non-sealed java.lang.String actionName