You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#126 has been solved with a simple solution from #129.
We can go further and implement more complex solution that reduces amount of new session tokens created by pool. Solution proposed by @realloc
In #129 we couldn't use gRPC state monitor because it doesn't cover token expiration case. In other words, poolcan renew session token when remote storage node has been restarted (its state changes from READY), but it can't renew session token if it was expired.
To address this case, pool can monitor and expire session tokens from the cache manually. To do that pool can use passive and active epoch observing.
Passive: epoch value is stored in every ResponseMetaHeader, so each successful request updates local epoch number.
Active: during healthcheck, pool sends NodeInfo request, so ResponseMetaHeader with epoch value can be processed there as well.
With combination of these two observations, it is possible to expire session tokens locally.
The text was updated successfully, but these errors were encountered:
#126 has been solved with a simple solution from #129.
We can go further and implement more complex solution that reduces amount of new session tokens created by
pool
. Solution proposed by @reallocIn #129 we couldn't use gRPC state monitor because it doesn't cover token expiration case. In other words,
pool
can renew session token when remote storage node has been restarted (its state changes fromREADY
), but it can't renew session token if it was expired.To address this case,
pool
can monitor and expire session tokens from the cache manually. To do thatpool
can use passive and active epoch observing.Passive: epoch value is stored in every
ResponseMetaHeader
, so each successful request updates local epoch number.Active: during healthcheck,
pool
sendsNodeInfo
request, soResponseMetaHeader
with epoch value can be processed there as well.With combination of these two observations, it is possible to expire session tokens locally.
The text was updated successfully, but these errors were encountered: