zk的leader服务器在运行期间会定时的进行会话超时检查,其时间间隔是ExpirationInterval,单位是毫秒,默认是tickTime的值。即默认情况下,每隔2000毫秒进行一次会话超时检查。
ExpirationTime = CurrentTime + SessionTimeout;
ExpirationTime = (ExpirationTime_ / ExpirationInterval + 1) * ExpirationInterval;
即:ExpirationTime值总是ExpirationInterval的整数倍;
超过检查的时候,获取当前时间,计算出ExpiratiionTime,进行会话清楚。
SessionTracker中专门有一个单独的线程专门进行超时检查。