Dapr
v1.17.10Orchestration & ManagementDapr 1.17.10 fixes a bug where resiliency retry policies with `matching` rules on pubsub publish operations were silently ignored, causing terminal errors to be retried unnecessarily. Teams using pubsub with resiliency retry configuration should upgrade to enforce intended retry behavior.
breakingRetry behavior change for pubsub publish errors
If you have resiliency policies with `matching` rules targeting pubsub outbound retry, publish errors will now be classified correctly and non-retriable errors will stop retrying immediately instead of exhausting maxRetries. Verify your resiliency configuration expectations: terminal errors (e.g., 401 Unauthorized, 404 Not Found) will no longer consume retry attempts. If your application relied on the old behavior of always retrying publish, adjust your retry policy or remove the `matching` constraint.
enhancementEnforce resiliency policy intent for pubsub
Upgrade to 1.17.10 if you've configured resiliency policies with explicit `matching` codes for pubsub publish — your configuration will now work as intended. This brings pubsub publish in line with service invocation, output bindings, and other operations that already respect retry `matching`. No code changes needed; the fix is transparent.
主な変更 (3)
- Resiliency retry `matching` (httpStatusCodes/gRPCStatusCodes) is now respected on pubsub Publish and BulkPublish operations
- Publish errors are now wrapped in resiliency.CodeError when they carry gRPC status, matching behavior in other policy runners
- Terminal pubsub errors (invalid topic, unauthorized) now fail fast instead of retrying up to maxRetries