Argo-cd: Error message "Unable to load data: key is missing" is confusing

Created on 16 Jul 2019  路  5Comments  路  Source: argoproj/argo-cd

Describe the bug

Confusing error message Unable to load data: key is missing is shown on application details page if app info is missing in the cache. Instead of showing meaningless message UI should trigger app refresh. Usually, the error is reproducible if the controller is no functioning properly and therefore cache is not populated. Refresh should trigger reconciliation loop and either populate the cache or reveal real issue.

To Reproduce

  1. Create new app
  2. Break controller, e.g. scaledown controller deployment to 0. Restart redis to get rid of cache
  3. Click on any app node
  4. See the error

Version: v1.2.0

bug

Most helpful comment

How do you fix this issue when you run into it?

All 5 comments

How do you fix this issue when you run into it?

Facing the same issue on GKE. Image attached. Cluster/ArgoCD was running fine for weeks. My guess is an auto-upgrade on GKE has thrown the cache out of sync. Forcefully deleting all ArgoCD pods hasn't helped unfortunately.

Version: 1.0.2

image

I'm hitting this issue very frequently. Does that mean the controller is unstable? I'll dig more into what causes the controller to fail.

I believe error is happening frequently after upgrade or if you loose redis server and all cache is gone.

The controller populates cache on every application reconciliation which happens every 3 minutes by default. It appears that first redis client request fails after redis restart. So cache is not populated during first reconciliation and cache is missing for 2 cycles.

Sent PR implements graceful handling of redis restart and missing cache error. https://github.com/argoproj/argo-cd/pull/2464

Hello,

I have a CD implemented with Argo and I am facing issues with redis when running it locally in minikube. When I click on "app diff", information is not displayed. I have removed all redis related configuration from the argocd server and repo server (sentinel) as well as scaled down the redis deployment to have 0 replicas, expecting this to fix the problem, but Argo still tries to connect to the cache and it fails because of a timeout. Is there any flag I can set up to disable it completely?

Thank you very much.

Kind regards.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

chiragthaker picture chiragthaker  路  3Comments

gregsheremeta picture gregsheremeta  路  3Comments

duboisf picture duboisf  路  3Comments

peterbosalliandercom picture peterbosalliandercom  路  3Comments

ksaito1125 picture ksaito1125  路  3Comments