Skip to content

Commit 52a63c9

Browse files
authored
Merge pull request #2270 from Starnop/prehandle-error
refactor: handle the error in advance to avoid useless requests
2 parents a300ed8 + 933a8e9 commit 52a63c9

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

cri/v1alpha1/cri_utils.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -891,9 +891,9 @@ func (c *CriManager) attachLog(logPath string, containerID string, openStdin boo
891891
func (c *CriManager) getContainerMetrics(ctx context.Context, meta *mgr.Container) (*runtime.ContainerStats, error) {
892892
var usedBytes, inodesUsed uint64
893893

894-
stats, _, err := c.ContainerMgr.Stats(ctx, meta.ID)
894+
metadata, err := parseContainerName(meta.Name)
895895
if err != nil {
896-
return nil, fmt.Errorf("failed to get stats of container %q: %v", meta.ID, err)
896+
return nil, fmt.Errorf("failed to get metadata of container %q: %v", meta.ID, err)
897897
}
898898

899899
// snapshot key may not equals container ID later
@@ -913,11 +913,6 @@ func (c *CriManager) getContainerMetrics(ctx context.Context, meta *mgr.Containe
913913
InodesUsed: &runtime.UInt64Value{inodesUsed},
914914
}
915915

916-
metadata, err := parseContainerName(meta.Name)
917-
if err != nil {
918-
return nil, fmt.Errorf("failed to get metadata of container %q: %v", meta.ID, err)
919-
}
920-
921916
labels, annotations := extractLabels(meta.Config.Labels)
922917

923918
cs.Attributes = &runtime.ContainerAttributes{
@@ -927,6 +922,11 @@ func (c *CriManager) getContainerMetrics(ctx context.Context, meta *mgr.Containe
927922
Annotations: annotations,
928923
}
929924

925+
stats, _, err := c.ContainerMgr.Stats(ctx, meta.ID)
926+
if err != nil {
927+
return nil, fmt.Errorf("failed to get stats of container %q: %v", meta.ID, err)
928+
}
929+
930930
if stats != nil {
931931
s, err := typeurl.UnmarshalAny(stats.Data)
932932
if err != nil {

cri/v1alpha2/cri_utils.go

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -918,9 +918,9 @@ func (c *CriManager) attachLog(logPath string, containerID string, openStdin boo
918918
func (c *CriManager) getContainerMetrics(ctx context.Context, meta *mgr.Container) (*runtime.ContainerStats, error) {
919919
var usedBytes, inodesUsed uint64
920920

921-
stats, _, err := c.ContainerMgr.Stats(ctx, meta.ID)
921+
metadata, err := parseContainerName(meta.Name)
922922
if err != nil {
923-
return nil, fmt.Errorf("failed to get stats of container %q: %v", meta.ID, err)
923+
return nil, fmt.Errorf("failed to get metadata of container %q: %v", meta.ID, err)
924924
}
925925

926926
sn, err := c.SnapshotStore.Get(meta.ID)
@@ -938,12 +938,6 @@ func (c *CriManager) getContainerMetrics(ctx context.Context, meta *mgr.Containe
938938
UsedBytes: &runtime.UInt64Value{usedBytes},
939939
InodesUsed: &runtime.UInt64Value{inodesUsed},
940940
}
941-
942-
metadata, err := parseContainerName(meta.Name)
943-
if err != nil {
944-
return nil, fmt.Errorf("failed to get metadata of container %q: %v", meta.ID, err)
945-
}
946-
947941
labels, annotations := extractLabels(meta.Config.Labels)
948942

949943
cs.Attributes = &runtime.ContainerAttributes{
@@ -953,6 +947,11 @@ func (c *CriManager) getContainerMetrics(ctx context.Context, meta *mgr.Containe
953947
Annotations: annotations,
954948
}
955949

950+
stats, _, err := c.ContainerMgr.Stats(ctx, meta.ID)
951+
if err != nil {
952+
return nil, fmt.Errorf("failed to get stats of container %q: %v", meta.ID, err)
953+
}
954+
956955
if stats != nil {
957956
s, err := typeurl.UnmarshalAny(stats.Data)
958957
if err != nil {

0 commit comments

Comments
 (0)