The GitHub Actions job "npm_and_yarn in /javascript for picomatch - Update 
#1296205744" on fory.git/main has failed.
Run started by GitHub user dependabot[bot] (triggered by dependabot[bot]).

Head commit for run:
f57f63950276a3bc52861c7016608629d3b03aca / Shawn Yang <[email protected]>
feat(java): support java virtual threads (#3522)

## Why?

`ThreadLocalFory` works well for a stable set of platform threads, but
it scales poorly for JDK 21 virtual-thread workloads because each
virtual thread can end up creating and holding a full `Fory` instance.
This PR reduces that overhead by pooling `Fory` instances for
virtual-thread usage and by sharing the expensive, safe-to-reuse
metadata across equivalent `Fory` instances.

## What does this PR do?

- adds `buildVirtualThreadSafeFory(...)` backed by `FastForyPool` for
Java virtual-thread workloads, and updates generated Java code to use
the thread-safe builder path
- introduces `SharedRegistry` and refactors resolver/meta/type caches so
pooled or thread-safe `Fory` instances can reuse shared registration,
typedef, descriptor, metastring, codegen, and object-creator state
- freezes registration after first top-level use and shares the frozen
registration view across equivalent `Fory` instances to cut repeated
initialization work
- reduces per-instance memory in the virtual-thread path with
resolver/metastring/string-serializer cleanups and supporting
collection/map serializer adjustments
- adds Java docs and tests for virtual-thread usage, shared registration
lifecycle, classloader behavior, concurrent identity maps,
graal/native-image integration, and latest-JDK virtual-thread pool
behavior

## Related issues

Closes #1570 

## AI Contribution Checklist



- [ ] Substantial AI assistance was used in this PR: `yes` / `no`
- [ ] If `yes`, I included a completed [AI Contribution
Checklist](https://github.com/apache/fory/blob/main/AI_POLICY.md#9-contributor-checklist-for-ai-assisted-prs)
in this PR description and the required `AI Usage Disclosure`.



## Does this PR introduce any user-facing change?



- [x] Does this PR introduce any public API change?
- [ ] Does this PR introduce any binary protocol compatibility change?

## Benchmark

Report URL: https://github.com/apache/fory/actions/runs/23642839569

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to