Epoch promotion is in. The coordinator maintains a version number for the cluster's data assignment -- which workers hold which files. When the assignment changes, the epoch bumps. Workers ack when they've loaded the new data. Queries only run against a fully-loaded epoch. This gives me strong consistency at the cost of latency during transitions. A worker loading a big file means queries wait. That's a tradeoff I'm fine with right now -- wrong results are worse than slow results.
