TEXT is not large enough to store RequestSpec

Bug #1738094 reported by Dan Smith on 2017-12-13
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
High
Artom Lifshitz
Newton
High
Matt Riedemann
Ocata
High
Matt Riedemann
Pike
High
Artom Lifshitz

Bug Description

This error occurs during Newton's online_data_migration phase:

error: (pymysql.err.DataError) (1406, u"Data too long for column 'spec' at row 1") [SQL: u'INSERT INTO request_specs

Which comes from RequestSpec.instance_group.members being extremely large

Matt Riedemann (mriedem) wrote :
tags: added: db upgrade
Changed in nova:
status: New → Triaged
importance: Undecided → High
assignee: nobody → Dan Smith (danms)

Fix proposed to branch: master
Review: https://review.openstack.org/528012

Changed in nova:
assignee: Dan Smith (danms) → Artom Lifshitz (notartom)
status: Triaged → In Progress

Reviewed: https://review.openstack.org/527799
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=94fd36f0582c5dbcf2b9886da7c7bf986d3ad5d1
Submitter: Zuul
Branch: master

commit 94fd36f0582c5dbcf2b9886da7c7bf986d3ad5d1
Author: Dan Smith <email address hidden>
Date: Wed Dec 13 14:26:00 2017 -0800

    Don't persist could-be-stale InstanceGroup fields in RequestSpec

    Not only might these be stale, but they can also be very large, especially
    if InstanceGroup.members has a lot of peer instance uuids. This can overrun
    a 64kb TEXT field and cause a failure.

    Related-Bug: #1738094

    Change-Id: Ie70c77db753711e1449e99534d3b83669871943f

Changed in nova:
assignee: Artom Lifshitz (notartom) → Matt Riedemann (mriedem)

Change abandoned by Lee Yarwood (<email address hidden>) on branch: stable/newton
Review: https://review.openstack.org/528228

Reviewed: https://review.openstack.org/528012
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=40d74339082fe0eb1ce9216e89cf6e65a39e6968
Submitter: Zuul
Branch: master

commit 40d74339082fe0eb1ce9216e89cf6e65a39e6968
Author: Artom Lifshitz <email address hidden>
Date: Thu Dec 14 11:56:47 2017 -0500

    Make request_spec.spec MediumText

    request_spec.instance_group.members is a list of instance UUIDs. It
    can get so long that it overflows its TEXT column. This patch changes
    request_spec.spec to MEDIUMTEXT.

    Change-Id: I6bf0fa19b72887803e77b66698587c2108c9372a
    Closes-bug: 1738094

Changed in nova:
status: In Progress → Fix Released
Matt Riedemann (mriedem) on 2017-12-18
Changed in nova:
assignee: Matt Riedemann (mriedem) → Artom Lifshitz (notartom)

Reviewed: https://review.openstack.org/528330
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=9adf97c0132c3e0d34bbb2e33b59c6e5b00bec57
Submitter: Zuul
Branch: stable/pike

commit 9adf97c0132c3e0d34bbb2e33b59c6e5b00bec57
Author: Artom Lifshitz <email address hidden>
Date: Thu Dec 14 11:56:47 2017 -0500

    Make request_spec.spec MediumText

    request_spec.instance_group.members is a list of instance UUIDs. It
    can get so long that it overflows its TEXT column. This patch changes
    request_spec.spec to MEDIUMTEXT.

    NOTE(artom): Conflicts in
    nova/tests/functional/db/api/test_migrations.py because of backport
    migration renumbering.

    NOTE(mriedem): Since this is a backport, this contains a release
    note not found in the original change on master.

    Change-Id: I6bf0fa19b72887803e77b66698587c2108c9372a
    Closes-bug: 1738094
    (cherry picked from commit 40d74339082fe0eb1ce9216e89cf6e65a39e6968)

Reviewed: https://review.openstack.org/528332
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=4f0ff43c79c02689a118dc8100187c19b5c21238
Submitter: Zuul
Branch: stable/ocata

commit 4f0ff43c79c02689a118dc8100187c19b5c21238
Author: Artom Lifshitz <email address hidden>
Date: Thu Dec 14 11:56:47 2017 -0500

    Make request_spec.spec MediumText

    request_spec.instance_group.members is a list of instance UUIDs. It
    can get so long that it overflows its TEXT column. This patch changes
    request_spec.spec to MEDIUMTEXT.

    NOTE(artom): Conflicts in
    nova/tests/functional/db/api/test_migrations.py because of backport
    migration renumbering.

    NOTE(mriedem): Since this is a backport, this contains a release
    note not found in the original change on master.

    Change-Id: I6bf0fa19b72887803e77b66698587c2108c9372a
    Closes-bug: 1738094
    (cherry picked from commit 40d74339082fe0eb1ce9216e89cf6e65a39e6968)
    (cherry picked from commit 9adf97c0132c3e0d34bbb2e33b59c6e5b00bec57)

Reviewed: https://review.openstack.org/528338
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=e4e7b8da563e1fe4c2713dad55788f5ba3a86057
Submitter: Zuul
Branch: stable/newton

commit e4e7b8da563e1fe4c2713dad55788f5ba3a86057
Author: Artom Lifshitz <email address hidden>
Date: Thu Dec 14 11:56:47 2017 -0500

    Make request_spec.spec MediumText

    request_spec.instance_group.members is a list of instance UUIDs. It
    can get so long that it overflows its TEXT column. This patch changes
    request_spec.spec to MEDIUMTEXT.

    NOTE(artom): Conflicts in
    nova/tests/functional/db/api/test_migrations.py because of backport
    migration renumbering. Also the uuids module isn't in newton so
    a hard-coded uuid is used.

    NOTE(mriedem): Since this is a backport, this contains a release
    note not found in the original change on master.

    Change-Id: I6bf0fa19b72887803e77b66698587c2108c9372a
    Closes-bug: 1738094
    (cherry picked from commit 40d74339082fe0eb1ce9216e89cf6e65a39e6968)
    (cherry picked from commit 1cfcc406437c8ff3734bffef736407dc2a6440d9)
    (cherry picked from commit 4f0ff43c79c02689a118dc8100187c19b5c21238)

This issue was fixed in the openstack/nova 15.1.0 release.

This issue was fixed in the openstack/nova 14.1.0 release.

This issue was fixed in the openstack/nova 17.0.0.0b3 development milestone.

Reviewed: https://review.openstack.org/528225
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=922c95a03dd9c8a5500f37aa433f450647cd7bfb
Submitter: Zuul
Branch: stable/pike

commit 922c95a03dd9c8a5500f37aa433f450647cd7bfb
Author: Dan Smith <email address hidden>
Date: Wed Dec 13 14:26:00 2017 -0800

    Don't persist could-be-stale InstanceGroup fields in RequestSpec

    Not only might these be stale, but they can also be very large, especially
    if InstanceGroup.members has a lot of peer instance uuids. This can overrun
    a 64kb TEXT field and cause a failure.

    Related-Bug: #1738094

    Change-Id: Ie70c77db753711e1449e99534d3b83669871943f
    (cherry picked from commit 94fd36f0582c5dbcf2b9886da7c7bf986d3ad5d1)

tags: added: in-stable-pike
tags: added: in-stable-ocata

Reviewed: https://review.openstack.org/528226
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=51660619c45f8afe0ea539bf88d5b1bcd60ac535
Submitter: Zuul
Branch: stable/ocata

commit 51660619c45f8afe0ea539bf88d5b1bcd60ac535
Author: Dan Smith <email address hidden>
Date: Wed Dec 13 14:26:00 2017 -0800

    Don't persist could-be-stale InstanceGroup fields in RequestSpec

    Not only might these be stale, but they can also be very large, especially
    if InstanceGroup.members has a lot of peer instance uuids. This can overrun
    a 64kb TEXT field and cause a failure.

    Related-Bug: #1738094

    Change-Id: Ie70c77db753711e1449e99534d3b83669871943f
    (cherry picked from commit 94fd36f0582c5dbcf2b9886da7c7bf986d3ad5d1)

This issue was fixed in the openstack/nova 16.1.0 release.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers