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
Before going deeper into a fix, I'd like your opinion on this: if a refresh is occurring while messages are still attempted to be sent, it can happen that the session is reset. See:
// queueForSend will validate, persist, and queue the message for sendfunc (s*session) queueForSend(msg*Message) error {
s.sendMutex.Lock()
defers.sendMutex.Unlock()
The store is usually protected against concurrent calls with the sendMutex of the session, but when a refresh is happening, the store can be called concurrently with queueForSend and store.Refresh(). Knowing that the refresh first reset the cache then goes into the database to populate it again, it can happen that sending resets the outgoing sequence number to 1.
The text was updated successfully, but these errors were encountered:
Hi,
Before going deeper into a fix, I'd like your opinion on this: if a refresh is occurring while messages are still attempted to be sent, it can happen that the session is reset. See:
The store is usually protected against concurrent calls with the sendMutex of the session, but when a refresh is happening, the store can be called concurrently with
queueForSend
andstore.Refresh()
. Knowing that the refresh first reset the cache then goes into the database to populate it again, it can happen that sending resets the outgoing sequence number to 1.The text was updated successfully, but these errors were encountered: