Merge pull request #2026 from seebs/viewRace

view.deleteFragment should hold the lock while altering fragments
This commit is contained in:
seebs 2019-06-26 22:01:58 -05:00 • committed by GitHub
commit 72c6867220
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -278,7 +278,9 @@ func (v *view) newFragment(path string, shard uint64) *fragment {
// deleteFragment removes the fragment from the view.
func (v *view) deleteFragment(shard uint64) error {
fragment := v.Fragment(shard)
v.mu.Lock()
defer v.mu.Unlock()
fragment := v.fragments[shard]
if fragment == nil {
return ErrFragmentNotFound
}