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
prepare GetNodeAttr - reads old size, stores it in args
execute GetNodeAttr - NOP
prepare WriteData
execute WriteData - updates size, invalidates cache (but not args of the concurrently running GetNodeAttr)
complete GetNodeAttr - writes old size to cache
complete WriteData
может смущать следующее: почему GetNodeAttr мгновенно не пролетает весь путь от чтения данных до complete - там же нечему коммититься, эта транзакция же ничего не пишет
но, судя по всему, GetNodeAttr не закомплитился мгновенно, а ждал, т.к. была еще одна третья транзакция, запустившаяся до GetNodeAttr, и ждавшая коммита
то есть если совсем подробно, то порядок такой:
prepare SomeOtherRWTx
execute SomeOtherRWTx
prepare GetNodeAttr
execute GetNodeAttr
… complete GetNodeAttr delayed till SomeOtherRWTx completes …
Symptoms:
So in this particular case state of the cache and localdb diverged because first request is supposed to use localdb, unlike the second request.
The text was updated successfully, but these errors were encountered: