GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — PerLevelDataLoaderDispatchStrategy no longer hooks into DataLoaderRegistry.dispatchAll() · Issue #4134 · graphql-java/graphql-java

PerLevelDataLoaderDispatchStrategy no longer hooks into DataLoaderRegistry.dispatchAll() #4134

New issue
Copy link
New issue
Copy link
Closed
Closed
PerLevelDataLoaderDispatchStrategy no longer hooks into DataLoaderRegistry.dispatchAll()#4134
Copy link
Labels
keep-openTells Stale Bot to keep PRs and issues openTells Stale Bot to keep PRs and issues open

Description

@jjacobs44
jjacobs44
opened on Oct 10, 2025
Issue body actions

Describe the bug
As of v25 there is no longer a hook into dataLoaderRegistry.dispatchAll() (prev code) within PerLevelDataLoaderDispatchStrategy. This previously allowed us to take advantage of the
ScheduledDataLoaderRegistry feature within the java-dataloader library for specifying DispatchPredicate's per dataloader. It's not clear to me if I'm missing some new mechanism that replaces this, or if this is just a regression/bug.

To Reproduce
Not a very minimal set up at all (sorry), but you can see how the difference in behavior affects us by comparing this branch to master and using the messageLoaderWithScheduledDispatch test.

Activity

  1. andimarek commented on Oct 10, 2025

    @andimarek
    andimarek
    on Oct 10, 2025
    Member
    More actions

    Hi,

    dispatchAll is still called (unless you set the new https://github.com/graphql-java/graphql-java/blob/master/src/main/java/graphql/execution/instrumentation/dataloader/DataLoaderDispatchingContextKeys.java#L25C32-L25C59).

    You can see the code here: https://github.com/graphql-java/graphql-java/blob/master/src/main/java/graphql/execution/instrumentation/dataloader/PerLevelDataLoaderDispatchStrategy.java#L467

    But we worked a lot on the dispatching strategy in 25, so there might be another change that affect you.

    You also linked to the DGS framework: I would recommend also to open issue their to ask for help.

  2. jjacobs44 commented on Oct 10, 2025

    @jjacobs44
    jjacobs44
    on Oct 10, 2025
    Author
    More actions

    Hello! Thanks for such a quick reply.

    That's a different dispatchAll than the one I'm referring to. That implementation just directly calls dispatch() on each of the dataloaders as opposed to dataLoaderRegistry.dispatchAll() which is overriden here.

    The previous graphql-java implementation called this here in v24.

    FWIW I'm a DGS maintainer so this is a change in behavior for us that we're actively trying to work out to make DGS compatible with graphql-java 25, spring-graphql 2, and boot 4.

  3. andimarek commented on Oct 11, 2025

    @andimarek
    andimarek
    on Oct 11, 2025
    Member
    More actions

    Thanks for explaining more. This is probably an unwanted change we have to look into more.

    Cc @bbakerman

    Reacted by jjacobs44
  4. dondonz
    added
    keep-openTells Stale Bot to keep PRs and issues openTells Stale Bot to keep PRs and issues open
    on Oct 15, 2025
  5. andimarek commented on Nov 10, 2025

    @andimarek
    andimarek
    on Nov 10, 2025
    Member
    More actions

    thanks for reporting @jjacobs44 ... that is now fixed with and #4164 and will is released as 25.0

  6. andimarek
    closed this as completedon Nov 10, 2025
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

    keep-openTells Stale Bot to keep PRs and issues openTells Stale Bot to keep PRs and issues open

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.