Storing events can fail (again) due to oversized properties
Bug #1671043 reported by
Steven Hardy
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Invalid
|
High
|
Thomas Herve |
Bug Description
We previously worked around problems where very large resource_properties can overflow the DB column causing errors like:
https:/
However this happened on a recent heat version (ocata) and I believe it's related to this change:
https:/
Which AFAICS inadvertently removed the truncation logic we previously used?
We probably need to re-add equivalent logic, and reinstate a test which proves this can't happen again
Changed in heat: | |
importance: | Undecided → High |
assignee: | nobody → Thomas Herve (therve) |
milestone: | none → pike-1 |
To post a comment you must log in.
One thing I did notice too is we've got a possible mismatch between longtext for resource. properties_ data and blob (not longblob) for event.resource_ properties:
MariaDB [heat]> describe resource_ properties; properties' doesn't exist ------- ------- ------- +------ ------- -+----- -+----- +------ ---+--- ------- ------+ ------- ------- ------- +------ ------- -+----- -+----- +------ ---+--- ------- ------+ data_encrypted | tinyint(1) | YES | | NULL | | ------- ------- ------- +------ ------- -+----- -+----- +------ ---+--- ------- ------+
ERROR 1146 (42S02): Table 'heat.resource_
MariaDB [heat]> describe resource;
+------
| Field | Type | Null | Key | Default | Extra |
+------
| id | int(11) | NO | PRI | NULL | auto_increment |
| uuid | varchar(36) | YES | UNI | NULL | |
| nova_instance | varchar(255) | YES | | NULL | |
| name | varchar(255) | YES | | NULL | |
| created_at | datetime | YES | | NULL | |
| updated_at | datetime | YES | | NULL | |
| action | varchar(255) | YES | | NULL | |
| status | varchar(255) | YES | | NULL | |
| status_reason | longtext | YES | | NULL | |
| stack_id | varchar(36) | NO | MUL | NULL | |
| rsrc_metadata | longtext | YES | | NULL | |
| properties_data | longtext | YES | | NULL | |
| engine_id | varchar(36) | YES | | NULL | |
| atomic_key | int(11) | YES | | NULL | |
| needed_by | longtext | YES | | NULL | |
| requires | longtext | YES | | NULL | |
| replaces | int(11) | YES | | NULL | |
| replaced_by | int(11) | YES | | NULL | |
| current_template_id | int(11) | YES | MUL | NULL | |
| properties_
| root_stack_id | varchar(36) | YES | MUL | NULL | |
| rsrc_prop_data_id | int(11) | YES | MUL | NULL | |
+------
22 rows in set (0.01 sec)
MariaDB [heat]> describe event; ------- ------- ----+-- ------- -----+- -----+- ----+-- ------- +------ ------- ---+ ------- ------- ----+-- ------- -----+- -----+- ----+-- ------- +------ ------- ---+
+------
| Field | Type | Null | Key | Default | Extra |
+------
| id | int(11) | NO | PRI | NULL | auto_increment |
| uuid | varchar(36) | YES | UNI | NULL | |
| stack_id | varchar(36) | NO | MUL | NULL | |
| created_at | datetime | YES | | NULL | |
| updated_at | datetime | YES ...