filecoin-project / lotus

Reference implementation of the Filecoin protocol, written in Go
https://lotus.filecoin.io/
Other
2.85k stars 1.27k forks source link

Make batch message more clever #9041

Open jennijuju opened 2 years ago

jennijuju commented 2 years ago

Checklist

Lotus component

Improvement Suggestion

as stated in PRs like https://github.com/filecoin-project/lotus/pull/8986

batch messages may hit block limit - lotus should be clever enough know when to chunk them and how.

jennijuju commented 2 years ago

if message runs out of the gas (which the error returned is ErrOutOfGas), lotus should handle the message more intelligently, i.e: do less batching and split things into multiple messages. Message we wanna handle:

current state of art & related previous work: https://github.com/filecoin-project/lotus/releases/tag/v1.16.1

shrenujbansal commented 2 years ago

Splitting the batch for WindowedPost is considerably high effort for the below reasons:

In addition, https://github.com/filecoin-project/builtin-actors/pull/677 in NV17 significantly reduces the underlying problem this is trying to solve with improving gas usage for expiring sectors

Instead, we will implement a simpler change to have a user config which makes partitions with recovery sectors, the only partition in a single PoST message. This should further reduce the occurrence of the problem and is a significantly simpler change

arajasek commented 2 years ago

Descoping from nv17 milestone now that 9413 has landed -- it needs to be backported into release/v1.18.0 though.