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
.

Reply via email to