Time slowly out of sync?


#1

Hi all!

This is my first post to this mailinglist, so be gentle :slight_smile:

I hope you can help me with this very strange issue I’m having…
I have an application in JRuby on GlassFish deployed on 2 servers. One
is production, the other is fail-over. We had an power outage a few
days ago, and now I’m having a strange issue on the production server.
It seems that the application (NOT the server) is slowly losing track
of time…

I’ve investigated the log file, and here are some results, consider
the times:

[#|2009-06-04T15:00:00.446+0200|INFO|sun-appserver9.1|
javax.enterprise.system.container.web|
_ThreadID=19;_ThreadName=httpSSLWorkerThread-80-0;|PWC1412: WebModule
[] ServletContext.log():

Processing PdfsController#index (for 172.50.0.5 at 2009-06-04
14:56:10) [GET]
Session ID: 1306c85395433b5445b1f93211ce952e
Parameters: {“controller”=>“pdfs”, “action”=>“index”}
Redirected to http://sano01/session/new
Filter chain halted as [:check_roles] rendered_or_redirected.
Completed in 0.00150 (666 reqs/sec) | DB: 0.00235 (156%) | 302 Found |
#]

This gets worse:

[#|2009-06-04T16:52:03.366+0200|INFO|sun-appserver9.1|
javax.enterprise.system.container.web|
_ThreadID=19;_ThreadName=httpSSLWorkerThread-80-0;|PWC1412: WebModule
[] ServletContext.log():

Processing PdfsController#index (for 172.50.0.5 at 2009-06-04
16:27:07) [GET]
Session ID: 144a9aeaad71dfd6c1241a70cffc5bfd
Parameters: {“controller”=>“pdfs”, “action”=>“index”}
Redirected to http://sano01/session/new
Filter chain halted as [:check_roles] rendered_or_redirected.
Completed in 0.00137 (731 reqs/sec) | DB: 0.00095 (69%) | 302 Found|#]

Really worse:

[#|2009-06-05T02:53:25.696+0200
|INFO|sun-appserver9.1|javax.enterprise.system.container.web|
_ThreadID=19;_ThreadName=httpSSLWorkerThread-80-0;|PWC1412: WebModule
[] ServletContext.log():

Processing SessionsController#new (for 172.16.0.14 at 2009-06-05
00:35:14) [GET]
Session ID: 94ce2b52338cda7c03c2a08de8629ff1
Parameters: {“controller”=>“sessions”, “action”=>“new”}
Rendering template within layouts/application
Rendering sessions/new
Completed in 0.01545 (64 reqs/sec) | Rendering: 0.01272 (82%) | DB:
0.00319 (20%) | 200 OK|#]

[#|2009-06-05T08:56:42.932+0200 |INFO|sun-appserver9.1|
javax.enterprise.system.container.web|
_ThreadID=20;_ThreadName=httpSSLWorkerThread-80-2;|PWC1412: WebModule
[] ServletContext.log():

Processing SessionsController#new (for 172.50.0.5 at 2009-06-05
05:30:05) [GET]
Session ID: a0a85a83bede7cf072acf6a16fa6fc0c
Parameters: {“controller”=>“sessions”, “action”=>“new”}
Rendering template within layouts/application
Rendering sessions/new
Completed in 0.01425 (70 reqs/sec) | Rendering: 0.01193 (83%) | DB:
0.00374 (26%) | 200 OK|#]

As you can see, the time goes way off!!!

How can this be happening? Is there a way I can sync time in JRuby
(GalssFish doen’t seem to be the issue) with the server time?

Anyone with some help/anwsers/hints?

With kind regards,

David W.


David (davidakachaos)

blog: http://www.davidakachaos.nl
Hyves: http://davidakachaos.hyves.nl


#2

Is this actually 1.1.3? If so, that’s probably part of the problem :slight_smile:
1.1.3 is almost a year old, and used some timekeeping logic that has
since been removed because of drift and because of suspend/sleep
throwing it way off. I’d strongly recommend updating to 1.2 or higher.

  • Charlie

#3

Hi,

Thanks, I will look into that. I just got handed this application to
maintain, so I’ll if I can upgrade savely :slight_smile:

2009/6/6 Charles Oliver N. removed_email_address@domain.invalid

Hi all!
I’ve investigated the log file, and here are some results, consider
Parameters: {“controller”=>“pdfs”, “action”=>“index”}
[] ServletContext.log():

Rendering sessions/new
Session ID: a0a85a83bede7cf072acf6a16fa6fc0c

Anyone with some help/anwsers/hints?

With kind regards,

David W.


David (davidakachaos)

blog: http://www.davidakachaos.nl
Hyves: http://davidakachaos.hyves.nl
msn: removed_email_address@domain.invalid

I never said it was your fault, I said I was going to blame you!!!
Sent from Utrecht, UT, Netherlands
George Bernard
Shawhttp://www.brainyquote.com/quotes/authors/g/george_bernard_shaw.html

  • “A government that robs Peter to pay Paul can always depend on the
    support of Paul.”

#4

Robert K. wrote:

How can this be happening? Is there a way I can sync time in JRuby

Knowing that the HP JVM is written by Sun and OEM’ed by HP I would not
totally exclude the possibility of a similar phenomenon on Solaris
although we did not observe this yet.

Wow, very interesting. I’d never seen or heard of that issue before.
Thanks for the pointer!

  • Charlie

#5

2009/6/5 David W. removed_email_address@domain.invalid:

I hope you can help me with this very strange issue I’m having…
I have an application in JRuby on GlassFish deployed on 2 servers. One
is production, the other is fail-over. We had an power outage a few
days ago, and now I’m having a strange issue on the production server.
It seems that the application (NOT the server) is slowly losing track
of time…

As you can see, the time goes way off!!!

How can this be happening? Is there a way I can sync time in JRuby
(GalssFish doen’t seem to be the issue) with the server time?

Anyone with some help/anwsers/hints?

We had a similar issue just recently with a JVM run on HP Itanium. It
turned out that it was the JVM not using a system call to get at the
time but did some internal sampling. This was remedied by using JVM
option “-XX:+UseGetTimeOfDay”:

http://www.google.com/search?q="-XX%3A%2BUseGetTimeOfDay"

Knowing that the HP JVM is written by Sun and OEM’ed by HP I would not
totally exclude the possibility of a similar phenomenon on Solaris
although we did not observe this yet.

Kind regards

robert