1. Confluent Documentation, "ksqlDB Configuration Parameter Reference": This document lists the server configuration parameters. The ksql.streams.processing.guarantee property is described as controlling the processing semantics.
Reference: Confluent Documentation > ksqlDB > Reference > Configuration Parameter Reference > ksql.streams.processing.guarantee. It states, "The processing guarantee that should be used. Possible values are atleastonce (default) and exactlyonce."
2. Confluent Documentation, "Process events with exactly-once semantics": This guide explains the concept and implementation of exactly-once in ksqlDB.
Reference: Confluent Documentation > ksqlDB > Develop > Process events with exactly-once semantics. It explicitly states: "To get exactly-once processing, you must set the processing.guarantee property in your ksqlDB server properties file to exactlyonce."
3. Apache Kafka Documentation, "Kafka Streams Configs": As ksqlDB uses Kafka Streams, the underlying stream configuration is relevant.
Reference: Apache Kafka Documentation > Kafka Streams > Developer Guide > Kafka Streams Configs > processing.guarantee. The documentation details that setting this to exactlyonce enables the exactly-once guarantee.