Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Repo-server has silent unmarshalling errors leading to empty applications (#4423) #4708

Merged
merged 2 commits into from Nov 2, 2020

Conversation

jgwest
Copy link
Member

@jgwest jgwest commented Oct 29, 2020

This PR adds a hash of the full contents of CachedManifestResponse (excluding the hash itself) to what is persisted to Redis for generated manifests. This allows detection of the case where the cache contents are empty or incomplete (as described in the original issue). Hash mismatches are treated as cache misses, so manifest regeneration will occur in these cases.

Feedback welcome re: the specific algorithm used (current design: FNV-64a), and whether to hash the full cache entry or just the manifest response (current design: full cache entry).

Parent issue: #4423

Checklist:

  • Either (a) I've created an enhancement proposal and discussed it with the community, (b) this is a bug fix, or (c) this does not need to be in the release notes.
  • The title of the PR states what changed and the related issues number (used for the release note).
  • I've updated both the CLI and UI to expose my feature, or I plan to submit a second PR with them.
  • Does this PR require documentation updates?
  • I've updated documentation as required by this PR.
  • Optional. My organization is added to USERS.md.
  • I've signed the CLA and my build is green (troubleshooting builds).

@codecov-io
Copy link

codecov-io commented Oct 29, 2020

Codecov Report

Merging #4708 into master will increase coverage by 0.04%.
The diff coverage is 58.33%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #4708      +/-   ##
==========================================
+ Coverage   41.07%   41.12%   +0.04%     
==========================================
  Files         127      127              
  Lines       17404    17451      +47     
==========================================
+ Hits         7148     7176      +28     
- Misses       9231     9244      +13     
- Partials     1025     1031       +6     
Impacted Files Coverage Δ
util/cache/inmemory.go 50.00% <0.00%> (-22.23%) ⬇️
reposerver/cache/cache.go 80.00% <70.00%> (-10.33%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 22e0b4f...957f705. Read the comment docs.

@jgwest jgwest marked this pull request as ready for review October 29, 2020 12:22
Copy link
Collaborator

@alexmt alexmt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Thank you @jgwest . Additionally tested and confirmed this change is working fine with #4699 feature.

@alexmt alexmt merged commit 2166fea into argoproj:master Nov 2, 2020
terrycorley pushed a commit to terrycorley/argo-cd that referenced this pull request Nov 3, 2020
…zation-generators

* 'master' of github.com:argoproj/argo-cd:
  fix: RevisionFormField component crashes in 'refs' API returns no tags (argoproj#4735)
  docs: add Opensurvey to USERS.md (argoproj#4727)
  docs: correct parameters usage in CLI (argoproj#4725)
  fix: Repo-server has silent unmarshalling errors leading to empty applications (argoproj#4423) (argoproj#4708)
  fix: inject artificial delay between sync waves to better support health assessments (argoproj#4715)
  fix: exclude files listed under exclusions (argoproj#4686)
  feat: support resource actions on CRDs that use status subresources (argoproj#4690)
  feat: Add autocomplete for repo Revisions (argoproj#4645) (argoproj#4713)
  fix: webhook don't refresh apps pointing to HEAD (argoproj#4717)
  feat: Add support for ExecProvider cluster auth (argoproj#4600) (argoproj#4710)
  fix: adding helm values file in New App (argoproj#4635)
  docs: Instructions on `make verify-kube-connect` step when using k3d (argoproj#4687)
  feat:  Annotation based app paths detection in webhooks (argoproj#4699)
  fix: adding commonAnnotations for Kustomize (argoproj#4613)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants