Adar Dembo created KUDU-2406:

             Summary: Don't persist directory filesystem block size
                 Key: KUDU-2406
             Project: Kudu
          Issue Type: Bug
          Components: fs
    Affects Versions: 1.7.0
            Reporter: Adar Dembo
             Fix For: 1.8.0

When creating a PathInstanceMetadataFile (i.e. block_manager_instance file) on 
disk, we store the filesystem block size in it, for use by Kudu block managers 
later on. Since the file doesn't yet exist, we derive this block size from a 
stat(2) syscall on the parent directory.

Later, when we load an existing PathInstanceMetadataFile and compare the 
filesystem block size in it to the current filesystem's block size, we derive 
from a stat(2) on the PathInstanceMetadataFile itself.

This inconsistency is problematic on filesystems that advertise a different 
block size for directories than for files. For example, Vormetric's encrypted 
filesystem (secfs2) on ext4 advertises a block size of 1 in directories and a 
block size of 4096 in files.

We really shouldn't be considering directories at all, since to the extent that 
the filesystem block size matters to Kudu, it's for alignment of blocks inside 

This message was sent by Atlassian JIRA

Reply via email to