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

[FIX] point_of_sale: fix memory error #124119

Closed

Conversation

aj-fuentes
Copy link
Contributor

When there are too many (millions) of POS order lines associated to opened POS sessions we get too many taxes, most are duplicated. This causes a MemoryError.

Example queries from a real DB:

> select count(distinct r.account_tax_id) from pos_order_line l join pos_order o on o.id = l.order_id join pos_session s on s.id = o.session_id join account_tax_pos_order_line_rel r on r.pos_order_line_id = l.id where s.state != 'closed'
+-------+
| count |
|-------|
| 24    |
+-------+
> select count(r.account_tax_id) from pos_order_line l join pos_order o on o.id = l.order_id join pos_session s on s.id = o.session_id join account_tax_pos_order_line_rel r on r.pos_order_line_id = l.id where s.state != 'closed'
+---------+
| count   |
|---------|
| 2504539 |
+---------+

opw-3295467

When there are too many (millions) of POS order lines associated to
opened POS sessions we get too many taxes, most are duplicated. This
causes a MemorryError.

Example queries from a real DB:
```
> select count(distinct r.account_tax_id) from pos_order_line l join pos_order o on o.id = l.order_id join pos_session s on s.id = o.session_id join account_tax_pos_order_line_rel r on r.pos_order_
 line_id = l.id where s.state != 'closed'
+-------+
| count |
|-------|
| 24    |
+-------+
> select count(r.account_tax_id) from pos_order_line l join pos_order o on o.id = l.order_id join pos_session s on s.id = o.session_id join account_tax_pos_order_line_rel r on r.pos_order_line_id =
  l.id where s.state != 'closed'
+---------+
| count   |
|---------|
| 2504539 |
+---------+
```

opw-3295467
@robodoo
Copy link
Contributor

robodoo commented Jun 7, 2023

@C3POdoo C3POdoo requested review from a team and rhe-odoo and removed request for a team June 7, 2023 11:13
@C3POdoo C3POdoo added the OE the report is linked to a support ticket (opw-...) label Jun 7, 2023
@KangOl
Copy link
Contributor

KangOl commented Jun 7, 2023

@robodoo r+

robodoo pushed a commit that referenced this pull request Jun 7, 2023
When there are too many (millions) of POS order lines associated to
opened POS sessions we get too many taxes, most are duplicated. This
causes a MemorryError.

Example queries from a real DB:
```
> select count(distinct r.account_tax_id) from pos_order_line l join pos_order o on o.id = l.order_id join pos_session s on s.id = o.session_id join account_tax_pos_order_line_rel r on r.pos_order_
 line_id = l.id where s.state != 'closed'
+-------+
| count |
|-------|
| 24    |
+-------+
> select count(r.account_tax_id) from pos_order_line l join pos_order o on o.id = l.order_id join pos_session s on s.id = o.session_id join account_tax_pos_order_line_rel r on r.pos_order_line_id =
  l.id where s.state != 'closed'
+---------+
| count   |
|---------|
| 2504539 |
+---------+
```

opw-3295467

closes #124119

Signed-off-by: Christophe Simonis (chs) <chs@odoo.com>
@robodoo
Copy link
Contributor

robodoo commented Jun 7, 2023

@aj-fuentes @KangOl staging failed: ci/runbot on 74727d95e3ee084c3d2287dccdff1249902243e4 (view more at https://runbot.odoo.com/runbot/build/42556325)

@aj-fuentes
Copy link
Contributor Author

@robodoo retry

robodoo pushed a commit that referenced this pull request Jun 7, 2023
When there are too many (millions) of POS order lines associated to
opened POS sessions we get too many taxes, most are duplicated. This
causes a MemorryError.

Example queries from a real DB:
```
> select count(distinct r.account_tax_id) from pos_order_line l join pos_order o on o.id = l.order_id join pos_session s on s.id = o.session_id join account_tax_pos_order_line_rel r on r.pos_order_
 line_id = l.id where s.state != 'closed'
+-------+
| count |
|-------|
| 24    |
+-------+
> select count(r.account_tax_id) from pos_order_line l join pos_order o on o.id = l.order_id join pos_session s on s.id = o.session_id join account_tax_pos_order_line_rel r on r.pos_order_line_id =
  l.id where s.state != 'closed'
+---------+
| count   |
|---------|
| 2504539 |
+---------+
```

opw-3295467

closes #124119

Signed-off-by: Christophe Simonis (chs) <chs@odoo.com>
@robodoo robodoo temporarily deployed to merge June 7, 2023 15:04 Inactive
@robodoo robodoo closed this Jun 7, 2023
@fw-bot
Copy link
Contributor

fw-bot commented Jun 11, 2023

@aj-fuentes @KangOl this pull request has forward-port PRs awaiting action (not merged or closed):
#124375

3 similar comments
@fw-bot
Copy link
Contributor

fw-bot commented Jun 12, 2023

@aj-fuentes @KangOl this pull request has forward-port PRs awaiting action (not merged or closed):
#124375

@fw-bot
Copy link
Contributor

fw-bot commented Jun 13, 2023

@aj-fuentes @KangOl this pull request has forward-port PRs awaiting action (not merged or closed):
#124375

@fw-bot
Copy link
Contributor

fw-bot commented Jun 14, 2023

@aj-fuentes @KangOl this pull request has forward-port PRs awaiting action (not merged or closed):
#124375

@fw-bot fw-bot deleted the saas-12.3-fix_mem_error-afu branch June 21, 2023 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OE the report is linked to a support ticket (opw-...)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants