读取缓存时总是尝试打开文件,不受并发读的限制

This commit is contained in:
GoEdgeLab
2024-04-30 20:26:34 +08:00
parent 20def511cf
commit 5890f7a98d

View File

@@ -393,11 +393,7 @@ func (this *FileStorage) openReader(key string, allowMemory bool, useStale bool,
// 尝试通过MMAP读取 // 尝试通过MMAP读取
if estimatedSize > 0 { if estimatedSize > 0 {
if !fsutils.ReaderLimiter.TryAck() {
return nil, ErrServerIsBusy
}
reader, err := this.tryMMAPReader(isPartial, estimatedSize, path) reader, err := this.tryMMAPReader(isPartial, estimatedSize, path)
fsutils.ReaderLimiter.Release()
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -416,11 +412,7 @@ func (this *FileStorage) openReader(key string, allowMemory bool, useStale bool,
var err error var err error
if openFile == nil { if openFile == nil {
if !fsutils.ReaderLimiter.TryAck() {
return nil, ErrServerIsBusy
}
fp, err = os.OpenFile(path, os.O_RDONLY, 0444) fp, err = os.OpenFile(path, os.O_RDONLY, 0444)
fsutils.ReaderLimiter.Release()
if err != nil { if err != nil {
if !os.IsNotExist(err) { if !os.IsNotExist(err) {
return nil, err return nil, err
@@ -591,11 +583,7 @@ func (this *FileStorage) openWriter(key string, expiredAt int64, status int, hea
// 数据库中是否存在 // 数据库中是否存在
existsCacheItem, _, _ := this.list.Exist(hash) existsCacheItem, _, _ := this.list.Exist(hash)
if existsCacheItem { if existsCacheItem {
if !fsutils.ReaderLimiter.TryAck() {
return nil, ErrServerIsBusy
}
readerFp, err := os.OpenFile(tmpPath, os.O_RDONLY, 0444) readerFp, err := os.OpenFile(tmpPath, os.O_RDONLY, 0444)
fsutils.ReaderLimiter.Release()
if err == nil { if err == nil {
var partialReader = NewPartialFileReader(readerFp) var partialReader = NewPartialFileReader(readerFp)
err = partialReader.Init() err = partialReader.Init()