aboutsummaryrefslogtreecommitdiff
path: root/weed
diff options
context:
space:
mode:
Diffstat (limited to 'weed')
-rw-r--r--weed/storage/store_ec.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/weed/storage/store_ec.go b/weed/storage/store_ec.go
index 7e3f1a46c..208560b7e 100644
--- a/weed/storage/store_ec.go
+++ b/weed/storage/store_ec.go
@@ -120,8 +120,13 @@ func (s *Store) ReadEcShardNeedle(ctx context.Context, vid needle.VolumeId, n *n
if localEcVolume, found := location.FindEcVolume(vid); found {
// read the volume version
+ readCounter := 0
for localEcVolume.Version == 0 {
err := s.readEcVolumeVersion(ctx, vid, localEcVolume)
+ readCounter++
+ if readCounter > 10 && err != nil {
+ return 0, fmt.Errorf("fail to read ec volume %d: %v", vid, err)
+ }
time.Sleep(1357 * time.Millisecond)
glog.V(0).Infof("ReadEcShardNeedle vid %d version:%v: %v", vid, localEcVolume.Version, err)
}