Skip to content

Commit 37e8668

Browse files
authored
Collect columns from experiments under baseline with error (#5041)
1 parent f029c77 commit 37e8668

File tree

3 files changed

+89
-7
lines changed

3 files changed

+89
-7
lines changed

extension/src/cli/dvc/contract.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ export type ExpData = {
8484
metrics: MetricsOrParams | null
8585
deps: Deps | null
8686
outs: Outs | null
87-
meta: { has_checkpoints: boolean }
87+
meta: { has_checkpoints?: boolean }
8888
}
8989

9090
export enum Executor {

extension/src/experiments/columns/collect/index.test.ts

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,91 @@ describe('collectColumns', () => {
182182
)
183183
])
184184
})
185+
186+
it('should collect columns from experiments with a broken baseline', async () => {
187+
const missingParamsYaml = [
188+
{
189+
error: {
190+
msg: "failed to parse 'stages.main.cmd' in 'dvc.yaml': Could not find 'parameters.parameter_name'",
191+
type: 'ResolveError'
192+
},
193+
experiments: null,
194+
rev: 'workspace'
195+
},
196+
{
197+
error: {
198+
msg: "failed to parse 'stages.main.cmd' in 'dvc.yaml': Could not find 'parameters.parameter_name'",
199+
type: 'ResolveError'
200+
},
201+
experiments: [
202+
{
203+
executor: null,
204+
name: 'exp1',
205+
revs: [
206+
{
207+
data: {
208+
deps: {},
209+
meta: {},
210+
params: {
211+
'dvclive/params.yaml': {
212+
data: {
213+
result: 0.6936822634315442
214+
}
215+
},
216+
'params.yaml': {
217+
data: {
218+
parameters: {
219+
parameter_name: 'parameter_value'
220+
}
221+
}
222+
}
223+
},
224+
metrics: {},
225+
rev: 'ee23879da223ff9d5bd906bdd8969cc0ea90344f',
226+
outs: {},
227+
timestamp: '2023-11-28T16:07:17'
228+
},
229+
experiments: null,
230+
name: 'exp1',
231+
rev: 'ee23879da223ff9d5bd906bdd8969cc0ea90344f'
232+
}
233+
]
234+
}
235+
],
236+
name: 'master',
237+
rev: '616500724541bcd2f7f89584187b00f838ecf9a9'
238+
},
239+
{
240+
data: {
241+
deps: {},
242+
meta: {},
243+
metrics: {},
244+
outs: {},
245+
params: {},
246+
rev: '7d527bc6ae94befdc9352e59d80b133cdb0a1e7a',
247+
timestamp: '2023-11-28T15:57:50'
248+
},
249+
experiments: null,
250+
rev: '7d527bc6ae94befdc9352e59d80b133cdb0a1e7a'
251+
},
252+
{
253+
data: {
254+
deps: {},
255+
meta: {},
256+
metrics: {},
257+
outs: {},
258+
params: {},
259+
rev: '19825884a7acacc3177716c8fd7b2502ed129c59',
260+
timestamp: '2023-11-28T13:09:17'
261+
},
262+
experiments: null,
263+
rev: '19825884a7acacc3177716c8fd7b2502ed129c59'
264+
}
265+
]
266+
267+
const columns = await collectColumns(missingParamsYaml)
268+
expect(columns).toHaveLength(6)
269+
})
185270
})
186271

187272
describe('collectChanges', () => {

extension/src/experiments/columns/collect/index.ts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,11 @@ export const collectColumns = async (
6363

6464
const promises = []
6565
for (const expState of output) {
66-
if (experimentHasError(expState)) {
67-
continue
66+
if (!experimentHasError(expState)) {
67+
promises.push(collectFromExperiment(acc, expState))
6868
}
6969

70-
promises.push(
71-
collectFromExperiment(acc, expState),
72-
collectFromExperiments(acc, expState.experiments)
73-
)
70+
promises.push(collectFromExperiments(acc, expState.experiments))
7471
}
7572
await Promise.all(promises)
7673

0 commit comments

Comments
 (0)