Skip to content

DataExchange job marked as failed when response is 200 with valid JSON body (header parsing error) #1392

Open

Description

@Max0u

Describe the bug

When submitting a job to LiveRamp via DataExchange, the API call succeeds with HTTP 200 and a valid JSON body including a Job ID and success status. However, an internal error while parsing response headers (Failed to parse ResponseHeaders from prefix header) appears.

Regression Issue

  • Select this option if this issue appears to be a regression.

Expected Behavior

If LiveRamp responds with:

  • HTTP status 200
  • A JSON body containing a valid Job ID and a success-like status (e.g. "ADX Start job submitted"),

Then:

  • The returned LiveRamp Job ID should be returned.
  • Missing or unexpected headers should not cause the entire task to fail unless they are strictly required and validated.

Current Behavior

The LiveRamp API responds with 200 OK and a JSON body confirming that the job was submitted but return a SdkError

Reproduction Steps

 // Cargo.toml dependencies:
 // aws-sdk-dataexchange = "1.93.0"
 // aws-config = "1.8.11"
 // tokio = { version = "1", features = ["full"] }

 use aws_sdk_dataexchange::Client;

 #[tokio::main]
 async fn main() {
     let config = aws_config::from_env()
         .region(aws_sdk_dataexchange::config::Region::new("us-east-1"))
         .load()
         .await;
     let client = Client::new(&config);

     let result = client
         .send_api_asset()
         .data_set_id("your-data-set-id")
         .revision_id("your-revision-id")
         .asset_id("your-asset-id")
         .method("POST")
         .path("/adx/job/start")
         .body(r#"{"input_s3":"s3://bucket/file.csv"}"#)
         .send()
         .await;

     match result {
         Ok(resp) => println!("Success: {:?}", resp.body()),
         Err(e) => println!("Error: {e:?}"),
     }
 }

Possible Solution

No response

Additional Information/Context

No response

Version

├── aws-config v1.8.11
│   ├── aws-credential-types v1.2.10
│   │   ├── aws-smithy-async v1.2.6
│   │   ├── aws-smithy-runtime-api v1.9.2
│   │   │   ├── aws-smithy-async v1.2.6 (*)
│   │   │   ├── aws-smithy-types v1.3.4
│   │   ├── aws-smithy-types v1.3.4 (*)
│   ├── aws-runtime v1.5.16
│   │   ├── aws-credential-types v1.2.10 (*)
│   │   ├── aws-sigv4 v1.3.6
│   │   │   ├── aws-credential-types v1.2.10 (*)
│   │   │   ├── aws-smithy-eventstream v0.60.13
│   │   │   │   ├── aws-smithy-types v1.3.4 (*)
│   │   │   ├── aws-smithy-http v0.62.5
│   │   │   │   ├── aws-smithy-eventstream v0.60.13 (*)
│   │   │   │   ├── aws-smithy-runtime-api v1.9.2 (*)
│   │   │   │   ├── aws-smithy-types v1.3.4 (*)
│   │   │   ├── aws-smithy-runtime-api v1.9.2 (*)
│   │   │   ├── aws-smithy-types v1.3.4 (*)
│   │   ├── aws-smithy-async v1.2.6 (*)
│   │   ├── aws-smithy-eventstream v0.60.13 (*)
│   │   ├── aws-smithy-http v0.62.5 (*)
│   │   ├── aws-smithy-runtime v1.9.4
│   │   │   ├── aws-smithy-async v1.2.6 (*)
│   │   │   ├── aws-smithy-http v0.62.5 (*)
│   │   │   ├── aws-smithy-http-client v1.1.4
│   │   │   │   ├── aws-smithy-async v1.2.6 (*)
│   │   │   │   ├── aws-smithy-runtime-api v1.9.2 (*)
│   │   │   │   ├── aws-smithy-types v1.3.4 (*)
│   │   │   │   │   │   ├── aws-lc-rs v1.15.1
│   │   │   │   │   │   │   ├── aws-lc-sys v0.34.0
│   │   │   │   │   │   │   ├── aws-lc-rs v1.15.1 (*)
│   │   │   ├── aws-smithy-observability v0.1.4
│   │   │   │   └── aws-smithy-runtime-api v1.9.2 (*)
│   │   │   ├── aws-smithy-runtime-api v1.9.2 (*)
│   │   │   ├── aws-smithy-types v1.3.4 (*)
│   │   ├── aws-smithy-runtime-api v1.9.2 (*)
│   │   ├── aws-smithy-types v1.3.4 (*)
│   │   ├── aws-types v1.3.10
│   │   │   ├── aws-credential-types v1.2.10 (*)
│   │   │   ├── aws-smithy-async v1.2.6 (*)
│   │   │   ├── aws-smithy-runtime-api v1.9.2 (*)
│   │   │   ├── aws-smithy-types v1.3.4 (*)
│   ├── aws-sdk-sso v1.90.0
│   │   ├── aws-credential-types v1.2.10 (*)
│   │   ├── aws-runtime v1.5.16 (*)
│   │   ├── aws-smithy-async v1.2.6 (*)
│   │   ├── aws-smithy-http v0.62.5 (*)
│   │   ├── aws-smithy-json v0.61.7
│   │   │   └── aws-smithy-types v1.3.4 (*)
│   │   ├── aws-smithy-runtime v1.9.4 (*)
│   │   ├── aws-smithy-runtime-api v1.9.2 (*)
│   │   ├── aws-smithy-types v1.3.4 (*)
│   │   ├── aws-types v1.3.10 (*)
│   ├── aws-sdk-ssooidc v1.92.0
│   │   ├── aws-credential-types v1.2.10 (*)
│   │   ├── aws-runtime v1.5.16 (*)
│   │   ├── aws-smithy-async v1.2.6 (*)
│   │   ├── aws-smithy-http v0.62.5 (*)
│   │   ├── aws-smithy-json v0.61.7 (*)
│   │   ├── aws-smithy-runtime v1.9.4 (*)
│   │   ├── aws-smithy-runtime-api v1.9.2 (*)
│   │   ├── aws-smithy-types v1.3.4 (*)
│   │   ├── aws-types v1.3.10 (*)
│   ├── aws-sdk-sts v1.94.0
│   │   ├── aws-credential-types v1.2.10 (*)
│   │   ├── aws-runtime v1.5.16 (*)
│   │   ├── aws-smithy-async v1.2.6 (*)
│   │   ├── aws-smithy-http v0.62.5 (*)
│   │   ├── aws-smithy-json v0.61.7 (*)
│   │   ├── aws-smithy-query v0.60.8
│   │   │   ├── aws-smithy-types v1.3.4 (*)
│   │   ├── aws-smithy-runtime v1.9.4 (*)
│   │   ├── aws-smithy-runtime-api v1.9.2 (*)
│   │   ├── aws-smithy-types v1.3.4 (*)
│   │   ├── aws-smithy-xml v0.60.12
│   │   ├── aws-types v1.3.10 (*)
│   ├── aws-smithy-async v1.2.6 (*)
│   ├── aws-smithy-http v0.62.5 (*)
│   ├── aws-smithy-json v0.61.7 (*)
│   ├── aws-smithy-runtime v1.9.4 (*)
│   ├── aws-smithy-runtime-api v1.9.2 (*)
│   ├── aws-smithy-types v1.3.4 (*)
│   ├── aws-types v1.3.10 (*)
├── aws-sdk-dataexchange v1.93.0
│   ├── aws-credential-types v1.2.10 (*)
│   ├── aws-runtime v1.5.16 (*)
│   ├── aws-smithy-async v1.2.6 (*)
│   ├── aws-smithy-http v0.62.5 (*)
│   ├── aws-smithy-json v0.61.7 (*)
│   ├── aws-smithy-runtime v1.9.4 (*)
│   ├── aws-smithy-runtime-api v1.9.2 (*)
│   ├── aws-smithy-types v1.3.4 (*)
│   ├── aws-types v1.3.10 (*)
│   ├── aws-config v1.8.11 (*)
│   ├── aws-sdk-s3 v1.116.0
│   │   ├── aws-credential-types v1.2.10 (*)
│   │   ├── aws-runtime v1.5.16 (*)
│   │   ├── aws-sigv4 v1.3.6 (*)
│   │   ├── aws-smithy-async v1.2.6 (*)
│   │   ├── aws-smithy-checksums v0.63.11
│   │   │   ├── aws-smithy-http v0.62.5 (*)
│   │   │   ├── aws-smithy-types v1.3.4 (*)
│   │   ├── aws-smithy-eventstream v0.60.13 (*)
│   │   ├── aws-smithy-http v0.62.5 (*)
│   │   ├── aws-smithy-json v0.61.7 (*)
│   │   ├── aws-smithy-runtime v1.9.4 (*)
│   │   ├── aws-smithy-runtime-api v1.9.2 (*)
│   │   ├── aws-smithy-types v1.3.4 (*)
│   │   ├── aws-smithy-xml v0.60.12 (*)
│   │   ├── aws-types v1.3.10 (*)
│   ├── aws-config v1.8.11 (*)
│   ├── aws-sdk-athena v1.96.0
│   │   ├── aws-credential-types v1.2.10 (*)
│   │   ├── aws-runtime v1.5.16 (*)
│   │   ├── aws-smithy-async v1.2.6 (*)
│   │   ├── aws-smithy-http v0.62.5 (*)
│   │   ├── aws-smithy-json v0.61.7 (*)
│   │   ├── aws-smithy-runtime v1.9.4 (*)
│   │   ├── aws-smithy-runtime-api v1.9.2 (*)
│   │   ├── aws-smithy-types v1.3.4 (*)
│   │   ├── aws-types v1.3.10 (*)
│   ├── aws-sdk-s3 v1.116.0 (*)
│   ├── aws-sdk-s3 v1.116.0 (*)
├── aws-config v1.8.11 (*)
├── aws-sdk-s3 v1.116.0 (*)

Environment details (OS name and version, etc.)

MacOs 26.0.1 (25A362)

Logs

DataExchangeError(
      "Error submitting job to LiveRamp via DataExchange: ServiceError(
        ServiceError {
          source: Unhandled(
            Unhandled {
              source: \"Failed to parse ResponseHeaders from prefix header `\",
              meta: ErrorMetadata { code: None, message: None, extras: None }
            }
          ),
          raw: Response { status: StatusCode(200), ... }
        }
      )"
    )
