chore(wallet) increase the all-time fetching sample count
Also: - extend maximum expected DB entries to fetch - fix test TestBalanceHistoryGetWithoutOverlappingFetch passing because of all-time stride side effect Closes status-desktop #9624
This commit is contained in:
parent
30f167e63d
commit
226fa7d696
|
@ -31,9 +31,9 @@ var averageBlockDurationForChain = map[uint64]time.Duration{
|
|||
|
||||
// Must have a common divisor to share common blocks and increase the cache hit
|
||||
const (
|
||||
twiceADayStride time.Duration = time.Duration(12) * time.Hour
|
||||
weekStride = 14 * twiceADayStride
|
||||
fourMonthsStride = 4 /*months*/ * 4 * weekStride
|
||||
twiceADayStride time.Duration = time.Duration(12) * time.Hour
|
||||
weekStride = 14 * twiceADayStride
|
||||
monthsStride = 1 /*months*/ * 4 * weekStride
|
||||
)
|
||||
|
||||
// bitsetFilters used to fetch relevant data points in one batch and to increase cache hit
|
||||
|
@ -74,7 +74,7 @@ var timeIntervalToStrideDuration = map[TimeInterval]time.Duration{
|
|||
BalanceHistory1Month: twiceADayStride,
|
||||
BalanceHistory6Months: weekStride,
|
||||
BalanceHistory1Year: weekStride,
|
||||
BalanceHistoryAllTime: fourMonthsStride,
|
||||
BalanceHistoryAllTime: monthsStride,
|
||||
}
|
||||
|
||||
func strideBlockCount(timeInterval TimeInterval, chainID uint64) int {
|
||||
|
@ -244,7 +244,7 @@ func (b *Balance) get(ctx context.Context, chainID uint64, currency string, addr
|
|||
startTimestamp = endTimestamp - int64(timeIntervalDuration[timeInterval].Seconds())
|
||||
fetchTimestamp = startTimestamp - int64(timeIntervalToStrideDuration[timeInterval].Seconds())
|
||||
}
|
||||
cached, _, err := b.db.filter(&assetIdentity{chainID, address, currency}, nil, &balanceFilter{fetchTimestamp, endTimestamp, expandFlag(timeIntervalToBitsetFilter[timeInterval])}, 200, asc)
|
||||
cached, _, err := b.db.filter(&assetIdentity{chainID, address, currency}, nil, &balanceFilter{fetchTimestamp, endTimestamp, expandFlag(timeIntervalToBitsetFilter[timeInterval])}, 800, asc)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
@ -273,16 +273,18 @@ func TestBalanceHistoryGetWithoutOverlappingFetch(t *testing.T) {
|
|||
currentTimestamp := dataSource.TimeNow()
|
||||
getUntilTimestamp := currentTimestamp - int64((400 /*days*/ * 24 * time.Hour).Seconds())
|
||||
|
||||
fetchInterval := testInput.interval + 3
|
||||
if fetchInterval > BalanceHistoryAllTime {
|
||||
fetchInterval = BalanceHistory7Days + BalanceHistoryAllTime - testInput.interval
|
||||
getInterval := testInput.interval + 3
|
||||
if getInterval > BalanceHistoryAllTime {
|
||||
getInterval = BalanceHistory7Days + BalanceHistoryAllTime - testInput.interval
|
||||
}
|
||||
err := bh.update(context.Background(), dataSource, common.Address{7}, fetchInterval)
|
||||
err := bh.update(context.Background(), dataSource, common.Address{7}, testInput.interval)
|
||||
require.NoError(t, err)
|
||||
|
||||
balanceData, err := bh.get(context.Background(), dataSource.ChainID(), dataSource.Currency(), common.Address{7}, getUntilTimestamp, testInput.interval)
|
||||
balanceData, err := bh.get(context.Background(), dataSource.ChainID(), dataSource.Currency(), common.Address{7}, getUntilTimestamp, getInterval)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, 0, len(balanceData))
|
||||
if testInput.interval != BalanceHistoryAllTime {
|
||||
require.Equal(t, 0, len(balanceData))
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -688,7 +690,7 @@ func TestBlockStrideHaveCommonDivisor(t *testing.T) {
|
|||
|
||||
func TestBlockStrideMatchesBitsetFilter(t *testing.T) {
|
||||
filterToStrideEquivalence := map[bitsetFilter]time.Duration{
|
||||
filterAllTime: fourMonthsStride,
|
||||
filterAllTime: monthsStride,
|
||||
filterWeekly: weekStride,
|
||||
filterTwiceADay: twiceADayStride,
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue