We have an issue in our production environment that does not exist in our lower environments.
We have a WebAPI that external systems send in auditing information including a date time stamp. The information is then written to the DB. The information is retrieved and displayed to the user in their localized time zone. The issue is that the date time is wrong on display.
Our DB and Appian server have different time zones in PROD. Is this an issue?
Discussion posts and replies are publicly visible
Appian systems run in UTC and expect data coming from DB in UTC as well.
Is that documented anywhere?
Not sure about that. But all Appian systems I ever touched where configured UTC. I think you should be able to configure time zone on DB level or even connection level. Found this: community.appian.com/.../kb-1228-appian-requires-that-the-jvm-timezone-be-set-to-gmt-error-thrown-when-starting-up-jboss
We are on prem, so is this for ALL appian installs or just their cloud?
This is on premise. If you have data coming in via a web API in JSON, then the other system has to do the timestamp encoding correct and include timezone info. Then Appian will understand it.
Format is for example: 2020-01-01T20:17:46Z
The server sending the timestamp is the same timezone as the appian server receiving it but neither is GMT. DB is in a different timezone (GMT)
Format seems good. You need to make sure that the DB has the same timezone as the Appian system. In a perfect world this would be GMT.
So there is the rub apparently. The DB is GMT, the Appian Server is CDT. We cannot change the server (it sits in a hosting center). We could change the DB, but that would likely mess with dates already in the DB? I am just going to wrap the date in the DB with gmt() function when displaying to the user.
Would like to see the appian documentation on DB needing to have the same timezone as the app server, otherwise you need to use gmt and local functions to get what you want.