ostracon
ostracon copied to clipboard
Remove global mutex from abci client.
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
- [ ] Not duplicate issue
- [ ] Appropriate labels applied
- [ ] Appropriate contributors tagged
- [ ] Contributor assigned/self-assigned
(accidentally closed by bot😱)