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

Context deadline exceeded when having more than 30 apps #1641

Closed
peterbosalliandercom opened this issue May 23, 2019 · 7 comments
Closed

Context deadline exceeded when having more than 30 apps #1641

peterbosalliandercom opened this issue May 23, 2019 · 7 comments
Labels
bug Something isn't working

Comments

@peterbosalliandercom
Copy link

peterbosalliandercom commented May 23, 2019

Describe the bug
with version 1.0.0
When using more than 20 apps it appears a lot of the time that argo cannot refresh or sync and gives context deadline exceeded errors.

To Reproduce
Use more applications and the problem appears

Expected behavior
Quick response without errors

Screenshots
If applicable, add screenshots to help explain your problem.

image

Version

1.0.0

Logs

Paste any relevant application logs here.

Additional context
Add any other context about the problem here.

@peterbosalliandercom peterbosalliandercom added the bug Something isn't working label May 23, 2019
@peterbosalliandercom peterbosalliandercom changed the title Context deadline exceeded when having more than 20 apps Context deadline exceeded when having more than 30 apps May 23, 2019
@alexmt
Copy link
Collaborator

alexmt commented May 24, 2019

I'm almost sure this is because of this change #1528

@peterbosalliandercom , do you store all applications in a single repo? In this case repo server responses might be slow because it hold lock per repo during manifest generation.

As a quick fix you can increase timeout using '--repo-server-timeout-seconds' flag in argocd-application-controller deployment. By default it is 60 seconds

@alexmt
Copy link
Collaborator

alexmt commented May 24, 2019

You can also increase number of repo servers to improve performance.

Meanwhile we should optimize template generation in case when repo has a lots of applications.

@peterbosalliandercom
Copy link
Author

We will test thism thanks for quick response

@alexmt
Copy link
Collaborator

alexmt commented Jun 5, 2019

@peterbosalliandercom did you have a chance to check if '--repo-server-timeout-seconds' helps?

@sahil87
Copy link
Contributor

sahil87 commented Jun 6, 2019

We were facing the same issue. This helped instantly.
For reference, we used the following overlay for deploying argocd:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: argocd-application-controller
spec:
  template:
    spec:
      containers:
      - name: argocd-application-controller
        command:
        - argocd-application-controller
        - --status-processors
        - "20"
        - --operation-processors
        - "10"
        - --repo-server-timeout-seconds
        - "180"

@peterbosalliandercom
Copy link
Author

Looks fine with these settings. I am wondering what the other settings do, the status processors and operation processors

@alexmt
Copy link
Collaborator

alexmt commented Jun 27, 2019

Thanks for confirming! The status-processors flag specifies how many unique apps can be reconciled concurrently. The operation-processors flag specifies max number of concurrent sync operations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants