Factual / drake

Data workflow tool, like a "Make for data"
Other
1.48k stars 110 forks source link

target selection default bug #214

Open potash opened 8 years ago

potash commented 8 years ago

The manual states

By default, in most cases, Drake builds all targets specified in the workflow files. Sometimes it can be useful to specify it explicitly...

I'm confused-- is ... the default or not?

Apparently it is not because I a workflow such that if I run drake I get some "input not found" errors (for inputs which are outputs of steps in the workflow!) but the error goes away when I run drake ....

Unfortunately the workflow is complicated and I have been unsuccessful in creating a simple shareable example. Any thoughts on why drake might fail to find an output while drake ... works? Thanks!

dirtyvagabond commented 8 years ago

@potash apologies, without an example workflow i'm not sure what might be happening here. the best i can do is point you to some historic literature that may be related: https://github.com/Factual/drake/pull/149

kenben commented 8 years ago

Here's an example workflow that recreates the problem:

c <- z, b
    cp $INPUT $OUTPUT
a <- x
    cp $INPUT $OUTPUT
b <- y, a
    cp $INPUT $OUTPUT

First running touch x y z, and then drake, I get:

$ drake
java.lang.Exception: no input data found in locations: [...]/./a

However, this workflow runs without a problem if I call drake ....

Alternatively, I can fix this workflow by changing the order of the steps and just calling drake (without ...); this workflow works then:

a <- x
    cp $INPUT $OUTPUT
b <- y, a
    cp $INPUT $OUTPUT
c <- z, b
    cp $INPUT $OUTPUT