The tests aren't comprehensive enough.
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Jun 7 2022
Jun 6 2022
Fix cache clearing during rescan and test it
Jun 3 2022
Supersceded by D11524
Use ProofComparatorByScore since it already exists and makes this code more consistent with existing code.
Jun 2 2022
Jun 1 2022
This change looks ok, so long as D11551 gets fixed and tests pass when you rebase.
May 31 2022
Pass voting parameters into isStale() instead of needlessly copying them around in VoteRecord.
May 30 2022
May 28 2022
Address feedback
May 27 2022
May 26 2022
May 25 2022
Some includes need cleanup
May 24 2022
- Adjust thresholds to better work for blocks with long propagation delays
- Fix some hard coded values in the tests so thresholds can be adjusted easier
May 23 2022
I gave my last comment some more thought and came to this conclusion: Even if my assumptions are correct in practice,
it's better (from a user UX perspective) to deploy with thresholds a bit higher than expected. Consider these scenarios:
I should also mention it's my expectation that confidence flips are not uniformly distributed, but more likely to occur earlier in the voting process. While it's possible to reach 127 confidence and reset twice, then hitting the low-end threshold, I believe this case to be rare.
In D11502#257747, @deadalnix wrote:These thresholds seems REALLY low. How did you pick them?
May 21 2022
- Rebase on changes in D11502
- Remove TestingSetup. It's not needed.
- Fix approach so that records will go stale for all confidence levels
- Add way more test coverage
- Tighten threshold for low-confidence stalls
May 20 2022
Added finalization sanity check
May 19 2022
This was only a concern in relation to changes I suggested in D11474. Since my approach on that is changing, this patch isn't relevant anymore.
May 18 2022
Remove unnecesarily complex logic from isStale(). The banning circumstance isn't possible since my understanding was incorrect.
Fix comment
Add requested comments
May 17 2022
- Add more test coverage
- Drop the stale vote in addition to reporting the VoteStatus
- Always check shouldPoll() in getInvsForNextPoll()
- Make the isStale() check more robust so that votes are only dropped when inflight polls have finished. Otherwise it's possible to ban peers that respond after the record has been dropped.
flagged -> marked
- Added some missing test cases
- Added requested log
- Make threshold unsigned
These timeouts are a symptom that the default is too long. They make local testing painful when debugging tests. We should consider lowering the default timeout if not too many tests are impacted, but that will be a separate change.
May 16 2022
Extract some parts of this diff into D11474. The design is moving away from complicating the vote rejection logic in favor of letting the network layer request inventories as needed.
I think I came up with a better approach.
I compared versions with Fabien and the version I'm on is older. Installing flake8 and autopep8 via pip3 instead of apt gives the newer versions which give clean linting for this file.