We've observed that while attempting to fill gaps (missing rows in each table) in the database, that gaps would still remain.
We noticed upon further inspection that we were accessing the block header and payload endpoints incorrectly. Both can be accessed via chainweb-node's P2P API, however, it is only possible to get back at most 20 items and we had previously assumed we would always retrieve 360 items. We simply had to make sure to use chainweb-node's service API.
We also noticed another small error in the way gaps were being calculated. Even with a full db, chainweb-data would proclaim that it had gaps of size 0 at the genesis block of chain.
We've observed that while attempting to fill gaps (missing rows in each table) in the database, that gaps would still remain.
We noticed upon further inspection that we were accessing the block header and payload endpoints incorrectly. Both can be accessed via chainweb-node's P2P API, however, it is only possible to get back at most 20 items and we had previously assumed we would always retrieve 360 items. We simply had to make sure to use chainweb-node's service API.
We also noticed another small error in the way gaps were being calculated. Even with a full db, chainweb-data would proclaim that it had gaps of size 0 at the genesis block of chain.