fix(ci+cache): decouple package tests from integration jobs; prevent CM cache refresh storms#2324
Merged
fix(ci+cache): decouple package tests from integration jobs; prevent CM cache refresh storms#2324
Conversation
Remove integration-test from the needs of asset-import-test and package-test. The dependency was purely for sequencing but caused GitHub to re-run all package test jobs when only an integration test was re-run via "Rerun failed jobs". fix(cache): prevent repeated CM cache refreshes for unknown attribute IDs Track attribute IDs that are confirmed missing in a deletedAttrIds set on CustomMetadataCache. Subsequent lookups for the same unknown attribute return NotFoundException immediately without triggering another forceRefresh(). The set is cleared on each full cache refresh so newly-created attributes are not permanently blacklisted. This prevents the refresh storm observed during adoption-export when large numbers of IndistinctAsset results contained empty custom metadata attributes with unknown IDs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Chris (He/Him) <cgrote@gmail.com>
Signed-off-by: Chris (He/Him) <cgrote@gmail.com>
There was a problem hiding this comment.
Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.
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.
Summary
CI fix: Remove
integration-testfrom theneedsofasset-import-testandpackage-test. The dependency was purely for sequencing but caused GitHub to re-run all package test jobs when only a single integration test was re-run via "Rerun failed jobs".Cache fix: Track attribute IDs that are confirmed missing in a
deletedAttrIdsset onCustomMetadataCache. Subsequent lookups for the same unknown attribute ID returnNotFoundExceptionimmediately without triggering anotherforceRefresh(). The set is cleared on each full cache refresh so newly-created attributes are not permanently blacklisted.This prevents the refresh storm observed during
adoption-exportwhere large numbers ofIndistinctAssetresults contained empty custom metadata attributes with unknown IDs — each miss was triggering a full API cache rebuild.Test plan
asset-import-testorpackage-test)./gradlew testto confirm no regressions in deserialization unit testsadoption-exportpackage tests and compare runtime before/after🤖 Generated with Claude Code