一般情况下,zk客户端与服务端建立连接后,会在2/3*sessionTime*1/2的时候发送一个心跳消息到服务端,保持会话更新。但是可能在某个时候网络中断可能导致客户端无法连接上服务端,此时客户端会不停的依次重试各个服务器,一直到连接上某个服务器为止。如果在未连接上这段时间内,服务端session已经过期,(参见SessionTracker的实现SessionTrackerImpl),它是依靠一个线程对过期的session进行清理,并关闭掉连接。
客户端在session过期后这段时间后,连接上某个服务器,并发送ConnectRequest,附带连接中断前的sessionid,以及lastZxid 等等消息,请求重新与服务器建立连接。服务器发现是一个ConnectRequest请求,于是readConnectRequest,如果sessionid不为0,则表示是需要恢复原来这个连接。
reopenSession恢复时,会对session做一些校验
由于sessionid已经过期被删除,所以touchSession时由于找不到sessionid,这里rc会返回false, 根据rc的值,finishSessionInit会确定发送什么样的ConnectResponse给客户端。
如果rc=false,同时服务端会发送关闭连接的指令。
客户端收到响应后,发现sessionTimeout时间小于或者等于0,则表示session过期。触发expired事件,并抛出异常。
整个客户端实例退出,这个实例不能再次重用了,如果还需要连接服务器,则需要重新创建新的zookeeper实例。
分享到:
相关推荐
ORA-28001 the password has expired密码过期
完美解决MyEclipse提示过期Your 30-day trial of MyEclipse has expired.
ireasoning mib browser是一个非常好用的mib浏览器。问题是,它的试用期只有一个月,一个月内所有功能都是开放的。一个月后就不能使用了。即使卸载了这个软件重新安装也不行。难道除了购买就没有其他办法了么?...
ireasoning mib browser是一个非常好用的mib浏览器。问题是,它的试用期只有一个月,一个月内所有功能都是开放的。一个月后就不能使用了。即使卸载了这个软件重新安装也不行。难道除了购买就没有其他办法了么?...
使用方法请看压缩包中的说明文件。。。。。。。。。。。。。。。。。。。
Ansys万能license及详细使用说明,无使用期限,适合任何,测试12-17有效),帮助修复license过期等各种问题 以下操作需要管理员权限 用文档编辑器打开这个license.txt修改HOSTNAME成你的主机名(在我的电脑属性...
Typora "This beta version of Typora is expired, please download and install a newer version."测试版过期禁止试用,必须升级才能使用。
解决flash builder beta2 licensing for this product has expired(此产品的许可证已过期); 解压后存入Flex的安装文件夹plugins\com.adobe.flexide.amt_4.0.0.235740\os\win32\x86 替换源文件即可
MyEclipse 8.5 注册--取消MyEclipse Trial Expired解决办法
删除过期文件 删除过期的文件。 安装 npm install del-expired-file --save 用法 'use strict' ; const path = require ( 'path' ) ; const delExpiredFile = require ( 'del-expired-file' ) ; const filesPath =...
k8s默认的证书有效期为一年,在实际生产中,经常遇到证书过期导致的节点故障问题。 K8S集群证书过期后,会导无法创建Pod,通过kubectl get nodes也无法获取信息,甚至dashboard也无法访问。 执行命令发现报错: ...
GTWR时空地理加权回归,解决了回归参数随空间位置的变化问题,另外加入了时间信息
关于 cuteEditor 6.2 版本 过期 的 解决 办法 前一阵子一直在用 cuteEditor 感觉很是好用,今天打开想修改个 地方。竟然过期!! The License for Editor is not valid. You are using a trial license and the trial ...
人大金昌数据库试用版license,安装后可以使用3个月。 试用版本kdb-7.1.2.0090
spacedesk driver expired 解决方式,安装最新版即可。只需要更新电脑端即可
tools for license windows expired
主题: 自动生成mock代码 已测试生效版本 IntelliJ IDEA 2021.1.1 (Ultimate Edition) ...我是先装过最新1.6.5版本试用过期后再装的1.5.6 安装包里带成功图,每个人环境不一样,不保证一定成功,请谅解
已过期 计算HTTP响应何时从缓存头中过期 expired接受HTTP标头作为参数,并将返回有关资源何时到期的信息。 Cache-Control和Expires标头都存在,则支持Cache-Control优先级( )。 安装 npm install --save expired ...
安装PowerDesigner 16后,在安装目录替换pdmflm.dll文件
登录Testlink后,新建一个项目后,会出现如下提示: There are security warnings for your consideration. See details on file: C:\xampp\htdocs\testlink\logs\config_check.txt. To disable any reference to ...