Skip to content

Commit

Permalink
createMeasureFile before checkOSS
Browse files Browse the repository at this point in the history
fix #5 again
  • Loading branch information
zyxkad committed Feb 5, 2024
1 parent 6ddcc87 commit 6c5e294
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions cluster_oss.go
Original file line number Diff line number Diff line change
Expand Up @@ -224,15 +224,15 @@ func createOssMirrorDir(item *OSSItem) {
}
}

func createMeasureFile(baseDir string, n int) (err error) {
t := filepath.Join(baseDir, strconv.Itoa(n))
func createMeasureFile(baseDir string, size int) (err error) {
t := filepath.Join(baseDir, strconv.Itoa(size))
if stat, err := os.Stat(t); err == nil {
size := (int64)(n) * glbChunkSize
size := (int64)(size) * glbChunkSize
x := stat.Size()
if x == size {
return nil
}
logDebugf("File [%d] size %d does not match %d", n, x, size)
logDebugf("File [%d] size %d does not match %d", size, x, size)
} else if !errors.Is(err, os.ErrNotExist) {
logDebugf("Cannot get stat of %s: %v", t, err)
}
Expand All @@ -243,7 +243,7 @@ func createMeasureFile(baseDir string, n int) (err error) {
return
}
defer fd.Close()
for j := 0; j < n; j++ {
for j := 0; j < size; j++ {
if _, err = fd.Write(glbChunk[:]); err != nil {
logErrorf("Cannot write OSS mirror measure file %q: %v", t, err)
return
Expand All @@ -256,6 +256,10 @@ func checkOSS(ctx context.Context, client *http.Client, item *OSSItem, size int)
targetSize := (int64)(size) * 1024 * 1024
logInfof("Checking %s for %d bytes ...", item.RedirectBase, targetSize)

if err = createMeasureFile(filepath.Join(item.RedirectBase, "measure"), size); err != nil {
return
}

target, err := url.JoinPath(item.RedirectBase, "measure", strconv.Itoa(size))
if err != nil {
return false, fmt.Errorf("Cannot check OSS server: %w", err)
Expand Down

0 comments on commit 6c5e294

Please sign in to comment.