geneontology / web-gocam

GO-CAM site as an Angular 2+ Application
http://geneontology.org/go-cam
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

The GO-CAM browser just spins--no display created #17

Closed kltm closed 2 years ago

kltm commented 2 years ago

The go-cam browser (https://geneontology.cloud/browse) currently just spin, with no display/browser created.

Looking at network traffic, everything seems to be fine: https://api.geneontology.cloud/models?last=12 returns just fine and the two S3 files seem to be there.

It actually looks like a code failure (at some level): ERROR TypeError: n.forEach is not a function

Wild guess: could be caused by cachingor related GO-CAM API issues (e.g. https://github.com/geneontology/api-gorest-2021/issues/2 and https://github.com/geneontology/api-gorest/issues/4) leading to mismatched objects leading to a null result that does not have an iterator. I'd also guess the timing is related to the recent release. It may just need a kick (refresh).

Tagging @dustine32 and @tmushayahama and @sierra-moxon

tmushayahama commented 2 years ago

@kltm Thanks, I just dug deeper and noticed the terms api is not working and returning Internal Server Error

https://s3.amazonaws.com/geneontology-public/gocam/gocam-goterms.json Tagging @dustine32 @sierra-moxon

kltm commented 2 years ago

@tmushayahama Great--thank you for the detective work! It looks like that file literally cached the upstream server error.

lpalbou commented 2 years ago

Hello everyone. https://s3.amazonaws.com/geneontology-public/gocam/gocam-goterms.json is a file caching the SPARQL queries after a new release. The file is generated from AWS (cloudwatch alarm serving as a CRON to detect a new release and trigger a lambda function that compute and store the results of queries in this file). @dustine32 may remember a bit more - I think there is a recording on the topic made 1st week of September -.

I saw in other threads that some queries experienced timeout, a possible reason could be a timeout on that lambda while doing the queries. Let me know if you need further info.

Otherwise, happy holiday season 🎄🎅

dustine32 commented 2 years ago

Thanks @lpalbou! Yep, rather than the data required by the GO-CAM site, those cached JSON files currently contain the error message from the query timeout:

{"message": "Endpoint request timed out"}

I'm currently looking at re-triggering this lambda process to regenerate the JSON files for the current GO release.

BTW, noting here that @kltm attempted to bump from 30000 to 60000ms on internal and production RDF endpoints. Hopefully, once @lpalbou's PR to update the timeout on the GO-CAM API side the query problems will be solved.

lpalbou commented 2 years ago

You can use AWS/Cloud9 and this environment:

Screen Shot 2022-01-04 at 11 16 04 AM

Then, selecting the lambda_function from the GoUpdateGoCams package, you can click run (top green button). Be sure on the drop down to the right to select lamba/remote:

Screen Shot 2022-01-04 at 11 13 27 AM

That should run only the code for GO-CAMs cache. Btw, this code is also on GH in the go-stats repo, however you may want to push the code from Cloud9 to GH.. As there may have been some changes over time !

Hope that will work !

kltm commented 2 years ago

This is now fixed--thank you everybody!