t0xa / gelfj

Graylog Extended Log Format (GELF) implementation in Java and log4j appender without any dependencies.
https://github.com/t0xa/gelfj/wiki
Other
186 stars 116 forks source link

Chunks are sent incorrectly #38

Closed sjoerdmulder closed 11 years ago

sjoerdmulder commented 11 years ago

When a chunked message is sent to graylog2 server the server will never beable to decode it:

2012-11-01 11:18:45,742 DEBUG: org.graylog2.messagehandlers.gelf.ChunkedGELFClientHandler - Got GELF message chunk: GELFClientChunk:
    Hash: bbb1b89a6c657373  Sequence: 0/4   Arrival: 1351768725 Data size: 4802

As you can see the datasize is larger than the max chunk-size, this because of the automatic concatting of the ByteBuffers in the channel.write()

Will submit a pull request resolving the issue making the request in graylog2 look like:

2012-11-01 11:21:38,017 DEBUG: org.graylog2.messagehandlers.gelf.GELFClientHandlerThread - Received message is chunked. Handling now.
2012-11-01 11:21:38,017 DEBUG: org.graylog2.messagehandlers.gelf.ChunkedGELFClientHandler - Got GELF message chunk: GELFClientChunk:
    Hash: bbb459916c657373  Sequence: 0/4   Arrival: 1351768898 Data size: 1420
2012-11-01 11:21:38,018 DEBUG: org.graylog2.messagehandlers.gelf.GELFClientHandlerThread - Received message is chunked. Handling now.
2012-11-01 11:21:38,018 DEBUG: org.graylog2.messagehandlers.gelf.ChunkedGELFClientHandler - Got GELF message chunk: GELFClientChunk:
    Hash: bbb459916c657373  Sequence: 1/4   Arrival: 1351768898 Data size: 1420
2012-11-01 11:21:38,019 DEBUG: org.graylog2.messagehandlers.gelf.GELFClientHandlerThread - Received message is chunked. Handling now.
2012-11-01 11:21:38,019 DEBUG: org.graylog2.messagehandlers.gelf.ChunkedGELFClientHandler - Got GELF message chunk: GELFClientChunk:
    Hash: bbb459916c657373  Sequence: 2/4   Arrival: 1351768898 Data size: 1420
2012-11-01 11:21:38,019 DEBUG: org.graylog2.messagehandlers.gelf.GELFClientHandlerThread - Received message is chunked. Handling now.
2012-11-01 11:21:38,020 DEBUG: org.graylog2.messagehandlers.gelf.ChunkedGELFClientHandler - Got GELF message chunk: GELFClientChunk:
    Hash: bbb459916c657373  Sequence: 3/4   Arrival: 1351768898 Data size: 504
t0xa commented 11 years ago

Thanks!