Skip to content

[Fusion] Handle missing client configuration gracefully#8916

Merged
tobias-tengler merged 2 commits into
mainfrom
tte/fusion-handle-missing-http-config-gracefully
Nov 17, 2025
Merged

[Fusion] Handle missing client configuration gracefully#8916
tobias-tengler merged 2 commits into
mainfrom
tte/fusion-handle-missing-http-config-gracefully

Conversation

@tobias-tengler
Copy link
Copy Markdown
Member

No description provided.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR improves error handling for missing client configurations in the Fusion execution layer. When a client configuration cannot be found for a schema and operation type, the error is now caught and handled gracefully through the existing exception handling mechanism rather than propagating uncaught.

  • Moved GetClient call inside the try-catch block in OnExecuteAsync method to enable graceful error handling
  • Enhanced error message clarity by adding quotes around the schema name

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
src/HotChocolate/Fusion-vnext/src/Fusion.Execution/Execution/Nodes/OperationExecutionNode.cs Moved GetClient invocation inside try-catch block to ensure exceptions from missing client configuration are properly caught and handled
src/HotChocolate/Fusion-vnext/src/Fusion.Execution/Execution/Clients/DefaultSourceSchemaClientScope.cs Improved error message readability by adding quotes around schema name in the exception message

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@tobias-tengler tobias-tengler merged commit 3aa3629 into main Nov 17, 2025
113 checks passed
@tobias-tengler tobias-tengler deleted the tte/fusion-handle-missing-http-config-gracefully branch November 17, 2025 16:25
@codecov
Copy link
Copy Markdown

codecov Bot commented Nov 17, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (15bd931) to head (c76e045).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@     Coverage Diff      @@
##   main   #8916   +/-   ##
============================
============================

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Copy Markdown
Contributor

🚀 Fusion Gateway Performance Results

Simple Composite Query

Constant Load (50 VUs)

Requests/sec Error Rate
5954.73 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.77ms 7.04ms 160.42ms 8.25ms 12.64ms 18.14ms

Ramping Load (0→50→500→50 VUs)

Requests/sec Error Rate
4669.89 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.70ms 36.86ms 272.06ms 47.53ms 107.17ms 126.03ms

Executed Query

fragment User on User {
  id
  username
  name
}

fragment Review on Review {
  id
  body
}

fragment Product on Product {
  inStock
  name
  price
  shippingEstimate
  upc
  weight
}

query TestQuery {
  topProducts(first: 5) {
    ...Product
    reviews {
      ...Review
      author {
        ...User
      }
    }
  }
}

Deep Recursion Query

Constant Load (50 VUs)

Requests/sec Error Rate
70.56 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
19.72ms 658.33ms 1500.58ms 657.55ms 750.97ms 793.74ms

Ramping Load (0→50→500→50 VUs)

Requests/sec Error Rate
66.92 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
15.51ms 2156.26ms 7139.99ms 2270.76ms 4914.82ms 5500.75ms

Executed Query

fragment User on User {
  id
  username
  name
}

fragment Review on Review {
  id
  body
}

fragment Product on Product {
  inStock
  name
  price
  shippingEstimate
  upc
  weight
}

query TestQuery {
  users {
    ...User
    reviews {
      ...Review
      product {
        ...Product
        reviews {
          ...Review
          author {
            ...User
            reviews {
              ...Review
              product {
                ...Product
              }
            }
          }
        }
      }
    }
  }
  topProducts(first: 5) {
    ...Product
    reviews {
      ...Review
      author {
        ...User
        reviews {
          ...Review
          product {
            ...Product
          }
        }
      }
    }
  }
}

Variable Batching Throughput

Constant Load (50 VUs)

Requests/sec Error Rate
23908.65 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.09ms 1.68ms 46.24ms 2.04ms 3.89ms 4.76ms

Ramping Load (0→50→500→50 VUs)

Requests/sec Error Rate
19069.39 req/s 0.00%
📊 Response Time Metrics
Min Med Max Avg P90 P95
0.09ms 9.11ms 105.02ms 11.15ms 23.16ms 27.92ms

Executed Query

query TestQuery_8f7a46ce_2(
  $__fusion_1_upc: ID!
  $__fusion_2_price: Long!
  $__fusion_2_weight: Long!
) {
  productByUpc(upc: $__fusion_1_upc) {
    inStock
    shippingEstimate(weight: $__fusion_2_weight, price: $__fusion_2_price)
  }
}

Variables (5 sets batched in single request)

[
  { "__fusion_1_upc": "1", "__fusion_2_price": 899, "__fusion_2_weight": 100 },
  { "__fusion_1_upc": "2", "__fusion_2_price": 1299, "__fusion_2_weight": 1000 },
  { "__fusion_1_upc": "3", "__fusion_2_price": 15, "__fusion_2_weight": 20 },
  { "__fusion_1_upc": "4", "__fusion_2_price": 499, "__fusion_2_weight": 100 },
  { "__fusion_1_upc": "5", "__fusion_2_price": 1299, "__fusion_2_weight": 1000 }
]

No baseline data available for comparison.


Run 19436474516 • Commit d326269 • Mon, 17 Nov 2025 16:36:00 GMT

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants