Skip to content

[graphql-stream] Add package caching from streamed checkpoints [5/n]#26194

Open
tpham-mysten wants to merge 1 commit intographql-streaming-checkpoints-objectsfrom
graphql-streaming-package-cache
Open

[graphql-stream] Add package caching from streamed checkpoints [5/n]#26194
tpham-mysten wants to merge 1 commit intographql-streaming-checkpoints-objectsfrom
graphql-streaming-package-cache

Conversation

@tpham-mysten
Copy link
Copy Markdown
Contributor

@tpham-mysten tpham-mysten commented Apr 10, 2026

Description

Cache Move packages from streamed checkpoint ObjectSet into the PackageCache, enabling type resolution (e.g. contents.json) without database access for recently published or upgraded packages

Note:

  • If streaming is ahead of the indexer and a package is evicted from the LRU cache, the DB fallback may fail (tracked in DVX-2051 for Phase 2 watermark-based stalling

Test plan

How did you test the new or updated feature?

  • cargo simtest -p sui-indexer-alt-e2e-tests --test graphql_subscription_tests
  • cargo nextest run -p sui-indexer-alt-e2e-tests --test graphql_subscription_tests -- test_subscription_object_json
  • SUI_SKIP_SIMTESTS=1 cargo nextest run -p sui-indexer-alt-graphql

Stack

Release notes

Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.

For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.

  • Protocol:
  • Nodes (Validators and Full nodes):
  • gRPC:
  • JSON-RPC:
  • GraphQL:
  • CLI:
  • Rust SDK:
  • Indexing Framework:

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 10, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sui-docs Ready Ready Preview, Comment Apr 11, 2026 4:19am
2 Skipped Deployments
Project Deployment Actions Updated (UTC)
multisig-toolkit Ignored Ignored Preview Apr 11, 2026 4:19am
sui-kiosk Ignored Ignored Preview Apr 11, 2026 4:19am

Request Review

Cache Move packages from streamed checkpoint ObjectSets into the shared
PackageCache, enabling type resolution (e.g. contents.json) for recently
published or upgraded packages without database access.

* Add `insert` and `new_with_capacity` to PackageStoreWithLruCache
* Add configurable `package_cache_capacity` to Limits (default 1024)
* Extract and cache packages during checkpoint stream processing
* Add tokio test verifying contents.json resolves end-to-end with
  DB-backed indexer for system package resolution

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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