有两个服务器节点,一个(称为主服务器)创建计算任务,然后通过ignite.compute().runAsync(...)
将其发送到另一个(称为工作服务器),该服务器会产生一些结果并将其写入缓存。如果辅助节点发生故障(进程被终止),则Ignite FailoverSPI决定选择哪个节点作为新辅助节点并完成该任务。但是,当主节点失败时,工作线程内部的任何Ignite操作(缓存获取或创建其他任务)任务线程都会产生以下异常:IgniteInterruptedException: Got interrupted while waiting for future to complete.
这没有在文档中直接说明,但似乎是合理的。等待结果的节点失败-没有人对结果感兴趣,因此无需完成工作者任务。但是,如果我仍然希望操作完成,应该使用哪个API呢?我想保证两种情况下的操作完整性:主节点故障和工作节点故障。