Skip to content

test: make InputStreamSource TCK publisher finite - #2999

Merged
He-Pin merged 1 commit into
apache:mainfrom
He-Pin:fix/jdk25-input-stream-source-tck
Jun 24, 2026
Merged

test: make InputStreamSource TCK publisher finite#2999
He-Pin merged 1 commit into
apache:mainfrom
He-Pin:fix/jdk25-input-stream-source-tck

Conversation

@He-Pin

@He-Pin He-Pin commented May 28, 2026

Copy link
Copy Markdown
Member

Motivation

JDK 25 nightly builds abort InputStreamSourceTest when the Reactive Streams TCK cancellation scenario waits for completion from an infinite, CPU-busy InputStream publisher.

Modification

Make the test publisher finite and emit one byte per ByteString so the TCK element count maps directly to stream elements without relying on take(elements) to stop a busy reader.

Result

The TCK publisher completes deterministically under JDK 25 nightly-style virtualized stream-dispatcher settings.

Tests

  • JDK 25 nightly-style virtualized stream-dispatcher flags: stream-tests-tck / Test / testOnly org.apache.pekko.stream.tck.InputStreamSourceTest
  • scalafmt --mode diff-ref=origin/main --quiet
  • scalafmt --list --mode diff-ref=origin/main
  • git diff --check

References

Refs #2994

Motivation:
JDK 25 nightly builds abort InputStreamSourceTest when the TCK cancellation scenario waits for completion from an infinite, CPU-busy InputStream publisher.

Modification:
Make the test publisher finite and emit one byte per ByteString so the TCK element count maps directly to stream elements without relying on take(elements) to stop a busy reader.

Result:
InputStreamSourceTest completes under JDK 25 nightly-style virtualized stream-dispatcher settings.

Tests:
- JDK 25 nightly-style virtualized stream-dispatcher flags: stream-tests-tck / Test / testOnly org.apache.pekko.stream.tck.InputStreamSourceTest
- scalafmt --mode diff-ref=origin/main --quiet
- scalafmt --list --mode diff-ref=origin/main
- git diff --check

References:
Refs apache#2994
@pjfanning

Copy link
Copy Markdown
Member

related to #2904 ?

@He-Pin

He-Pin commented May 29, 2026

Copy link
Copy Markdown
Member Author

I extracted it from there, we can check this later,as we recently fix the bug with varhandle

@pjfanning pjfanning left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

lgtm

@He-Pin
He-Pin merged commit 44e2aae into apache:main Jun 24, 2026
9 checks passed
@He-Pin
He-Pin deleted the fix/jdk25-input-stream-source-tck branch June 24, 2026 14:01
132982jianan pushed a commit to 132982jianan/pekko that referenced this pull request Aug 2, 2026
动机:
当 TCK 取消场景等待无限、CPU 繁忙的 InputStream 发布者完成时,JDK 25 每晚构建中止 InputStreamSourceTest。

修改:
使测试发布者有限并为每个 ByteString 发出一个字节,以便 TCK 元素计数直接映射到流元素,而不依赖 take(elements) 来阻止繁忙的读取器。

结果:
InputStreamSourceTest 在 JDK 25 nightly-style 虚拟化流调度程序设置下完成。

测试:
- JDK 25 nightly-style虚拟化流调度程序标志:stream-tests-tck / Test / testOnly org.apache.pekko.stream.tck.InputStreamSourceTest
- scalafmt --mode diff-ref=origin/main --quiet
- scalafmt --list --mode diff-ref=origin/main
- git diff --检查

参考文献:
参考号apache#2994
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.

2 participants