Kafka CDR Consumer Properties

Kafka CDR Consumer Properties describes the properties in the Kafka CDR Consumer Helm values file that configure Kafka CDR Consumer.

Note: You can also configure engine connections, log file rotation, and tracing using overrides to the Kafka CDR Consumer Helm chart. For more information about configuring these overrides, see the discussions about engine connection, log rotation, and tracing properties.
Table 1. Kafka CDR Consumer Properties
Property Description
logging.level The global logging level for this component. Possible values are trace, debug, info, warn, error, critical, and off.
logging.file.rotation.maxFileSize The file size used to trigger log file rollover. The default value is 20MB.
logging.file.rotation.maxBackup The maximum number of log file archives. Once this number is reached, older archives are deleted upon later rollovers. The default value is 10.
replicaCount The number of replicas running at any given time in this deployment, for example, 1.
image.name The Kafka CDR Consumer image, for example, matrixx-kcc/tef-diamro-consumer.
image.version The Kafka CDR Consumer image version, for example, 1.0.0.
image.registryOverride The Kafka CDR Consumer container image registry (if no value is specified, the registry value is taken from the global.image.registry.name property), for example, harbor.matrixx-services.com.
configuration.engine.host The MATRIXX Engine host address, for example, engine.host.
configuration.engine.port The MATRIXX Engine port, for example, 4060.
configuration.kccExtension (Optional) The Kafka CDR Consumer extension implementation class, for example, com.matrixx.kcc.acme.json.consumer.KccExtensionImpl. If a value is not specified, the implementation is located by the system.
configuration.continuousFailureThreshold The number of consecutive failures (for example, engine timeouts) before Kafka CDR Consumer is stopped, for example, 25.
configuration.scaling.main.mode The event loop instances scaling mode. Possible values are auto and manual. When the value is auto, the event loop instances are the total CPU cores assigned to the pod.
configuration.scaling.main.instances The number of concurrent event loop instances per pod, for example, 1.
configuration.producer.kafka.config.bootstrap.servers The Kafka brokers for the Kafka rejection topic (for example, kafka1:9092,kafka2:9092,kafka3:9092). Use the same value as the source topic bootstrap servers if both topics are on the same Kafka brokers.
configuration.producer.kafka.topic The Kafka rejection topic, for example, reject_topic. Any rejected message is produced to this topic. The topic must be present on the Kafka brokers specified by kafka.rejectBootstrapServer.
configuration.producer.kafka.validate An indicator of whether to verify that the Kafka rejection topic is valid during application start-up (true or false).
configuration.consumer.kafka.config.bootstrap.servers The Kafka brokers for the source Kafka topic, for example, kafka1:9092,kafka2:9092,kafka3:9092.
configuration.consumer.kafka.topic The source Kafka topic, for example, rerater_topic. Kafka CDR Consumer consumes Kafka messages from this topic. The topic must be present on the Kafka brokers specified by the kafka.bootstrapServers property.
configuration.consumer.rate.targetTps The target processing rate for the consumer (transactions per second), for example, 1000.
configuration.consumer.kafka.validate An indicator of whether to verify that the source Kafka topic is valid during application start-up (true or false).
configuration.consumer.validateMaxRetry The maximum number of tries to validate Kafka topics during application start-up, for example, 15. Set this property to -1 for unlimited tries.
configuration.consumer.validateRetryInterval The retry interval in milliseconds for validating Kafka topics during application start-up, for example, 2000.
configuration.consumer.kafka.config.group.id A unique identifier for the consumer group within the cluster, for example, cg1.
configuration.consumer.kafka.config.max.poll.records The batch size or maximum number of records to poll on each request, for example, 100.
Note: If rating sequences are important, for example, if there are session-based events for which the ACR start event must be rated before interim events, make sure you set the value of this property to 1.
configuration.consumer.kafka.config.max.poll.interval.ms The maximum delay in milliseconds between reads from the Kafka topic, for example, 300000.
configuration.consumer.kafka.config.enable.auto.commit An indicator of whether the consumer's offset is periodically committed in the background (true or false).

When the value is false, a commit occurs only after polled records are rated. This is the default and recommended setting.

configuration.consumer.kafka.config.auto.offset.reset Specifies what to do when there is no initial offset in Kafka. The following are the possible values and meanings:
  • earliest — Reset the offset to the earliest offset (the default value).
  • latest — Reset the offset to the latest offset.
  • none — Generate an exception if no prior offset is found for the consumer's group.
configuration.consumer.kafka.config.isolation.level Specifies how to read messages that are written transactionally. The following are the possible values and meanings:
  • read_committed — Only read transactional messages that have been committed.
  • read_uncommitted — Read all messages (default value).
The following is an example Kafka CDR Consumer Helm values file:
global:
  image:
    registry:
      name: harbor.matrixx-services.com
 
image:
  name: "matrixx-kcc/chf-cdr-consumer"
  version: "5250"  
 
replicaCount: 1
  
# Kafka CDR Consumer App configurations
configuration:
  engine:
    host: "engine.host"
    port: 4060
  consumer:
    rate:
      targetTps: 1000
    kafka:
      topic: rerater_topic
      config:
        bootstrap.servers: kafka1:9092,kafka2:9092,kafka3:9092
        group.id: "cg1"
        max.poll.records: 10
  producer:
    kafka:
      topic: reject_topic
      config:
        bootstrap.servers: kafka1:9092,kafka2:9092,kafka3:9092
Note: If rating sequences are important, for example, if there are session-based events for which the ACR start event must be rated before interim events, make sure that when producing to the Kafka topic, the same session events are written to the same Kafka topic partition. To do this, set the same Kafka message key value for events from the same session.