[2025-12-11T14:14:23Z ERROR audience_ingester_api::task_queue::worker] 
ERROR executing task, saving failed attempt: LiveRampTaskError(
  LiveRampClientError(
    DataExchangeError(
      "Error submitting job to LiveRamp via DataExchange: ServiceError(
        ServiceError {
          source: Unhandled(
            Unhandled {
              source: \"Failed to parse ResponseHeaders from prefix header \",
              meta: ErrorMetadata { code: None, message: None, extras: None }
            }
          ),
          raw: Response {
            status: StatusCode(200),
            headers: Headers {
              headers: {
                \"content-type\": HeaderValue { _private: H1(\"application/json\") },
                \"content-length\": HeaderValue { _private: H1(\"97\") },
                \"date\": HeaderValue { _private: H1(\"Thu, 11 Dec 2025 14:14:23 GMT\") },
                \"x-amz-cf-pop\": HeaderValue { _private: H1(\"**REDACTED**\") },
                \"x-amz-cf-pop\": HeaderValue { _private: H1(\"**REDACTED**\") },
                \"x-amzn-requestid\": HeaderValue { _private: H1(\"**REDACTED**\") },
                \"x-amzn-remapped-x-amzn-requestid\": HeaderValue { _private: H1(\"**REDACTED**\") },
                \"x-amzn-remapped-content-length\": HeaderValue { _private: H1(\"97\") },
                \"x-amzn-remapped-date\": HeaderValue { _private: H1(\"Thu, 11 Dec 2025 14:14:23 GMT\") },
                \"x-amzn-remapped-connection\": HeaderValue { _private: H1(\"close\") },
                \"via\": HeaderValue { _private: H1(\"**REDACTED**\") },
                \"x-amz-apigw-id\": HeaderValue { _private: H1(\"**REDACTED**\") },
                \"x-amzn-trace-id\": HeaderValue { _private: H1(\"1-693ad1b6-6d923f1d7a36c2ed5fe37748\") },
                \"x-cache\": HeaderValue { _private: H1(\"Miss from cloudfront\") },
                \"x-amz-cf-id\": HeaderValue { _private: H1(\"**REDACTED**\") }
              }
            },
            body: SdkBody {
              inner: Once(Some(b"{\"Job ID\": \"**REDACTED**\", \"Status\": \"ADX Start job submitted\"}")),
              retryable: true
            },
            extensions: Extensions { 
              extensions_02x: Extensions, 
              extensions_1x: { hyper_util::client::legacy::connect::http::HttpInfo } 
            }
          }
        }
      )"
    )
  )
)

Activity

  1. added
    bugThis issue is a bug.
    needs-triageThis issue or PR still needs to be triaged.
    on Dec 11, 2025
  2. added
    p0This issue is the highest priority
    p1This is a high priority issue
    and removed
    needs-triageThis issue or PR still needs to be triaged.
    p0This issue is the highest priority
    on Dec 11, 2025
  3. Max0u commented on Jan 23, 2026

    @Max0u
    Author

    Hello @landonxjames do you have an ETA for this bug? I willing to help to fix it, I just don't know where to start if it's here or directly in smithy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugThis issue is a bug.p1This is a high priority issue

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions