Bug 1229308

Summary: comparison of Array with Array failed [ops/db_list] while sorting VMDB client connections on Waiting resource
Product: Red Hat CloudForms Management Engine Reporter: Nandini Chandra <nachandr>
Component: UI - OPSAssignee: Martin Hradil <mhradil>
Status: CLOSED ERRATA QA Contact: Nandini Chandra <nachandr>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.4.0CC: cpelland, dajohnso, hkataria, jhardy, mpovolny, obarenbo
Target Milestone: GAKeywords: ZStream
Target Release: 5.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 5.5.0.1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1255059 (view as bug list) Environment:
Last Closed: 2015-12-08 13:16:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1255059    

Description Nandini Chandra 2015-06-08 12:41:14 UTC
Description of problem:
-----------------------



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


How reproducible:
----------------
Always


Steps to Reproduce:
------------------
1.Navigate to Configure->Configuration->Database
2.Click 'Client Connections' tab.
3.Sort on 'Waiting resource'.


Actual results:
---------------
Error occurs


Expected results:
----------------
Error shouldn't occur.


Additional info:
---------------
Snippet from production.log:

[----] I, [2015-06-08T07:52:06.723454 #2666:78dea8]  INFO -- : Started POST "/ops/db_list?sort_choice=Waiting+Resource" for 127.0.0.1 at 2015-06-08 07:52:06 -0400
[----] I, [2015-06-08T07:52:06.727904 #2666:78dea8]  INFO -- : Processing by OpsController#db_list as JS
[----] I, [2015-06-08T07:52:06.728008 #2666:78dea8]  INFO -- :   Parameters: {"sort_choice"=>"Waiting Resource"}
[----] F, [2015-06-08T07:52:06.918105 #2666:78dea8] FATAL -- : Error caught: [ArgumentError] comparison of Array with Array failed
/var/www/miq/vmdb/lib/patches/ruport_patch.rb:18:in `sort_by'
/var/www/miq/vmdb/lib/patches/ruport_patch.rb:18:in `sort_rows_by'
/var/www/miq/vmdb/app/models/miq_report/generator/sorting.rb:9:in `sort_table'
/var/www/miq/vmdb/app/models/miq_report/generator/sorting.rb:38:in `build_sort_table'
/var/www/miq/vmdb/app/models/miq_report/generator.rb:383:in `build_table'
/var/www/miq/vmdb/app/models/miq_report/search.rb:122:in `paged_view_search'
/var/www/miq/vmdb/app/controllers/application_controller.rb:1944:in `get_view'
/var/www/miq/vmdb/app/controllers/ops_controller/db.rb:40:in `db_list'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/actionpack/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/actionpack/lib/abstract_controller/base.rb:167:in `process_action'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/actionpack/lib/action_controller/metal/rendering.rb:10:in `process_action'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/actionpack/lib/abstract_controller/callbacks.rb:18:in `block in process_action'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/activesupport/lib/active_support/callbacks.rb:568:in `_run__3500232528208459928__process_action__909299370269807664__callbacks'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/activesupport/lib/active_support/callbacks.rb:405:in `__run_callback'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/activesupport/lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/activesupport/lib/active_support/callbacks.rb:81:in `run_callbacks'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/actionpack/lib/abstract_controller/callbacks.rb:17:in `process_action'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/actionpack/lib/action_controller/metal/rescue.rb:29:in `process_action'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/actionpack/lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/activesupport/lib/active_support/notifications.rb:123:in `block in instrument'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/activesupport/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/activesupport/lib/active_support/notifications.rb:123:in `instrument'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/actionpack/lib/action_controller/metal/instrumentation.rb:29:in `process_action'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/actionpack/lib/action_controller/metal/params_wrapper.rb:207:in `process_action'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/activerecord/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
/opt/rh/cfme-gemset/bundler/gems/rails-4842a8377644/actionpack/lib/abstract_controller/base.rb:121:in `process'

Comment 4 CFME Bot 2015-06-23 17:59:02 UTC
New commit detected on manageiq/master:
https://github.com/ManageIQ/manageiq/commit/aa402bc5f89dd8adc3ab95bd6941e73e3fb2c8cc

commit aa402bc5f89dd8adc3ab95bd6941e73e3fb2c8cc
Author:     Martin Hradil <mhradil>
AuthorDate: Wed Jun 10 12:45:29 2015 +0000
Commit:     Martin Hradil <mhradil>
CommitDate: Wed Jun 10 12:52:37 2015 +0000

    VmdbDatabaseConnection - wait_resource is :integer, not :string
    
    Because pg_locks.relation is of type oid, at least since 7.4 and up to
    9.5 including. And oid is an integer.
    
    This fixes an "comparison of Array with Array failed" that would happen
    when trying to sort the client connections table by wait_resource, and
    one client had a lock (thus, integer value), and other didn't (nil -
    converted to "\xFF" in MiqReport::Generator::Sorting#build_sort_table,
    because of the false type).
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1229308

 vmdb/app/models/miq_report/generator/sorting.rb | 2 +-
 vmdb/app/models/vmdb_database_connection.rb     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comment 5 CFME Bot 2015-08-19 23:02:02 UTC
New commit detected on cfme/5.4.z:
https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=4cfbdeed3995f4a817ddda76daaa0ae71f65a835

commit 4cfbdeed3995f4a817ddda76daaa0ae71f65a835
Author:     Martin Hradil <mhradil>
AuthorDate: Wed Jun 10 12:45:29 2015 +0000
Commit:     Martin Hradil <mhradil>
CommitDate: Wed Aug 19 14:36:27 2015 +0000

    VmdbDatabaseConnection - wait_resource is :integer, not :string
    
    Because pg_locks.relation is of type oid, at least since 7.4 and up to
    9.5 including. And oid is an integer.
    
    This fixes an "comparison of Array with Array failed" that would happen
    when trying to sort the client connections table by wait_resource, and
    one client had a lock (thus, integer value), and other didn't (nil -
    converted to "\xFF" in MiqReport::Generator::Sorting#build_sort_table,
    because of the false type).
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1229308
    (cherry picked from commit aa402bc5f89dd8adc3ab95bd6941e73e3fb2c8cc)

 vmdb/app/models/miq_report/generator/sorting.rb | 2 +-
 vmdb/app/models/vmdb_database_connection.rb     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comment 6 CFME Bot 2015-08-19 23:02:12 UTC
New commit detected on cfme/5.4.z:
https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=4013cf2e8177ec8cd004e50de665e272443c1bbd

commit 4013cf2e8177ec8cd004e50de665e272443c1bbd
Merge: 3c64218 4cfbdee
Author:     Dan Clarizio <dclarizi>
AuthorDate: Wed Aug 19 12:08:50 2015 -0400
Commit:     Dan Clarizio <dclarizi>
CommitDate: Wed Aug 19 12:08:50 2015 -0400

    Merge branch 'bz1255059' into '5.4.z'
    
    VmdbDatabaseConnection - wait_resource is :integer, not :string
    
    Because pg_locks.relation is of type oid, at least since 7.4 and up to
    9.5 including. And oid is an integer.
    
    This fixes an "comparison of Array with Array failed" that would happen
    when trying to sort the client connections table by wait_resource, and
    one client had a lock (thus, integer value), and other didn't (nil -
    converted to "\xFF" in MiqReport::Generator::Sorting#build_sort_table,
    because of the false type).
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1229308
    (cherry picked from commit aa402bc5f89dd8adc3ab95bd6941e73e3fb2c8cc)
    
    5.4 bz: https://bugzilla.redhat.com/show_bug.cgi?id=1255059
    clean cherry pick
    
    See merge request !233

 vmdb/app/models/miq_report/generator/sorting.rb | 2 +-
 vmdb/app/models/vmdb_database_connection.rb     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comment 7 CFME Bot 2015-08-20 00:31:39 UTC
New commit detected on cfme/5.4.z:
https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=4cfbdeed3995f4a817ddda76daaa0ae71f65a835

commit 4cfbdeed3995f4a817ddda76daaa0ae71f65a835
Author:     Martin Hradil <mhradil>
AuthorDate: Wed Jun 10 12:45:29 2015 +0000
Commit:     Martin Hradil <mhradil>
CommitDate: Wed Aug 19 14:36:27 2015 +0000

    VmdbDatabaseConnection - wait_resource is :integer, not :string
    
    Because pg_locks.relation is of type oid, at least since 7.4 and up to
    9.5 including. And oid is an integer.
    
    This fixes an "comparison of Array with Array failed" that would happen
    when trying to sort the client connections table by wait_resource, and
    one client had a lock (thus, integer value), and other didn't (nil -
    converted to "\xFF" in MiqReport::Generator::Sorting#build_sort_table,
    because of the false type).
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1229308
    (cherry picked from commit aa402bc5f89dd8adc3ab95bd6941e73e3fb2c8cc)

 vmdb/app/models/miq_report/generator/sorting.rb | 2 +-
 vmdb/app/models/vmdb_database_connection.rb     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comment 8 CFME Bot 2015-08-20 00:31:48 UTC
New commit detected on cfme/5.4.z:
https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=4013cf2e8177ec8cd004e50de665e272443c1bbd

commit 4013cf2e8177ec8cd004e50de665e272443c1bbd
Merge: 3c64218 4cfbdee
Author:     Dan Clarizio <dclarizi>
AuthorDate: Wed Aug 19 12:08:50 2015 -0400
Commit:     Dan Clarizio <dclarizi>
CommitDate: Wed Aug 19 12:08:50 2015 -0400

    Merge branch 'bz1255059' into '5.4.z'
    
    VmdbDatabaseConnection - wait_resource is :integer, not :string
    
    Because pg_locks.relation is of type oid, at least since 7.4 and up to
    9.5 including. And oid is an integer.
    
    This fixes an "comparison of Array with Array failed" that would happen
    when trying to sort the client connections table by wait_resource, and
    one client had a lock (thus, integer value), and other didn't (nil -
    converted to "\xFF" in MiqReport::Generator::Sorting#build_sort_table,
    because of the false type).
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1229308
    (cherry picked from commit aa402bc5f89dd8adc3ab95bd6941e73e3fb2c8cc)
    
    5.4 bz: https://bugzilla.redhat.com/show_bug.cgi?id=1255059
    clean cherry pick
    
    See merge request !233

 vmdb/app/models/miq_report/generator/sorting.rb | 2 +-
 vmdb/app/models/vmdb_database_connection.rb     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comment 9 CFME Bot 2015-08-20 01:48:29 UTC
New commit detected on cfme/5.4.z:
https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=4cfbdeed3995f4a817ddda76daaa0ae71f65a835

commit 4cfbdeed3995f4a817ddda76daaa0ae71f65a835
Author:     Martin Hradil <mhradil>
AuthorDate: Wed Jun 10 12:45:29 2015 +0000
Commit:     Martin Hradil <mhradil>
CommitDate: Wed Aug 19 14:36:27 2015 +0000

    VmdbDatabaseConnection - wait_resource is :integer, not :string
    
    Because pg_locks.relation is of type oid, at least since 7.4 and up to
    9.5 including. And oid is an integer.
    
    This fixes an "comparison of Array with Array failed" that would happen
    when trying to sort the client connections table by wait_resource, and
    one client had a lock (thus, integer value), and other didn't (nil -
    converted to "\xFF" in MiqReport::Generator::Sorting#build_sort_table,
    because of the false type).
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1229308
    (cherry picked from commit aa402bc5f89dd8adc3ab95bd6941e73e3fb2c8cc)

 vmdb/app/models/miq_report/generator/sorting.rb | 2 +-
 vmdb/app/models/vmdb_database_connection.rb     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comment 10 CFME Bot 2015-08-20 01:48:35 UTC
New commit detected on cfme/5.4.z:
https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=4013cf2e8177ec8cd004e50de665e272443c1bbd

commit 4013cf2e8177ec8cd004e50de665e272443c1bbd
Merge: 3c64218 4cfbdee
Author:     Dan Clarizio <dclarizi>
AuthorDate: Wed Aug 19 12:08:50 2015 -0400
Commit:     Dan Clarizio <dclarizi>
CommitDate: Wed Aug 19 12:08:50 2015 -0400

    Merge branch 'bz1255059' into '5.4.z'
    
    VmdbDatabaseConnection - wait_resource is :integer, not :string
    
    Because pg_locks.relation is of type oid, at least since 7.4 and up to
    9.5 including. And oid is an integer.
    
    This fixes an "comparison of Array with Array failed" that would happen
    when trying to sort the client connections table by wait_resource, and
    one client had a lock (thus, integer value), and other didn't (nil -
    converted to "\xFF" in MiqReport::Generator::Sorting#build_sort_table,
    because of the false type).
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1229308
    (cherry picked from commit aa402bc5f89dd8adc3ab95bd6941e73e3fb2c8cc)
    
    5.4 bz: https://bugzilla.redhat.com/show_bug.cgi?id=1255059
    clean cherry pick
    
    See merge request !233

 vmdb/app/models/miq_report/generator/sorting.rb | 2 +-
 vmdb/app/models/vmdb_database_connection.rb     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comment 11 CFME Bot 2015-08-20 02:55:24 UTC
New commit detected on cfme/5.4.z:
https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=4cfbdeed3995f4a817ddda76daaa0ae71f65a835

commit 4cfbdeed3995f4a817ddda76daaa0ae71f65a835
Author:     Martin Hradil <mhradil>
AuthorDate: Wed Jun 10 12:45:29 2015 +0000
Commit:     Martin Hradil <mhradil>
CommitDate: Wed Aug 19 14:36:27 2015 +0000

    VmdbDatabaseConnection - wait_resource is :integer, not :string
    
    Because pg_locks.relation is of type oid, at least since 7.4 and up to
    9.5 including. And oid is an integer.
    
    This fixes an "comparison of Array with Array failed" that would happen
    when trying to sort the client connections table by wait_resource, and
    one client had a lock (thus, integer value), and other didn't (nil -
    converted to "\xFF" in MiqReport::Generator::Sorting#build_sort_table,
    because of the false type).
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1229308
    (cherry picked from commit aa402bc5f89dd8adc3ab95bd6941e73e3fb2c8cc)

 vmdb/app/models/miq_report/generator/sorting.rb | 2 +-
 vmdb/app/models/vmdb_database_connection.rb     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comment 12 CFME Bot 2015-08-20 02:55:30 UTC
New commit detected on cfme/5.4.z:
https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=4013cf2e8177ec8cd004e50de665e272443c1bbd

commit 4013cf2e8177ec8cd004e50de665e272443c1bbd
Merge: 3c64218 4cfbdee
Author:     Dan Clarizio <dclarizi>
AuthorDate: Wed Aug 19 12:08:50 2015 -0400
Commit:     Dan Clarizio <dclarizi>
CommitDate: Wed Aug 19 12:08:50 2015 -0400

    Merge branch 'bz1255059' into '5.4.z'
    
    VmdbDatabaseConnection - wait_resource is :integer, not :string
    
    Because pg_locks.relation is of type oid, at least since 7.4 and up to
    9.5 including. And oid is an integer.
    
    This fixes an "comparison of Array with Array failed" that would happen
    when trying to sort the client connections table by wait_resource, and
    one client had a lock (thus, integer value), and other didn't (nil -
    converted to "\xFF" in MiqReport::Generator::Sorting#build_sort_table,
    because of the false type).
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1229308
    (cherry picked from commit aa402bc5f89dd8adc3ab95bd6941e73e3fb2c8cc)
    
    5.4 bz: https://bugzilla.redhat.com/show_bug.cgi?id=1255059
    clean cherry pick
    
    See merge request !233

 vmdb/app/models/miq_report/generator/sorting.rb | 2 +-
 vmdb/app/models/vmdb_database_connection.rb     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Comment 13 Nandini Chandra 2015-09-15 20:31:27 UTC
Verified in master.20150915141925_58436ca

Comment 14 Nandini Chandra 2015-09-29 17:00:42 UTC
Verified in 5.5.0.1

Comment 16 errata-xmlrpc 2015-12-08 13:16:38 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/RHSA-2015:2551