Hi Jan, > On Aug 30, 2016, at 7:44 PM, Jan Kunigk <[email protected]> wrote: > > Hi, I am trying to find out how exactly Kudu accesses storage. > > Does Kudu use mmap to access file content or does rather rely on regular > open/read/seek/write? >
Since mmap had some scalability limitations, kudu employs open/read/write - also log_block_manager.h in the source tree can give some more idea about how kudu addresses some limitations which may arise because of this choice. https://github.com/apache/kudu/blob/master/src/kudu/fs/log_block_manager.h <https://github.com/apache/kudu/blob/master/src/kudu/fs/log_block_manager.h> > Also, does Kudu offer any kind of consistency operations to clients, to > ensure that data is persisted on-disk, or transferred to additional replica > nodes? (hsync/hflush equivalent) > Kudu paper mentions about ‘consistency model’ from a client point of view. On the server side replicas follow eventual consistency model. kudu is not a filesystem per-se so not sure if there is an equivalent of hsync/hflush, but one can configure the kudu servers with --fsync options enabled. http://kudu.apache.org/docs/configuration_reference.html <http://kudu.apache.org/docs/configuration_reference.html> > Any explanation / pointer to the relevant source files is much appreciated. > For both of above, kudu paper is an excellent resource. > Best, Jan
