Skip to content

Conversation

@hubertp
Copy link
Collaborator

@hubertp hubertp commented Aug 19, 2025

Pull Request Description

Using a neat trick described in #13219 (comment) to avoid large synchronization blocks.

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR:

  • All code follows the
    Scala,
    Java,
    TypeScript,
    and
    Rust
    style guides. In case you are using a language not listed above, follow the Rust style guide.

Using a neat trick described in #13219 (comment)
to avoid large synchronization blocks.
@hubertp hubertp added the CI: No changelog needed Do not require a changelog entry for this PR. label Aug 19, 2025
Copy link
Member

@Akirathan Akirathan left a comment

Choose a reason for hiding this comment

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

This feels like something that could (should) be unit tested:

  • Create an isolated HostClassLoader in the unit test
  • Point it to some arbitrary jar archives / directories with classes
    • Scan from classpath system property, pass via sbt, ...
  • Spawn multiple threads that will try to load same classes in parallel.

Or alternatively, move the scheduling/synchronization logic outside HostClassLoader and test it in isolation.

Let's try hard to ensure that we do not introduce hard-to-debug race conditions.

@enso-bot
Copy link

enso-bot bot commented Aug 25, 2025

Hubert Plociniczak reports a new STANDUP for the provided date (2025-08-19):

Progress: Addressing some comments #13781, improving locking in HostClassLoader in #13807. Added draft of caching of all arguments (#13813) which appears to have improved startup but will need more testing. It should be finished by 2025-08-19.

Next Day: Next day I will be working on the #10525 task. Pick up work on reactive caches

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI: No changelog needed Do not require a changelog entry for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants