{
  "test": {
    "id": "tests/1.0/http/retry-503",
    "directory": "tests/1.0/http/retry-503",
    "manifestPath": "tests/1.0/http/retry-503/manifest.ttl",
    "scenarioPath": "tests/1.0/http/retry-503/scenario.yaml",
    "expectedPath": "tests/1.0/http/retry-503/expected/events.ndjson",
    "iri": "https://www.pieter.pm/ldes-client-conformance-test-suite/1.0#http-retry-503",
    "title": "503 Service Unavailable is retried with back-off in unordered mode",
    "description": "The root node returns 503 Service Unavailable twice before a valid representation. The client must retry rather than treat the status as terminal data loss, and every member must still be emitted. The request timeline asserts only that consecutive attempts are spaced, so any back-off strategy, retry count or jitter satisfies it.",
    "requirement": "LDES10-UNORD-043",
    "requirements": [
      "LDES10-UNORD-043"
    ],
    "requirementLevel": "Must",
    "group": "UnorderedTraversal",
    "requiredCapabilities": []
  },
  "outcome": "passed",
  "events": [
    {
      "protocolVersion": 0,
      "type": "context",
      "runId": "run-1",
      "eventStream": "https://example.test/stream",
      "rootNode": "http://127.0.0.1:38395/root",
      "dataset": "<https://example.test/stream> <https://w3id.org/tree#view> <http://127.0.0.1:38395/root> .\n<https://example.test/stream> <https://w3id.org/tree#member> <https://example.test/m> .\n<https://example.test/m> <https://example.test/value> \"after retries\" .\n",
      "mediaType": "application/n-quads",
      "emptyRetentionPolicies": [],
      "receivedAt": "2026-10-16T10:19:25.904Z"
    },
    {
      "protocolVersion": 0,
      "type": "member",
      "runId": "run-1",
      "id": "https://example.test/m",
      "dataset": "<https://example.test/m> <https://example.test/value> \"after retries\" .\n",
      "mediaType": "application/n-quads",
      "receivedAt": "2026-10-16T10:19:25.908Z"
    },
    {
      "protocolVersion": 0,
      "type": "statistics",
      "runId": "run-1",
      "membersEmitted": 1,
      "lastRun": "2026-10-16T10:19:25.909768636Z",
      "receivedAt": "2026-10-16T10:19:25.911Z"
    },
    {
      "protocolVersion": 0,
      "type": "run-end",
      "runId": "run-1",
      "status": "completed",
      "receivedAt": "2026-10-16T10:19:25.911Z",
      "adapterStderr": "Europeana crawl started: http://127.0.0.1:38395/root\nSLF4J: Failed to load class \"org.slf4j.impl.StaticLoggerBinder\".\nSLF4J: Defaulting to no-operation (NOP) logger implementation\nSLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.\n"
    }
  ],
  "requests": [
    {
      "sequence": 1,
      "method": "GET",
      "path": "/root",
      "headers": {
        "accept": "application/ld+json, application/trig, application/n-quads, application/n-triples, text/turtle",
        "host": "127.0.0.1:38395",
        "connection": "Keep-Alive",
        "user-agent": "Apache-HttpClient/4.5.14 (Java/21.0.12.1)",
        "accept-encoding": "gzip,deflate"
      },
      "phase": "default",
      "status": 503,
      "timestamp": "2026-10-16T10:19:25.614Z",
      "completedAt": "2026-10-16T10:19:25.614Z"
    },
    {
      "sequence": 2,
      "method": "GET",
      "path": "/root",
      "headers": {
        "accept": "application/ld+json, application/trig, application/n-quads, application/n-triples, text/turtle",
        "host": "127.0.0.1:38395",
        "connection": "Keep-Alive",
        "user-agent": "Apache-HttpClient/4.5.14 (Java/21.0.12.1)",
        "accept-encoding": "gzip,deflate"
      },
      "phase": "default",
      "status": 503,
      "timestamp": "2026-10-16T10:19:25.640Z",
      "completedAt": "2026-10-16T10:19:25.640Z"
    },
    {
      "sequence": 3,
      "method": "GET",
      "path": "/root",
      "headers": {
        "accept": "application/ld+json, application/trig, application/n-quads, application/n-triples, text/turtle",
        "host": "127.0.0.1:38395",
        "connection": "Keep-Alive",
        "user-agent": "Apache-HttpClient/4.5.14 (Java/21.0.12.1)",
        "accept-encoding": "gzip,deflate"
      },
      "phase": "default",
      "status": 200,
      "timestamp": "2026-10-16T10:19:25.661Z",
      "completedAt": "2026-10-16T10:19:25.661Z"
    }
  ],
  "diagnostics": []
}
