[Spacewalk-list] Bugs in Spacewalk/PostgreSQL

Jan Pazdziora jpazdziora at redhat.com
Wed Nov 2 15:17:45 UTC 2011


On Wed, Oct 26, 2011 at 02:41:47PM +0000, Wojtak, Greg wrote:
> What is the appropriate method to take to report bugs (in this case 500 messages) in a Spacealk/PostgreSQL setup?  Through this group, via a Bugzilla…?
> 

Either is fine.

> When I try to cancel a scheduled action on a server (Systems -> <server_name> -> Events -> select environments and cancel events) I get a 500 with an accompanying message in the httpd error log:
> 
> 
> [Wed Oct 26 10:36:47 2011] [error] Execution of /var/www/html/network/systems/details/history/cancel_events_confirm.pxt failed at Wed Oct 26 10:36:47 2011: RHN::Exception: DBD::Pg::st execute failed: ERROR:  syntax error at or near "selected_actions"\nLINE 3: cursor selected_actions is\n               ^\n  RHN::DB /usr/share/perl5/vendor_perl/RHN/DB.pm 228 RHN::Exception::DB::throw\n  RHN::DB::st /usr/share/perl5/vendor_perl/RHN/DB.pm 564 RHN::DB::handle_error\n  RHN::DB::Action /usr/share/perl5/vendor_perl/RHN/DB/Action.pm 264 RHN::DB::st::execute_h\n  Sniglets::ListView::ActionList /usr/share/perl5/vendor_perl/Sniglets/ListView/ActionList.pm 168 RHN::DB::Action::delete_system_from_action_set\n  Sniglets::ListView::List /usr/share/perl5/vendor_perl/Sniglets/ListView/List.pm 374 Sniglets::ListView::ActionList::events_in_set_cb\n  Sniglets::Lists /usr/share/perl5/vendor_perl/Sniglets/Lists.pm 135 Sniglets::ListView::List::callback\n  PXT::ApacheHandler /usr/share/perl5/vendor_perl/PXT/ApacheHandler.pm 499 Sniglets::Lists::listview_cb\n  PXT::ApacheHandler /usr/share/perl5/vendor_perl/PXT/ApacheHandler.pm 113 PXT::ApacheHandler::pxt_parse_data\n  PXT::ApacheHandler /usr/share/perl5/vendor_perl/PXT/ApacheHandler.pm 113 (eval)\n  main -e 0 PXT::ApacheHandler::handler\n  main -e 0 (eval)

PostgreSQL does not support the cursor and anonymous PL/SQL syntax
used in cancel_pending_for_system, delete_set_from_action, and
delete_system_from_action_set.

The easiest fix will probably be to just make the select in one
statement, and in the loop fetch the records and $dbh->call_procedure
the rhn_server.remove_action.

I'll be happy to review a patch if you can come up with one.

Yours,

-- 
Jan Pazdziora
Principal Software Engineer, Satellite Engineering, Red Hat




More information about the Spacewalk-list mailing list