appsmith icon indicating copy to clipboard operation
appsmith copied to clipboard

chore: Remove evalError & values from dataTree

Open rishabhrathod01 opened this issue 2 years ago • 14 comments

Description

Appsmith internally maintains the data of all the entities as a collection called dataTree. This data tree stores evaluated values and errors ( evaluated props ) in entity object with key __evaluation__.

In this PR, we move the evaluated props out of the dataTree for worker code to make deepCloning and dataTree sanitization i.e., JSON.parse(JSON.stringify(dataTree)) faster.

TL;DR

Trimming dataTree object size by evaluatedProps to make evaluation faster.

Fixes #14710

Type of change

Performance change

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions, so we can reproduce. Please also list any relevant details for your test configuration. Delete anything that is not important

  • Manual
  • Jest
  • Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:

Dev activity

  • [ ] My code follows the style guidelines of this project
  • [ ] I have performed a self-review of my own code
  • [ ] I have commented my code, particularly in hard-to-understand areas
  • [ ] I have made corresponding changes to the documentation
  • [ ] My changes generate no new warnings
  • [ ] I have added tests that prove my fix is effective or that my feature works
  • [ ] New and existing unit tests pass locally with my changes
  • [ ] PR is being merged under a feature flag

QA activity:

  • [ ] Test plan has been approved by relevant developers
  • [ ] Test plan has been peer reviewed by QA
  • [ ] Cypress test cases have been added and approved by either SDET or manual QA
  • [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
  • [ ] Added Test Plan Approved label after reveiwing all Cypress test

rishabhrathod01 avatar Dec 02 '22 19:12 rishabhrathod01

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated
appsmith ✅ Ready (Inspect) Visit Preview Dec 15, 2022 at 1:12AM (UTC)

vercel[bot] avatar Dec 02 '22 19:12 vercel[bot]

Unable to find test scripts. Please add necessary tests to the PR.

github-actions[bot] avatar Dec 02 '22 19:12 github-actions[bot]

Unable to find test scripts. Please add necessary tests to the PR.

github-actions[bot] avatar Dec 02 '22 19:12 github-actions[bot]

Unable to find test scripts. Please add necessary tests to the PR.

github-actions[bot] avatar Dec 02 '22 19:12 github-actions[bot]

/ok-to-test sha=9c063a7

rishabhrathod01 avatar Dec 02 '22 19:12 rishabhrathod01

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3604691972. Workflow: Appsmith External Integration Test Workflow. Commit: 9c063a7. PR: 18649. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-63465d4789020c7ac296d08d?pr=18649&runId=3604691972_1

github-actions[bot] avatar Dec 02 '22 19:12 github-actions[bot]

/ok-to-test sha=795f486

rishabhrathod01 avatar Dec 02 '22 21:12 rishabhrathod01

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3605200453. Workflow: Appsmith External Integration Test Workflow. Commit: 795f486. PR: 18649. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-63465d4789020c7ac296d08d?pr=18649&runId=3605200453_1

github-actions[bot] avatar Dec 02 '22 21:12 github-actions[bot]

/ok-to-test sha=5fab3e5

rishabhrathod01 avatar Dec 07 '22 04:12 rishabhrathod01

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3635799522. Workflow: Appsmith External Integration Test Workflow. Commit: 5fab3e5. PR: 18649. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=18649&runId=3635799522_1

github-actions[bot] avatar Dec 07 '22 04:12 github-actions[bot]

/ok-to-test sha=1c4c0f4

rishabhrathod01 avatar Dec 08 '22 10:12 rishabhrathod01

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3647412147. Workflow: Appsmith External Integration Test Workflow. Commit: 1c4c0f4. PR: 18649. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=18649&runId=3647412147_1

github-actions[bot] avatar Dec 08 '22 10:12 github-actions[bot]

/perf-test

Rhitottam avatar Dec 08 '22 11:12 Rhitottam

/ok-to-test sha=454ffc

rishabhrathod01 avatar Dec 12 '22 13:12 rishabhrathod01

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3676382404. Workflow: Appsmith External Integration Test Workflow. Commit: 454ffc. PR: 18649. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=18649&runId=3676382404_1

github-actions[bot] avatar Dec 12 '22 13:12 github-actions[bot]

/ok-to-test sha=454ffc

rishabhrathod01 avatar Dec 13 '22 06:12 rishabhrathod01

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3682935775. Workflow: Appsmith External Integration Test Workflow. Commit: 454ffc. PR: 18649. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=18649&runId=3682935775_1

github-actions[bot] avatar Dec 13 '22 06:12 github-actions[bot]

/ok-to-test sha=4e95c9e

rishabhrathod01 avatar Dec 13 '22 10:12 rishabhrathod01

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3684333650. Workflow: Appsmith External Integration Test Workflow. Commit: 4e95c9e. PR: 18649. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=18649&runId=3684333650_1

github-actions[bot] avatar Dec 13 '22 10:12 github-actions[bot]

/ok-to-test sha=dbb6bbe

rishabhrathod01 avatar Dec 14 '22 12:12 rishabhrathod01

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3694590662. Workflow: Appsmith External Integration Test Workflow. Commit: dbb6bbe. PR: 18649. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=18649&runId=3694590662_1

github-actions[bot] avatar Dec 14 '22 12:12 github-actions[bot]

/ok-to-test sha=2f75d27

rishabhrathod01 avatar Dec 15 '22 01:12 rishabhrathod01

Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/3700098792. Workflow: Appsmith External Integration Test Workflow. Commit: 2f75d27. PR: 18649. Perf tests will be available at https://app.appsmith.com/app/performance-infra-dashboard/pr-details-638dd7cd2913ba43778b915e?pr=18649&runId=3700098792_1

github-actions[bot] avatar Dec 15 '22 01:12 github-actions[bot]