-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Miners cannot activate some sectors with verified deals #1138
Comments
@ZenGround0 we added and set the all_or_nothing parameter during development, specifically in order to set it The PR is #715, but the discussion may have been in person. Future APIs associated with filecoin-project/FIPs#298 will probably expose this choice to the operator, or at least be different enough that it's reasonable to change the semantics. |
Yes as I remember it lotus TSEs asserted that this was the better behavior than allowing commitment to pass without the expected QAP, and the argument made sense to me. @TippyFlitsUK @rjan90 |
@geoff-vball we can do this but check in with TSEs first. My guess is we want to keep it this way. |
I can see the rationale there, and I do think most SPs would rather fail. The fact that the SP currently cannot commit if they want to seems problematic though. Could we set the flag to false and move the decision making for this to the client? |
I don't think I was part of the initial discussion, but here is my two cents. The concern was/is that if a Storage Provider expected 10x QAP and only received a portion of that QAP, they would rather have the sector activation fail than accidentally commit to a sector without the full amount of QAP. SP's wants/needs the QAP, and if it turns into regular deal sector (that is most likely free since it was intended as a FIL+ deal.) That's just taking up space, even CC sector would be better because then you can at least upgrade it. ( If it turns into a CC sector then I don't see the issue. )
It seems very unlikely that a SP would hold a deal in |
I agree with Nicklas that I think the chances of this cropping up are very unlikely. It would also make sense to have an env var/config available that would allow the client/SP to specify behaviour in niche use cases. If the default is to fail the sector activation, I would hope that there would be clear messaging in client/SP logs that explains exactly why. |
I think we can close this issue. We should add a parameter to sector activation that allows an SP to specify which behaviour they want, but that's an API change, and we generally try to minimise how often we do that (hence the current implementation which picks a policy). APIs will change anyway with future programmable markets stuff, and we can improve this at that point. |
Summary: Miners cannot activate a sector if it contains a verified deal for which 60 days have passed from when the
PublishStorageDeals
message landed on chain for that deal.Since FIP-0045,
PublishStorageDeals
creates an allocation with an expiration 60 days in the future. FIP-0045 states:Right now we cannot activate sectors with such deals.
The params for ClaimAllocations are:
Right now, only the miner actor can call
ClaimAllocations
and always calls withall_or_nothing
astrue
. This causes the entire sector activation to fail if the allocation for any verified deal in the sector is not able to be claimed. Since allocations expire 60 days after PSD, this is currently a hard window for sector activation.I think the fix here is just changing the miner actor to call
ClaimAllocations
withall_or_nothing = false
.I talked this over with @arajasek and we don't think there is any attack vector here, so making the issue public.
@anorth
The text was updated successfully, but these errors were encountered: