-
Notifications
You must be signed in to change notification settings - Fork 410
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
GCSFUSE hanging while trying to write large files (~6GB) #1541
Comments
Hi @tarun360, Could you please confirm if GCSFuse is truly stuck or simply experiencing a longer upload duration due to the file size? Thanks! |
@ashmeenkaur Thanks for the reply.
Indeed, I think its truly stuck. I left it overnight to check how much time it would take, however, even after 12 hours it was still stuck.
Uploading the same file via gsutil takes less than 1 minute (without using any type of parallelism like parallel composite uploads). Is it expected, that a file which takes less than 1 minute to upload by gsutil CLI, will take 15 minutes on writing via GCSFUSE? Could you please provide more details on this, as I wasn't aware of this performance difference, and I couldn't find any reference to this in the documentation. Likewise, are reads from GCSFUSE expected to be equally slow as compared to downloading files via gsutil? |
@tarun360 we don't have clear performance comparison with gsutil right now. Coming to the issue, we are not able to reproduce this at our end. It would be easier for us to debug if you could provide more information like bucket_name. This will help us in getting the GCS server logs. I would suggest: Regards, |
@tarun360 Gentle reminder! Could you please create a support ticket - https://support.cloud.google.com/portal/ ? Thanks! |
Hi @raj-prince , thanks for the reply. I will update here after logging a support ticket. The project in which the bucket is doesn't allow logging a support ticket, so I need to get it changed via cloud admin. I am trying to get this expedited. |
Hi @raj-prince , @ashmeenkaur I tried the same operation today, and for some reason the behavior is different. Instead of getting stuck, it throws some timeout error:
The above error is again happening ONLY for relatively large files. The one I tried above is ~5GB. The closest issue I found slightly resembling the above error is this, although this issue is marked as fixed. Given this new finding, do you have any ideas about what could be going wrong with my setup here? |
All these error signals some issue with internet connection. As we have tried this our side, which is working fine. Could you please check VM's internet connection and try again? Thanks, |
The network connection is fine since I am able to read/write the same file using gsutil. Also, I am trying to read/write from a on-prem machine to bucket, not from a cloud VM. The network connection between on-prem machine and GCP seems fine, since I am able to read/write the same file using gsutil.
Not yet. Due to holiday season, approvers are on leave. I'll update here once this is done. Thanks, |
I created |
Thanks for reaching out via Google cloud support. Further communication can be done via the support. |
Is this issue always reproducible, @tarun360? |
@ashmeenkaur Yes, its always reproducible. |
Hi, I have added some more details on the support ticket, which I believe could be helpful in debugging this issue. I hope you have access to the support ticket. The problem seems related to perhaps GCSFUSE and proxy server. |
When creating a storage client in this function, in Lines 48-58 we are adding For that, perhaps in the CreateHTTPClient function, we probably need something like
or clone the default transport and set your options in that transport (ref: https://stackoverflow.com/a/51848441/13416549). I may be wrong here since I don't know the whole code, but am I missing anything in above logic? |
After making the above change, I built |
Thanks for looking into this @tarun360. Did it also solve the 6GB file upload issue or just |
Without the above change, the data upload traffic wasn't being routed via the proxy server (verified by checking the proxy-server logs), so I suppose that might be related to some sort of rate-limiting by the firewalls for public endpoints, which lead to With the above change, I am able to upload the 6GB file, so that probably implies that data is being routed via the proxy server (although I am yet to check proxy logs, but I am pretty sure that is the case since there's no other explaination of why this change would fix this issue). |
Hi @tarun360, Thanks |
Describe the issue
I am trying to
cp
a relatively large single file, around 6GB, through GCSFUSE, and it just hangs forever. I am able to use gsutil/gcloud-storage-rsync to copy the same file, so I am sure there's no bandwidth problem here. I have also ensured that there's enough space in--temp-dir=/tmp
to write a 6GB file. Doing ls from separate terminal is also stuck.I don't see this issue with smaller files around 200MB.
I think this issue is similar to #715.
This is greatly limiting our use of GCSFUSE, hence requesting to please have look urgently.
To Collect more Debug logs
Relevant GCSFUSE logs while doing
cp
:The logs stop being generated at this point, i.e. at
CreateObject
, even though thecp
command hasn't been completed. On the bucket, I just a see an object with 0 bytes present.Doing
ls
from a separate terminal is also stuck, and the last GCSFUSE log statement is the following:System (please complete the following information):
The text was updated successfully, but these errors were encountered: