-
Notifications
You must be signed in to change notification settings - Fork 430
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[unsupported-object-issue-fix part2] Skip unsupported object names in list output #1876
base: master
Are you sure you want to change the base?
Conversation
3d1d4bf
to
dfcbf92
Compare
ed0d51d
to
9024dc6
Compare
9024dc6
to
c1195c4
Compare
02488f1
to
cca204a
Compare
Presubmit tests passed: logs |
80306c2
to
fbbc0b1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still need to take a look at the tests
fbbc0b1
to
dc55c22
Compare
dc55c22
to
1d76261
Compare
4acab17
to
2a971eb
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1876 +/- ##
==========================================
+ Coverage 77.47% 77.55% +0.08%
==========================================
Files 110 110
Lines 15705 15785 +80
==========================================
+ Hits 12167 12242 +75
- Misses 3016 3020 +4
- Partials 522 523 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
2b902ee
to
d655104
Compare
d655104
to
88666fb
Compare
0d06bb3
to
017da8b
Compare
232c117
to
872226a
Compare
017da8b
to
7f6b0e0
Compare
14006d7
to
97bab99
Compare
97bab99
to
60b8e2e
Compare
Description
Skips unsupported object names during all file operations in GCSFuse mounts (e.g. listings, renames, and deletions). It also add debug logs on both types of above skips.
GCS supports objects of path-type
<bucket>/<path1>//<path2>
and treats it different from
<bucket>/<path1>/<path2>
, while they are both the same in linux filesystem.GCSFuse being a POSIX-compliant file-system only support the latters and throws error on former. This error can disallow the listing of all directories in the parent directory i.e.
<path1>
.The current change ignores the listing/deletion/renaming of prefixes (directory names) which are empty such
as "/" above to ignore the error and logs the above event as a warning.
This is on top of #2561 (utilities) and is followed up in #2011 (which adds e2e tests for this change).
Link to the issue in case of a bug fix.
NA
Testing details
<bucket>//a
, 2.<bucket>/b/c
, 3.<bucket>/d//e
.gcsfuse --implicit-dirs --log-file=$logfile --debug_fuse --log-format=text $bucket $mountpath