mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-11-02 14:00:25 +08:00
读取缓存时总是尝试打开文件,不受并发读的限制
This commit is contained in:
@@ -393,11 +393,7 @@ func (this *FileStorage) openReader(key string, allowMemory bool, useStale bool,
|
||||
|
||||
// 尝试通过MMAP读取
|
||||
if estimatedSize > 0 {
|
||||
if !fsutils.ReaderLimiter.TryAck() {
|
||||
return nil, ErrServerIsBusy
|
||||
}
|
||||
reader, err := this.tryMMAPReader(isPartial, estimatedSize, path)
|
||||
fsutils.ReaderLimiter.Release()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -416,11 +412,7 @@ func (this *FileStorage) openReader(key string, allowMemory bool, useStale bool,
|
||||
|
||||
var err error
|
||||
if openFile == nil {
|
||||
if !fsutils.ReaderLimiter.TryAck() {
|
||||
return nil, ErrServerIsBusy
|
||||
}
|
||||
fp, err = os.OpenFile(path, os.O_RDONLY, 0444)
|
||||
fsutils.ReaderLimiter.Release()
|
||||
if err != nil {
|
||||
if !os.IsNotExist(err) {
|
||||
return nil, err
|
||||
@@ -591,11 +583,7 @@ func (this *FileStorage) openWriter(key string, expiredAt int64, status int, hea
|
||||
// 数据库中是否存在
|
||||
existsCacheItem, _, _ := this.list.Exist(hash)
|
||||
if existsCacheItem {
|
||||
if !fsutils.ReaderLimiter.TryAck() {
|
||||
return nil, ErrServerIsBusy
|
||||
}
|
||||
readerFp, err := os.OpenFile(tmpPath, os.O_RDONLY, 0444)
|
||||
fsutils.ReaderLimiter.Release()
|
||||
if err == nil {
|
||||
var partialReader = NewPartialFileReader(readerFp)
|
||||
err = partialReader.Init()
|
||||
|
||||
Reference in New Issue
Block a user