From 3d4af9a0c4e8ae0053a18076d88e415e12d36aae Mon Sep 17 00:00:00 2001 From: Evan Vigil-McClanahan Date: Thu, 26 May 2022 14:39:48 -0700 Subject: [PATCH] tan and clean witness validation cache --- src/transactions/v2/blockchain_txn_rewards_v2.erl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/transactions/v2/blockchain_txn_rewards_v2.erl b/src/transactions/v2/blockchain_txn_rewards_v2.erl index 6782d2b573..e44f078aba 100644 --- a/src/transactions/v2/blockchain_txn_rewards_v2.erl +++ b/src/transactions/v2/blockchain_txn_rewards_v2.erl @@ -359,6 +359,10 @@ calculate_rewards_metadata(Start, End, Chain) -> perf_report(PerfTab), catch ets:delete(PerfTab), erlang:erase({Me, '$rwd_perf'}), + PDict = erlang:get(), + lists:foreach(fun({{vw, _, _} = K, _}) -> + erlang:erase(K) + end, PDict), {ok, Results} catch C:Error:Stack -> @@ -1221,10 +1225,10 @@ poc_witness_reward(Txn, AccIn, WitStart = erlang:monotonic_time(microsecond), ElemHash = erlang:phash2(Elem), ValidWitnesses = - case get({KeyHash, ElemHash}) of + case get({vw, KeyHash, ElemHash}) of undefined -> VW = TxnType:valid_witnesses(Elem, WitnessChannel, RegionVars, Ledger), - put({KeyHash, ElemHash}, VW), + put({vw, KeyHash, ElemHash}, VW), VW; VW -> VW end, @@ -1565,10 +1569,10 @@ legit_witnesses(Txn, Chain, Ledger, Elem, StaticPath, RegionVars, Version) -> KeyHash = TxnType:onion_key_hash(Txn), ElemHash = erlang:phash2(Elem), ValidWitnesses = - case get({KeyHash, ElemHash}) of + case get({vw, KeyHash, ElemHash}) of undefined -> VW = TxnType:valid_witnesses(Elem, WitnessChannel, RegionVars, Ledger), - put({KeyHash, ElemHash}, VW), + put({vw, KeyHash, ElemHash}, VW), VW; VW -> VW end,