summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Vatamaniuc <vatamane@apache.org>2020-03-25 14:40:53 -0400
committerNick Vatamaniuc <nickva@users.noreply.github.com>2020-03-25 15:10:47 -0400
commitd67f5073f935fd971924c8093e2e4b722dfc3439 (patch)
treebe5d7c93cbef33ce64dc77814b3a9ab33074de7b
parentf05b3ad2f1676221d5a469d8c12d2431fb871877 (diff)
downloadcouchdb-d67f5073f935fd971924c8093e2e4b722dfc3439.tar.gz
Make sure to clear db metadata flag before each transaction
Previously we didn't reset the metadata flag in case of a transaction retry so we could have used a stale `?PDICT_CHECKED_MD_IS_CURRENT = true` value.
-rw-r--r--src/fabric/src/fabric2_fdb.erl1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/fabric/src/fabric2_fdb.erl b/src/fabric/src/fabric2_fdb.erl
index 2911dbdf5..22ccc993d 100644
--- a/src/fabric/src/fabric2_fdb.erl
+++ b/src/fabric/src/fabric2_fdb.erl
@@ -1715,6 +1715,7 @@ get_previous_transaction_result() ->
execute_transaction(Tx, Fun, LayerPrefix) ->
+ put(?PDICT_CHECKED_MD_IS_CURRENT, false),
put(?PDICT_CHECKED_DB_IS_CURRENT, false),
Result = Fun(Tx),
case erlfdb:is_read_only(Tx) of