Skip to content

Backport 26.1: Reject cyclical SDL directive definitions - #4451

Merged
andimarek merged 2 commits into
26.xfrom
codex/backport-4385-to-26.x
Aug 23, 2026
Merged

Backport 26.1: Reject cyclical SDL directive definitions#4451
andimarek merged 2 commits into
26.xfrom
codex/backport-4385-to-26.x

Conversation

@andimarek

@andimarek andimarek commented Aug 20, 2026

Copy link
Copy Markdown
Member

Backport of #4385 to the 26.x maintenance branch.

Summary

  • reject indirect cycles between SDL directive definitions before schema generation
  • detect cycles with an on-demand depth-first traversal instead of precomputing a second reference graph
  • use one ordered active path for both cycle detection and diagnostic formatting
  • preserve the existing direct self-reference error and detailed indirect cycle message
  • consolidate duplicate cycle tests and cover an acyclic directive chain

Fixes #4201

Testing

  • ./gradlew clean test — 5,547 tests passed
  • focused SchemaTypeDirectivesCheckerTest and SchemaGeneratorTest run — 88 tests passed
  • ./gradlew check -x test -x testng

@github-actions

github-actions Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Test Report

Test Results

Java Version Total Passed Failed Errors Skipped
Java 11 - - - - -
Java 17 - - - - -
Java 21 - - - - -
Java 25 - - - - -
jcstress - - - - -

Updated: 2026-08-23 22:27:01 UTC

@andimarek
andimarek merged commit 40c578f into 26.x Aug 23, 2026
10 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