-
Notifications
You must be signed in to change notification settings - Fork 52
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
Add support for Workers #45
Comments
From what i observed setting
did not spawn a new thread in the engine for data delivery. IMO, full workers need not be supported as go lang has goroutines. But what is needed in an ability for the go plugins to run in a separate delivery thread. |
This patch adds worker support to golang output plugins, without which if golang plugins were becoming unresponsive it was blocking other i/p and o/p plugins as well This fixes issue fluent/fluent-bit-go#45 Signed-off-by: Gautam Punhani <[email protected]>
This patch adds worker support to golang output plugins, without which if golang plugins were becoming unresponsive it was blocking other i/p and o/p plugins as well This fixes issue fluent/fluent-bit-go#45 Signed-off-by: Gautam Punhani <[email protected]>
This patch adds worker support to golang output plugins, without which if golang plugins were becoming unresponsive it was blocking other i/p and o/p plugins as well This fixes issue fluent/fluent-bit-go#45 Signed-off-by: Gautam Punhani <[email protected]>
This patch adds worker support to golang output plugins, without which if golang plugins were becoming unresponsive it was blocking other i/p and o/p plugins as well This fixes issue fluent/fluent-bit-go#45 Signed-off-by: Gautam Punhani <[email protected]>
I merged the patch fluent/fluent-bit#3908 |
Should we add the RWMutex mentioned in b191f58 to protect the contexts map? |
I think it is better to add RWMutex for prevention. In my understanding, a lock is taken care on C side.
On the other hand, the API |
I think "lock-free" means that there is no lock on the C side, so |
This patch adds worker support to golang output plugins, without which if golang plugins were becoming unresponsive it was blocking other i/p and o/p plugins as well This fixes issue fluent/fluent-bit-go#45 Signed-off-by: Gautam Punhani <[email protected]>
Fluent bit added support for workers in v.1.7.0
https://fluentbit.io/announcements/v1.7.0/
It would be really valuble go plugins can also have worker support
Impact
Because of the single threaded nature if one output plugin is "stuck", then the subsequent outputs / pipelines are not getting executed fluent/fluent-bit#3088
I believe workers can solve this problem. Basically setting workers to 1 should ensure there is a separate thread for processing
The text was updated successfully, but these errors were encountered: