ARTIFACTORY: How to Resolve the Unified Platform Error: Failed joining the cluster; Error: Failed parsing join response: jwt too old; iat: ; expected minimum:

Muhammed Kashif
2023-01-22 11:08

When a given JFrog product is upgraded to the Unified Platform, there’s a chance that other JFrog products may not connect to the Artifactory 7.x Unified UI. To troubleshoot this issue, check the $JFROG_HOME/var/<product>/log/router-service.log file of the JFrog product which has yet to be enabled in the Unified UI.

If a below JSON web token (JWT) error appears in your router-service.log, it means that the system clocks of your services are not in sync 

could not join access, err: Cluster join: Failed joining the cluster; Error: Failed parsing join response: jwt too old; iat: <timestamp>; expected minimum: <timestamp>

For instance, when Artifactory 7.x is able to connect to Xray and Xray cannot connect to Artifactory due to the below JWT error in router-service.log,

2020-04-06T06:38:18.696Z [jfrou] [FATAL] [365fbba4cb58b874] [bootstrap.go:100 ] [main ] - could not join access, err: Cluster join: Failed joining the cluster; Error: Failed parsing join response: jwt too old; iat: 1586154988; expected minimum: 1586155063

The information in the error message above specifically means that although Xray’s clock is set at 06:38:18, it will accept a timestamp as old as 06:37:43 (one minute earlier). However, as the JWT received a timestamp of 06:36:28 – which is one minute before the accepted timestamp – an issue was triggered due to this timestamp mismatch between Artifactory and Xray.

To resolve this problem, you’ll want to sync all of Artifactory’s system clocks with the impacted JFrog product (in the above example, the system clocks need to be in sync with Artifactory and Xray).