On 6/20/2018 6:39 AM, Satya Marivada wrote:
Yes, there are some other errors that there is a javabin character 2
expected and is returning 60 which is "<" .

This happens when the response is an error.  Error responses are sent in HTML format (so they render properly when viewed in a browser), and the first character of any HTML formatted data is the "<" character.

----------

Extreme pauses due to garbage collection are one thing that can cause time discrepancies in Java-based software, even when the systems themselves are in perfect time sync.  Imagine a situation where a request is received, GC pauses happen taking up several seconds, and then the time data in the request is checked against the clock.

----------

If your VMs really are out of time sync, this might apply:

The core NTP algorithm will refuse to sync a system that's off by more than 1024 milliseconds.  So if the system is off by 8-10 seconds, NTP might not actually be able to get the system synchronized.

Redhat-based distributions of Linux deal with this problem at boot time by running ntpdate before ntp itself, to hard-set the system to the exact time returned by an NTP source.  Debian-based distributions handle it directly in NTP itself when NTP starts, though I do not know the exact details.  Either way, the time on the system is then close enough for the core NTP algorithm to work.

If your system is a version of Linux based on Redhat, you might be able to get NTP working properly with this sequence:

service ntpd stop
service ntpdate start
sleep 10
service ntpd start

On a Debian-based system (including Ubuntu and others), this might be enough:

/etc/init.d/ntp restart

For other operating systems, you'll need to research.

Depending on what virtual machine technology you're using, special considerations for NTP might need to be made.  I think VMware requires some special config for time synchronization to work properly.

Thanks,
Shawn

Reply via email to