[FIP-46] Deployment and rollout guide
This document will contain the working instructions for deploying FIP-46. Any issues discovered will be included here.
this FIP delivers a new version of the FIO Core code which provides a new setting for the timeout for get table reads for secondary key information, this is set to 1 second in the proposed changes.
this should permit the limit and offset to be used across all FIO getters, and results should remain accurate when there are less than 20-40k rows per secondary index in a FIO state table.
for example get_fio_domains, this code fails to return accurate results with over 1500-2000 domains per account in versions before this change.
after the this change get_fio_domains will work as expected with up to 20-30k domains per account.
instructions should be provided to the node runner community as to how they can change the chain_plugin to provide longer walk times should they become necessary, this involves modifying the chain_plugin.hpp file and modifying the value of the SECONDARY_INDEX_MAX_READ_TIME_MICROSECONDS
to provide more time for seconrday index reads. This involves a rebuild of the core code, and repacking of the node executable.
see the dev spec for dev branches used and PRs
https://fioprotocol.atlassian.net/wiki/spaces/FD/pages/595427329
Branches used in rollout testing
Actions added
none
Contracts for deployment
none
Hashes from local dev env
Instructions for contract rollout
none
Feature validation on Testnet and Mainnet
Using a fio Node that has upgraded to latest (3.5?):
Using an account that has a large number of domains:
confirm get_fio_domains returns all domains
Confirm bloks.io and EOS Authority explorer show all domains for that account.
Testnet: Not sure there is an account to test this…
Mainnet: Use account tw4tjkmo4eyd