Bug 2004158 - Sat 6.9.5: foreman-rake facts:clean aborts due to foreign key in database
Summary: Sat 6.9.5: foreman-rake facts:clean aborts due to foreign key in database
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Fact
Version: 6.9.0
Hardware: Unspecified
OS: Unspecified
medium vote
Target Milestone: 6.11.0
Assignee: Tomer Brisker
QA Contact: Peter Ondrejka
Depends On:
TreeView+ depends on / blocked
Reported: 2021-09-14 15:17 UTC by Vincent S. Cojot
Modified: 2022-04-26 13:37 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed:
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Foreman Issue Tracker 30028 0 Normal New foreman-rake facts:clean fails with foreign key constraint violation 2021-10-18 13:30:59 UTC

Description Vincent S. Cojot 2021-09-14 15:17:19 UTC
Description of problem:

On Satellite 6.9.5, I'm getting this failure:

[root@sat6 ~]# foreman-rake facts:clean COMMIT=true --trace
** Invoke facts:clean (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute facts:clean
Starting orphaned facts clean up
rake aborted!
ActiveRecord::InvalidForeignKey: PG::ForeignKeyViolation: ERROR:  update or delete on table "fact_names" violates foreign key constraint "fact_values_fact_name_id_fk" on table "fact_values"
DETAIL:  Key (id)=(5153) is still referenced from table "fact_values".
/opt/theforeman/tfm/root/usr/share/gems/gems/activerecord- `async_exec_params'
/opt/theforeman/tfm/root/usr/share/gems/gems/activerecord- `block (2 levels) in exec_no_cache'

Version-Release number of selected component (if applicable):
satellite 6.9.5 (fresh upgrade from 6.8.6)

Comment 1 Tomer Brisker 2021-10-18 13:30:58 UTC
Connecting redmine issue https://projects.theforeman.org/issues/30028 from this bug

Comment 2 Bryan Kearney 2021-11-04 13:51:26 UTC
Upstream bug assigned to tbrisker@redhat.com

Comment 3 Bryan Kearney 2021-11-04 13:51:27 UTC
Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/30028 has been resolved.

Comment 4 Peter Ondrejka 2022-04-26 13:37:02 UTC
Checked on Satellite 6.11 snap 17, I inserted several entries into the fact_names table: compose/non-compse, without matching fact_values, with null fact values, etc. When running "foreman-rake facts:clean COMMIT=true --trace":
- fact_names without fact_values are removed
- non-compose fact_name with fact_value is left alone without error 
- compose fact_name with empty fact_value is removed 
- compose fact_name with non-empty fact_value is left alone without error

Note You need to log in before you can comment on or make changes to this bug.