-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: fork tendermint client creator to NOT use mutex #6
Conversation
구동 중 panic 되어 확인 결과
두 이슈 해결 중에 local_client.go 를 통째로 가져오게 되었습니다. (localClient가 private 하여 구현을 가져올 수가 없음ㅜㅜ) 해결 후 쿼리 실행까지는 잘되고 performance와 sync 중 안정성을 테스트해보겠습니다. |
did some apache benchmark test between main branch(with mutex) and this branch(without mutex), main branch with mutex - a2d6343 Document Path: /staking/validators/terravaloper1259cmu5zyklsdkmgstxhwqpe0utfe5hhyty0at/delegations?height=5354666
|
@jeffwoooo the PR was more about allowing block injection while a query takes longer than a block interval |
thank you for the reply. that is right. I am testing with a request to is there a query that take much longer than 7 seconds? |
@jeffwoooo let's try |
@kjessec Hi! While testing with queries, I wondered why long query doesn't slow down syncing and finally figured out that block excutor(=> sync) is not using same mutex with query client. Multi app conn create 4 abci clients who have each one’s mutex, and assign them for each Mempool, Consensus, Query and Snapshot connection. So, long query would not slow down syncing by locking at least. Would you please check following and confirm that? |
@jeffwoooo oh this may be the case for sure. Hmm weird -- I thought we observed a case where the entire sync process is blocked during long queries. We should close this PR maybe? |
Yes, I agree to close it. I thought that I observed that case too. Let's open another issue again if we watch that case again. |
turned out the 4 local clients use same mutex given from local client creator. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i want to test running sync under heavy load.
it still slowing down syncing. i suspect db-side locking. |
* wip * feat: subscribe for cache channel * test: test cache module Co-authored-by: Jesse Chung <[email protected]>
This reverts commit a595edc. # Conflicts: # bin/v0.34.x/rpc/cache.go
RWMutex