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

Support Implicit Tenant Activation (targeting v1.25.1) #4826

Merged
merged 14 commits into from May 19, 2024

Conversation

etiennedi
Copy link
Member

@etiennedi etiennedi commented May 2, 2024

To be merged after the RC phase, when the 1.25 GA release is out. Likely to target a patch release, such as 1.25.1.

What's being changed:

  • Adds an option (off by default) to allow auto-activation for COLD tenants
  • If a read-or-write request comes in and a tenant is COLD, it is automatically activated.
    • UX: The user no longer has to worry about the activity status of a tenant, it becomes fully automatic. They can just query and Weaviate will figure the rest out (comparable to a cache which doesn't fail the request on a cache miss, but rather warms the cache, then proceeds with the request)
    • Under the hood: This activation is passed to the leader, so it does not just update the local state, but rather the global state.
  • It is meant to play well with the "Optimistic Tenant Status" design, i.e. if the local node already thinks the tenant is HOT, no leader-query is required. If a leader-query is made and the it still comes back as COLD, we now query the leader again to turn it hot.
    • This could probably be optimized as it now requires two rpc calls, but it works great for now and I didn't want to prematurely optimize this before we see this as a bottleneck.
  • There is a new acceptance test that tests the feature in cluster mode both with replication off and on
  • Adds some missing unit tests in schema config validation and fixes minor validation bugs

Review checklist

  • Documentation has been updated, if necessary. Link to changed documentation:
  • Chaos pipeline run or not necessary. Link to pipeline:
  • All new code is covered by tests where it is reasonable.
  • Performance tests have been run or not necessary.

@etiennedi etiennedi force-pushed the implicit-tenant-activation branch from a452dbf to fbda525 Compare May 5, 2024 06:36
@etiennedi etiennedi changed the title Support Implicit Tenant Activation Support Implicit Tenant Activation (targeting v1.25.1) May 5, 2024
@etiennedi etiennedi changed the title Support Implicit Tenant Activation (targeting v1.25.1) Support Implicit Tenant Activation (targeting v1.25.1) May 5, 2024
moogacs and others added 13 commits May 17, 2024 11:35
If status check returns COLD tenants and implicit activation is allowed, then
send activation request to leader.
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 5 to 6.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](golangci/golangci-lint-action@v5...v6)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
closes #4916

Signed-off-by: Loic Reyreaud <[email protected]>
… already shutdow…" to re open against stable/v1.25"
@parkerduckworth parkerduckworth changed the base branch from main to stable/v1.25 May 17, 2024 16:09
Copy link

sonarcloud bot commented May 17, 2024

Quality Gate Passed Quality Gate passed

Issues
1 New issue
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@parkerduckworth parkerduckworth marked this pull request as ready for review May 17, 2024 19:45
@parkerduckworth parkerduckworth merged commit 5ac8316 into stable/v1.25 May 19, 2024
42 checks passed
@parkerduckworth parkerduckworth deleted the implicit-tenant-activation branch May 19, 2024 22:27
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.

None yet

5 participants