Closed Mmdixon closed 1 year ago
If your account is a non-HNS account, blobfuse will look for special directory marker files in the container. These are required by blobfuse to identify a directory. If data was uploaded to container through any means which did not create these files, blobfuse will fail to identify them. We have already committed the fix for this as part of #927. If it's possible for you to locally build blobfuse you can take top of the "main" branch and try it out. We are planning to release preview-4 version by end of this month, which shall have the fix.
Ok I might try the main branch then. Previously, when using blobfuse v1.4.5 it was able to list the directories on the same account, without HNS enabled.
@vibhansa-msft I tried on the main branch blobfuse2 version: 2.0.0-preview.4
and added
azstorage:
virtual-directory: true
to the config. But I am still not seeing the "missing" directories?
Hi @Mmdixon, could you please describe a minimal way to structure the storage account so we can reproduce your issue? I attempted to replicate the issue with no luck so far.
Can you also share mount command and config you used for 1.4.5 so that we can compare, in case we are missing some options with blobfuse2.
@gapra-msft it's a Premium LRS BlockBlobStorage account. There are multiple folders each with a couple of subfolders each with ~64K files.
the v1 config file just has the account/container/key in it
$ ./blobfuse2 --version
blobfuse2 version 2.0.0-preview.4
$ ./blobfuse2 mount /blob/cache --config-file=~/code/BlobfuseConfigs/turingitp2Config.yaml
$ ls -l /blob/cache/CC
drwxrwxrwx 2 madixon madixon 4096 Sep 13 2021 2021-25
$ blobfuse --version
blobfuse 1.4.5
$ blobfuse /blob/data1 --config-file=/home/madixon/code/BlobfuseConfigs/turingitp2Config.cfg --tmp-path=/tmp/blob/data1/ --file-cache-timeout-in-seconds=86400 --use-attr-cache=true -o attr_timeout=120 -o entry_timeout=120 -o negative_timeout=240
$ ls -l /blob/data1/CC
drwxrwx--- 2 madixon madixon 4096 Sep 13 2021 2021-25
drwxrwx--- 2 madixon madixon 4096 Sep 11 2021 cache
drwxrwx--- 2 madixon madixon 4096 Jul 30 23:02 cache_conv
drwxrwx--- 2 madixon madixon 4096 Apr 20 01:30 dedupe
...
etc
listing in the blobfuse v1 mount for the first time does take some time compared to blobfuse2 (many blobs in this container).
updated syslog since switching to main
(the original one was from the release). Can see BlockBlob::getAttrUsingList
gets called.
Oct 17 20:15:49 turing-ws312 blobfuse2[377835]: LOG_TRACE [block_blob.go (519)]: BlockBlob::List : prefix CC/, marker
Oct 17 20:15:49 turing-ws312 blobfuse2[377835]: LOG_DEBUG [azstorage.go (299)]: AzStorage::StreamDir : Retrieved 1 objects with marker for Path CC/
Oct 17 20:15:49 turing-ws312 blobfuse2[377835]: LOG_TRACE [attr_cache.go (262)]: AttrCache::ReadDir : CC/
Oct 17 20:15:49 turing-ws312 blobfuse2[377835]: LOG_TRACE [azstorage.go (278)]: AzStorage::StreamDir : Path CC/, offset 1, count 5000
Oct 17 20:15:49 turing-ws312 blobfuse2[377835]: LOG_TRACE [block_blob.go (519)]: BlockBlob::List : prefix CC/, marker 2!76!MDAwMDExIUNDLzIwMjEtMjUwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--
Oct 17 20:15:49 turing-ws312 blobfuse2[377835]: LOG_DEBUG [azstorage.go (299)]: AzStorage::StreamDir : Retrieved 0 objects with 2!76!MDAwMDExIUNDLzIwMjEtMjUwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ-- marker for Path CC/
Oct 17 20:15:49 turing-ws312 blobfuse2[377835]: LOG_TRACE [libfuse_handler.go (435)]: Libfuse::libfuse_releasedir : CC/, handle: 1
As per above logs, in first iteration we tried to get list of blobs on "cc/" path and we got just one object out. In next iteration we tried to get more, and we did not get any response from server. This is kind of server saying there are no elements on this path.
Kindly share your v1 mount command and v2 config file.
Kindly share your v1 mount command and v2 config file.
Did I not do that? v2 config file is in the original post + the virtual-directory
entry. the v1 mount command is in this comment https://github.com/Azure/azure-storage-fuse/issues/942#issuecomment-1281332953
azstorage:
sdk-trace: true
Can you add this to your v2 config towards the end and recollect the logs. As I mentioned earlier from storage it appears we are not getting the list of blobs. Just want to validate what request we are sending and what response we are getting.
@vibhansa-msft here is the logs with sdk-trace: true
Oct 18 14:12:42 turing-ws312 blobfuse2[385334]: LOG_TRACE [file_cache.go (1149)]: FileCache::GetAttr : CC
Oct 18 14:12:42 turing-ws312 blobfuse2[385334]: LOG_TRACE [attr_cache.go (455)]: AttrCache::GetAttr : CC
Oct 18 14:12:42 turing-ws312 blobfuse2[385334]: LOG_TRACE [block_blob.go (505)]: BlockBlob::GetAttr : name CC
Oct 18 14:12:42 turing-ws312 blobfuse2[385334]: LOG_TRACE [block_blob.go (452)]: BlockBlob::getAttrUsingList : name CC
Oct 18 14:12:42 turing-ws312 blobfuse2[385334]: LOG_TRACE [block_blob.go (519)]: BlockBlob::List : prefix CC, marker
Oct 18 14:12:42 turing-ws312 blobfuse2[385334]: LOG_INFO [utils.go (231)]: ==> OUTGOING REQUEST (Try=1)#012 GET https://turingitp2.blob.core.windows.net/vc-data-blob?comp=list&delimiter=%!F(MISSING)&include=metadata&maxresults=5000&prefix=CC&restype=container&timeout=3601#012 Authorization: REDACTED#012 User-Agent: [Azure-Storage-Fuse/2.0.0-preview.4 (Ubuntu 20.04.5 LTS) Azure-Storage/0.14 (go1.19.2; linux)]#012 X-Ms-Client-Request-Id: [259fde4b-6324-4515-7d59-6f534ef4fb8c]#012 X-Ms-Version: [2020-08-04]#012 x-ms-date: [Tue, 18 Oct 2022 18:12:42 GMT]
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_INFO [utils.go (231)]: ==> REQUEST/RESPONSE (Try=1/63.717915ms, OpTime=236.11542ms) -- RESPONSE SUCCESSFULLY RECEIVED#012 GET https://turingitp2.blob.core.windows.net/vc-data-blob?comp=list&delimiter=%!F(MISSING)&include=metadata&maxresults=5000&prefix=CC&restype=container&timeout=3601#012 Authorization: REDACTED#012 User-Agent: [Azure-Storage-Fuse/2.0.0-preview.4 (Ubuntu 20.04.5 LTS) Azure-Storage/0.14 (go1.19.2; linux)]#012 X-Ms-Client-Request-Id: [259fde4b-6324-4515-7d59-6f534ef4fb8c]#012 X-Ms-Version: [2020-08-04]#012 x-ms-date: [Tue, 18 Oct 2022 18:12:42 GMT]#012 --------------------------------------------------------------------------------#012 RESPONSE Status: 200 OK#012 Content-Type: [application/xml]#012 Date: [Tue, 18 Oct 2022 18:12:42 GMT]#012 Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0]#012 X-Ms-Client-Request-Id: [259fde4b-6324-4515-7d59-6f534ef4fb8c]#012 X-Ms-Request-Id: [3027bc8d-201e-000f-141d-e3b840000000]#012 X-Ms-Version: [2020-08-04]
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_TRACE [block_blob.go (478)]: BlockBlob::getAttrUsingList : Item 0 Blob CC
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_TRACE [libfuse_handler.go (410)]: Libfuse::libfuse_opendir : CC/
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_TRACE [attr_cache.go (262)]: AttrCache::ReadDir : CC/
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_TRACE [azstorage.go (278)]: AzStorage::StreamDir : Path CC/, offset 0, count 5000
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_INFO [azstorage.go (284)]: AzStorage::StreamDir : Unblocked List API
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_TRACE [block_blob.go (519)]: BlockBlob::List : prefix CC/, marker
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_INFO [utils.go (231)]: ==> OUTGOING REQUEST (Try=1)#012 GET https://turingitp2.blob.core.windows.net/vc-data-blob?comp=list&delimiter=%!F(MISSING)&include=metadata&maxresults=5000&prefix=CC%!F(MISSING)&restype=container&timeout=3601#012 Authorization: REDACTED#012 User-Agent: [Azure-Storage-Fuse/2.0.0-preview.4 (Ubuntu 20.04.5 LTS) Azure-Storage/0.14 (go1.19.2; linux)]#012 X-Ms-Client-Request-Id: [3919332c-f2fb-4c2d-5573-cd0a047c28ed]#012 X-Ms-Version: [2020-08-04]#012 x-ms-date: [Tue, 18 Oct 2022 18:12:43 GMT]
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_INFO [utils.go (231)]: ==> REQUEST/RESPONSE (Try=1/51.965242ms, OpTime=52.115184ms) -- RESPONSE SUCCESSFULLY RECEIVED#012 GET https://turingitp2.blob.core.windows.net/vc-data-blob?comp=list&delimiter=%!F(MISSING)&include=metadata&maxresults=5000&prefix=CC%!F(MISSING)&restype=container&timeout=3601#012 Authorization: REDACTED#012 User-Agent: [Azure-Storage-Fuse/2.0.0-preview.4 (Ubuntu 20.04.5 LTS) Azure-Storage/0.14 (go1.19.2; linux)]#012 X-Ms-Client-Request-Id: [3919332c-f2fb-4c2d-5573-cd0a047c28ed]#012 X-Ms-Version: [2020-08-04]#012 x-ms-date: [Tue, 18 Oct 2022 18:12:43 GMT]#012 --------------------------------------------------------------------------------#012 RESPONSE Status: 200 OK#012 Content-Type: [application/xml]#012 Date: [Tue, 18 Oct 2022 18:12:42 GMT]#012 Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0]#012 X-Ms-Client-Request-Id: [3919332c-f2fb-4c2d-5573-cd0a047c28ed]#012 X-Ms-Request-Id: [3027bc9d-201e-000f-211d-e3b840000000]#012 X-Ms-Version: [2020-08-04]
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_DEBUG [azstorage.go (299)]: AzStorage::StreamDir : Retrieved 1 objects with marker for Path CC/
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_TRACE [attr_cache.go (262)]: AttrCache::ReadDir : CC/
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_TRACE [azstorage.go (278)]: AzStorage::StreamDir : Path CC/, offset 1, count 5000
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_TRACE [block_blob.go (519)]: BlockBlob::List : prefix CC/, marker 2!76!MDAwMDExIUNDLzIwMjEtMjUwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_INFO [utils.go (231)]: ==> OUTGOING REQUEST (Try=1)#012 GET https://turingitp2.blob.core.windows.net/vc-data-blob?comp=list&delimiter=%!F(MISSING)&include=metadata&marker=2%21MDAwMDExIUNDLzIwMjEtMjUwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--&maxresults=5000&prefix=CC%!F(MISSING)&restype=container&timeout=3601#012 Authorization: REDACTED#012 User-Agent: [Azure-Storage-Fuse/2.0.0-preview.4 (Ubuntu 20.04.5 LTS) Azure-Storage/0.14 (go1.19.2; linux)]#012 X-Ms-Client-Request-Id: [af773a45-f7b4-41db-7cb1-854f8aa44681]#012 X-Ms-Version: [2020-08-04]#012 x-ms-date: [Tue, 18 Oct 2022 18:12:43 GMT]
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_INFO [utils.go (231)]: ==> REQUEST/RESPONSE (Try=1/51.303861ms, OpTime=51.483544ms) -- RESPONSE SUCCESSFULLY RECEIVED#012 GET https://turingitp2.blob.core.windows.net/vc-data-blob?comp=list&delimiter=%!F(MISSING)&include=metadata&marker=2%21MDAwMDExIUNDLzIwMjEtMjUwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--&maxresults=5000&prefix=CC%!F(MISSING)&restype=container&timeout=3601#012 Authorization: REDACTED#012 User-Agent: [Azure-Storage-Fuse/2.0.0-preview.4 (Ubuntu 20.04.5 LTS) Azure-Storage/0.14 (go1.19.2; linux)]#012 X-Ms-Client-Request-Id: [af773a45-f7b4-41db-7cb1-854f8aa44681]#012 X-Ms-Version: [2020-08-04]#012 x-ms-date: [Tue, 18 Oct 2022 18:12:43 GMT]#012 --------------------------------------------------------------------------------#012 RESPONSE Status: 200 OK#012 Content-Type: [application/xml]#012 Date: [Tue, 18 Oct 2022 18:12:42 GMT]#012 Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0]#012 X-Ms-Client-Request-Id: [af773a45-f7b4-41db-7cb1-854f8aa44681]#012 X-Ms-Request-Id: [3027bca2-201e-000f-261d-e3b840000000]#012 X-Ms-Version: [2020-08-04]
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_DEBUG [azstorage.go (299)]: AzStorage::StreamDir : Retrieved 0 objects with 2!76!MDAwMDExIUNDLzIwMjEtMjUwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ-- marker for Path CC/
Oct 18 14:12:43 turing-ws312 blobfuse2[385334]: LOG_TRACE [libfuse_handler.go (435)]: Libfuse::libfuse_releasedir : CC/, handle: 1
Can you collect logs for v1 while you are listing and share that too, just to compare on what is going wrong here.
@vibhansa-msft Some v1 logs
/
in the URL appear as %!F(MISSING)
in v2?
Yes I saw that too, let me investigate if that is something playing a role here or just a logging typos.
Ok, this is just a logging issue and not the URL. If there is anything in string with '%' logging is not able to escape that properly. So this is not the root-cause for the issue we are trying to trace.
I have a theory here which v1 log supports. Need to check if v2 does not handle this situation.
Oct 19 11:14:46 turing-ws312 blobfuse[393029]: ==> REQUEST/RESPONSE :: GET https://turingitp2.blob.core.windows.net/vc-data-blob?comp=list&delimiter=/&include=metadata&maxresults=5000&prefix=CC/&restype=container?&User-Agent=azure-storage-fuse/1.4.5&x-ms-date=Wed, 19 Oct 2022 15:14:46 GMT&x-ms-version=2018-11-09&Authorization=****&Transfer-Encoding=--------------------------------------------------------------------------------RESPONSE Status :: 200 :: REQ ID : f949eaf6-201e-0026-74cd-e3ce02000000
Oct 19 11:14:46 turing-ws312 blobfuse[393029]: Function azs_readdir, in file /home/vsts/work/1/s/blobfuse/directoryapis.cpp, line 221: #### So far 2 items retreived in 1 iterations.
Oct 19 11:14:46 turing-ws312 blobfuse[393029]: Function azs_readdir, in file /home/vsts/work/1/s/blobfuse/directoryapis.cpp, line 145: azs_readdir : About to call list_blobs. Container = vc-data-blob, delimiter = /, continuation = 2!76!MDAwMDExIUNDLzIwMjEtMjUwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--, prefix = CC/
Oct 19 11:14:47 turing-ws312 blobfuse[393029]: ==> REQUEST/RESPONSE :: GET https://turingitp2.blob.core.windows.net/vc-data-blob?comp=list&delimiter=/&include=metadata&marker=2!76!MDAwMDExIUNDLzIwMjEtMjUwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ--&maxresults=5000&prefix=CC/&restype=container?&User-Agent=azure-storage-fuse/1.4.5&x-ms-date=Wed, 19 Oct 2022 15:14:46 GMT&x-ms-version=2018-11-09&Authorization=****&Transfer-Encoding=--------------------------------------------------------------------------------RESPONSE Status :: 200 :: REQ ID : b5a612e0-601e-004c-0bcd-e392a9000000
Oct 19 11:14:47 turing-ws312 blobfuse[393029]: Function azs_readdir, in file /home/vsts/work/1/s/blobfuse/directoryapis.cpp, line 145: azs_readdir : About to call list_blobs. Container = vc-data-blob, delimiter = /, continuation = 2!156!MDAwMDcyIUNDL0NDXzIwMjFfTWF5LzIwMjEtMjEvQ0MtTUFJTi0yMDIxMDUwODEyMTQ0Ni0yMDIxMDUwODE1MTQ0Ni0wMDE2NC5qc29ubCEwMDAwMjghMTYwMS0wMS0wMVQwMDowMDowMC4wMDAwMDAwWiE-, prefix = CC/
Oct 19 11:14:47 turing-ws312 blobfuse[393029]: ==> REQUEST/RESPONSE :: GET https://turingitp2.blob.core.windows.net/vc-data-blob?comp=list&delimiter=/&include=metadata&marker=2!156!MDAwMDcyIUNDL0NDXzIwMjFfTWF5LzIwMjEtMjEvQ0MtTUFJTi0yMDIxMDUwODEyMTQ0Ni0yMDIxMDUwODE1MTQ0Ni0wMDE2NC5qc29ubCEwMDAwMjghMTYwMS0wMS0wMVQwMDowMDowMC4wMDAwMDAwWiE-&maxresults=5000&prefix=CC/&restype=container?&User-Agent=azure-storage-fuse/1.4.5&x-ms-date=Wed, 19 Oct 2022 15:14:47 GMT&x-ms-version=2018-11-09&Authorization=****&Transfer-Encoding=--------------------------------------------------------------------------------RESPONSE Status :: 200 :: REQ ID : ea3047f3-a01e-0051-69cd-e34b43000000
Oct 19 11:14:47 turing-ws312 blobfuse[393029]: Function azs_readdir, in file /home/vsts/work/1/s/blobfuse/directoryapis.cpp, line 145: azs_readdir : About to call list_blobs. Container = vc-data-blob, delimiter = /, continuation = 2!160!MDAwMDc2IUNDL0NDXzIwMjFfTWF5L3Njb3Jlc190ZXN0L0NDLU1BSU4tMjAyMTA1MTgwMzMxNDgtMjAyMTA1MTgwNjMxNDgtMDAwMDkuanNvbmwhMDAwMDI4ITE2MDEtMDEtMDFUMDA6MDA6MDAuMDAwMDAwMFoh, prefix = CC/
Oct 19 11:14:47 turing-ws312 blobfuse[393029]: ==> REQUEST/RESPONSE :: GET https://turingitp2.blob.core.windows.net/vc-data-blob?comp=list&delimiter=/&include=metadata&marker=2!160!MDAwMDc2IUNDL0NDXzIwMjFfTWF5L3Njb3Jlc190ZXN0L0NDLU1BSU4tMjAyMTA1MTgwMzMxNDgtMjAyMTA1MTgwNjMxNDgtMDAwMDkuanNvbmwhMDAwMDI4ITE2MDEtMDEtMDFUMDA6MDA6MDAuMDAwMDAwMFoh&maxresults=5000&prefix=CC/&restype=container?&User-Agent=azure-storage-fuse/1.4.5&x-ms-date=Wed, 19 Oct 2022 15:14:47 GMT&x-ms-version=2018-11-09&Authorization=****&Transfer-Encoding=--------------------------------------------------------------------------------RESPONSE Status :: 200 :: REQ ID : 1393a1cb-a01e-0073-6dcd-e32575000000
Oct 19 11:14:47 turing-ws312 blobfuse[393029]: Function azs_readdir, in file /home/vsts/work/1/s/blobfuse/directoryapis.cpp, line 221: #### So far 4 items retreived in 4 iterations.
If we see this snippet from log, we are taking a token and asking backend to return us back with more elements (next block of elements in the listing). Server is returning back an empty list but at the same time it's also saying there are more items left. This means for some reason server did not return back any element and yet asked us to try back. In v2 we might be terminating the listing call if server returns back empty list. Will check the code and update on this.
I have a potential fix for the above-described situation in "vibhansa/v2/streamdiremptylist" branch. If you can pull this branch and build locally and give it a try, we can confirm this theory. As of now I am not able to recreate this situation locally so not able to validate my fix. For some reason your account is hitting this corner case where server does not return back any list item for couple of iterations.
thanks @vibhansa-msft the vibhansa/v2/streamdiremptylist
branch fixes the issue. Able to see all folders when listing the directory.
Thats great, thanks for trying this out quickly. I have raised a PR to merge the fix in main branch. Next release will have this fixed.
Can you try listing once with SDK trace on and share the complete log file. From backend side we want to understand in what condition this happens where server does not return a list but does return back a token.
@vibhansa-msft list on your branch? And include the startup mount logs as well?
yes, on this working code you can just enable sdk traces and it shall list some REST calls going for listing but not returning back with any item. Just want those ids to trace some logs and follow up with backend team on whether this is expected case or not.
@vibhansa-msft here is the full log
Thanks for sharing the logs. As updated earlier we have the fix ready and merged in main branch, next release shall have it. Closing this issue.
Which version of the blobfuse was used?
blobfuse2 version 2.0.0-preview.3
Which OS (please include version) are you using?
Ubuntu 20.04
What problem was encountered?
Doing
ls
in a mount directory doesn't list all the folders. But if Ils
on a one of those folders I know exists it works. Notice thededupe
folder is the hidden folder.Have you found a mitigation/solution?
The files exist but can't list them.
By default, blobfuse logs errors to syslog. If this is relevant, is there anything in the syslog that might be helpful?
Click for syslog
``` # ls /blob/cache/CC/ Oct 13 21:03:22 turing-ws312 blobfuse2[263529]: LOG_TRACE [file_cache.go (1149)]: FileCache::GetAttr : CC Oct 13 21:03:22 turing-ws312 blobfuse2[263529]: LOG_TRACE [attr_cache.go (455)]: AttrCache::GetAttr : CC Oct 13 21:03:22 turing-ws312 blobfuse2[263529]: LOG_TRACE [block_blob.go (415)]: BlockBlob::GetAttr : name CC Oct 13 21:03:22 turing-ws312 blobfuse2[263529]: LOG_TRACE [libfuse_handler.go (410)]: Libfuse::libfuse_opendir : CC/ Oct 13 21:03:22 turing-ws312 blobfuse2[263529]: LOG_TRACE [attr_cache.go (262)]: AttrCache::ReadDir : CC/ Oct 13 21:03:22 turing-ws312 blobfuse2[263529]: LOG_TRACE [azstorage.go (278)]: AzStorage::StreamDir : Path CC/, offset 0, count 5000 Oct 13 21:03:22 turing-ws312 blobfuse2[263529]: LOG_INFO [azstorage.go (284)]: AzStorage::StreamDir : Unblocked List API Oct 13 21:03:22 turing-ws312 blobfuse2[263529]: LOG_TRACE [block_blob.go (454)]: BlockBlob::List : prefix CC/, marker Oct 13 21:03:22 turing-ws312 blobfuse2[263529]: LOG_DEBUG [azstorage.go (299)]: AzStorage::StreamDir : Retrieved 1 objects with marker for Path CC/ Oct 13 21:03:22 turing-ws312 blobfuse2[263529]: LOG_TRACE [attr_cache.go (262)]: AttrCache::ReadDir : CC/ Oct 13 21:03:22 turing-ws312 blobfuse2[263529]: LOG_TRACE [azstorage.go (278)]: AzStorage::StreamDir : Path CC/, offset 1, count 5000 Oct 13 21:03:22 turing-ws312 blobfuse2[263529]: LOG_TRACE [block_blob.go (454)]: BlockBlob::List : prefix CC/, marker 2!76!MDAwMDExIUNDLzIwMjEtMjUwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ-- Oct 13 21:03:22 turing-ws312 blobfuse2[263529]: LOG_DEBUG [azstorage.go (299)]: AzStorage::StreamDir : Retrieved 0 objects with 2!76!MDAwMDExIUNDLzIwMjEtMjUwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ-- marker for Path CC/ Oct 13 21:03:22 turing-ws312 blobfuse2[263529]: LOG_TRACE [libfuse_handler.go (435)]: Libfuse::libfuse_releasedir : CC/, handle: 1 # ls /blob/cache/CC/dedupe/ Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [file_cache.go (1149)]: FileCache::GetAttr : CC/dedupe Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [attr_cache.go (455)]: AttrCache::GetAttr : CC/dedupe Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [block_blob.go (415)]: BlockBlob::GetAttr : name CC/dedupe Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [libfuse_handler.go (410)]: Libfuse::libfuse_opendir : CC/dedupe/ Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [attr_cache.go (262)]: AttrCache::ReadDir : CC/dedupe/ Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [azstorage.go (278)]: AzStorage::StreamDir : Path CC/dedupe/, offset 0, count 5000 Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [block_blob.go (454)]: BlockBlob::List : prefix CC/dedupe/, marker Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_DEBUG [azstorage.go (299)]: AzStorage::StreamDir : Retrieved 2 objects with marker for Path CC/dedupe/ Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [attr_cache.go (262)]: AttrCache::ReadDir : CC/dedupe/ Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [azstorage.go (278)]: AzStorage::StreamDir : Path CC/dedupe/, offset 2, count 5000 Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [block_blob.go (454)]: BlockBlob::List : prefix CC/dedupe/, marker 2!84!MDAwMDE3IUNDL2RlZHVwZS92MC4xLjAwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ-- Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_DEBUG [azstorage.go (299)]: AzStorage::StreamDir : Retrieved 1 objects with 2!84!MDAwMDE3IUNDL2RlZHVwZS92MC4xLjAwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ-- marker for Path CC/dedupe/ Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [attr_cache.go (262)]: AttrCache::ReadDir : CC/dedupe/ Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [azstorage.go (278)]: AzStorage::StreamDir : Path CC/dedupe/, offset 3, count 5000 Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [block_blob.go (454)]: BlockBlob::List : prefix CC/dedupe/, marker 2!84!MDAwMDE3IUNDL2RlZHVwZS92MC4yLjAwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ-- Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_DEBUG [azstorage.go (299)]: AzStorage::StreamDir : Retrieved 1 objects with 2!84!MDAwMDE3IUNDL2RlZHVwZS92MC4yLjAwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ-- marker for Path CC/dedupe/ Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [attr_cache.go (262)]: AttrCache::ReadDir : CC/dedupe/ Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [azstorage.go (278)]: AzStorage::StreamDir : Path CC/dedupe/, offset 4, count 5000 Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [block_blob.go (454)]: BlockBlob::List : prefix CC/dedupe/, marker 2!84!MDAwMDE3IUNDL2RlZHVwZS92MC4yLjEwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ-- Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_DEBUG [azstorage.go (299)]: AzStorage::StreamDir : Retrieved 0 objects with 2!84!MDAwMDE3IUNDL2RlZHVwZS92MC4yLjEwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ-- marker for Path CC/dedupe/ Oct 13 21:03:57 turing-ws312 blobfuse2[263529]: LOG_TRACE [libfuse_handler.go (435)]: Libfuse::libfuse_releasedir : CC/dedupe/, handle: 2 # ls /blob/cache/CC/ Oct 13 21:09:32 turing-ws312 blobfuse2[263529]: LOG_TRACE [file_cache.go (1149)]: FileCache::GetAttr : CC Oct 13 21:09:32 turing-ws312 blobfuse2[263529]: LOG_TRACE [attr_cache.go (455)]: AttrCache::GetAttr : CC Oct 13 21:09:32 turing-ws312 blobfuse2[263529]: LOG_TRACE [block_blob.go (415)]: BlockBlob::GetAttr : name CC Oct 13 21:09:33 turing-ws312 blobfuse2[263529]: LOG_TRACE [libfuse_handler.go (410)]: Libfuse::libfuse_opendir : CC/ Oct 13 21:09:33 turing-ws312 blobfuse2[263529]: LOG_TRACE [attr_cache.go (262)]: AttrCache::ReadDir : CC/ Oct 13 21:09:33 turing-ws312 blobfuse2[263529]: LOG_TRACE [azstorage.go (278)]: AzStorage::StreamDir : Path CC/, offset 0, count 5000 Oct 13 21:09:33 turing-ws312 blobfuse2[263529]: LOG_TRACE [block_blob.go (454)]: BlockBlob::List : prefix CC/, marker Oct 13 21:09:33 turing-ws312 blobfuse2[263529]: LOG_DEBUG [azstorage.go (299)]: AzStorage::StreamDir : Retrieved 1 objects with marker for Path CC/ Oct 13 21:09:33 turing-ws312 blobfuse2[263529]: LOG_TRACE [attr_cache.go (262)]: AttrCache::ReadDir : CC/ Oct 13 21:09:33 turing-ws312 blobfuse2[263529]: LOG_TRACE [azstorage.go (278)]: AzStorage::StreamDir : Path CC/, offset 1, count 5000 Oct 13 21:09:33 turing-ws312 blobfuse2[263529]: LOG_TRACE [block_blob.go (454)]: BlockBlob::List : prefix CC/, marker 2!76!MDAwMDExIUNDLzIwMjEtMjUwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ-- Oct 13 21:09:33 turing-ws312 blobfuse2[263529]: LOG_DEBUG [azstorage.go (299)]: AzStorage::StreamDir : Retrieved 0 objects with 2!76!MDAwMDExIUNDLzIwMjEtMjUwITAwMDAyOCE5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTlaIQ-- marker for Path CC/ Oct 13 21:09:33 turing-ws312 blobfuse2[263529]: LOG_TRACE [libfuse_handler.go (435)]: Libfuse::libfuse_releasedir : CC/, handle: 3 ```If relevant, please share your mount command.