If Camus's offset files get wonky, it may have to re run a job and reimport data from Kafka. In this case, it may need to overwrite files in the final destination. However, currently if a file in the final destination already exists, and the rename() fails, the whole Camus job will fail, not update history offsets, and get stuck.
We should modify the camus commit to allow it to overwrite files. It looks like switching the [[ https://github.com/wikimedia/analytics-camus/blob/wmf/camus-etl-kafka/src/main/java/com/linkedin/camus/etl/kafka/mapred/EtlMultiOutputCommitter.java#L153 | rename() call in EltMultiOutputCommiter commitFile ]] from [[ https://hadoop.apache.org/docs/r2.6.1/api/org/apache/hadoop/fs/FileSystem.html#rename(org.apache.hadoop.fs.Path, org.apache.hadoop.fs.Path) | FileSystem ]] to [[ http://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/FileContext.html#rename(org.apache.hadoop.fs.Path, org.apache.hadoop.fs.Path, org.apache.hadoop.fs.Options.Rename...) | FileContext ]] and using the OVERWRITE option should do it.