Log4j 2
  1. Log4j 2
  2. LOG4J2-298

Wasted work in StyleConverterTest.setupClass

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major 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.

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

        Activity

        Hide
        Gary Gregory added a comment -

        Done as of revision 1498780.

        Show
        Gary Gregory added a comment - Done as of revision 1498780.

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development