fix(cloudfront,logs,kinesis,s3): persist dropped fields + real promote/disassociate (1.13)#1938
Merged
Conversation
…e/disassociate - CloudFront UpdateDistributionWithStagingConfig now promotes the staging distribution's config onto the primary (was only an ETag bump); ListDistributions now reports each distribution's real Staging flag instead of a hardcoded false. - Logs DisassociateSourceFromS3TableIntegration now removes the source from s3_table_sources (was a no-op, so ListSources kept returning it). - Kinesis DescribeStreamSummary now reports WarmThroughput and MaxRecordSizeInKiB once configured (were omitted). - S3 PutBucketVersioning now persists MfaDelete; GetBucketVersioning echoes it (new Bucket.mfa_delete field, serde-default for snapshot compat). Bug-hunt 2026-06-24 finding 1.13 (MED round-trip drops). Unit + E2E coverage added per fix.
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
MED round-trip-drop fixes from the 2026-06-24 bug hunt (finding 1.13):
UpdateDistributionWithStagingConfigonly bumped the ETag; the staging config never reached the primary. Now promotes the staging distribution's config onto the primary and clears itsStagingflag.ListDistributionshardcoded<Staging>false</Staging>. Now reports each distribution's real staging flag.DisassociateSourceFromS3TableIntegrationwas a no-op, soListSourcesForS3TableIntegrationkept returning a removed source. Now removes the matching source.DescribeStreamSummaryomittedWarmThroughputandMaxRecordSizeInKiB, soUpdateStreamWarmThroughput/UpdateMaxRecordSizenever read back. Now reported once configured.PutBucketVersioningdroppedMfaDelete;GetBucketVersioningomitted it. NewBucket.mfa_deletefield (serde-default, snapshot-compatible) persists + echoes it.Test plan
update_distribution_with_staging_config_swaps_etagextended: promoted prod carries the staging config's comment +Staging=false.s3_table_integration_stubs(unit) extended: ListSources returns 0 after disassociate.kinesis_stream_summary_reports_warm_throughput_and_max_record_size(e2e).s3_bucket_versioning_put_getextended: MfaDelete round-trips.Surface
No new external API surface.
Bucket.mfa_deleteis#[serde(default)]in both runtime state and the persistenceBucketMeta, so existing snapshots load unchanged.Summary by cubic
Fixes round-trip drops across CloudFront, Logs, Kinesis, and S3 so configs and settings persist and read back correctly. Implements real promotion/disassociation behavior for better API parity.
Bug Fixes
UpdateDistributionWithStagingConfignow promotes the staging config to the primary and setsStaging=falseon the promoted primary;ListDistributionsreturns each distribution’s realStagingflag.DisassociateSourceFromS3TableIntegrationnow removes the source;ListSourcesForS3TableIntegrationno longer returns disassociated sources.DescribeStreamSummarynow includesWarmThroughputandMaxRecordSizeInKiBonce configured.PutBucketVersioningpersistsMfaDelete;GetBucketVersioningechoes it. AddedBucket.mfa_deletein persistence.Migration
Bucket.mfa_deleteuses serde defaulting; existing snapshots continue to load.Written for commit 27fe6d1. Summary will update on new commits.