Log4j 2
  1. Log4j 2
  2. LOG4J2-296

Wasted work in FlumePersistentManager.createManager

    Details

      Description

      The problem appears in Log4j 2.0-beta7 and in revision 1497930. I
      attached a one-line patch that fixes it.

      In method "FlumePersistentManager.createManager", the loop over
      "properties.entrySet()" should break immediately after "key" is set
      the first time to "entry.getValue()". I don't think "key" is set a
      second time (and therefore all future iterations are not useful), but
      if it is, then there is a problem in the implementation: when the loop
      exits, "key" would be set to the last value of "entry.getValue()" that
      meets some condition; however "properties.entrySet()" is a Set and
      therefore the order of iterating it is non-deterministic, i.e., the
      implementation should not rely on which the "last value" is.

      1. patch.diff
        0.7 kB
        Adrian Nistor

        Activity

        Hide
        Gary Gregory added a comment -

        Thank you for the patch.

        commit -m "[LOG4J2-296] Wasted work in FlumePersistentManager.createManager." C:/vcs/svn/apache/log4j2/trunk/src/changes/changes.xml C:/vcs/svn/apache/log4j2/trunk/flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumePersistentManager.java
            Sending        C:/vcs/svn/apache/log4j2/trunk/flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumePersistentManager.java
            Sending        C:/vcs/svn/apache/log4j2/trunk/src/changes/changes.xml
            Transmitting file data ...
            Committed revision 1498789.
        
        Show
        Gary Gregory added a comment - Thank you for the patch. commit -m "[LOG4J2-296] Wasted work in FlumePersistentManager.createManager." C:/vcs/svn/apache/log4j2/trunk/src/changes/changes.xml C:/vcs/svn/apache/log4j2/trunk/flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumePersistentManager.java Sending C:/vcs/svn/apache/log4j2/trunk/flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumePersistentManager.java Sending C:/vcs/svn/apache/log4j2/trunk/src/changes/changes.xml Transmitting file data ... Committed revision 1498789.

          People

          • Assignee:
            Gary Gregory
            Reporter:
            Adrian Nistor
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development