Skip to content
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

client-side polling in FSM leads to journal spam in Lotus #592

Open
raulk opened this issue Jul 26, 2021 · 0 comments
Open

client-side polling in FSM leads to journal spam in Lotus #592

raulk opened this issue Jul 26, 2021 · 0 comments

Comments

@raulk
Copy link
Member

raulk commented Jul 26, 2021

The storage client implements a form of polling through the FSM by triggering self-looping ClientEventWaitForDealState events. This polling is done every second in practice. Unfortunately, because these are FSM events, they trigger event subscribers, which in turn ends up writing a journal record on the Lotus side.

Basically, for every inflight storage deal that hasn't yet been accepted, Lotus will write a big log statement every second.

Relevant symbols are:

  • waitAgain
  • CheckForDealAcceptance
  • ClientEventWaitForDealState

We should get rid of this polling-via-the-FSM contraption, and instead just perform the polling through a standard ticker loop goroutine which triggers an event back to the event loop once a condition has been met. This can be started by CheckForDealAcceptance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant