Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[QUERY] [Duplicate] Azure.RequestFailedException: Multiple condition headers are not supported #47635

Open
3 tasks
ErezCohenn opened this issue Dec 22, 2024 · 3 comments
Labels
Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. duplicate This issue is the duplicate of another issue needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team question The issue doesn't require a change to the product in order to be resolved. Most issues start as that Service Attention Workflow: This issue is responsible by Azure service team. Storage Storage Service (Queues, Blobs, Files)

Comments

@ErezCohenn
Copy link

Library name and version

Azure.Messaging.Eventhubs.Processor.5.11.5

Describe the bug

We are encountering a recurring issue within our high-throughput data pipeline service that utilizes Azure Event Hubs. The problem manifests as an unhandled exception during the processing of Event Hub messages, specifically during the operation "Executing a load balancing cycle." The inner exception is an Azure.RequestFailedException with the message "Multiple condition headers are not supported," resulting in a 400 status code.

Impact:

When this error occurs frequently, it causes the affected pod to lock the partition for an extended period. Consequently, data accumulates in the Event Hub until the transient error resolves automatically, at which point the checkpoint is released. This behavior leads to significant data latency, sometimes extending to several days, which severely impacts our data processing timelines.

Troubleshooting Steps Taken:

  • SDK Logs Analysis: We have enabled and reviewed the Event Hubs SDK logs but did not find any relevant traces that indicate the root cause or potential fixes for this issue.
  • Configuration Review: We have verified that we are not adding any manual headers to the storage checkpoint operations. Additionally, there are no proxy services in our architecture that could be injecting additional headers into the requests.
  • Reviewed this ticket: [BUG] Azure.RequestFailedException: Multiple condition headers are not supported on stopping EventProcessorClient #33635, we dont want to override the srouce code of the SDK in order to add the property CacheControl to the header of the blobClient (And also if there is another way to add this header - what is the impact and the meaning of that? ).

Expected behavior

The EventProcessorClient should handle load balancing without encountering exceptions of "Multiple condition headers are not supported", ensuring continuous event processing.

Actual behavior

The process fails with a RequestFailedException indicating that multiple condition headers are not supported.

Additional Context:

Inner Exception: Azure.RequestFailedException: Multiple condition headers are not supported.
Stack Trace:
scss
Copy code
at Azure.Storage.Blobs.BlockBlobRestClient.UploadAsync(...)
at Azure.Storage.Blobs.Specialized.BlockBlobClient.UploadInternal(...)
at Azure.Storage.PartitionedUploader2.UploadInternal(...) at Azure.Storage.Blobs.BlobClient.StagedUploadInternal(...) at Azure.Messaging.EventHubs.Primitives.BlobCheckpointStoreInternal.ClaimOwnershipAsync(...) at Azure.Messaging.EventHubs.Primitives.EventProcessor1.DelegatingCheckpointStore.ClaimOwnershipAsync(...)
at Azure.Messaging.EventHubs.Primitives.PartitionLoadBalancer.RenewOwnershi

Reproduction Steps

Troubleshooting Steps Taken:

SDK Logs Analysis: We have enabled and reviewed the Event Hubs SDK logs but did not find any relevant traces that indicate the root cause or potential fixes for this issue.

Configuration Review: We have verified that we are not adding any manual headers to the storage checkpoint operations. Additionally, there are no proxy services in our architecture that could be injecting additional headers into the requests.

Environment

Linux OS
.NET 8
Azure EventHub premium tier
It happens in all environments we have

@github-actions github-actions bot added Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. Event Hubs needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team question The issue doesn't require a change to the product in order to be resolved. Most issues start as that labels Dec 22, 2024
Copy link

Thank you for your feedback. Tagging and routing to the team member best able to assist.

@jsquire jsquire removed their assignment Dec 22, 2024
@jsquire jsquire added Storage Storage Service (Queues, Blobs, Files) Service Attention Workflow: This issue is responsible by Azure service team. and removed Event Hubs labels Dec 22, 2024
Copy link

Thanks for the feedback! We are routing this to the appropriate team for follow-up. cc @xgithubtriage.

@amnguye amnguye added the duplicate This issue is the duplicate of another issue label Dec 23, 2024
@amnguye
Copy link
Member

amnguye commented Dec 23, 2024

This is definitely a duplicate of #33635 which was mentioned in the github issue.

I don't see why you would need to edit the source code of the SDK to accomplish the resolution that was concluded in the other github issue. I would highly suggest, doing a Set Properties call on the blob and setting the Cache Control property with a max age of 0.

#33635 (comment)

Also in the github issue we discussed looking into your environment to check for any firewalls, proxy or anything that could be causing a cache to happen in the first place.

This is not a bug in the SDK of eventhubs or storage.

@amnguye amnguye changed the title [BUG] Azure.RequestFailedException: Multiple condition headers are not supported [QUERY] Azure.RequestFailedException: Multiple condition headers are not supported Dec 23, 2024
@amnguye amnguye changed the title [QUERY] Azure.RequestFailedException: Multiple condition headers are not supported [QUERY] [Duplicate] Azure.RequestFailedException: Multiple condition headers are not supported Dec 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. duplicate This issue is the duplicate of another issue needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team question The issue doesn't require a change to the product in order to be resolved. Most issues start as that Service Attention Workflow: This issue is responsible by Azure service team. Storage Storage Service (Queues, Blobs, Files)
Projects
None yet
Development

No branches or pull requests

3 participants