Bug 1075550
| Summary: | when I delete user in webUI this error message appears in PostgreSQL log: ERROR: null value in column "user_id" violates not-null constraint | ||
|---|---|---|---|
| Product: | Red Hat Satellite | Reporter: | Jan Hutař <jhutar> |
| Component: | WebUI | Assignee: | Ohad Levy <ohadlevy> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | sthirugn <sthirugn> |
| Severity: | low | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | Nightly | CC: | dcleal, jmagen, jmontleo, sthirugn |
| Target Milestone: | Unspecified | Keywords: | Triaged |
| Target Release: | Unused | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| URL: | http://projects.theforeman.org/issues/4641 | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2014-09-11 12:21:39 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: | |||
https://github.com/theforeman/foreman/pull/1371 submitted by community member 'marianitadn; Moving to POST since upstream bug http://projects.theforeman.org/issues/4641 has been closed ------------- Maria Nita I tried to write a regression test case for this, but no luck. This is the test https://github.com/marianitadn/foreman/blob/4641-delete-user/test/unit/user_test.rb#L341-L351, but it doesn't fail. I think I have an idea for the solution, but without a test I can't be convinced. ------------- Dominic Cleal I think this could be tricky to test, as the deletion and therefore your test are actually successful. The error seems to be coming from the "ensure_default_role" after_commit hook on the User model (thanks to Marek for pointing to this). Errors in here seem to be swallowed and are only hitting the logs. It looks like the test_after_commit gem would enable testing of it, if you want to try it out. Probably setting the after_commit hook to run on create and update only would fix the issue. ------------- Dominic Cleal https://github.com/theforeman/foreman/pull/1371 ------------- Maria Nita Applied in changeset commit:a0bd5bb282c27f72a5e3746a1582b73366c15d21. Verified. No error seen in postgresql log. Version Tested: GA Snap 7 - Satellite-6.0.4-RHEL-6-20140829.0 * apr-util-ldap-1.3.9-3.el6_0.1.x86_64 * candlepin-0.9.23-1.el6_5.noarch * candlepin-common-1.0.1-1.el6_5.noarch * candlepin-scl-1-5.el6_4.noarch * candlepin-scl-quartz-2.1.5-5.el6_4.noarch * candlepin-scl-rhino-1.7R3-1.el6_4.noarch * candlepin-scl-runtime-1-5.el6_4.noarch * candlepin-selinux-0.9.23-1.el6_5.noarch * candlepin-tomcat6-0.9.23-1.el6_5.noarch * elasticsearch-0.90.10-6.el6sat.noarch * foreman-1.6.0.42-1.el6sat.noarch * foreman-compute-1.6.0.42-1.el6sat.noarch * foreman-gce-1.6.0.42-1.el6sat.noarch * foreman-libvirt-1.6.0.42-1.el6sat.noarch * foreman-ovirt-1.6.0.42-1.el6sat.noarch * foreman-postgresql-1.6.0.42-1.el6sat.noarch * foreman-proxy-1.6.0.30-1.el6sat.noarch * foreman-selinux-1.6.0.14-1.el6sat.noarch * foreman-vmware-1.6.0.42-1.el6sat.noarch * katello-1.5.0-30.el6sat.noarch * katello-ca-1.0-1.noarch * katello-certs-tools-1.5.6-1.el6sat.noarch * katello-installer-0.0.62-1.el6sat.noarch * openldap-2.4.23-34.el6_5.1.x86_64 * openldap-devel-2.4.23-34.el6_5.1.x86_64 * pulp-katello-0.3-4.el6sat.noarch * pulp-nodes-common-2.4.1-0.5.rc1.el6sat.noarch * pulp-nodes-parent-2.4.1-0.5.rc1.el6sat.noarch * pulp-puppet-plugins-2.4.1-0.5.rc1.el6sat.noarch * pulp-puppet-tools-2.4.1-0.5.rc1.el6sat.noarch * pulp-rpm-plugins-2.4.1-0.5.rc1.el6sat.noarch * pulp-selinux-2.4.1-0.5.rc1.el6sat.noarch * pulp-server-2.4.1-0.5.rc1.el6sat.noarch * python-ldap-2.3.10-1.el6.x86_64 * ruby193-rubygem-net-ldap-0.3.1-3.el6sat.noarch * ruby193-rubygem-runcible-1.1.0-2.el6sat.noarch This was delivered with Satellite 6.0 which was released on 10 September 2014. |
Description of problem: When I delete user in webUI this error message appears in PostgreSQL log. Version-Release number of selected component (if applicable): Satellite-6.0.3-RHEL-6-20140305.1 How reproducible: always Steps to Reproduce: 1. In https://<fqdn>/users create new user 2. Delete it 3. Watch PostgreSQL log Actual results: ==> /var/log/foreman/production.log <== Processing by UsersController#destroy as HTML Parameters: {"authenticity_token"=>"5yMGr+z1YPItZWs4znL1TsgRV72Get+TIo/tbiem/jk=", "id"=>"6-ccccc"} Expire fragment views/tabs_and_title_records-1 (0.1ms) Expire fragment views/tabs_and_title_records-1 (0.4ms) Expire fragment views/tabs_and_title_records-1 (0.1ms) ==> /var/lib/pgsql/data/pg_log/postgresql-Wed.log <== ERROR: null value in column "user_id" violates not-null constraint STATEMENT: INSERT INTO "cached_user_roles" ("created_at", "role_id", "updated_at", "user_id", "user_role_id") VALUES ($1, $2, $3, $4, $5) RETURNING "id" ==> /var/log/foreman/production.log <== Redirected to https://<fqdn>/users Completed 302 Found in 412ms (ActiveRecord: 26.3ms) Processing by UsersController#index as HTML Rendered users/index.html.erb within layouts/application (22.7ms) Rendered common/_searchbar.html.erb (3.5ms) Rendered home/_user_dropdown.html.erb (1.5ms) Read fragment views/tabs_and_title_records-1 (0.1ms) Rendered home/_organization_dropdown.html.erb (5.0ms) Rendered home/_org_switcher.html.erb (5.4ms) Rendered home/_submenu.html.erb (4.2ms) Rendered home/_submenu.html.erb (6.9ms) Rendered home/_submenu.html.erb (4.7ms) Rendered home/_submenu.html.erb (3.0ms) Rendered home/_submenu.html.erb (2.9ms) Rendered home/_submenu.html.erb (5.0ms) Write fragment views/tabs_and_title_records-1 (1.2ms) Rendered home/_topbar.html.erb (39.3ms) Rendered layouts/base.html.erb (41.1ms) Completed 200 OK in 80ms (Views: 66.7ms | ActiveRecord: 4.5ms) Expected results: No error in the PostgreSQL should be logged.