Technical Advisory 56116

On this page Carat arrow pointing down

Publication date: October 29, 2020

Description

All currently-released versions of the Go runtime incorrectly interpret the daylight-savings flag in "slim" versions of zoneinfo that are used by some OS distributions. This can result in incorrect local date-time calculations for any version of CockroachDB that is running on an OS image that distributes "slim" zoneinfo files.

  • Users of official CockroachDB Docker images are not affected.
  • Users of our reference Kubernetes configurations are not affected.
  • Users of CockroachCloud are not affected.

Statement

This public issue is tracked as #56116.

Mitigation

Execute the following SQL statement to determine if your cluster is affected:

icon/buttons/copy
SET TIME ZONE UTC; -- The default for cockroach sql
SELECT '2020-10-29 15:30'::TIMESTAMPTZ AT TIME ZONE 'Europe/Berlin' AT TIME ZONE 'UTC';

If a value other than 2020-10-29 16:30:00+00:00 is returned, you are affected by this Go runtime bug and should perform the following remediation:

  • Download zoneinfo.zip 2020a from the golang development tree to each CockroachDB node.
  • Perform a rolling restart of all CockroachDB processes, setting the ZONEINFO environment variable to the path of the zoneinfo.zip file.
  • Confirm the fix by executing the above SQL statement.

Impact

Any clusters impacted by this issue may produce incorrect results when performing date/time calculations that involve values in timezones and time periods for which daylight savings are in effect.

Questions about any technical alert can be directed to our support team.

×