javaignite

Why is Ignite ignoring the JVM's user.timezone setting?


I have two apache ignite clusters running on different servers, both instances specify -J-Duser.timezone=UTC on the ignite command line.

One of the servers appears to be ignoring this JVM setting, and I am pulling my hair out trying to figure out why.

Server A is Windows, and there are two Ignite nodes running on the same server ; Server B is AlmaLinux 8, there are actually two servers, each running an Ignite node...I have verified that they are being run the same way on each server.

I run the following query on both instances:

SELECT FORMATDATETIME(TIMESTAMP '2001-02-03 04:05:06', 'EEE, d MMM yyyy HH:mm:ss z', 'en', 'GMT')

On server A, this returns what I expect:

Sat, 3 Feb 2001 04:05:06 GMT

On server B, though, it returns this:

Sat, 3 Feb 2001 10:05:06 GMT

The server time zone for both servers is CDT. So on server B, Ignite appears to be using the server time zone instead of the one specified in the JVM user.timezone parameter. I am at a loss as to how to figure out why this is the case, and am hoping someone here might be able to help.

The command line for Server A is:

ignite.bat -J-Duser.timezone=UTC ..\config\ignite-config.xml

The command line for Server B is:

/opt/ignite/bin/service.sh start -J-DIGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK=true -J-Duser.timezone=UTC /etc/ignite/ignite-config.xml

Edit: The Ignite version is gridgain-community-8.8.22


Solution

  • It looks like the issue was caused by the database being created with Ignite running under the incorrect time zone setting.