fluent/fluent-logger-java

There is no way to set socket read timeout

jacobuk opened this issue · 1 comments

There is no way to set a socket read timeout.

socket.setSoTimeout() is not configurable.

So if there are network issues (packet loss for a certain duration) OR if fluentd process itself is not responding then all logging threads could get blocked and bring the application to a standstill.

In fluent-logger-java if we add a new configuration, we need to encode it in a key string of map at https://github.com/fluent/fluent-logger-java/blob/master/src/main/java/org/fluentd/logger/FluentLoggerFactory.java#L56. It's introduced kinda difficulty in terms of maintainability. The key length would get longer and longer if we add new configurations. So we don't have a plan to add new configurations actively.

If you need to ingest data to Fluentd with socket read timeout, you might be interested in another logger https://github.com/komamitsu/fluency#socket-configuration.