diff --git a/share/shwap/namespace_data.go b/share/shwap/namespace_data.go index 852c087896..36cdd00444 100644 --- a/share/shwap/namespace_data.go +++ b/share/shwap/namespace_data.go @@ -23,19 +23,14 @@ func NamespacedDataFromEDS( return nil, fmt.Errorf("error computing root: %w", err) } - rows := make(NamespacedData, 0, len(root.RowRoots)) - for rowIdx, rowRoot := range root.RowRoots { - if namespace.IsOutsideRange(rowRoot, rowRoot) { - continue - } - - shares := square.Row(uint(rowIdx)) - rowData, err := RowNamespaceDataFromShares(shares, namespace, rowIdx) + rowIdxs := share.RowsWithNamespace(root, namespace) + rows := make(NamespacedData, len(rowIdxs)) + for i, idx := range rowIdxs { + shares := square.Row(uint(idx)) + rows[i], err = RowNamespaceDataFromShares(shares, namespace, idx) if err != nil { - return nil, fmt.Errorf("failed to process row %d: %w", rowIdx, err) + return nil, fmt.Errorf("failed to process row %d: %w", idx, err) } - - rows = append(rows, rowData) } return rows, nil diff --git a/share/shwap/namespaced_data_test.go b/share/shwap/namespaced_data_test.go index 2abc086a51..54663828a4 100644 --- a/share/shwap/namespaced_data_test.go +++ b/share/shwap/namespaced_data_test.go @@ -78,10 +78,10 @@ func TestValidateNamespacedRow(t *testing.T) { require.NoError(t, err) require.True(t, len(nd) > 0) - rowIdx := share.RowsWithNamespace(root, namespace) - require.Len(t, nd, len(rowIdx)) + rowIdxs := share.RowsWithNamespace(root, namespace) + require.Len(t, nd, len(rowIdxs)) - for i, rowIdx := range rowIdx { + for i, rowIdx := range rowIdxs { err = nd[i].Validate(root, namespace, rowIdx) require.NoError(t, err) }