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