1. Confluent Documentation: In the "Topic-Level Configs" section, the cleanup.policy parameter is defined. It explicitly states, "A string that is either delete, compact, or both (compact,delete). This string designates the retention policy to use on old log segments."
Source: Confluent Documentation, "Server Configuration Properties," Section: cleanup.policy.
2. Apache Kafka Documentation: The official Apache Kafka documentation corroborates this in its "Topic Configs" section. It specifies the valid values for cleanup.policy are "delete, compact".
Source: Apache Kafka Documentation, "3.7 Configuration," Section: "Topic Configs," Parameter: cleanup.policy.
3. Kleppmann, M. (2017). Designing Data-Intensive Applications. O'Reilly Media. Chapter 11 discusses log-structured storage and messaging systems. It details the concepts of log compaction (as used in Kafka's compact policy) and time-based retention (as used in the delete policy) as fundamental strategies for managing log data.
Source: Chapter 11, "Stream Processing," Section: "Messaging Systems." (Note: While a book, it is a peer-reviewed and highly respected academic-level text in the field).