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

Can't disable JF Connect #1806

Closed
jacobcsmith opened this issue Aug 14, 2023 · 5 comments · Fixed by #1818
Closed

Can't disable JF Connect #1806

jacobcsmith opened this issue Aug 14, 2023 · 5 comments · Fixed by #1818
Labels
bug Something isn't working

Comments

@jacobcsmith
Copy link

Is this a request for help?: No


Is this a BUG REPORT or FEATURE REQUEST? (choose one): Bug Report

Version of Helm and Kubernetes: Helm 3 and Kubernetes 1.26.2

Which chart: artifactory 107.63.7

Which product license (Enterprise/Pro/oss): Enterprise

What happened:
Artifactory attempts to connect to an entitlements service for JF Connect and fails to start after a few minutes even though jfconnect is disabled in values.yaml. Exception as follows:

DATA-----------------------------
404 page not found
]. Will not retry anymore.
2023-08-12T01:28:13.751Z [jfrt ][ERROR][                ] [titlementsAutoUpdatingCache:49] [pool-46-thread-1    ] - Can't update entitlements
org.jfrog.jfconnect.client.exception.RetryFailedException: org.jfrog.common.ExecutionFailed: Failed executing GetEntitlements, last error [UNIMPLEMENTED: HTTP status code 404
invalid content-type: text/plain; charset=utf-8
headers: Metadata(:status=404,content-type=text/plain; charset=utf-8,x-content-type-options=nosniff,date=Sat, 12 Aug 2023 01:28:13 GMT,content-length=19)
DATA-----------------------------
404 page not found
]. Will not retry anymore.
	at org.jfrog.jfconnect.client.grpc.GrpcRetryableCallSupplier.executeWithRetry(GrpcRetryableCallSupplier.java:38)
	at org.jfrog.jfconnect.client.grpc.GrpcClient.executeWithRetryAndConfig(GrpcClient.java:95)
	at org.jfrog.jfconnect.client.grpc.GrpcClient.getEntitlements(GrpcClient.java:79)
	at org.jfrog.jfconnect.client.EntitlementsAutoUpdatingCache.updateEntitlements(EntitlementsAutoUpdatingCache.java:96)
	at org.jfrog.jfconnect.client.EntitlementsAutoUpdatingCache.lambda$init$0(EntitlementsAutoUpdatingCache.java:47)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)

What you expected to happen:
Not attempt to connect to any JF Connect related service.

How to reproduce it (as minimally and precisely as possible):
In values.yaml set:

jfconnect:
  enabled: false
splitServicesToContainers: true

Anything else we need to know:

Was able to workaround by manually changing the JF_JFCONNECT_ENABLED env var to false in the statefulset manifest. Perhaps the value of this env var should come from Values.jfconnect.enabled rather than hardcoding.

@ssarivis
Copy link

@jacobcsmith thanks for raising this , could you confirm which chart you are using artifactory or artifactory-ha ?

Also, Can you try using the latest chart by disabling jfconnect_service via values.yaml , which would mean we disable in systemyaml no need of using ENV variables

jfconnect:
  enabled: false

@jacobcsmith
Copy link
Author

Hey @ssarivis I am using the artifactory chart. I am already setting jfconnect.enabled to false and see that reflected in our system.yaml.

router:
  serviceRegistry:
    insecure: false
shared:
  metrics:
    enabled: true
  logging:
    consoleLog:
      enabled: false
  extraJavaOpts: >
    -Dartifactory.graceful.shutdown.max.request.duration.millis=30000
    -Dartifactory.access.client.max.connections=50
    -Xms6g
    -Xmx8g
artifactory:
  database:
    maxOpenConnections: 100
  tomcat:
    maintenanceConnector:
      port: 8091
    connector:
      maxThreads: 200
      sendReasonPhrase: false
      extraConfig: acceptCount="100"
frontend:
  session:
    timeMinutes: "30"
access:
  database:
    maxOpenConnections: 100
  tomcat:
    connector:
      maxThreads: 50
      sendReasonPhrase: false
      extraConfig: acceptCount="100"
metadata:
  database:
    maxOpenConnections: 100
jfconnect:
  enabled: false
jfconnect_service:
  enabled: false

The reason I brought up environment variables is due to this line: https://github.com/jfrog/charts/blob/master/stable/artifactory/templates/artifactory-statefulset.yaml#L927. Please note we have enabled splitServicesToContainers to true.

Was there a change between 107.63.7 and 107.63.12 which addressed this issue? Looking at the changelog and commits I didn't see a change in the chart which would address this issue.

@chukka chukka added the bug Something isn't working label Aug 28, 2023
@ssarivis
Copy link

@jacobcsmith , Thanks for reporting this. We have fixed this now internally and should be available in the upcoming releases.ETA 2weeks.

@chukka
Copy link
Collaborator

chukka commented Sep 12, 2023

@jacobcsmith Fixed in 107.68.7 chart and please try and share feedback

@jacobcsmith
Copy link
Author

We upgraded to 107.68.14 without an issue. Thank you for resolving 👍

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

Successfully merging a pull request may close this issue.

3 participants