Using DataBuffer.write(DataBuffer databuffer) in a Flux.reduce aggregation result in a IndexOutOfBoundsException when running on Netty. The reason for this is that the initial buffer does not have enough capacity to contain the data of all subsequent buffers.
#20898 Use of CompositeByteBuf in NettyDataBuffer results in IllegalReferenceCountException
Fixed by introducing Mono<DataBuffer> compose(Publisher<DataBuffer>). For Netty, this uses a CompositeByteBuf to compose the given data buffers into one. For the DefaultDataBuffer, this writes all data into one buffer.