@Eugene: What's the best way to have Beam help us with these issues, or do these come for free with the Beam framework?
1) a process-level timeout (because you can't actually kill a thread in Java) 2) a process-level restart on OOM 3) avoid trying to reprocess a badly behaving document
