You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Originally filed as "soft failures throw and retry-storm" from the #2974 parity analysis (bigquery-firestore-export §7a-7c, §8). The state has moved, so reframing.
Current state
processMessages now runs with retry: false (6a9d53d), matching the extension, so the pub/sub half of §8 no longer storms.
retry: false may trade the storm for silent loss: a transient failure (Firestore blip, timeout) acks and drops the completion notification, and that run's output never reaches Firestore. The extension appears to have the same flaw, so this is parity, but arguably parity with a flaw. With retry: true, v2 pub/sub retries go through Eventarc with exponential backoff (10s to 600s, up to 24h), so retries look bounded rather than stormy - the storm concern seems to only apply to permanent errors, which the #2983 pattern addresses.
Proposed plan (needs agreement, since it goes beyond parity)
Originally filed as "soft failures throw and retry-storm" from the #2974 parity analysis (bigquery-firestore-export §7a-7c, §8). The state has moved, so reframing.
Current state
processMessagesnow runs withretry: false(6a9d53d), matching the extension, so the pub/sub half of §8 no longer storms.PermanentConfigurationErrorfor theupsertTransferConfigtask: permanent misconfigurations log and return instead of retrying; transient errors still retry.Possible remaining problem
retry: falsemay trade the storm for silent loss: a transient failure (Firestore blip, timeout) acks and drops the completion notification, and that run's output never reaches Firestore. The extension appears to have the same flaw, so this is parity, but arguably parity with a flaw. Withretry: true, v2 pub/sub retries go through Eventarc with exponential backoff (10s to 600s, up to 24h), so retries look bounded rather than stormy - the storm concern seems to only apply to permanent errors, which the #2983 pattern addresses.Proposed plan (needs agreement, since it goes beyond parity)
handleMessagePublished(non-associated config, malformed payload → log and return).processMessagestoretry: true. Order matters.The lost
setProcessingStatevisibility is out of scope here, tracked in #3035.Depends on: #2983, #2963, #2985. Parity ledger: #2974.