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

Wasted work in StyleConverterTest.setupClass

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

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.0-beta7
    • 2.0-beta8
    • None
    • any

    Description

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

      In method "StyleConverterTest.setupClass", the loop over
      "config.getAppenders().entrySet()" should break immediately after
      "app" is set the first time to "entry.getValue()". I don't think
      "app" 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, "app" would be set to the last
      value of "entry.getValue()" that has "entry.getKey()" equal to "List";
      however "config.getAppenders().entrySet()" is a Set and therefore the
      order of iterating it is non-deterministic, i.e., the implementation
      should not rely on what the "last value" is.

      Methods "ThrowableTest.setupClass" and
      "ExtendedThrowableTest.setupClass" have similar problems. I attached
      similar patches (patch2.diff and patch3.diff respectively) for them.

      Attachments

        1. patch.diff
          0.6 kB
          Adrian Nistor
        2. patch2.diff
          0.6 kB
          Adrian Nistor
        3. patch3.diff
          0.6 kB
          Adrian Nistor

        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