├── .gitignore ├── LICENSE ├── README.md ├── groupprotocol ├── consumer_group_protocol_kip_848.tla ├── consumer_group_protocol_kip_848_v2.cfg ├── consumer_group_protocol_kip_848_v2.tla ├── message_passing.tla └── network.tla ├── kafka_data_replication └── kraft │ ├── kip-966 │ ├── README.md │ ├── description │ │ ├── 0_kafka_replication_protocol.md │ │ ├── 10_conclusions.md │ │ ├── 11_future_work.md │ │ ├── 1_introduction.md │ │ ├── 2_replication_algorithm.md │ │ ├── 3_log_divergence.md │ │ ├── 4_reassignment.md │ │ ├── 5_recovery.md │ │ ├── 6_replication_correctness.md │ │ ├── 7_availability.md │ │ ├── 8_broker_lifecycle.md │ │ ├── 9_formal_verification.md │ │ └── images │ │ │ ├── broker_epochs.svg │ │ │ ├── broker_startup.svg │ │ │ ├── controller_and_brokers.svg │ │ │ ├── divergence_case_a.svg │ │ │ ├── divergence_case_b.svg │ │ │ ├── divergence_case_c.svg │ │ │ ├── divergence_case_d.svg │ │ │ ├── divergence_case_e.svg │ │ │ ├── divergence_case_f.svg │ │ │ ├── divergence_case_g.svg │ │ │ ├── epoch_cache.svg │ │ │ ├── fetch_session_partitions.svg │ │ │ ├── fetch_sessions.svg │ │ │ ├── fetching.svg │ │ │ ├── hwm.svg │ │ │ ├── isr_elr_and_completeness.svg │ │ │ ├── isr_elr_lastknownelr.svg │ │ │ ├── kafka_protocols.svg │ │ │ ├── log_offsets_and_epochs.svg │ │ │ ├── log_truncation.svg │ │ │ ├── majority_quorums.svg │ │ │ ├── metadata_log_replication.svg │ │ │ ├── overlapping_quorums.svg │ │ │ ├── property_graph.svg │ │ │ ├── raft_vs_kafka_replication_nodes.svg │ │ │ ├── reaasignment_adding_and_removing.svg │ │ │ ├── reaasignment_only_adding.svg │ │ │ ├── reaasignment_only_removing.svg │ │ │ ├── recovery.svg │ │ │ └── topics_partitions_brokers.svg │ ├── kafka_replication_kip_966.cfg │ ├── kafka_replication_kip_966.tla │ ├── kip_966_functions.tla │ ├── kip_966_properties.tla │ ├── kip_966_types.tla │ └── network.tla │ └── v3.5 │ ├── README.md │ ├── description │ ├── 0_kafka_replication_protocol.md │ ├── 10_conclusions.md │ ├── 11_future_work.md │ ├── 1_introduction.md │ ├── 2_replication_algorithm.md │ ├── 3_log_divergence.md │ ├── 4_reassignment.md │ ├── 5_recovery.md │ ├── 6_replication_correctness.md │ ├── 7_availability.md │ ├── 8_broker_lifecycle.md │ ├── 9_formal_verification.md │ └── images │ │ ├── broker_epochs.svg │ │ ├── broker_startup.svg │ │ ├── controller_and_brokers.svg │ │ ├── divergence_case_a.svg │ │ ├── divergence_case_b.svg │ │ ├── divergence_case_c.svg │ │ ├── divergence_case_d.svg │ │ ├── divergence_case_e.svg │ │ ├── divergence_case_f.svg │ │ ├── divergence_case_g.svg │ │ ├── epoch_cache.svg │ │ ├── fetch_session_partitions.svg │ │ ├── fetch_sessions.svg │ │ ├── fetching.svg │ │ ├── hwm.svg │ │ ├── kafka_protocols.svg │ │ ├── log_offsets_and_epochs.svg │ │ ├── log_truncation.svg │ │ ├── majority_quorums.svg │ │ ├── metadata_log_replication.svg │ │ ├── overlapping_quorums.svg │ │ ├── property_graph.svg │ │ ├── raft_vs_kafka_replication_nodes.svg │ │ ├── reaasignment_adding_and_removing.svg │ │ ├── reaasignment_only_adding.svg │ │ ├── reaasignment_only_removing.svg │ │ ├── recovery.svg │ │ └── topics_partitions_brokers.svg │ ├── kafka_replication_v3_5.cfg │ ├── kafka_replication_v3_5.tla │ ├── network.tla │ ├── v3_5_functions.tla │ ├── v3_5_properties.tla │ └── v3_5_types.tla ├── kraft ├── kip_853 │ ├── README.md │ ├── kraft_kip_853.cfg │ ├── kraft_kip_853.tla │ ├── kraft_kip_853_functions.tla │ ├── kraft_kip_853_properties.tla │ ├── kraft_kip_853_types.tla │ ├── model_liveness.cfg │ └── network.tla └── kip_996 │ ├── README.md │ ├── kraft_kip_996.cfg │ ├── kraft_kip_996.tla │ ├── kraft_kip_996_functions.tla │ ├── kraft_kip_996_liveness.tla │ ├── kraft_kip_996_properties.tla │ ├── kraft_kip_996_types.tla │ ├── model_liveness.cfg │ └── network.tla └── transactions └── diary ├── 01_InitPidRequest ├── fizzbee │ ├── fizz.yaml │ ├── kafka_transactions.fizz │ └── kafka_transactions_symmetric_version.fizz └── tlaplus │ ├── kafka_transactions.cfg │ ├── kafka_transactions.tla │ └── network.tla └── 02_AddPartitionsToTxn └── tlaplus ├── README.md ├── kafka_transactions.cfg ├── kafka_transactions.tla └── network.tla /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # kafka-tlaplus 2 | TLA+ specifications for Kafka related algorithms 3 | -------------------------------------------------------------------------------- /groupprotocol/consumer_group_protocol_kip_848.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/groupprotocol/consumer_group_protocol_kip_848.tla -------------------------------------------------------------------------------- /groupprotocol/consumer_group_protocol_kip_848_v2.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/groupprotocol/consumer_group_protocol_kip_848_v2.cfg -------------------------------------------------------------------------------- /groupprotocol/consumer_group_protocol_kip_848_v2.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/groupprotocol/consumer_group_protocol_kip_848_v2.tla -------------------------------------------------------------------------------- /groupprotocol/message_passing.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/groupprotocol/message_passing.tla -------------------------------------------------------------------------------- /groupprotocol/network.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/groupprotocol/network.tla -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/README.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/0_kafka_replication_protocol.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/0_kafka_replication_protocol.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/10_conclusions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/10_conclusions.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/11_future_work.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/11_future_work.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/1_introduction.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/1_introduction.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/2_replication_algorithm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/2_replication_algorithm.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/3_log_divergence.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/3_log_divergence.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/4_reassignment.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/4_reassignment.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/5_recovery.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/5_recovery.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/6_replication_correctness.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/6_replication_correctness.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/7_availability.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/7_availability.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/8_broker_lifecycle.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/8_broker_lifecycle.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/9_formal_verification.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/9_formal_verification.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/broker_epochs.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/broker_epochs.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/broker_startup.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/broker_startup.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/controller_and_brokers.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/controller_and_brokers.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/divergence_case_a.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/divergence_case_a.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/divergence_case_b.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/divergence_case_b.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/divergence_case_c.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/divergence_case_c.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/divergence_case_d.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/divergence_case_d.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/divergence_case_e.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/divergence_case_e.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/divergence_case_f.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/divergence_case_f.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/divergence_case_g.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/divergence_case_g.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/epoch_cache.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/epoch_cache.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/fetch_session_partitions.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/fetch_session_partitions.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/fetch_sessions.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/fetch_sessions.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/fetching.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/fetching.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/hwm.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/hwm.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/isr_elr_and_completeness.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/isr_elr_and_completeness.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/isr_elr_lastknownelr.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/isr_elr_lastknownelr.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/kafka_protocols.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/kafka_protocols.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/log_offsets_and_epochs.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/log_offsets_and_epochs.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/log_truncation.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/log_truncation.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/majority_quorums.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/majority_quorums.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/metadata_log_replication.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/metadata_log_replication.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/overlapping_quorums.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/overlapping_quorums.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/property_graph.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/property_graph.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/raft_vs_kafka_replication_nodes.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/raft_vs_kafka_replication_nodes.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/reaasignment_adding_and_removing.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/reaasignment_adding_and_removing.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/reaasignment_only_adding.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/reaasignment_only_adding.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/reaasignment_only_removing.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/reaasignment_only_removing.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/recovery.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/recovery.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/description/images/topics_partitions_brokers.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/description/images/topics_partitions_brokers.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/kafka_replication_kip_966.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/kafka_replication_kip_966.cfg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/kafka_replication_kip_966.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/kafka_replication_kip_966.tla -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/kip_966_functions.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/kip_966_functions.tla -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/kip_966_properties.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/kip_966_properties.tla -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/kip_966_types.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/kip_966_types.tla -------------------------------------------------------------------------------- /kafka_data_replication/kraft/kip-966/network.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/kip-966/network.tla -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/README.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/0_kafka_replication_protocol.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/0_kafka_replication_protocol.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/10_conclusions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/10_conclusions.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/11_future_work.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/11_future_work.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/1_introduction.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/1_introduction.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/2_replication_algorithm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/2_replication_algorithm.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/3_log_divergence.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/3_log_divergence.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/4_reassignment.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/4_reassignment.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/5_recovery.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/5_recovery.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/6_replication_correctness.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/6_replication_correctness.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/7_availability.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/7_availability.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/8_broker_lifecycle.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/8_broker_lifecycle.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/9_formal_verification.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/9_formal_verification.md -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/broker_epochs.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/broker_epochs.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/broker_startup.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/broker_startup.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/controller_and_brokers.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/controller_and_brokers.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/divergence_case_a.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/divergence_case_a.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/divergence_case_b.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/divergence_case_b.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/divergence_case_c.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/divergence_case_c.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/divergence_case_d.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/divergence_case_d.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/divergence_case_e.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/divergence_case_e.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/divergence_case_f.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/divergence_case_f.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/divergence_case_g.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/divergence_case_g.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/epoch_cache.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/epoch_cache.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/fetch_session_partitions.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/fetch_session_partitions.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/fetch_sessions.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/fetch_sessions.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/fetching.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/fetching.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/hwm.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/hwm.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/kafka_protocols.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/kafka_protocols.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/log_offsets_and_epochs.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/log_offsets_and_epochs.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/log_truncation.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/log_truncation.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/majority_quorums.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/majority_quorums.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/metadata_log_replication.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/metadata_log_replication.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/overlapping_quorums.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/overlapping_quorums.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/property_graph.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/property_graph.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/raft_vs_kafka_replication_nodes.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/raft_vs_kafka_replication_nodes.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/reaasignment_adding_and_removing.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/reaasignment_adding_and_removing.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/reaasignment_only_adding.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/reaasignment_only_adding.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/reaasignment_only_removing.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/reaasignment_only_removing.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/recovery.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/recovery.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/description/images/topics_partitions_brokers.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/description/images/topics_partitions_brokers.svg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/kafka_replication_v3_5.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/kafka_replication_v3_5.cfg -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/kafka_replication_v3_5.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/kafka_replication_v3_5.tla -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/network.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/network.tla -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/v3_5_functions.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/v3_5_functions.tla -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/v3_5_properties.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/v3_5_properties.tla -------------------------------------------------------------------------------- /kafka_data_replication/kraft/v3.5/v3_5_types.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kafka_data_replication/kraft/v3.5/v3_5_types.tla -------------------------------------------------------------------------------- /kraft/kip_853/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_853/README.md -------------------------------------------------------------------------------- /kraft/kip_853/kraft_kip_853.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_853/kraft_kip_853.cfg -------------------------------------------------------------------------------- /kraft/kip_853/kraft_kip_853.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_853/kraft_kip_853.tla -------------------------------------------------------------------------------- /kraft/kip_853/kraft_kip_853_functions.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_853/kraft_kip_853_functions.tla -------------------------------------------------------------------------------- /kraft/kip_853/kraft_kip_853_properties.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_853/kraft_kip_853_properties.tla -------------------------------------------------------------------------------- /kraft/kip_853/kraft_kip_853_types.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_853/kraft_kip_853_types.tla -------------------------------------------------------------------------------- /kraft/kip_853/model_liveness.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_853/model_liveness.cfg -------------------------------------------------------------------------------- /kraft/kip_853/network.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_853/network.tla -------------------------------------------------------------------------------- /kraft/kip_996/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_996/README.md -------------------------------------------------------------------------------- /kraft/kip_996/kraft_kip_996.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_996/kraft_kip_996.cfg -------------------------------------------------------------------------------- /kraft/kip_996/kraft_kip_996.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_996/kraft_kip_996.tla -------------------------------------------------------------------------------- /kraft/kip_996/kraft_kip_996_functions.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_996/kraft_kip_996_functions.tla -------------------------------------------------------------------------------- /kraft/kip_996/kraft_kip_996_liveness.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_996/kraft_kip_996_liveness.tla -------------------------------------------------------------------------------- /kraft/kip_996/kraft_kip_996_properties.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_996/kraft_kip_996_properties.tla -------------------------------------------------------------------------------- /kraft/kip_996/kraft_kip_996_types.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_996/kraft_kip_996_types.tla -------------------------------------------------------------------------------- /kraft/kip_996/model_liveness.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_996/model_liveness.cfg -------------------------------------------------------------------------------- /kraft/kip_996/network.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/kraft/kip_996/network.tla -------------------------------------------------------------------------------- /transactions/diary/01_InitPidRequest/fizzbee/fizz.yaml: -------------------------------------------------------------------------------- 1 | deadlock_detection: false 2 | #liveness: nondeterministic -------------------------------------------------------------------------------- /transactions/diary/01_InitPidRequest/fizzbee/kafka_transactions.fizz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/transactions/diary/01_InitPidRequest/fizzbee/kafka_transactions.fizz -------------------------------------------------------------------------------- /transactions/diary/01_InitPidRequest/fizzbee/kafka_transactions_symmetric_version.fizz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/transactions/diary/01_InitPidRequest/fizzbee/kafka_transactions_symmetric_version.fizz -------------------------------------------------------------------------------- /transactions/diary/01_InitPidRequest/tlaplus/kafka_transactions.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/transactions/diary/01_InitPidRequest/tlaplus/kafka_transactions.cfg -------------------------------------------------------------------------------- /transactions/diary/01_InitPidRequest/tlaplus/kafka_transactions.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/transactions/diary/01_InitPidRequest/tlaplus/kafka_transactions.tla -------------------------------------------------------------------------------- /transactions/diary/01_InitPidRequest/tlaplus/network.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/transactions/diary/01_InitPidRequest/tlaplus/network.tla -------------------------------------------------------------------------------- /transactions/diary/02_AddPartitionsToTxn/tlaplus/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/transactions/diary/02_AddPartitionsToTxn/tlaplus/README.md -------------------------------------------------------------------------------- /transactions/diary/02_AddPartitionsToTxn/tlaplus/kafka_transactions.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/transactions/diary/02_AddPartitionsToTxn/tlaplus/kafka_transactions.cfg -------------------------------------------------------------------------------- /transactions/diary/02_AddPartitionsToTxn/tlaplus/kafka_transactions.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/transactions/diary/02_AddPartitionsToTxn/tlaplus/kafka_transactions.tla -------------------------------------------------------------------------------- /transactions/diary/02_AddPartitionsToTxn/tlaplus/network.tla: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vanlightly/kafka-tlaplus/HEAD/transactions/diary/02_AddPartitionsToTxn/tlaplus/network.tla --------------------------------------------------------------------------------