Skip to content

Commit b3df77b

Browse files
authored
Merge branch 'staging' into sprint-1.12
2 parents 3402040 + 06be785 commit b3df77b

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

code/go/0chain.net/blobbercore/allocation/file_changer_upload.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,12 @@ func (nf *UploadFileChanger) applyChange(ctx context.Context, rootRef *reference
8686
}
8787
}
8888

89+
for _, child := range dirRef.Children {
90+
if child.Name == nf.Filename {
91+
return nil, common.NewError("duplicate_file", "File already exists")
92+
}
93+
}
94+
8995
newFile := &reference.Ref{
9096
ActualFileHash: nf.ActualHash,
9197
ActualFileHashSignature: nf.ActualFileHashSignature,

code/go/0chain.net/blobbercore/writemarker/worker.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ func redeemWriteMarker(wm *WriteMarkerEntity) error {
9898
if wm.ReedeemRetries == 0 && !alloc.IsRedeemRequired {
9999
wm.ReedeemRetries++
100100
go tryAgain(wm)
101+
shouldRollback = true
102+
return nil
101103
}
102104
_ = wm.UpdateStatus(ctx, Rollbacked, "rollbacked", "")
103105
err = db.Commit().Error
@@ -116,6 +118,11 @@ func redeemWriteMarker(wm *WriteMarkerEntity) error {
116118
zap.Any("wm", wm), zap.Any("error", err), zap.Any("elapsedTime", elapsedTime))
117119
if retryRedeem(err.Error()) {
118120
go tryAgain(wm)
121+
} else {
122+
mut := GetLock(allocationID)
123+
if mut != nil {
124+
mut.Release(1)
125+
}
119126
}
120127
shouldRollback = true
121128

0 commit comments

Comments
 (0)