fluent / fluent/fluent-logger-python

sock.connect hang

Open
#175 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
457
Forks
138
PR merge metrics
No merged PRs in 30d

Description

I encountered a problem when using asyncsender, the fastapi project, fluent-logger==0.9.6

When I was running pytest, I found that it would be blocked for a long time after the pytest ended

And not any log to tell me why, stuck here for a while time

Found that when the logger sends logs, each log will be blocked for 20 seconds because of socket connect.

Because the fluent address error, every time when `_send_loop` consume a log, it will trigger `_reconnect`.

And each `_reconnect` will took 20 seconds. I thought of two ways
- maybe there is a way that we can add timeout on connect
- when we meeted this kind error, we clear the queue and print some log

Sorry about the bad english :). Feel free to close this if un-needed :)

![image](https://user-images.githubusercontent.com/22811481/115949548-8125ed80-a508-11eb-932f-8295d4b1545a.png)

![image](https://user-images.githubusercontent.com/22811481/115949056-bc262200-a504-11eb-9245-60ce2fb673ef.png)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the logger's _send_loop and _reconnect paths, then reproduce the behavior with pytest and an invalid Fluent address. Check how socket connection failures block log consumption and verify the chosen handling prevents repeated 20-second stalls while providing the reported diagnostic behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
observability
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.