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

Java 21 virtual thread support #1093

Closed
wants to merge 3 commits into from
Closed

Conversation

nmondal
Copy link

@nmondal nmondal commented Dec 19, 2023

In submitting this contribution, I agree to the current Software AG contributor agreement as referred to here:
https://github.com/quartz-scheduler/contributing/blob/main/CONTRIBUTING.md

This PR...

How to Run

./gradlew -Djdk="<jdk 21 directory>"  test :quartz:test 

Changes

Adds a SimpleVirtualThreadPool to do a virtual thread support.

Checklist

  • tested locally
  • updated the docs
  • added appropriate test
  • signed-off on the above mentioned SoftwareAG contributor agreement via git commit -s on my commits.
    (If you're not using command-line, you can use a browser extension )

Known Issues

In java 21 - the following tests fail:

> Task :quartz:test

org.quartz.impl.jdbcjobstore.StdJDBCDelegateTest > testSelectSimpleTriggerWithDeleteBeforeSelectExtendedProps FAILED
    java.lang.ExceptionInInitializerError at StdJDBCDelegateTest.java:119
        Caused by: java.lang.reflect.InaccessibleObjectException at StdJDBCDelegateTest.java:119

org.quartz.impl.jdbcjobstore.StdJDBCDelegateTest > testSelectSimpleTriggerWithExceptionWithExtendedProps FAILED
    java.lang.NoClassDefFoundError at StdJDBCDelegateTest.java:90
        Caused by: java.lang.ExceptionInInitializerError at StdJDBCDelegateTest.java:119

org.quartz.impl.jdbcjobstore.StdJDBCDelegateTest > testSelectBlobTriggerWithNoBlobContent FAILED
    java.lang.NoClassDefFoundError at StdJDBCDelegateTest.java:73
        Caused by: java.lang.ExceptionInInitializerError at StdJDBCDelegateTest.java:119

org.quartz.impl.jdbcjobstore.StdJDBCDelegateTest > testSelectTriggerToAcquireHonorsMaxCount FAILED
    java.lang.NoClassDefFoundError at StdJDBCDelegateTest.java:145
        Caused by: java.lang.ExceptionInInitializerError at StdJDBCDelegateTest.java:119

org.quartz.impl.jdbcjobstore.UpdateLockRowSemaphoreTest > testSingleFailureFollowedBySuccessUsingUpdate FAILED
    java.lang.ExceptionInInitializerError at UpdateLockRowSemaphoreTest.java:35
        Caused by: java.lang.reflect.InaccessibleObjectException at UpdateLockRowSemaphoreTest.java:35

org.quartz.impl.jdbcjobstore.UpdateLockRowSemaphoreTest > testDoubleFailureFollowedBySuccessUsingUpdate FAILED
    java.lang.NoClassDefFoundError at Unsafe.java:-2
        Caused by: java.lang.ExceptionInInitializerError at UpdateLockRowSemaphoreTest.java:35

org.quartz.impl.jdbcjobstore.UpdateLockRowSemaphoreTest > testFallThroughToInsert FAILED
    java.lang.NoClassDefFoundError at Unsafe.java:-2
        Caused by: java.lang.ExceptionInInitializerError at UpdateLockRowSemaphoreTest.java:35

org.quartz.impl.jdbcjobstore.UpdateLockRowSemaphoreTest > testSingleSuccessUsingUpdate FAILED
    java.lang.NoClassDefFoundError at Unsafe.java:-2
        Caused by: java.lang.ExceptionInInitializerError at UpdateLockRowSemaphoreTest.java:35

319 tests completed, 8 failed, 1 skipped

> Task :quartz:test FAILED

FAILURE: Build failed with an exception.

@nmondal
Copy link
Author

nmondal commented Dec 19, 2023

@melloware who would give us another approval?

@melloware
Copy link
Contributor

cc @jhouserizer

I will admit it doesn't look like there has been much activity here which is dissapointing and last public release was 2019?

@jhouserizer
Copy link
Contributor

There were releases made earlier in the year (with dozens of changes) as RCs awaiting feedback. Official non-RC releases will be made in the next week or two.

It's true that current efforts on the project are sporadic. This contribution is interesting and will be looked at .

@nmondal
Copy link
Author

nmondal commented Dec 20, 2023

Added the DCO fix as expected by the doc.

@t-beckmann
Copy link
Contributor

There are no releases, no feedback on PRs nor on issues, no replies on the user's list, and the developer's forum link points to nowhere. Quartz is not only poorly maintained, but it is not maintained at all...

@@ -0,0 +1,124 @@
/*
Copy link

@raduking raduking Apr 3, 2024

Choose a reason for hiding this comment

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

I think a code format should be run on these so that the formatting is consistent. For example some methods have a space before open bracket some don't.

public void foo1() {
    // ...
}

and

public void foo2(){
    // ...
}


tasks.withType(Test).configureEach {
if ( JDK_PATH != null ) {
println("External Java home '${JDK_PATH}' spefified for tests!")
Copy link
Contributor

Choose a reason for hiding this comment

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

These changes are not necessary, also typo here. Changes to build.gradle should be reverted.

try{
return callable.call();
}catch (Throwable ex){
log.warn( message + ex);

Choose a reason for hiding this comment

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

i think this is better

  log.warn("{}{}", message, ex);

@jhouserizer
Copy link
Contributor

Unfortunately, due to the change of ownership of this project, the terms of contribution have been updated, and this PR will need to be re-created, agreeing to the new terms.

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.

6 participants