diff --git a/weed/filer/cassandra/cassandra_store.go b/weed/filer/cassandra/cassandra_store.go index ef5868fe2..dfc15b5ac 100644 --- a/weed/filer/cassandra/cassandra_store.go +++ b/weed/filer/cassandra/cassandra_store.go @@ -220,7 +220,9 @@ func (store *CassandraStore) ListDirectoryEntries(ctx context.Context, dirPath u } if errClose := iter.Close(); errClose != nil { glog.V(0).Infof("list iterator close: %v", errClose) - return lastFileName, errClose + if err == nil { + return lastFileName, errClose + } } return lastFileName, err diff --git a/weed/filer/cassandra2/cassandra_store.go b/weed/filer/cassandra2/cassandra_store.go index d7fc7e5ba..8f59f7907 100644 --- a/weed/filer/cassandra2/cassandra_store.go +++ b/weed/filer/cassandra2/cassandra_store.go @@ -221,7 +221,9 @@ func (store *Cassandra2Store) ListDirectoryEntries(ctx context.Context, dirPath if errClose := iter.Close(); errClose != nil { glog.V(0).Infof("list iterator close: %v", errClose) - return lastFileName, errClose + if err == nil { + return lastFileName, errClose + } } return lastFileName, err diff --git a/weed/filer/mongodb/mongodb_store.go b/weed/filer/mongodb/mongodb_store.go index 7e65a0aa1..f577f41dc 100644 --- a/weed/filer/mongodb/mongodb_store.go +++ b/weed/filer/mongodb/mongodb_store.go @@ -332,7 +332,9 @@ func (store *MongodbStore) ListDirectoryPrefixedEntries(ctx context.Context, dir if errClose := cur.Close(ctx); errClose != nil { glog.V(0).InfofCtx(ctx, "list iterator close: %v", err) - return lastFileName, errClose + if err == nil { + return lastFileName, errClose + } } return lastFileName, err