dusk-network / rusk

The reference Dusk platform implementation and tools
Mozilla Public License 2.0
164 stars 60 forks source link

Separate Archivers from Provisioners #1895

Open HDauven opened 4 months ago

HDauven commented 4 months ago

Summary

Provisioners should turn off all client APIs and prune transaction history.

Possible solution design or implementation

This should be a configurable setting, where the user can choose how many blocks they want to keep.

Additional context

This is also a mitigation for the too many file descriptors problem caused by RocksDB.

Neotamandua commented 2 months ago

For the record: When it comes to separating, it's good to do it in a way like @miloszm suggested and reduce the number of cfg flags where possible and still have a common code base afterwards. (related to https://github.com/dusk-network/rusk/pull/2338#pullrequestreview-2296407510)

herr-seppia commented 1 month ago

turn off all client APIs and prune transaction history

I disagree, client API can be relevant for provisioners too, and there is already a config flag to disable it

HDauven commented 1 month ago

turn off all client APIs and prune transaction history

I disagree, client API can be relevant for provisioners too, and there is already a config flag to disable it

I agree with this. And think it's wrongly scoped in the issue. The intent for this issue is partially resolved by #2338.

It would probably be better to close this issue and open up a separate issue for state pruning on provisioners. Something to be tackled later in the future post-mainnet.