Skip to content
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 npe on AWS Storage Tier and treat the STANDARD tier status first #855

Merged
merged 1 commit into from
Oct 20, 2020

Conversation

brainstorm
Copy link
Contributor

@brainstorm brainstorm commented Oct 19, 2020

Fixes observations made on #620 (comment) from two independent genomics labs.

This patch should also be cherry picked for next releases as well and the error unfortunately affects IGV versions ranging from 2.7.1 to 2.8.0 as pointed out by @welcomege.

Alternatively, I can also open a separate pull request against master.

…tier for labs that have not implemented proper storage tiering
@jrobinso
Copy link
Contributor

Looks good.

@jrobinso jrobinso merged commit d70d0f1 into igvteam:2.8 Oct 20, 2020
@brainstorm brainstorm deleted the 2.8.10_fix_storage_tier_null branch October 21, 2020 00:00
@brainstorm
Copy link
Contributor Author

Fantastic, thanks Jim! Will we see a release 2.8.11 following up? I'll update the umccr blogpost so that users don't fall into this trap anymore, thanks for the patience!

@brainstorm
Copy link
Contributor Author

Also, do you want me to open another PR to apply this patch to master? Let's make sure it doesn't get lost on 2.8.x branch and resurfaces again later :-S

@jrobinso
Copy link
Contributor

Hi @brainstorm yes well will do a 2.8.11 release for this. Possibly this week but more likely next. I have merged this to master, which involved resolving some conflicts, I think it is o.k. but if can review or test it that would be good. The commit id is 39658c6 (last commit).

@brainstorm
Copy link
Contributor Author

Thanks Jim! Did you really push that commit to master? I can only see "fix unit tests" one from 5 days ago right now :-S

jrobinso added a commit that referenced this pull request Oct 23, 2020
Fix npe on AWS Storage Tier and treat the STANDARD tier status first
# Conflicts:
#	build.gradle
#	src/main/java/org/broad/igv/util/AmazonUtils.java
@jrobinso
Copy link
Contributor

jrobinso commented Oct 23, 2020 via email

@brainstorm
Copy link
Contributor Author

Jim, just tested it on master too, LGTM, ready to ship a 2.8.11 release I reckon ;)

@jrobinso
Copy link
Contributor

@brainstorm What platforms are you testing on? Something in the 2.8.11 release is causing IGV to hang in Windows 10. Not an issue on MacOS. Its not necessarily this PR, but there is very little else that differs. The coding changes here look innocuous, but there are a few AWS library updates. Anyway my question is whether or not you have tested this on Windows 10 before I jump into myself.

@brainstorm
Copy link
Contributor Author

I mostly test it on OSX since it's what most of the staff uses... I'll install it on windows and give it a go soon today to see what's going on, thanks for the heads up and your testing!

@brainstorm
Copy link
Contributor Author

@jrobinso Sorry, but I cannot reproduce :/

I just tested it on Windows 2019 (should be similar to Windows 10 I reckon?) and it seems to work just fine?

Skärmavbild 2020-11-02 kl  21 46 58

@jrobinso
Copy link
Contributor

jrobinso commented Nov 2, 2020 via email

@jrobinso
Copy link
Contributor

jrobinso commented Nov 2, 2020

@brainstorm, I should clarify "not work". It is noticeably slower, and can appear to hang when loading bam files on Windows 10. There are no coding changes that could cause this, so I'm looking at the Maven updates. Do you have any idea what this library does? http-client-spi

@brainstorm
Copy link
Contributor Author

brainstorm commented Nov 2, 2020

I just tested without that dependency and all seems to work fine, so it should be safe to remove... is it the culprit? Otherwise I'm thinking of sync/async behaviors with http clients now that there's better threading in IGV... perhaps this is related to the threading changes you were working on a short while ago? Here's what AWS SDK Java v2 says about http clients:

https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/client-configuration-http.html

I think we are just using synchronous.

It's curious that just windows 10 is exhibiting this... different OS threading handling I (wild) guess? Can you pinpoint at which point is this slowdown happening?: Startup, S3Presign, reading the reads, etc...

@jrobinso
Copy link
Contributor

jrobinso commented Nov 3, 2020 via email

@brainstorm
Copy link
Contributor Author

but what are you referring with re "... now that there's better threading ..."?

I meant some sync/threading changes that went through on #833 (comment) ... most probably unrelated, but just trying to rewind commits on my memory that can be the source of the current issue.

I don't understand the relevance of the link you referenced, we don't use ApacheHTTPClient and I don't recall working on this issue.

IGV might not, but somewhere inside AWS Java v2 SDK it could, that's why I was asking more details about at which point do you see the slowdown... right after trying to load a file (could be S3 pre-signing), downloading the reads (could be threads issue), reading from a local BAM file (could be htsjdk BAM reader)? etc...

Since the dependency referenced apparently isn't needed are there others that could be removed?

Those three remaining AWS deps on build.gradle should be absolutely essential: STS, Cognito and S3 it's all this IGV-AWS extension does really.

@jrobinso
Copy link
Contributor

jrobinso commented Nov 3, 2020

I need to break for a few hours. This should have nothing to do with S3 pre-signing, I'm reading from public buckets. AWS isn't even configured on my setup. Now I have a new challenge, I could reliably hang it earlier today now not at all. It hangs, when it hangs, as alignments are read. I say "hang", but the user who first reported this said it did load eventually, just very slowly. I don't think this has anything to do with the PR or new libraries, except perhaps exposing a bug waiting to happen. Anyway that's all for now, might have an update later this evening (or whatever it is for you).

BTW one curious phenom, when it hangs the status message on the lower left of the status bar changes to "Iterating...". What's curious about that is I can't find anywhere in the code that sends such a message. So first thing in the next go at this will be to determine where that's coming from.

@jrobinso
Copy link
Contributor

jrobinso commented Nov 7, 2020

I'm not really sure what the 2.8.11 problem was, but it wasn't this PR. Now released in 2.8.12.

@brainstorm
Copy link
Contributor Author

Thanks Jim! Intermittent bugs are the most annoying, we'll keep an eye on our Windows 10 users and see if they hit that issue.

I'll relay that release announcement to my peers, much appreciated ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants