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

Introduce data vault as storage backend abstraction #6899

Merged
merged 32 commits into from
Mar 20, 2023
Merged

Conversation

frcroth
Copy link
Member

@frcroth frcroth commented Mar 6, 2023

URL of deployed dev instance (used for testing):

Steps to test:

TODOS

  • GCS url handling inconsistencies (trailing slash)
  • Local files
  • Remove file systems that are now no longer needed
  • Fix name of layers when exploring
  • New name remote file system
  • Delete FileSystemStore

Name

  • DataVault: This name suggests that the interface provides a secure place to store and retrieve data. It implies that the data is protected and can only be accessed by authorized parties.

Questions

  • GoogleCloudDataVault or GoogleCloudStorageDataVault

Issues:


(Please delete unneeded items, merge only when none are left open)

  • Removed dev-only changes like prints and application.conf edits
  • Considered common edge cases
  • Needs datastore update after deployment

@frcroth frcroth changed the title WIP: New file system abstraction Introduce data vault as data store abstraction Mar 7, 2023
@frcroth frcroth requested a review from fm3 March 7, 2023 14:21
@frcroth frcroth marked this pull request as ready for review March 7, 2023 14:22
@fm3 fm3 changed the title Introduce data vault as data store abstraction Introduce data vault as storage backend abstraction Mar 7, 2023
Copy link
Member

@fm3 fm3 left a comment

Choose a reason for hiding this comment

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

Amazing stuff, props for getting through this so quickly, and even including tests :) Very much enjoying the diff line count as well 😆 This already feels a lot more designed and less patched together, compared to using bits and pieces of the NIO providers.

I added some suggestions. Most are fairly small, but one thing I think is interesting: whether or not to pass an additional key to the actual read calls, or whether the key can itself be mapped to the VaultPath instances. Maybe you could read through my coments and have a look at that. I’m open to discussing this, it is well possible that I missed some cases that make the current version necessary.

@frcroth frcroth requested a review from fm3 March 14, 2023 12:27
Copy link
Member

@fm3 fm3 left a comment

Choose a reason for hiding this comment

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

Very nice cleanup! We are getting very close :)

app/models/binary/explore/PrecomputedExplorer.scala Outdated Show resolved Hide resolved
test/backend/DataVaultTestSuite.scala Show resolved Hide resolved
test/backend/DataVaultTestSuite.scala Outdated Show resolved Hide resolved
@frcroth frcroth requested a review from fm3 March 20, 2023 13:48
Copy link
Member

@fm3 fm3 left a comment

Choose a reason for hiding this comment

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

Looks good and works for me :)

I see that the ”Removed dev-only changes” checkbox is still open, is there something left? If so, could you clear that up? Then this should be ready to go :shipit:

@frcroth frcroth merged commit 9338e80 into master Mar 20, 2023
@frcroth frcroth deleted the new-filesystem branch March 20, 2023 15:19
hotzenklotz added a commit that referenced this pull request Mar 21, 2023
…pdown-menu

* 'master' of github.com:scalableminds/webknossos:
  Update screenshots (#6934)
  Support rendering negative floats (#6895)
  Fix loading of webworkers in dev mode (#6933)
  Restore cache buster for webworkers (#6932)
  Introduce data vault as storage backend abstraction (#6899)
hotzenklotz added a commit that referenced this pull request Mar 22, 2023
…il-notification

* 'master' of github.com:scalableminds/webknossos:
  Update screenshots (#6934)
  Support rendering negative floats (#6895)
  Fix loading of webworkers in dev mode (#6933)
  Restore cache buster for webworkers (#6932)
  Introduce data vault as storage backend abstraction (#6899)
  Fix download button for annotations when tiff export is disabled (#6931)
hotzenklotz added a commit that referenced this pull request Mar 22, 2023
…wings

* 'master' of github.com:scalableminds/webknossos:
  Update screenshots (#6934)
  Support rendering negative floats (#6895)
  Fix loading of webworkers in dev mode (#6933)
  Restore cache buster for webworkers (#6932)
  Introduce data vault as storage backend abstraction (#6899)
  Fix download button for annotations when tiff export is disabled (#6931)
  Update PULL_REQUEST_TEMPLATE.md
  Prepare multi modality support (#6748)
  Improvements for terms-of-services modal (#6930)
  Fix creating task types with preferred mode (#6928)
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.

Replace NIO FileSystems by custom abstraction, allowing range requests
2 participants