主、备租户使用网络直连方式进行同步,主租户的合并信息与备租户的合并信息是同步的,当主租户其中有一个zone合并失败或超时时,备租户也同样是这种状态吗?如果超过超过多久认为副本是失效的?备租户的副本也会同时失效吗?合并超时时如果超过server_permanent_offline_time参数有关系吗?
当主租户其中一个 zone 合并失败或超时时,备租户的合并信息也会受到影响,因为主备租户之间是通过网络直连方式进行同步的。具体来说,备租户的合并信息会与主租户保持一致。
关于副本失效的时间,OceanBase 集群中有一个配置项 server_permanent_offline_time
,用于设置节点心跳中断的时间阈值。当节点心跳中断时间超过 server_permanent_offline_time
时,该节点会被认为是永久下线,其上的数据副本需要被自动补足。
具体来说,如果主租户的某个 zone 在合并过程中失败或超时,并且该 zone 的节点心跳中断时间超过了 server_permanent_offline_time
,那么该 zone 的副本会被认为是失效的。相应地,备租户的副本也会受到同样的影响,因为主备租户之间的同步是紧密相关的。
总结一下,当主租户的某个 zone 合并失败或超时,并且该 zone 的节点心跳中断时间超过了 server_permanent_offline_time
,主租户的副本会被认为是失效的,备租户的副本也会同样被认为失效。
详情请参考:
详细分析
主备库同步机制
-
主备库同步方式:
- 主、备租户使用网络直连方式进行同步。
- 主租户的合并信息与备租户的合并信息是同步的。
-
合并失败或超时的影响:
- 当主租户的某个 zone 合并失败或超时时,备租户的合并信息也会受到影响。
- 备租户的合并信息会与主租户保持一致,因为主备租户之间是通过网络直连方式进行同步的。
-
副本失效的时间阈值:
- OceanBase 集群中有一个配置项
server_permanent_offline_time
,用于设置节点心跳中断的时间阈值。 - 当节点心跳中断时间超过
server_permanent_offline_time
时,该节点会被认为是永久下线,其上的数据副本需要被自动补足。
- OceanBase 集群中有一个配置项
具体影响
-
主租户的合并失败或超时:
- 如果主租户的某个 zone 在合并过程中失败或超时,并且该 zone 的节点心跳中断时间超过了
server_permanent_offline_time
,那么该 zone 的副本会被认为是失效的。
- 如果主租户的某个 zone 在合并过程中失败或超时,并且该 zone 的节点心跳中断时间超过了
-
备租户的副本影响:
- 由于主备租户之间的同步是紧密相关的,备租户的副本也会受到同样的影响。
- 备租户的副本也会被认为失效,因为主备租户的合并信息是一致的。
依据
-
网络直连同步:
- 主备租户通过网络直连方式进行同步,确保了主备租户的合并信息的一致性。
-
心跳中断时间阈值:
-
server_permanent_offline_time
参数的设置决定了节点心跳中断后被认为是永久下线的时间阈值。 - 相关文档链接:文档片段标题
-
总结
当主租户的某个 zone 合并失败或超时,并且该 zone 的节点心跳中断时间超过了 server_permanent_offline_time
,主租户的副本会被认为是失效的,备租户的副本也会同样被认为失效。这是由于主备租户之间的同步是通过网络直连方式进行的,确保了主备租户的合并信息的一致性。
如果您需要进一步的详细信息或具体的配置建议,可以参考 OceanBase 的官方文档或联系技术支持。
检索到的文档如下:
从给定的文档片段来看,zone_merge_timeout
配置项用于设置单个 zone 的合并超时时间,但没有明确指出合并超时会直接导致节点心跳中断。然而,根据节点心跳状态相关配置项的描述,如果节点的心跳数据包丢失时间超过server_permanent_offline_time
,节点的心跳状态会被标记为permanent_offline
,这意味着如果合并超时导致节点长时间无法响应,则可能被判定为永久离线。
关于合并超时节点上的数据副本能否继续使用的问题,从给定的信息中没有直接说明。但是,根据分区级合并注意事项的描述,当合并任务被暂停时,不允许发起分区级合并。这暗示着在合并过程中,如果发生超时或暂停,数据副本的状态可能会受到影响,但这并不意味着数据副本完全无法使用。如果节点被标记为永久离线,Root Service 会将该节点上的数据副本从 Paxos 成员组中删除,并在其他可用节点上补充数据,以保证数据副本的完整性。
详情请参考: