Timezone issues with Sisense
Posted by James Kruss, Last modified by James Kruss on 12 January 2023 02:26 pm
Sisense is usually installed with the server timezone set to UTC in the config.yaml.
It makes an assumption that any Date fields in source databases are in UTC and therefore does not apply any timezone offset when importing Dates. It does however apply the relevant offset to Datetime datatypes (where the timezone is included in the data type) to convert the Datetime to UTC.
If however, Sisense is installed with a different timezone than UTC in the config.yaml, it will apply an offset even to Date fields, because it assumes these are in UTC timezone. This behaviour may suit some use-cases, but unless the source data has dates stored in UTC then it is problematic.
For example, if you have the Sisense server timezone set to Melbourne/Australia: If you have a date of December 1 in the database, Sisense will assume it is midnight Dec 1 UTC and then when it comes into the Elasticube it will convert that to Melbourne/Australia time and that will make it November 30 1 pm.
There may also be effects depending on the actual linux server timezone setting (as opposed to the Sisense config). These have been observed applying an offset to strings representing dates coming from datasources and then having had the datetime datatype chosen within Sisense for the field.
To stop all conversions, there is an advanced setting in Base Configuration
If this toggle is enabled, Dates and Datetimes will not be altered during import to Sisense. However, we recommend testing that this toggle works for your data source (we have tested this works for Postgres).
To check and alter the Sisense timezone:
The TZ parameter is set in the configuration file of the installation. Therefore it could be changed at upgrade.
The customer can edit the value via the command below, it opens the configuration via Vim editor, therefore you can update the parameter and save it.
$ kubectl -n sisense edit cm global-configuration
After updating the TZ parameter, restart all Sisense pods via the command below
$ kubectl -n sisense delete pods --all
Please contact RAPID BI for assistance if needed.