-
Notifications
You must be signed in to change notification settings - Fork 181
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
feat(server): multi region blob support #3653
Conversation
@@ -144,18 +93,38 @@ describe('Blobs integration @blobstorage', () => { | |||
email: '[email protected]', | |||
password: 'bubblesAreMyBlobs' | |||
} | |||
const workspace = { |
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.
with only these changes this entire test suite now runs in both non-multiregion and multiregion mode, and actually properly stores data (both db rows & blobs) into region storage
📸 Preview service has generated an image. |
📸 Preview service has generated an image. |
📸 Preview service has generated an image. |
📸 Preview service has generated an image. |
📸 Preview service has generated an image. |
📸 Preview service has generated an image. |
📸 Preview service has generated an image. |
📸 Preview service has generated an image. |
await ensureStorageAccess() | ||
const storage = getMainObjectStorage() | ||
const ensureStorageAccess = ensureStorageAccessFactory({ storage }) | ||
await ensureStorageAccess({ |
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.
We don't seem to be ensuring that we can access all the region storage?
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.
That happens elsewhere (initializeRegisteredRegionClients())
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.
or is this a separate procedure from the one in the module's index.ts? why do we need to even invoke this if this gets validated on module init?
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.
multiregion/index.ts
-> initializeRegisteredRegionClients() in multiregion/utils/blobStorageSelector
-> initializeRegion
-> ensureStorageAccessFactory
. (This tests each additional regions, but ignores the primary region from multi-region config file.)
blobstorage/index.ts
-> ensureStorageAccessFactory
(This tests the 'main' storage, which is configured via the original environment variables and not from the multi-region config file)
We can ignore my comment at the top of this thread. And flipping from the original environment variables to the primary
block of the multi-region config file can be done separately from this PR to align with the postgres database.
📸 Preview service has generated an image. |
No description provided.