Finschia / ostracon

Ostracon, a consensus algorithm, is forked from Tendermint Core. We have added VRF to Tendermint BFT. It adds randomness to PoS Validator elections and improves security.
Apache License 2.0
70 stars 28 forks source link

Remove global mutex from abci client. #308

Open egonspace opened 3 years ago

egonspace commented 3 years ago

Summary

We can(and must) remove the global mutex of abci client if abci server(app) controls concurrency by itself. If app controls concurrency by itself, we can have more chance to increase the concurrent performance.

type localClient struct {
    service.BaseService

    // TODO: remove `mtx` to increase concurrency. We could remove it because the app should protect itself.
    mtx *tmsync.Mutex
    // CONTRACT: The application should protect itself from concurrency as an abci server.
    types.Application

    globalCbMtx tmsync.Mutex
    globalCb    GlobalCallback
}

Problem Definition

Proposal


For Admin Use

torao commented 2 years ago

(accidentally closed by bot😱)