addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscontroller-playcrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobe--smallglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1launch-new-window--smalllight-bulblinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonprintShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

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

From: robert a.
Sent on: Thursday, September 5, 2013 3:51 PM
>In our case we are experiencing this problem on virtualized environments of
>our customers, where our system is deployed. We do not have any control about
>those environments

and from another email

>This is a big issue for us and for any near time application: please think 
>about trading and...

Your issue illustrates why we don't (or very rarely) use public clouds for trading applications. We need to keep tight control on both the stack used and on all system operations on the platform beneath the application. Syncing system clocks (and other processes such as clean-ups, backups, patch deployment etc) are performed out of market hours and (importantly) on all machines so they are consistent.

Even without the bug in the JVM, a system clock that can change unpredictably while the application is running sounds dangerous (timestamps, ordering and audits?). You seem to be jumping through a lot of hoops to cope with a problem created by an infrastructure provider. I have no idea what your business area is but I'd be tempted to push-back on this with a business related argument about timestamps and audit consistency.

Good Luck!
- Robert.

On Wed, Sep 4, 2013 at 4:59 PM, Bruno Bossola <[address removed]> wrote:
HI Mikhail,

In our case we are experiencing this problem on virtualized environments of our customers, where our system is deployed. We do not have any control about those environments,. It happens  because of a sysop or NTP change or $whateverreason (these can be wide and complex environments, not hosting only our app but many other, a sort of customer cloud). If the system date change, and we deliver some items out of order, then we say the customer "hey it's not our app, its $linux/$java/$whatever": at this  they first basically laugh at us and then tell us"just fix it".

And I think they have a point.

I guarantee we do not have sleep() to synchronize things :), we are using java.concurrency primitives. The most problematic thing is the ScheduledExecutor: it just stops. The backup plan would be 1) patch the JVM or 2) rewrite in native some of those function but I am afraid of the extent of this issue. LockSupport.parkNanos(..) is basically the root of all other concurrency primitives in the JVM.



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.

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