More debugging later. I enabled metadata task storage, so now when I restart the overlord / coordinator, the problem actually persists between restarts. Right now I have max tasks set to 15, but of the tasks that are not SUCCESS, only six tasks are in RUNNING. When the parallel index batch starts, it tries to run tasks and gets back errors
java.lang.IllegalStateException: Too many tasks (max = %,d) [15]
, but I have no idea how there can be too many tasks and not list them.