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

[FW][FIX] session: avoid concurrent updates #4929

Closed

Conversation

fw-bot
Copy link
Collaborator

@fw-bot fw-bot commented Sep 2, 2024

Steps to reproduce (in odoo)

  • Open a spreadsheet
  • do something such that there's a least one revisions
  • leave the spreadsheet

=> non-deterministic concurrent update because we save the thumbnail and we snapshot at the same time.

I'm able to reproduce more when my laptop power setting is on "performance" compared to "balanced"

With this commit leaveSession is now asynchronous and returns a promise which resolves after the snapshot was done.
It allows to await this promise to trigger other RPC updating the same record.

Task: 4080148

Description:

description of this task, what is implemented and why it is implemented that way.

Task: TASK_ID

review checklist

  • feature is organized in plugin, or UI components
  • support of duplicate sheet (deep copy)
  • in model/core: ranges are Range object, and can be adapted (adaptRanges)
  • in model/UI: ranges are strings (to show the user)
  • undo-able commands (uses this.history.update)
  • multiuser-able commands (has inverse commands and transformations where needed)
  • new/updated/removed commands are documented
  • exportable in excel
  • translations (_t("qmsdf %s", abc))
  • unit tested
  • clean commented code
  • track breaking changes
  • doc is rebuild (npm run doc)
  • status is correct in Odoo

Forward-Port-Of: #4911

Steps to reproduce (in odoo)
- Open a spreadsheet
- do something such that there's a least one revisions
- leave the spreadsheet

=> non-deterministic concurrent update because we save the thumbnail and we
snapshot at the same time.

I'm able to reproduce more when my laptop power setting is on "performance"
compared to "balanced"

With this commit `leaveSession` is now asynchronous and returns a promise
which resolves after the snapshot was done.
It allows to await this promise to trigger other RPC updating the same
record.

Task: 4080148
X-original-commit: ac3a12c
@robodoo
Copy link
Collaborator

robodoo commented Sep 2, 2024

Pull request status dashboard

@fw-bot
Copy link
Collaborator Author

fw-bot commented Sep 2, 2024

This PR targets saas-17.4 and is part of the forward-port chain. Further PRs will be created up to master.

More info at https://github.com/odoo/odoo/wiki/Mergebot#forward-port

@robodoo robodoo closed this in 1a7d2d9 Sep 2, 2024
@fw-bot fw-bot deleted the saas-17.4-17.0-concurrent-updates-lul-WFXW-fw branch September 16, 2024 08:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants