| 480 | |
| 481 | |
| 482 | void GroupProcess::timedout(int64_t sessionId) |
| 483 | { |
| 484 | if (error.isSome()) { |
| 485 | return; |
| 486 | } |
| 487 | |
| 488 | CHECK_NOTNULL(zk); |
| 489 | |
| 490 | // The connect timer can be reset or replaced and `zk` |
| 491 | // can be replaced since this method was dispatched. |
| 492 | if (connectTimer.isSome() && |
| 493 | connectTimer->timeout().expired() && |
| 494 | zk->getSessionId() == sessionId) { |
| 495 | LOG(WARNING) << "Timed out waiting to connect to ZooKeeper. " |
| 496 | << "Forcing ZooKeeper session " |
| 497 | << "(sessionId=" << std::hex << sessionId << ") expiration"; |
| 498 | |
| 499 | // Locally determine that the current session has expired. |
| 500 | dispatch(self(), &Self::expired, zk->getSessionId()); |
| 501 | } |
| 502 | } |
| 503 | |
| 504 | |
| 505 | void GroupProcess::expired(int64_t sessionId) |
nothing calls this directly
no test coverage detected