Open illia-li opened 1 week ago
Have to run it enough time to see that it fixes the issue ?
It got me thinking that channel is a bad mechanism for given problem, due to the inability to wait on it for empty state. Let's find better solution.
Have to run it enough time to see that it fixes the issue ?
It got me thinking that channel is a bad mechanism for given problem, due to the inability to wait on it for empty state. Let's find better solution.
This problem is not due to the use of channels, but due to the switching caused by runtime.Gosched
.
To replace the channels with something else, I need more context, what exactly needs to be tested.
Have to run it enough time to see that it fixes the issue ? It got me thinking that channel is a bad mechanism for given problem, due to the inability to wait on it for empty state. Let's find better solution.
This problem is not due to the use of channels, but due to the switching caused by
runtime.Gosched
. To replace the channels with something else, I need more context, what exactly needs to be tested.
How switching causes problems here?
How switching causes problems here?
To understand this, need to study the work of runtime.Gosched
very deeply and compare it with the configuration of the environment and everything that runs in it.
This is a very big job. In my opinion, there is no need for it now.
After examining the code, I did not find any other possible sources of the problem, except for runtime.Gosched
.
I replaced it and everything worked.
My guess is that for some reason the runtime.Gosched
execution is switched to some kind of long-playing goroutine
, which leads to a 10-minute awaiting and subsequent exit via panic
.
Reason - sometimes this test panics: