ElasticJob 3.0.2 is released including failover optimization, scheduling stability, and Java 19 compatibility · ShardingSphere - Blog

ElasticJob 3.0.2 is released including failover optimization, scheduling stability, and Java 19 compatibility

img

ElasticJob, one of the sub-projects of the Apache ShardingSphere community, is a distributed scheduling solution oriented towards Internet applications and massive tasks.

Since ElasticJob 3.0.1 was released, we’ve received a lot of feedback from users on GitHub. After merging the code committed by the contributors, ElasticJob has been significantly optimized.

The resulting ElasticJob 3.0.2 has been improved in terms of Failover, scheduling stability, job API, and Java 19 compatibility.

Release 3.0.2 Key Features

Failover Optimization

Failover is an important ElasticJob feature.

In ElasticJob 3.0.1, the Failover feature had some limitations and disadvantages:

ElasticJob 3.0.2 optimized the Failover feature.

Separating the event notification threads of different jobs to avoid an endless loop.

ElasticJob achieves distributed coordination through ZooKeeper. In practical scenarios, users may start multiple jobs in the same project simultaneously, all of which use the same Apache Curator client. There are certain risks due to the nature of ZooKeeper and the callback method of Curator in a single event thread.

In ElasticJob 3.0.2, the callback method of each job will be executed on the thread to which the job belongs, preventing jobs from affecting each other.

Moreover, ElasticJob 3.0.2 modified the code which may lead to an endless loop. When a job instance is online and the server nodes in ZooKeeper change (such as being deleted), ElasticJob is stuck in determining whether the server is enabled. This problem has been tackled.

Java 19 Support

Java 19 was released on September 20, 2022. ElasticJob’s code closely follows Java versions and currently can be built and used through Java 19. Elasticjob now supports Java 8 through 19.

Release Notes

Bug Fixes

Enhancements

Please refer to GitHub ElasticJob Milestone for details.

Useful Links

🔗 ElasticJob Milestone

🔗 Release Notes

🔗 ShardingSphere ElasticJob GitHub Address

🔗 ShardingSphere Project Address

🔗 ShardingSphere ElasticJob Official Website

Author

Wu Weijie, is an infrastructure R&D engineer at SphereEx, and an Apache ShardingSphere PMC.

He now focuses on the R&D of the Apache ShardingSphere access port and the sub-project ElasticJob.