你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
IStateProvider.OnDataLossAsync(CancellationToken) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指示此副本 (replica) 集中副本的写入仲裁已丢失,因此可能发生数据丢失。 副本 (replica) 集包含大多数副本,其中包括主副本 (replica) 。
public System.Threading.Tasks.Task<bool> OnDataLossAsync (System.Threading.CancellationToken cancellationToken);
abstract member OnDataLossAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Function OnDataLossAsync (cancellationToken As CancellationToken) As Task(Of Boolean)
参数
- cancellationToken
- CancellationToken
CancellationToken操作正在观察的对象。 它可用于发送应取消操作的通知。 请注意,取消是建议,即使取消了操作,操作仍可能已完成。
返回
返回 Task<TResult> 类型的 Boolean,指示状态提供程序作为处理此通知的一部分是否更改了其状态
注解
当 Service Fabric 运行时观察到副本仲裁(包括主副本 (replica) )失败时,它会选择新的主副本 (replica) 并立即对新的主副本 (replica) 调用此方法。 通知可能丢失数据的主副本 (replica) 可以选择从某些外部数据源还原其状态,也可以继续使用它当前的状态运行。 如果服务继续使用其当前状态运行,则它应从此方法返回 false,这表示未进行任何状态更改。 如果已还原或更改其状态(例如回滚未完成的工作),则应返回 true。 如果返回 true,则必须假定其他副本中的状态不正确。 因此,Service Fabric 运行时会从副本 (replica) 集中删除其他副本并重新创建它们。