← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1821303] [NEW] Online data migration bases on hit count rather than total count

 

Public bug reported:

Imagine online data migration script reported 50 matched rows, but no
executed migrations, like:

Running batches of 50 until complete
50 rows matched query fake_migration, 50 migrated
50 rows matched query fake_migration, 40 migrated
50 rows matched query fake_migration, 0 migrated
+----------------+--------------+-----------+
|   Migration    | Total Needed | Completed |
+----------------+--------------+-----------+
| fake_migration |     150      |    90    |
+----------------+--------------+-----------+
"""

After last run online data migration will not step to next batch, even
there are still rows considered to be checked/migrated.

It is because the condition if migration has been done looks for 'completed' counter instead of 'total needed' counter.
https://github.com/openstack/nova/blob/master/nova/cmd/manage.py#L733
https://github.com/openstack/nova/blob/master/nova/cmd/manage.py#L744

For some of online data migration scripts, like:
https://github.com/openstack/nova/blob/master/nova/objects/virtual_interface.py#L154

operator could be mislead, because migration ends but in fact there are
still rows that needs to be checked.

** Affects: nova
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1821303

Title:
  Online data migration bases on hit count rather than total count

Status in OpenStack Compute (nova):
  New

Bug description:
  Imagine online data migration script reported 50 matched rows, but no
  executed migrations, like:

  Running batches of 50 until complete
  50 rows matched query fake_migration, 50 migrated
  50 rows matched query fake_migration, 40 migrated
  50 rows matched query fake_migration, 0 migrated
  +----------------+--------------+-----------+
  |   Migration    | Total Needed | Completed |
  +----------------+--------------+-----------+
  | fake_migration |     150      |    90    |
  +----------------+--------------+-----------+
  """

  After last run online data migration will not step to next batch, even
  there are still rows considered to be checked/migrated.

  It is because the condition if migration has been done looks for 'completed' counter instead of 'total needed' counter.
  https://github.com/openstack/nova/blob/master/nova/cmd/manage.py#L733
  https://github.com/openstack/nova/blob/master/nova/cmd/manage.py#L744

  For some of online data migration scripts, like:
  https://github.com/openstack/nova/blob/master/nova/objects/virtual_interface.py#L154

  operator could be mislead, because migration ends but in fact there
  are still rows that needs to be checked.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1821303/+subscriptions