Skip to content

Commit deb1af2

Browse files
committed
Refs #38856 - skip auto publish request if already scheduled
1 parent c354508 commit deb1af2

File tree

2 files changed

+5
-15
lines changed

2 files changed

+5
-15
lines changed

app/lib/actions/helpers/content_view_auto_publisher.rb

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,6 @@ def auto_publish_views(_execution_plan)
2121
end
2222

2323
def auto_publish_view(_execution_plan)
24-
# Skip for auto-published composite CVs to prevent race condition.
25-
# When a chained composite publish finishes, its :stopped hook could find
26-
# requests created by concurrent component CVs, causing duplicate publishes.
27-
# Manual publishes and promotions should still check for pending requests.
28-
content_view = ::Katello::ContentView.find_by(id: input[:auto_publish_content_view_id])
29-
return if content_view&.composite? && input[:auto_published]
30-
3124
request = ::Katello::ContentViewAutoPublishRequest.find_by(content_view_id: input[:auto_publish_content_view_id])
3225
return unless request
3326

app/services/katello/content_view_manager.rb

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ def self.create_candlepin_environment(content_view_environment:)
2222
end
2323

2424
def self.request_auto_publish(content_view:, content_view_version:)
25+
if scheduled_composite_publish?(content_view)
26+
auto_publish_log(nil, "composite publish already scheduled for ID #{content_view.id}, skipping")
27+
return
28+
end
29+
2530
request = content_view.create_auto_publish_request!(
2631
content_view_version: content_view_version
2732
)
@@ -48,14 +53,6 @@ def self.trigger_auto_publish!(request:)
4853
request.with_lock do
4954
composite_cv = request.content_view
5055

51-
# Check if composite publish is already scheduled (chained to component CVs)
52-
# If so, skip - the scheduled publish will use latest component versions
53-
if scheduled_composite_publish?(composite_cv)
54-
auto_publish_log(request, "composite publish already scheduled, skipping")
55-
request.destroy!
56-
return
57-
end
58-
5956
if content_view_locks(content_view: composite_cv).any?
6057
auto_publish_log(request, "locks found")
6158
return

0 commit comments

Comments
 (0)