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

Wasted work in StyleConverterTest.setupClass

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-beta7
    • Fix Version/s: 2.0-beta8
    • Component/s: None
    • Labels:
    • Environment:

      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

            People

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

              Dates

              • Created:
                Updated:
                Resolved: