-
Notifications
You must be signed in to change notification settings - Fork 597
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
Fix requester pays access by updating the google-cloud-nio library to the latest release #7700
Conversation
@lbergelson Looks like we have a failure in
I suspect we need to bump our BigQuery dependency in this PR as well -- I'll attempt it. |
Fixes the failure in BigQueryUtilsUnitTest
Pushed a commit that fixes the BigQueryUtilsUnitTest failure by upgrading several of our other Google dependencies. This may cause failures in other parts of our test suite -- we shall see. |
Looks like tests are green with the latest commit. Now we just need a test that would have caught #6179 |
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.
👍
Hi! Thank you for making this fix. This is a blocking error for our DepMap release starting in 1 week. Would you have an ETA for when a dockerized version of gatk will be available with the fix? Best, |
@jkobject It turns out that to fix #6179 we need Google to patch the We are escalating this issue with Google support, and hope to have a fix in place soon. |
Update: Google just merged googleapis/java-storage-nio#841 and is doing a release. We'll update to the newer library version here and test it out to make sure it resolves the RP issue. |
👍 Will merge once tests pass |
Thanks! |
@jkobject There will be an official release image later today when GATK 4.2.6 comes out. The latest gatk-nightly image already has the fix: https://hub.docker.com/r/broadinstitute/gatk-nightly/tags |
I took the 2022-03-10-4.2.5.0-13-g1c749b37f-NIGHTLY-SNAPSHOT from 18hours ago and got what looks to be the same error message. |
@jkobject That appears to be a different error: "User project specified in the request is invalid" instead of "Bucket is a requester pays bucket but no user project provided", which was the error this patch fixed. Can you confirm that the @lbergelson Can you comment further on this? |
That error is different than the bug we fixed. I've seen it when I have specified an incorrect project. It's possible there's a different bug though. I would check to make sure that the project name is spelled correctly AND that the service account you're running is has the necessary permissions to bill that project. |
yes I can confirm it. This is the same project I have always used and it worked before. |
@jkobject Thanks, we are testing with the nightly image now |
@jkobject Our testing of the nightly image with our own service account and billing project suggests that the requester pays access issue is resolved, so we're not sure what's causing it to continue to fail for you. As an experiment, could you try this: within the gatk-nightly image, try to access your requester pays file |
@jkobject Actually, we just noticed that your error is triggered by the file
|
@droazen both work fine on my laptop, will try in the image now.. |
It works on the docker too |
@jkobject Thanks for testing that for us! After looking into this issue a bit more, it seems that there might be a problem in the latest Google libraries with handling the case of a non-requester-pays input when a requester-pays project is provided. In our tests, running a similar Can you tell us whether running |
Hi, I think this is the right issue. Some other files are from other buckets which are non requester pays. (this seems like the most common use case) It always used to work before. I have used many of the GATK 4.2 dockers. The latest run was on 4.2.4.0 Thanks! |
@jkobject After further testing we think the issue might be more specific: the error seems to occur only when checking for the existence of non-existent files in non-requester-pays buckets when a requester-pays project is specified. In your case, it is checking for the existence of an index for your As another experiment, it would be helpful to know whether your |
I've opened #7716 to track this issue -- we should move further discussion there, since this is a separate issue from the one resolved in this PR. |
@droazen this seems like a bit more work on my end. I might only be able to try this next week. |
@jkobject Sure, no problem! In the meantime we'll do additional testing on our end to try to confirm this theory, and submit another patch to Google. We are considering forking the library for now in the interests of getting a fully-working version of GATK released as soon as possible. |
Fixes #6179