Engine doesn't retry a DB transaction on "Too many connections" error
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mistral |
Fix Released
|
Undecided
|
Renat Akhmerov |
Bug Description
The "Too many connections" error can be considered retriable because it's usually temporary. However, when DB drivers raise this error the layers about the driver (sqlalchemy, oslo.db) don't always convert the exception to one of the known exceptions such as sqlalchemy.
This is a traceback from a real run:
2019-06-15 17:34:52.157 2818 ERROR mistral.
2019-06-15 17:34:52.157 2818 ERROR mistral.
2019-06-15 17:34:52.157 2818 ERROR mistral.
2019-06-15 17:34:52.157 2818 ERROR mistral.
2019-06-15 17:34:52.157 2818 ERROR mistral.
2019-06-15 17:34:52.157 2818 ERROR mistral.
2019-06-15 17:34:52.157 2818 ERROR mistral.
2019-06-15 17:34:52.157 2818 ERROR mistral.
2019-06-15 17:34:52.157 2818 ERROR mistral.
2019-06-15 17:34:52.157 2818 ERROR mistral.
....
The corresponding "DB error detected, operation will be retried" message doesn't exist in the log that would be an evidence that an error is retried.
description: | updated |
Changed in mistral: | |
assignee: | nobody → Renat Akhmerov (rakhmerov) |
milestone: | none → train-1 |
Changed in mistral: | |
status: | New → In Progress |
Fix proposed to branch: stable/stein /review. opendev. org/672390
Review: https:/