OpenTreeOfLife/peyotl — pull request #89 by mtholder (2014-12-11 15:28:58+00:00)
Title: should fix the issue with the study_id mapping getting stale

I think that this (rather than the prev PR) is the likely culprit for the bug that Joseph reported. Each shard looks up the filepath for a study using rules based on the ID, but we do have indices of study ID to the shard (and another index in the shard for faster lookups). These indices are supposed to stay synced with the master branch, but we had been deleting studies from these indices if the deletion commit succeeded even if it does not get merged to master.

That has been fixed.

Also added a fallback mechanism for finding a shard to deal with the case of requesting an old copy of a file that has been deleted.

Finally we have to consider a commited that merges to master and reinstates a study that has been deleted. That means that new entry has to go into the indices.

This is tested via new test in the standalone_tests dir. But that is only run if you do the "maintainer" setup described at http://opentreeoflife.github.io/peyotl/maintainer/ I had to refactor the testing repos that I use for these tests, too. (so @snacktavish and anyone else who has those repos will need to pull them from the URLs listed in bootstrap.sh).