addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwchatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrosseditemptyheartexportfacebookfolderfullheartglobegmailgoogleimageimagesinstagramlinklocation-pinmagnifying-glassmailminusmoremuplabelShape 3 + Rectangle 1outlookpersonplusprice-ribbonImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruseryahoo

Re: [ljc] JVM is messed up when system clock is rolled backward

From: Martijn V.
Sent on: Sunday, September 1, 2013 9:31 AM
Hi Bruno,

A couple of questions:

1.) I assume your system time is jumping backwards due to NTP syncing your servers?
2.) Are your server architectures homogenous?
3.) Do your CPUs support monotonically increasing clocks?
4.) What timeframe are your servers expected to be in time sync by (i.e. Is it OK if it takes a little extra elapsed time to synch the machines or does it have to be ASAP) 

One last thought --> wait() and sleep() - have you considered coding/architectural changes to avoid these constructs?


Cheers,
Martijn


On 31 August[masked]:44, Bruno Bossola <[address removed]> wrote:
Hi all,
 
In these days my teams are hitting a bug on the JVM 64bit on Linux 64bit: "...there is bug in JVM for overall scheduling during Sytem time changes backward, which also impacts very basic Object.wait & Thread.sleep methods. It becomes too risky to keep Java App running when system time switches back by even certain seconds. You never know what your Java App will end up to." (source: stackoverflow.com)

These are some of the consequences:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7139684
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6311057
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7139684
 
if u want to see something saucy, the source bug is now unavailable:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6900441
 
See also here for a stackoverflow drill:
http://stackoverflow.com/questions/9044423/java-scheduler-which-is-completely-independent-of-system-time-changes

Unfortunately such bug is NOT fixed in the latest JVM, so the recommended  course of action is to restart the VM if a bit time jump happens (on small jumps the JVM will catch up)

Did anybody experience this issue? And found any viable solution apart from a non-java monitor program?

Cheers,

    Bruno

 




--
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Bruno Bossola ([address removed]) from LJC - London Java Community.
To learn more about Bruno Bossola, visit his/her member profile
Set my mailing list to email me As they are sent | In one daily email | Don't send me mailing list messages

Meetup, POB 4668 #37895 NY NY USA 10163 | [address removed]

Our Sponsors

  • Our Blog

    Read the latest news from the LJC

  • RecWorks Ltd

    Fixing Tech Recruitment using the Power of Community

  • jClarity

    Java/JVM Performance Analysis Tools & mentoring for Java related matters

  • LJC Aggrity

    Our LJC Aggrity site contains blog posts from our members

  • LJC Book Club

    Our Book club with book reviews from our members

  • Devoxx UK

    Java Community Conference in collaboration with the LJC, 8-10th June 16

  • SkillsMatter

    "Host, help organise, promote, film many of our meetings."

  • IBM

    Build Enterprise-grade apps at start-up speed.

  • New Relic

    New Relic makes sense of billions of metrics a day in real time.

  • Hazelcast

    Hazelcast is the leader in operating in-memory computing.

  • Java.Net

    We are an official Java User Group recognised by Oracle's JUG program

  • JRebel

    Free 3 month J-Rebel license.

  • O'Reilly

    40% discount on printed books and 50% on e-books.

  • Craft Rebellion

    Your choice of fresh craft beer, delivered. For 10% off use ‘LJC'

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy