Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GH-2787: Deadlock in JenaSystem.init() #2794

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

arne-bdt
Copy link
Contributor

@arne-bdt arne-bdt commented Oct 25, 2024

  • Restored the early return from JenaSystem.init() as implemented prior to commit 8654c07.
  • Simplified initialization using the "Initialization-on-demand holder idiom" for better efficiency and thread safety.
  • Added integration tests for JenaSystem.init(), including tests for parallel execution cases.
  • Implemented additional integration tests that start with a fresh JVM for each run, using JMH as the test runner.
    • Added org.openjdk.jmh as a dependency in jena-integration-tests.
  • Added a regression test for RDFConnectionHTTP may cause an initialization NPE #2675 as org.apache.jena.sys.TestJenaSystemWithFreshJVM.initRDFConnectionFuseki

GitHub issue resolved #

Pull request Description:


  • Tests are included.
  • no Documentation change and no updates are provided for the Apache Jena website
  • Commits have been squashed to remove intermediate development commit messages.
  • Key commit messages start with the issue number (GH-xxxx)

By submitting this pull request, I acknowledge that I am making a contribution to the Apache Software Foundation under the terms and conditions of the Contributor's Agreement.


See the Apache Jena "Contributing" guide.

@arne-bdt arne-bdt marked this pull request as draft October 25, 2024 15:53
- Restored the early return from `JenaSystem.init()` as implemented prior to [commit 8654c07](apache@8654c07).
- Simplified initialization using the "Initialization-on-demand holder idiom" for better efficiency and thread safety.
- Added integration tests for `JenaSystem.init()`, including tests for parallel execution cases.
- Implemented additional integration tests that start with a fresh JVM for each run, using JMH as the test runner.
  - Added `org.openjdk.jmh` as a dependency in `jena-integration-tests`.
- Added a regression test for apache#2675 as org.apache.jena.sys.TestJenaSystemWithFreshJVM.initRDFConnectionFuseki
@arne-bdt arne-bdt force-pushed the GH-2787-Deadlock_in_Jena_System_init branch from 42448d7 to 21333de Compare October 25, 2024 16:15
@arne-bdt
Copy link
Contributor Author

@arne-bdt arne-bdt marked this pull request as ready for review October 25, 2024 16:16
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