Skip to content

chore: Remove async-graphql integration#717

Merged
nicolasburtey merged 1 commit into
mainfrom
remove-cala-graphql-feature
May 1, 2026
Merged

chore: Remove async-graphql integration#717
nicolasburtey merged 1 commit into
mainfrom
remove-cala-graphql-feature

Conversation

@nicolasburtey
Copy link
Copy Markdown
Member

@nicolasburtey nicolasburtey commented May 1, 2026

Summary

  • remove the optional graphql features from cala-ledger and cala-ledger-core-types
  • drop async-graphql / base64 from Cala manifests and lockfile
  • remove async-graphql enum derives and CursorType impls from Cala types

Verification

  • SQLX_OFFLINE=true cargo check -p cala-ledger-core-types
  • SQLX_OFFLINE=true cargo check -p cala-ledger
  • SQLX_OFFLINE=true cargo check -p cala-ledger --all-features
  • cargo tree -p cala-ledger -e features -i async-graphql reports no matching package

Companion Lana change moves the GraphQL API representation to Lana-owned wrapper enums.


Note

Medium Risk
Removes the optional GraphQL feature surface (async-graphql derives and cursor encoding) and related dependencies, which is potentially breaking for downstream consumers that enabled graphql features, but does not change core ledger logic.

Overview
Removes async-graphql integration from cala-ledger and cala-ledger-core-types by deleting the graphql feature flags and all related enum derives and CursorType implementations.

Updates workspace and crate manifests plus Cargo.lock to drop async-graphql, base64, and their transitive dependencies, leaving cursor structs as plain serde-serializable types.

Reviewed by Cursor Bugbot for commit 15e3349. Bugbot is set up for automated code reviews on this repo. Configure here.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

📊 Performance Report

Commit: 15e3349
Updated: 2026-05-01 17:10:49 UTC

Cala Performance Benchmark Results (non-representative)

Criterion Benchmark Results (single-threaded)

Benchmark Time per Run Throughput % vs Baseline
post_simple_transaction 7.105ms 140 tx/s 0 (baseline)
post_and_recalculate_ec_account_set 17.096ms 58 tx/s -140.0%
post_and_batch_recalculate_ec_account_set 12.802ms 78 tx/s -80.0%
post_multi_layer_transaction 7.567ms 132 tx/s -6.0%
post_simple_transaction_with_effective_balances 12.236ms 81 tx/s -72.0%
post_simple_transaction_with_skipped_velocity 6.326ms 158 tx/s +10.0%
post_simple_transaction_with_velocity 8.268ms 120 tx/s -16.0%
post_simple_transaction_with_hit_velocity 4.081ms 245 tx/s +42.0%
post_simple_transaction_with_one_account_set 6.669ms 149 tx/s +6.0%
post_simple_transaction_with_five_account_sets 7.992ms 125 tx/s -12.0%
post_simple_transaction_with_ec_account_set 6.275ms 159 tx/s +11.0%

Load Testing Results (parallel-execution)

Scenario tx/s
1 parallel 86.62
2 parallel 128.35
5 parallel 159.07
10 parallel 159.60
20 parallel 153.57
2 contention 121.40
5 contention 134.82
2 acct_sets 112.28
5 acct_sets 121.64

Note: Performance results may vary based on system resources and database state.

Last updated by commit 15e3349

@nicolasburtey nicolasburtey changed the title Remove async-graphql integration chore: Remove async-graphql integration May 1, 2026
@nicolasburtey nicolasburtey marked this pull request as ready for review May 1, 2026 20:19
@nicolasburtey nicolasburtey merged commit 9506167 into main May 1, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant