aboutsummaryrefslogtreecommitdiff
path: root/weed/filer/filer_notify_read.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/filer/filer_notify_read.go')
-rw-r--r--weed/filer/filer_notify_read.go26
1 files changed, 20 insertions, 6 deletions
diff --git a/weed/filer/filer_notify_read.go b/weed/filer/filer_notify_read.go
index 115a925e9..ac2c763e6 100644
--- a/weed/filer/filer_notify_read.go
+++ b/weed/filer/filer_notify_read.go
@@ -4,15 +4,16 @@ import (
"container/heap"
"context"
"fmt"
- "github.com/seaweedfs/seaweedfs/weed/pb/filer_pb"
- "github.com/seaweedfs/seaweedfs/weed/util/log_buffer"
- "github.com/seaweedfs/seaweedfs/weed/wdclient"
- "google.golang.org/protobuf/proto"
"io"
"math"
"strings"
"time"
+ "github.com/seaweedfs/seaweedfs/weed/pb/filer_pb"
+ "github.com/seaweedfs/seaweedfs/weed/util/log_buffer"
+ "github.com/seaweedfs/seaweedfs/weed/wdclient"
+ "google.golang.org/protobuf/proto"
+
"github.com/seaweedfs/seaweedfs/weed/glog"
"github.com/seaweedfs/seaweedfs/weed/util"
)
@@ -39,6 +40,19 @@ func (f *Filer) collectPersistedLogBuffer(startPosition log_buffer.MessagePositi
}
+func (f *Filer) HasPersistedLogFiles(startPosition log_buffer.MessagePosition) (bool, error) {
+ startDate := fmt.Sprintf("%04d-%02d-%02d", startPosition.Year(), startPosition.Month(), startPosition.Day())
+ dayEntries, _, listDayErr := f.ListDirectoryEntries(context.Background(), SystemLogDir, startDate, true, 1, "", "", "")
+
+ if listDayErr != nil {
+ return false, fmt.Errorf("fail to list log by day: %v", listDayErr)
+ }
+ if len(dayEntries) == 0 {
+ return false, nil
+ }
+ return true, nil
+}
+
// ----------
type LogEntryItem struct {
Entry *filer_pb.LogEntry
@@ -103,7 +117,7 @@ func (o *OrderedLogVisitor) GetNext() (logEntry *filer_pb.LogEntry, err error) {
if nextErr != nil {
if nextErr == io.EOF {
// do nothing since the filer has no more log entries
- }else {
+ } else {
return nil, fmt.Errorf("failed to get next log entry: %v", nextErr)
}
} else {
@@ -230,7 +244,7 @@ func (c *LogFileEntryCollector) collectMore(v *OrderedLogVisitor) (err error) {
if nextErr != nil {
if nextErr == io.EOF {
// do nothing since the filer has no more log entries
- }else {
+ } else {
return fmt.Errorf("failed to get next log entry for %v: %v", entryName, err)
}
} else {