[
https://issues.apache.org/jira/browse/FLINK-39860?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated FLINK-39860:
-----------------------------------
Labels: pull-request-available (was: )
> Reduce ArchUnit violations: production code must not call @VisibleForTesting
> methods
> ------------------------------------------------------------------------------------
>
> Key: FLINK-39860
> URL: https://issues.apache.org/jira/browse/FLINK-39860
> Project: Flink
> Issue Type: Sub-task
> Components: Tests
> Reporter: Purushottam Sinha
> Priority: Minor
> Labels: pull-request-available
>
> The NO_CALLS_TO_VISIBLE_FOR_TESTING_METHODS rule in
> flink-architecture-tests-production (ApiAnnotationRules) is frozen with 23
> grandfathered violations — production code calling @VisibleForTesting methods.
>
> In all 23 cases the annotation is inaccurate: the target is genuinely invoked
> by production code, so the "test-only" marker misleads maintainers (it
> implies the method is safe to refactor/remove when it isn't). Fix is to
> remove the annotation from the 12 affected methods — no visibility or
> signature change.
>
> Affected methods (flink-runtime unless noted):
> - BlobKey#getHash() — 5 callers (blob integrity checks)
> - TaskExecutorResourceUtils#generateDefaultSlotResourceProfile /
> #generateTotalAvailableResourceProfile — 4
> - EmbeddedLeaderService#grantLeadership() / #revokeLeadership() — 6
> (called by EmbeddedHaServicesWithLeadershipControl)
> - SourceOperator#getSourceReader() — 2
> - CopyOnWriteStateMap#snapshotMapArrays(),
> ExecutionVertex#finishPartitionsIfNeeded(),
> DataSetMetaInfo#withNumRegisteredPartitions(),
> RecreateOnResetOperatorCoordinator.QuiesceableContext#quiesce(),
> MailboxProcessor#isDefaultActionAvailable() — 1 each
> - Lockable.LockableTypeSerializer#getElementSerializer() (flink-cep) — 1
>
> After the fix the store file is empty; the freeze() wrapper is kept (an empty
> freeze store still fails any newly introduced violation).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)