## Description The tenant is fetched multiple times across the appsmith codebase but is rarely updated (from the admin settings). Every time a fetch call to the database is costly both in terms of resources and time taken. The consolidated api also makes a call to fetch the tenant and return to the client. To improve the performance of fetching the tenant information, we are moving the tenant information to redis cache for quicker fetch. This will improve the performance of the consolidated api and also reduce the time taken by all the different functionalities within the backend codebase which depend on tenant to process further. > The old PR implementation https://github.com/appsmithorg/appsmith/pull/33309 had to be reverted due to the tenant GAC permissions not in sync between database and redis. RCA [ref](https://www.notion.so/appsmith/Reversion-for-Tenant-Caching-implementation-after-merging-to-release-cd720b9959e4413f98decb884c375ad2). This PR uses the same branch as the old PR and builds the pending functionalities to complete the implementation. **Counterpart EE PR**: https://github.com/appsmithorg/appsmith-ee/pull/4275 **TL;DR** Adds tenant information `tenantService.getDefaultTenant()` to redis. Fixes #33083, #33504, https://github.com/appsmithorg/appsmith/issues/33578 ## Automation /ok-to-test tags="@tag.Settings" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/9253953003> > Commit: 7b4bf8d6b0b6273988c71ff37b615f81e36f03f4 > Cypress dashboard url: <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=9253953003&attempt=1" target="_blank">Click here!</a> <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No --------- Co-authored-by: Arpit Mohan <mohanarpit@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| client | ||
| server | ||
| util | ||