Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions historyserver/pkg/storage/aliyunoss/ray/ray.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,9 @@ func (r *RayLogsHandler) _listFiles(prefix string, delimiter string, onlyBase bo
logrus.Infof("[ListFiles]Returned objects in %v. length of Contents: %v, length of CommonPrefixes: %v", prefix+"/", len(page.Contents),
len(page.CommonPrefixes))
for _, objects := range page.Contents {
if utils.IsDirectoryMarker(*objects.Key) {
continue
}
objName := *objects.Key
if onlyBase {
objName = path.Base(*objects.Key)
Expand Down Expand Up @@ -167,6 +170,9 @@ func (r *RayLogsHandler) List() (res []utils.ClusterInfo) {
logrus.Infof("[List]Returned objects in %v. length of Contents: %v, length of CommonPrefixes: %v", prefix, len(page.Contents),
len(page.CommonPrefixes))
for _, objects := range page.Contents {
if utils.IsDirectoryMarker(*objects.Key) {
continue
}
c, err := clustermetadata.DecodePath(*objects.Key, r.OssRootDir)
if err != nil {
logrus.Errorf("Failed to parse meta file path: %s, error: %v", *objects.Key, err)
Expand Down
6 changes: 6 additions & 0 deletions historyserver/pkg/storage/s3/s3.go
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,9 @@ func (r *RayLogsHandler) _listFiles(prefix string, delimiter string, onlyBase bo
prefix+"/", len(page.Contents), len(page.CommonPrefixes))

for _, object := range page.Contents {
if utils.IsDirectoryMarker(*object.Key) {
continue
}
objName := *object.Key
if onlyBase {
objName = path.Base(*object.Key)
Expand Down Expand Up @@ -169,6 +172,9 @@ func (r *RayLogsHandler) List() (res []utils.ClusterInfo) {
prefix, len(page.Contents), len(page.CommonPrefixes))

for _, object := range page.Contents {
if utils.IsDirectoryMarker(*object.Key) {
continue
}
c, err := clustermetadata.DecodePath(*object.Key, r.S3RootDir)
if err != nil {
logrus.Errorf("Failed to parse meta file path: %s, error: %v", *object.Key, err)
Expand Down
6 changes: 6 additions & 0 deletions historyserver/pkg/utils/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,12 @@ func EndpointPathToStorageKey(endpointPath string) string {
return "restful__" + strings.ReplaceAll(trimmed, "/", "__")
}

// IsDirectoryMarker reports whether key is an empty directory placeholder
// rather than a real object.
func IsDirectoryMarker(key string) bool {
return strings.HasSuffix(key, "/")
}

const (
// connector is the separator for creating flat storage keys.
//
Expand Down
Loading