You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Running tests on a developer machine always works as expected, but when the tests are run as part of CI via github actions they fail about half the time.
how to reproduce
For an Example look at: https://github.com/tablelandnetwork/jeti/actions/runs/5191892282/jobs/9360322039
You will see that the network logs are turned on and the tests start running before the Validator has created the healthbot table. Some of the tests pass in this case, but the tests that create tables end up failing because the validator transaction receipt polling is aborted after the polling timeout is reached.
As a means of exploring why this is happening I had the test setup wait for a full 60 seconds after the local-tableland network signaled that it is ready. The same intermittent failures are still occurring.
I have a few theories why this is happening:
The Validator process is failing before the node.js process error listener has been attached correctly.
The Validator startup process is still taking place when the local-tableland parent process is signaling the network is ready.
The Validator is starting, but being overwhelmed with polling requests and smart contract events.
What is expected
This package should work correctly for CI done via github actions
Additional context
The parent process signals that the network is ready by inspecting the Validator process stdout, and waiting for a specific message. That message is currently the string "processing height". This is brittle at best, and we should consider having the Validator log a specific message when it considers itself to be fully online.
what happens
Running tests on a developer machine always works as expected, but when the tests are run as part of CI via github actions they fail about half the time.
how to reproduce
For an Example look at: https://github.com/tablelandnetwork/jeti/actions/runs/5191892282/jobs/9360322039
You will see that the network logs are turned on and the tests start running before the Validator has created the healthbot table. Some of the tests pass in this case, but the tests that create tables end up failing because the validator transaction receipt polling is aborted after the polling timeout is reached.
As a means of exploring why this is happening I had the test setup wait for a full 60 seconds after the local-tableland network signaled that it is ready. The same intermittent failures are still occurring.
I have a few theories why this is happening:
What is expected
This package should work correctly for CI done via github actions
Additional context
The parent process signals that the network is ready by inspecting the Validator process stdout, and waiting for a specific message. That message is currently the string "processing height". This is brittle at best, and we should consider having the Validator log a specific message when it considers itself to be fully online.
--
See the original issue here for more context.
From SyncLinear.com | TABJS-17
The text was updated successfully, but these errors were encountered: