Uploaded image for project: 'Common Controller SDK'
  1. Common Controller SDK
  2. CCSDK-3275

Readiness endpoint should check cluster status

XMLWordPrintable

      When CDS runs with Cluster enabled (hazelcast), initial startup requires some extra time for all the pods to join the CP-Subsystem. The CP Subsystem is required for several features, including distributed concurrency and cluster messaging which is used to clean class loader cache when CBA is uploaded. Executing these features before cluster is properly joined will render an exception as per below. CDS should not be served any incoming traffic until the cluster is joined.

       

      2021-04-28 12:01:13,883|3a0bf501-60ec-4bc8-bc75-f5a146087ee9||grpc-default-executor-0||org.onap.ccsdk.cds.controllerblueprints.management.api.BlueprintManagementService/uploadBlueprint||ERROR|||onap-cds-blueprints-processor-cc4fdb547-26c5m|||| request(3a0bf501-60ec-4bc8-bc75-f5a146087ee9): Failed to upload CBAkotlin.UninitializedPropertyAccessException: lateinit property hazelcast has not been initialized
      

      The correct solution is to include a check in the readiness endpoint to make sure cluster is joined.

      Quick fixes:

       - increase initialDelaySeconds for readinessProbe

      • OR -

       - set cluster.enabled=false and replicaCount: 1

            jozsef jozsef
            jozsef jozsef
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: