Description of problem:
Version-Release number of selected component (if applicable):
How reproducible: Easy
Steps to Reproduce:
1. Create a service retirement in a Rails 4.2 version of cfme, making sure it's on the miq_queue.
2. Upgrade to a rails 5.0 version, such as cfme 5.7.x
Each MiqQueue deliver of these messages will fail with:
"undefined class/module ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Integer" attempting to get next message
The Worker should skip or mark this message as "error".
Related to https://bugzilla.redhat.com/show_bug.cgi?id=1429747, which handles the issue by marking the bad queue message as "error". This BZ will clear the bad rows from the miq_queue table.
New commit detected on ManageIQ/manageiq/master:
Author: Joe Rafaniello <firstname.lastname@example.org>
AuthorDate: Mon Mar 20 17:08:44 2017 -0400
Commit: Joe Rafaniello <email@example.com>
CommitDate: Tue Mar 21 10:26:07 2017 -0400
Remove MiqQueue rows containing a class removed in Rails 5.
The PostgreSQL::OID::Integer class was removed in:
It's possible that old Rails 4.2 versions of objects could have been
serialized in the MiqQueue in the args column and we won't be able to
deserialize them with Rails 5+, so we need to remove these rows.
Related to https://github.com/ManageIQ/manageiq/pull/14365
Related to https://bugzilla.redhat.com/show_bug.cgi?id=1429747
...95659_remove_oid_integer_args_from_miq_queue.rb | 8 +++++++
..._remove_oid_integer_args_from_miq_queue_spec.rb | 27 ++++++++++++++++++++++
2 files changed, 35 insertions(+)
create mode 100644 db/migrate/20170320195659_remove_oid_integer_args_from_miq_queue.rb
create mode 100644 spec/migrations/20170320195659_remove_oid_integer_args_from_miq_queue_spec.rb
Note, this is not for backport to 5.7 because it's a data migration. This is for 5.8+ only.
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.