fix(publishing): bound push-publish connect attempts, isolate per-bundle failures, report due queued bundles as BUNDLE_REQUESTED (#37449) - #37454
Open
hassandotcms wants to merge 3 commits into
Conversation
7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implementation (PR 2 of 2) for #37449. Spec approved in #37450.
What changed
PUSH_PUBLISH_CONNECT_TIMEOUT_MS, default 10 s,0= unbounded. Before, an endpoint that never answered blocked the publisher job for the operating system's TCP timeout, about two minutes per attempt, and every bundle queued behind it waited.PublisherQueueJobfinalizes a bundle that fails unexpectedly and continues with the next one, instead of ending the run.GET /api/v1/publishingandGET /api/v1/publishing/{id}report a queued bundle whose publish date is already due asBUNDLE_REQUESTEDwithcreateDateequal to its publish date.SCHEDULEDnow means future-dated only. The Publishing Queue portlet already renders both.Release note
status=SCHEDULEDonGET /api/v1/publishingnow returns only future-dated queued bundles. Queued bundles whose publish date is already due are returned underBUNDLE_REQUESTED. Scripts that usedSCHEDULEDto find all waiting bundles should query both.Tests
PublisherQueueJobTest: client factory applies the configured timeout and leavesRestClientBuilderuntouched; an unexpected error in one bundle finalizes it and the next bundle is still processed.PublishingResourceIntegrationTest: due queued bundle reported asBUNDLE_REQUESTEDin list and detail;SCHEDULEDandBUNDLE_REQUESTEDfilters split due and future.BundleManagementResourceIntegrationTest,PublisherAPIImplTest,AuditPublishingResourceTestgreen.No frontend, legacy DWR/JSP,
RestClientBuilder, schema or receiver-side change. Rollback-safe.This PR fixes: #37449