Storage2.expiration-grace-period

I am confused about the meaning of this config variable. Does it mean TTL data is not deleted immediately after expiration?

# how soon before expiration date should things be considered expired
# storage2.expiration-grace-period: 48h0m0s

IIRC it is meant to expire orders that aren’t sent to the satellite. In simpler words, if your node fails to send orders to satellites for a continuous 48 hours then they expire. You won’t get paid for those pieces contained in that order. You can look for such orders in the orders folder.

2 Likes
// V3-3143 Collection of expired pieces should be delayed after expiration
// to avoid premature deletion due to timezone issues, which may lead to
// storage node disqualification.
err := service.Collect(ctx, time.Now().Add(-service.expirationGracePeriod))

In other words, when a database scan is made to find expired pieces, indeed TTL files wait a bit more. This is a safety mechanism in case a node operator has a wrong time zone set.

2 Likes

So a 7 days TTL means 9 days for SNOs where 2 days are unpaid?

Can’t see how the satellite would know what the setting is, so unless you set it yourself to a different value, yep.