Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-beta5
    • Fix Version/s: 2.0-beta7
    • Component/s: Appenders, Core
    • Labels:
      None

      Description

      On 2013/05/09, at 18:34, Tomek Kaczynski <tomek.kaczynski@gmail.com> wrote:

      Hi All,

      I'm using log4j2 since beta4, now beta5. In general it's a cute library, but there's some bug that I've found out recently :

      When a client code genreates a huge message ( 64k ), the underlying DatagramOutputStream fails ( UDP socket throws exception).

      After that all following flushes fail because data buffer is not cleared upon exception.

      So in lines

      DatagramOutputStream:91
      ----------------------------------------------------------------------
      public synchronized void flush() throws IOException {
      if (this.data != null && this.ds != null && this.address != null)

      { final DatagramPacket packet = new DatagramPacket(data, data.length, address, port); ds.send(packet); }

      data = null;
      }

      --------------------------------------------------------------------------

      data = null should be put in finally block or some simillar solution could be applied.

      What do you think ?

      Regards,
      Tomek

      Moreover DatagramOutputStream should check if message size is less then 64k .

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                remkop@yahoo.com Remko Popma
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: