problems during and after host consensus rescan
Created by: david60
Hi,
I noticed a couple of effects during or after the host does a consensus rescan. (I don't have the exact sequence of events which triggered the original rescan, possibly I triggered it by removing the consensus set).
(i) after the rescan the host apparently advanced in block height by 2 for each block received. Seems to be because ConsensusSetSubscribe() leaves the host subscribed even if it returns an error. (i.e. in host's initConsensusSubscription() the ErrInvalidConsensusChangeID error is used to trigger the rescan, after which the host subscribes again, leaving it subscribed twice).
(ii) sometimes I saw some panics during the rescan, from within initRescan(). Apparently due to the requeue of action items for all storageobligations at the end of initRescan, where it can call queueActionItem with a height below the current blockHeight. (i.e. so.expiration()-revisionSubmissionBuffer for an older storageobligation).
Sorry I don't have proper errors to report for this ticket. I hope it helps anyway.
David