It seems that QFS Client uses internally read-ahead buffer of size readAheadBufferSize that is read always once in a whole piece. Then client waits until it is fully processed by calls to KfsClient::Read() and then it is filled again. The call to KfsClient::Read() after read-ahead buffer is fully read is blocked, until the buffer is fully filled again. It would be better to divide prefetch buffer to two or more pieces. One piece can be filled in the background while KfsClient::Read() would read from the other piece.
It seems that QFS Client uses internally read-ahead buffer of size
readAheadBufferSizethat is read always once in a whole piece. Then client waits until it is fully processed by calls toKfsClient::Read()and then it is filled again. The call toKfsClient::Read()after read-ahead buffer is fully read is blocked, until the buffer is fully filled again. It would be better to divide prefetch buffer to two or more pieces. One piece can be filled in the background whileKfsClient::Read()would read from the other piece.