OUTDATED: In the current cache implementation, the assumption of a read-only environment for ApproveeViewModel's has led to the removal of db storage for Approvee objects. As a result, it is possible for both walking and transaction solidity propagation to be halted/hindered for transactions in the event that a given transaction's ApproveeViewModel has been swept from weak store by the Garbage Collector.
CURRENT: Transactions being passed through the cache should ensure the thread safety of the corresponding mutable fields to ensure that the logic does not ignore a parsed or solid transaction due to a race condition. Also, within the TVM store, we should be checking if the object exists before performing any caching and store logic. This is handled with the inclusion of #1774 .
OUTDATED: Fixes Dev-Ops issue #99
Type of change
Bug fix (a non-breaking change which fixes an issue)
How Has This Been Tested?
Requires testing in a larger network like devnet to confirm that it fixes the issue
Locally passes regression and unit tests
Checklist:
[x] My code follows the style guidelines for this project
[x] I have performed a self-review of my own code
[x] New and existing unit tests pass locally with my changes
Description
OUTDATED: In the current cache implementation, the assumption of a read-only environment for
ApproveeViewModel
's has led to the removal of db storage for Approvee objects. As a result, it is possible for both walking and transaction solidity propagation to be halted/hindered for transactions in the event that a given transaction'sApproveeViewModel
has been swept from weak store by the Garbage Collector.CURRENT: Transactions being passed through the cache should ensure the thread safety of the corresponding mutable fields to ensure that the logic does not ignore a parsed or solid transaction due to a race condition. Also, within the TVM store, we should be checking if the object exists before performing any caching and store logic. This is handled with the inclusion of #1774 .
OUTDATED: Fixes Dev-Ops issue #99
Type of change
How Has This Been Tested?
Checklist: