diff options
Diffstat (limited to 'weed/util/log_buffer')
| -rw-r--r-- | weed/util/log_buffer/log_buffer.go | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/weed/util/log_buffer/log_buffer.go b/weed/util/log_buffer/log_buffer.go index 22e69cc60..853cbe475 100644 --- a/weed/util/log_buffer/log_buffer.go +++ b/weed/util/log_buffer/log_buffer.go @@ -723,7 +723,10 @@ func (logBuffer *LogBuffer) ReadFromBuffer(lastReadPosition MessagePosition) (bu } } if tsMemory.IsZero() { // case 2.2 - return nil, -2, nil + // Buffer is empty - return ResumeFromDiskError so caller can read from disk + // This fixes issue #4977 where SubscribeMetadata stalls because + // MetaAggregator.MetaLogBuffer is empty in single-filer setups + return nil, -2, ResumeFromDiskError } else if lastReadPosition.Time.Before(tsMemory) { // case 2.3 // For time-based reads, only check timestamp for disk reads // Don't use offset comparisons as they're not meaningful for time-based subscriptions |
