Uploaded image for project: 'Log4j 2'
  1. Log4j 2
  2. LOG4J2-296

Wasted work in FlumePersistentManager.createManager

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

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.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            ggregory Gary D. Gregory
            adriannistor Adrian Nistor
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment