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

Re-fetch buckets if fetching them failed #3999

Merged
merged 1 commit into from
Apr 9, 2019
Merged

Conversation

daniel-wer
Copy link
Member

@daniel-wer daniel-wer commented Apr 8, 2019

I decided against a setTimeout for the markAsFailed(false), because buckets cannot be collected if their state is "REQUESTED". The scheduling of the re-fetching would, therefore, mess with the garbage collection. As far as we know, bucket requests to the server only fail if the server is not ready yet (in dev mode) or if the user if offline. Also, buckets are only re-fetched when moving.

I traced back the catch clause to the separation of the datastore and tracingstore, so it was introduced to allow the "retry-fetching-from-the-fallback-layer" logic. As the server reports missing buckets using the explicit header for all layers now, we're merely restoring the status quo from before that change :)

URL of deployed dev instance (used for testing):

  • https://___.webknossos.xyz

Steps to test:

  • Open a volume tracing with a fallback layer. You should see the segmentation.
  • Open any tracing. Go offline and move. If you have "Progressive Data Loading" activated, you should see data from a worse zoomstep. Now go online again and move a tiny bit, you should see the data in the best resolution again, because the buckets are re-fetched.

Issues:


  • Ready for review

Copy link
Member

@philippotto philippotto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice to see that the fix is so concise 👍 Thanks for analyzing the bug so thoroughly.

Also tested it and it works flawlessly 🎉

@daniel-wer daniel-wer merged commit f6d2663 into master Apr 9, 2019
@daniel-wer daniel-wer deleted the pull-failed-buckets branch April 9, 2019 08:26
hotzenklotz added a commit that referenced this pull request Apr 25, 2019
* master: (43 commits)
  update screenshots (#4038)
  docker: don't set sbt/ivy cache (#4034)
  Slow down brush size change for small sizes (#4012)
  voulme tool bar now depends only on the active tool (#4029)
  Allow user to adapt GPU memory consumption to allow for better quality (#4015)
  Updates the Docs (#4020)
  hiding pricing and features in iframe (#4019)
  Fix sitemap for publication detail view (#4024)
  Add sitemap.xml (#4006)
  Allow empty trees  (#4010)
  Prefer annotation zoom over dataset zoom (#3992)
  Add details view for publications (#3994)
  remove enzyme test (#3997)
  Tensorflow segmentation (#3461)
  ensure that max zoom step is not exceeded when changing viewport area (#3996)
  allow isosurfaces for hybrid tracings when setting window.allowIsosurfaces (#3998)
  re-fetch buckets if fetching them failed (#3999)
  Only re-compute bounding sphere of skeletons if something changed (#3995)
  Fix dropdown login padding (#3988)
  Persist tree visibility (#3942)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Buckets are not re-requested if fetching them didn't succeed
2 participants