ostracon icon indicating copy to clipboard operation
ostracon copied to clipboard

Remove global mutex from abci client.

Open egonspace opened this issue 3 years ago • 1 comments

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

egonspace avatar Aug 25 '21 07:08 egonspace

(accidentally closed by bot😱)

torao avatar Mar 07 '22 04:03 torao