Bug 1612382 - Insufficient sizing on the redo log on the Director
Summary: Insufficient sizing on the redo log on the Director
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: instack-undercloud
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: z7
: 13.0 (Queens)
Assignee: James Slagle
QA Contact: Arik Chernetsky
URL:
Whiteboard:
: 1680532 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-08-03 22:20 UTC by Darin Sorrentino
Modified: 2022-03-13 15:32 UTC (History)
14 users (show)

Fixed In Version: instack-undercloud-8.4.7-6.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-07-10 13:03:16 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1831875 0 None None None 2019-06-06 10:34:17 UTC
OpenStack gerrit 663595 0 None MERGED [queens-only] Increase the innodb file size by default 2020-09-15 11:48:00 UTC
Red Hat Issue Tracker OSP-13630 0 None None None 2022-03-13 15:32:24 UTC
Red Hat Knowledge Base (Solution) 4093121 0 Troubleshoot None Overcloud deploy failed with mistral engine error: "The size of BLOB/TEXT data inserted in one transaction is greater th... 2019-04-29 13:27:41 UTC
Red Hat Product Errata RHBA-2019:1738 0 None None None 2019-07-10 13:04:57 UTC

Description Darin Sorrentino 2018-08-03 22:20:20 UTC
Description of problem:

Overcloud deployment failing in Step2 with:

2018-08-03 15:03:35.898 1544 ERROR oslo_messaging.rpc.server DBError: (pymysql.err.InternalError) (1118, u'The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size.') [SQL: u'UPDATE action_executions_v2 SET updated_at=%(updated_at)s, state=%(state)s, accepted=%(accepted)s, output=%(output)s WHERE action_executions_v2.id = %(action_executions_v2_id)s'] [parameters: {'output': '{"result": {"log_path": "/tmp/ansible-mistral-actionIMP4Az/ansible.log", "stderr": "ansible-playbook 2.4.3.0\\n  config file = /usr/share/ceph-ansibl ... (11486221 characters truncated) ... statements should not include jinja2 templating delimiters\\nsuch as {{ }} or {% %}. Found: {{ groups.get(mgr_group_name, []) | length > 0\\n}}\\n"}}', 'state': 'SUCCESS', 'accepted': 1, 'updated_at': datetime.datetime(2018, 8, 3, 19, 3, 35), 'action_executions_v2_id': u'f9170825-5b9c-4d41-b528-4b029a78796b'}] (Background on this error at: http://sqlalche.me/e/2j85)

Looking in /etc/my.cnf there's no settings in there so it is defaulting to 50M:

MariaDB [(none)]> show variables where Variable_name like “innodb_log_file_size”;
+----------------------+----------+
| Variable_name        | Value    |
+----------------------+----------+
| innodb_log_file_size | 50331648 |
+----------------------+----------+
1 row in set (0.00 sec)

We added a setting to the [mysqld] section increasing the size to 1GB and the deployment was able to pass that step.

We should probably increase/set this as part of the Director deployment.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:

Deployment eventually times out in Step2.
Error is located in the mistral log in the undercloud.

Expected results:

Deployment proceeds past Step2.

Additional info:

Comment 3 Andrew Beekhof 2018-08-07 12:22:02 UTC
Sounds like we need to loop in the mistral folks. Storing that quantity of logs in a DB doesn't sound like a great approach.

Comment 11 David Hill 2019-04-10 18:39:45 UTC
We just hit this issue , I've setted innodb_log_file_size=149946368 :

MariaDB [(none)]> show variables like 'innodb_%size%';
+----------------------------------+-----------+
| Variable_name                    | Value     |
+----------------------------------+-----------+
| innodb_additional_mem_pool_size  | 8388608   |
| innodb_buffer_pool_size          | 134217728 |
| innodb_change_buffer_max_size    | 25        |
| innodb_ft_cache_size             | 8000000   |
| innodb_ft_max_token_size         | 84        |
| innodb_ft_min_token_size         | 3         |
| innodb_ft_total_cache_size       | 640000000 |
| innodb_log_block_size            | 512       |
| innodb_log_buffer_size           | 16777216  |
| innodb_log_file_size             | 149946368 |
| innodb_max_bitmap_file_size      | 104857600 |
| innodb_online_alter_log_max_size | 134217728 |
| innodb_page_size                 | 16384     |
| innodb_purge_batch_size          | 300       |
| innodb_sort_buffer_size          | 1048576   |
| innodb_sync_array_size           | 1         |
+----------------------------------+-----------+
16 rows in set (0.00 sec)

and I'm retrying a deployment and I'll update this back after.

Comment 19 David Hill 2019-05-07 16:29:57 UTC
Looks like we can override this through custom hiera data in undercloud.conf with:

tripleo::profile::base::database::mysql::innodb_log_file_size: '256M'

Comment 22 Michele Baldessari 2019-05-29 10:01:45 UTC
*** Bug 1680532 has been marked as a duplicate of this bug. ***

Comment 33 errata-xmlrpc 2019-07-10 13:03:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2019:1738


Note You need to log in before you can comment on or make changes to this bug.