This would cause any logging calls from flume to go crazy if the channel is full or the error happens on every attempt (like Avro RPC failing, due to a bad next tier or something). Perhaps, there is a way to divert all calls from org.apache.flume.* to LogLog in the log4j2 setup phase(or its equivalent in log4j2)? This cannot be done generically in Flume, since this would affect any application using an embedded agent (I know log4j2 embedded agent is not Flume's built in one, either way it is pretty much the same problem)
On Monday, June 10, 2013 at 3:31 PM, Edward Sargisson wrote:
> Hi all,
> I have discovered a defect in the way the Log4j2 embedded Flume agent
> works. As it is an interaction between the two code bases I am taking the
> liberty of making both teams aware of it by cross-posting to both dev lists.
> The summary is that, during a rollback, Flume's
> org.apache.flume.channel.file.Log calls the logging subsystem at line 566.
> This recursive call causes problems. There are other places where logging
> is called which cause similar problems.
> Details: https://issues.apache.org/jira/browse/LOG4J2-278