Mount Azure blob with blob fuse

Hi everyone,

did anybody had success with mounting Azure Blob on userspace with blobfuse2?

It looks like mount works fine, but jupyterhub file browser fails to open files.
LOG_ERR [block_blob.go (512)]: BlockBlob::getAttrUsingList : blob .ipynb_checkpoints does not exist

I’ve tried to disable autosaving, but it didn’t help

below is blobfuse log output:


Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [libfuse_handler.go (613)]: Libfuse::libfuse_open : test
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [file_cache.go (771)]: FileCache::OpenFile : name=test, flags=32768, mode=-rwxr-xr-x
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [lru_policy.go (185)]: lruPolicy::IsCached : /tmp/blobcache/test
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_DEBUG [lru_policy.go (190)]: lruPolicy::IsCached : /tmp/blobcache/test, deleted:false
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_DEBUG [file_cache.go (872)]: FileCache::OpenFile : test will be served from cache
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_INFO [file_cache.go (897)]: FileCache::OpenFile : file=test, fd=15
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [libfuse_handler.go (661)]: Libfuse::libfuse_open : test, handle 17
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [libfuse_handler.go (734)]: Libfuse::libfuse_flush : test, handle: 17
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [libfuse_handler.go (783)]: Libfuse::libfuse_release : test, handle: 17
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [file_cache.go (905)]: FileCache::CloseFile : name=test, handle=17
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [lru_policy.go (163)]: lruPolicy::CacheInvalidate : /tmp/blobcache/test
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [libfuse_handler.go (415)]: Libfuse::libfuse_opendir : 
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [attr_cache.go (262)]: AttrCache::ReadDir : 
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [azstorage.go (278)]: AzStorage::StreamDir : Path , offset 0, count 5000
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (536)]: BlockBlob::List : prefix , marker 
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (431)]: BlockBlob::getAttrUsingRest : name .ipynb_checkpoints/
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_DEBUG [azstorage.go (299)]: AzStorage::StreamDir : Retrieved 7 objects with  marker for Path 
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [attr_cache.go (455)]: AttrCache::GetAttr : test
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_DEBUG [attr_cache.go (474)]: AttrCache::GetAttr : test served from cache
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [file_cache.go (1149)]: FileCache::GetAttr : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [attr_cache.go (455)]: AttrCache::GetAttr : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_DEBUG [attr_cache.go (465)]: AttrCache::GetAttr : .ipynb_checkpoints served from cache
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_DEBUG [file_cache.go (1161)]: FileCache::GetAttr : .ipynb_checkpoints does not exist in storage
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [libfuse_handler.go (392)]: Libfuse::libfuse_mkdir : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [attr_cache.go (221)]: AttrCache::CreateDir : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [azstorage.go (191)]: AzStorage::CreateDir : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (274)]: BlockBlob::CreateDirectory : name .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (912)]: BlockBlob::WriteFromBuffer : name .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [file_cache.go (1149)]: FileCache::GetAttr : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [attr_cache.go (455)]: AttrCache::GetAttr : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (522)]: BlockBlob::GetAttr : name .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (469)]: BlockBlob::getAttrUsingList : name .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (536)]: BlockBlob::List : prefix .ipynb_checkpoints, marker 
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (431)]: BlockBlob::getAttrUsingRest : name .ipynb_checkpoints/
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (505)]: BlockBlob::getAttrUsingList : So far retrieved 0 objects in 1 iterations
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_ERR [block_blob.go (512)]: BlockBlob::getAttrUsingList : blob .ipynb_checkpoints does not exist
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_DEBUG [file_cache.go (1161)]: FileCache::GetAttr : .ipynb_checkpoints does not exist in storage
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [libfuse_handler.go (440)]: Libfuse::libfuse_releasedir : , handle: 18
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [file_cache.go (1149)]: FileCache::GetAttr : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [attr_cache.go (455)]: AttrCache::GetAttr : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_DEBUG [attr_cache.go (465)]: AttrCache::GetAttr : .ipynb_checkpoints served from cache
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_DEBUG [file_cache.go (1161)]: FileCache::GetAttr : .ipynb_checkpoints does not exist in storage
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [libfuse_handler.go (392)]: Libfuse::libfuse_mkdir : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [attr_cache.go (221)]: AttrCache::CreateDir : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [azstorage.go (191)]: AzStorage::CreateDir : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (274)]: BlockBlob::CreateDirectory : name .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (912)]: BlockBlob::WriteFromBuffer : name .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [file_cache.go (1149)]: FileCache::GetAttr : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [attr_cache.go (455)]: AttrCache::GetAttr : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (522)]: BlockBlob::GetAttr : name .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (469)]: BlockBlob::getAttrUsingList : name .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (536)]: BlockBlob::List : prefix .ipynb_checkpoints, marker 
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (431)]: BlockBlob::getAttrUsingRest : name .ipynb_checkpoints/
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (505)]: BlockBlob::getAttrUsingList : So far retrieved 0 objects in 1 iterations
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_ERR [block_blob.go (512)]: BlockBlob::getAttrUsingList : blob .ipynb_checkpoints does not exist
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_DEBUG [file_cache.go (1161)]: FileCache::GetAttr : .ipynb_checkpoints does not exist in storage
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [file_cache.go (1149)]: FileCache::GetAttr : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [attr_cache.go (455)]: AttrCache::GetAttr : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_DEBUG [attr_cache.go (465)]: AttrCache::GetAttr : .ipynb_checkpoints served from cache
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_DEBUG [file_cache.go (1161)]: FileCache::GetAttr : .ipynb_checkpoints does not exist in storage
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [libfuse_handler.go (392)]: Libfuse::libfuse_mkdir : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [attr_cache.go (221)]: AttrCache::CreateDir : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [azstorage.go (191)]: AzStorage::CreateDir : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (274)]: BlockBlob::CreateDirectory : name .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (912)]: BlockBlob::WriteFromBuffer : name .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [file_cache.go (1149)]: FileCache::GetAttr : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [attr_cache.go (455)]: AttrCache::GetAttr : .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (522)]: BlockBlob::GetAttr : name .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (469)]: BlockBlob::getAttrUsingList : name .ipynb_checkpoints
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (536)]: BlockBlob::List : prefix .ipynb_checkpoints, marker 
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (431)]: BlockBlob::getAttrUsingRest : name .ipynb_checkpoints/
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_TRACE [block_blob.go (505)]: BlockBlob::getAttrUsingList : So far retrieved 0 objects in 1 iterations
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_ERR [block_blob.go (512)]: BlockBlob::getAttrUsingList : blob .ipynb_checkpoints does not exist
Thu Mar  9 02:55:08 UTC 2023 : blobfuse2[3532] : LOG_DEBUG [file_cache.go (1161)]: FileCache::GetAttr : .ipynb_checkpoints does not exist in storage```