diff --git a/backend/services/deploy-mining.sh b/backend/services/deploy-mining.sh index 438c0202..b63d4a54 100755 --- a/backend/services/deploy-mining.sh +++ b/backend/services/deploy-mining.sh @@ -927,7 +927,7 @@ full_reset() { fi done - log_step "Step 4/18: Deleting Debezium outbox connectors..." + log_step "Step 4/18: Deleting Debezium outbox connectors and Kafka topics..." # Delete connectors BEFORE dropping databases to release replication slots local connectors=("auth-outbox-connector" "contribution-outbox-connector" "mining-outbox-connector" "trading-outbox-connector" "mining-wallet-outbox-connector") for connector in "${connectors[@]}"; do @@ -937,6 +937,18 @@ full_reset() { log_info "Waiting 5 seconds for connectors to be fully removed..." sleep 5 + # Delete Kafka outbox topics to clear old messages + # This is critical: old messages in Kafka will corrupt the sync if not cleared + log_info "Deleting Kafka outbox topics to clear old messages..." + local outbox_topics=("cdc.auth.outbox" "cdc.contribution.outbox" "cdc.mining.outbox" "cdc.trading.outbox" "cdc.mining-wallet.outbox") + for topic in "${outbox_topics[@]}"; do + if docker exec "$KAFKA_CONTAINER" kafka-topics --bootstrap-server localhost:9092 --delete --topic "$topic" 2>/dev/null; then + log_success "Deleted Kafka topic: $topic" + else + log_warn "Could not delete Kafka topic: $topic (may not exist)" + fi + done + log_step "Step 5/18: Dropping 2.0 databases..." db_drop