Skip to content
This repository has been archived by the owner on Aug 31, 2021. It is now read-only.

contractWatcher method polling continuity fix. #144

Open
i-norden opened this issue Sep 23, 2019 · 0 comments
Open

contractWatcher method polling continuity fix. #144

i-norden opened this issue Sep 23, 2019 · 0 comments

Comments

@i-norden
Copy link
Collaborator

#143 removes a check that headers be processed with complete continuity, this allows us to stop and restart without freezing without the need to manually align the starting block number in the config with the next unchecked header in the database but can potentially lead to incomplete results from the automated method polling.

The contractWatcher uses values emitted from watched events as arguments for automated method polling, so if there are gaps in the headers and we haven't processed all the watched events up to a certain block then when it goes to poll methods at that block it could potentially be missing some of the arguments it should use.

The use of event values as arguments for method polling breaks down when the process is interrupted/restarted since arguments are currently only held in memory. A satisfactory solution to this issue would allow method polling/storage access to continue from the exact same state as where it left off after a restart.

The advent of the seed node and a reconfiguration of the contractWatcher to use it will provide a means of avoiding this issue altogether (accessing storage data from storage diffs instead of by public getter methods) and other improvements to the contractWatcher and so this issue should be made irrelevent by that upgrade.

For now, method polling should be treated/presented as a more experimental feature on top of the much more robust event watching capabilities.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant