Skip to content

Aa Processor fixes#225

Open
jacomago wants to merge 3 commits into
ChannelFinder:masterfrom
jacomago:aa-fixes
Open

Aa Processor fixes#225
jacomago wants to merge 3 commits into
ChannelFinder:masterfrom
jacomago:aa-fixes

Conversation

@jacomago
Copy link
Copy Markdown
Contributor

  • Add a connection timeout
  • Skip archivers that are not available
  • log a warning when pvs are not resumed

…urious ARCHIVE

Previously, a failed HTTP status batch silently returned an empty list.
Those PVs were then treated as "not archived" and submitted for archiving
on every subsequent run, spamming the archiver with duplicate requests.

ArchiverService now throws ArchiverServiceException on status fetch failure.
AAChannelProcessor catches it in getArchiveActions() and returns null,
causing submitToArchivers() to skip that archiver entirely for the run.

Also renames getStatusesFromPvListQuery/Body → getStatusesViaGet/Post
to reflect their transport semantics

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@anderslindho
Copy link
Copy Markdown
Contributor

Can you please fix the 3 new sonar issues?

georgweiss
georgweiss previously approved these changes May 29, 2026
jacomago and others added 2 commits May 29, 2026 16:43
…fail fast

Without a connect timeout, TCP SYN drops (firewall, no route) stall
for the OS default (~2 min) before returning. Setting connect timeout
equal to the configured read timeout ensures both slow and unreachable
archivers fail at the same bounded deadline.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When the status fetch for an archiver fails (host unreachable), the
processor already skips that archiver to avoid spurious ARCHIVE
submissions. However, channels with pvStatus=Active that are currently
paused in the archiver will remain paused indefinitely — until the
archiver recovers and another channel update happens to arrive.

Add warnSkippedActivePvs() to make that risk visible: after a failed
status fetch, filter the skipped batch to Active channels and log them
at WARNING with a count and up to 10 names, so operators can see which
PVs may need a manual RESUME if the archiver was down for an extended
period.

Test: AAChannelProcessorIT.testStatusFetchFailureSkipsConfigureAndReturnsZero
verifies that when getStatusesViaGet throws, process() returns 0 and
configureAA is never called.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@sonarqubecloud
Copy link
Copy Markdown

@jacomago
Copy link
Copy Markdown
Contributor Author

Can you please fix the 3 new sonar issues?

done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants