10.1 Update Consumer Adapter

This section describes the procedure to update the following Consumer Adapter components:
  • Egress Adapter Service image
  • HPA configuration
  • Egress Adapter Service parameters
  • Load distribution algorithm through the parameter "ADAPTER_CORRID_LB_WITHOUT_LF_ENABLED"
Perform the following steps to update the following Consumer Adapter components:
  1. Edit the following parameters of ocnaddadminsvc environment variables in the ocnadd-custom-values.yaml file

    Table 10-1 Parameters in Consumer Adapter

    Parameters Data Type Range Default Values Mandatory(M)/Optional(O)/Conditional(C) Description
    ADAPTER_CORRID_LB_WITHOUT_LF_ENABLED Boolean True or False True M

    This parameter defines the behavior of the load distribution algorithm.

    If the value is "true", the messages with the same Correlation ID are sent to the same destination endpoint without considering the load factor.

    If the value is "false", the messages with same Correlation ID are sent to the same destination endpoint based on the load factor. In this case the compute resource requirement will be significantly higher and some fluctuation in Egress MPS is observed.

    OCNADD_ADAPTER_LOG_LEVEL_NETTY STRING - INFO O Netty log level
    OCNADD_ADAPTER_LOG_LEVEL STRING - INFO O Adapter service log level
    logging.level.com.oracle.cgbu.cne.ocnadd STRING - INFO O Logging level for OCNADD services
    logging.level.com.oracle.cgbu.cne.ocdd STRING - INFO O Logging level for Common OCNADD services
    OCNADD_ADAPTER_MIN_REPLICAS INTEGER - 2 M Minimum Replicas for Adapter
    OCNADD_ADAPTER_MAX_REPLICAS_TCP INTEGER   2 M Maximum Replicas for Adapter (TCP Connection)
    OCNADD_ADAPTER_MAX_REPLICAS INTEGER - 8 M Maximum Replicas for Adapter
    MAX_TCP_CONNECTION_PER_DEST INTEGER - 6 M Maximum allowed TCP connection per destination
    ADAPTER_KAFKA_FETCH_MAX_BYTES INTEGER - 576720 O The maximum amount of data the server should return for a fetch request
    ADAPTER_KAFKA_MAX_PARTITION_FETCH_BYTES INTEGER - 104857 O The maximum amount of data per-partition the server will return
    ADAPTER_KAFKA_FETCH_MAX_WAIT_MS INTEGER - 40 O The maximum amount of time the server will block before answering the fetch request
    ADAPTER_KAFKA_SESSION_TIME_OUT INTEGER - 15000 O The timeout used to detect client failures when using Kafka’s group management facility
    ADAPTER_KAFKA_HEARTBEAT_INTERVAL_MS INTEGER - 5000 O The expected time between heartbeats to the consumer coordinator when using Kafka’s group management facilities
    ADAPTER_KAFKA_MAX_POLL_INTERVAL_MS INTEGER - 30000 O The maximum delay between invocations of poll () when using consumer group management
    ADAPTER_KAFKA_MAX_POLL_RECORDS INTEGER - 1500 O The maximum number of records returned in a single call to poll()
    ADAPTER_KAFKA_COMMIT_INT_CONFIG INTEGER - 30 O The frequency in milliseconds that the consumer offsets are committed to Kafka
    ADAPTER_KAFKA_NUM_THREADS_CONFIG INTEGER - 9 O The number of threads to execute stream processing
    ADAPTER_KAFKA_CONSUMER_POLL_MS INTEGER - 30 O The amount of time in milliseconds to block waiting for input
    ADAPTER_KAFKA_RECEIVE_BUFFER_BYTES INTEGER - 104857 M The size of the TCP receive buffer (SO_RCVBUF) to use when reading data.
    ADAPTER_WEBCLIENT_TYPE STRING - netty M Webclient Type for Adapter Service
    OCNADD_ADAPTER_USE_TS BOOLEAN true/false true M Parameter to enable trustore use for Adapter
    OCNADD_ADAPTER_SERVER_SSL BOOLEAN true/false false M Enable Server SSL for Adapter
    EGRESS_MAX_CONNECTION_POOL_COUNT INTEGER - 100 O Max number of connections per connection pool
    EGRESS_SSL_HANDSHAKE_TIMEOUT INTEGER - 40 O SSL handshake timeout
    EGRESS_SSL_CLOSE_NOTIFY_FLUSH_TIMEOUT INTEGER - 20 O HttpClient Notify Flush timeout
    EGRESS_SSL_CLOSE_NOTIFY_READ_TIMEOUT INTEGER - 20 O HttpClient Notify Read timeout
    EGRESS_CLIENT_MAX_INMEMORY INTEGER - 12 O Webclient Max In Memory in Mb
    EGRESS_JETTY_MAX_CONNECTION_PER_DESTINATION INTEGER - 12 O Jetty Max Connection per Destination
    EGRESS_JETTY_MAX_REQUEST_PER_DESTINATION INTEGER - 1000 O Jetty Max Request per Destination
    EGRESS_JETTY_CLIENT_IDLE_TIMEOUT INTEGER - 300000 O Jetty client IDLE timeout
    EGRESS_JETTY_CLIENT_CONNECT_BLOCKING BOOLEAN true/false false O Jetty Client Connection Block Enable
    EGRESS_JETTY_CLIENT_CONNECT_TIMEOUT INTEGER - 120000 O Jetty Client Connection Timeout
    EGRESS_JETTY_CLIENT_STREAM_IDLE_TIMEOUT INTEGER - 300000 O Jetty Client Stream IDLE timeout
    EGRESS_JETTY_CLIENT_MAX_CONCURR_PUSHED_STREAM INTEGER - 12 O Jetty HTTP2 client max concurrent pushed stream
    ADAPTER_TCP_CLIENT_MSG_RETRY_MAX_ATTEMPTS INTEGER - 10 O Max TCP message retry
    ADAPTER_TCP_CLIENT_MSG_RETRY_DELAY INTEGER - 50 O TCP Message retry delay
    ENABLE_ADAPTER_COUNTER_METRICS BOOLEAN true/false true O Enable Adapter Counter Metric
    ENABLE_ADAPTER_LATENCY_METRICS BOOLEAN true/false true O Enable Adapter Latency Metric
  2. Run the following command to apply the changes:
    >  helm upgrade <release_name> -f ocnadd-custom-values.yaml --set global.env.admin.OCNADD_ADAPTER_UPGRADE_ENABLE=true -n <namespace-name>
  3. Run the following command to check the pod status:
    watch kubectl get po -n <namespace-name>

    All the pods must be in running state.

  4. To verify the updated parameters, run the following command:
    kubectl describe po <adapter-pod-name> -n <namespace-name>
  5. After Adapter has been successfully upgraded, run the following command:
     >  helm upgrade <release_name> -f ocnadd-custom-values.yaml --set global.env.admin.OCNADD_ADAPTER_UPGRADE_ENABLE=false -n <namespace-name>