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

Add multi-tenancy E2E test #918

Merged
merged 7 commits into from
Aug 4, 2022
Merged

Conversation

awrichar
Copy link
Contributor

@awrichar awrichar commented Aug 2, 2022

In a chain with #916

Includes additional fixes for separating messages/data on different namespaces.

This also includes changes to the NextPins table to add a namespace column.
While it's not possible to populate namespace on any existing entries, we make a best
effort at migration by setting the namespace every time a row is updated. This will allow
legacy environments to migrate over time, as long as they don't immediately add
multi-tenant nodes alongside existing ones.

@codecov-commenter
Copy link

codecov-commenter commented Aug 3, 2022

Codecov Report

Merging #918 (54cef6a) into main (3bce2d9) will decrease coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #918      +/-   ##
==========================================
- Coverage   99.98%   99.96%   -0.03%     
==========================================
  Files         299      299              
  Lines       19483    19465      -18     
==========================================
- Hits        19480    19458      -22     
- Misses          3        5       +2     
- Partials        0        2       +2     
Impacted Files Coverage Δ
internal/database/sqlcommon/identity_sql.go 100.00% <ø> (ø)
internal/database/sqlcommon/subscription_sql.go 100.00% <ø> (ø)
internal/batch/batch_processor.go 100.00% <100.00%> (ø)
internal/broadcast/operations.go 100.00% <100.00%> (ø)
internal/database/sqlcommon/batch_sql.go 100.00% <100.00%> (ø)
internal/database/sqlcommon/contractapis_sql.go 100.00% <100.00%> (ø)
internal/database/sqlcommon/data_sql.go 100.00% <100.00%> (ø)
internal/database/sqlcommon/datatype_sql.go 100.00% <100.00%> (ø)
internal/database/sqlcommon/ffi_sql.go 100.00% <100.00%> (ø)
internal/database/sqlcommon/group_sql.go 100.00% <100.00%> (ø)
... and 19 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Signed-off-by: Andrew Richardson <andrew.richardson@kaleido.io>
Signed-off-by: Andrew Richardson <andrew.richardson@kaleido.io>
Each local node (and therefore local namespace) needs to maintain its own NextPin table.
Previously this was not a problem, since the Context is a function of (among other things)
the remote namespace. Now, in a multi-tenant situation, two local namespaces might be
maintaining separate snapshots of the same remote namespace.

While it's not possible to populate namespace on any existing entries, we make a best
effort at migration by setting the namespace every time a row is updated. This will allow
legacy environments to migrate over time, as long as they don't immediately add
multi-tenant nodes to their setup.

Signed-off-by: Andrew Richardson <andrew.richardson@kaleido.io>
Signed-off-by: Andrew Richardson <andrew.richardson@kaleido.io>
Signed-off-by: Andrew Richardson <andrew.richardson@kaleido.io>
Signed-off-by: Andrew Richardson <andrew.richardson@kaleido.io>
Copy link
Contributor

@peterbroadhurst peterbroadhurst left a comment

Choose a reason for hiding this comment

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

👍

@awrichar
Copy link
Contributor Author

awrichar commented Aug 4, 2022

Build issue should be fixed by #932

@awrichar awrichar merged commit 42e0197 into hyperledger:main Aug 4, 2022
@awrichar awrichar deleted the multitenant branch August 4, 2022 20:35
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.

3 participants