Drip doesn't work with Drake
aboytsov opened this issue · 9 comments
artem:~/drake$ drip version
drip version "0.1.8" package
artem:~/drake$ time drip -cp drake.jar clojure.main -e '(println "Hai!")'
Hai!
real 0m2.062s
user 0m2.462s
sys 0m0.177s
artem:~/drake$ time drip -cp drake.jar clojure.main -e '(println "Hai!")'
Hai!
real 0m0.189s
user 0m0.064s
sys 0m0.067s
artem:~/drake$ time drip -cp drake.jar drake.core
Cannot find file or directory: ./workflow.d (use --help for documentation)
real 0m6.542s
user 0m10.698s
sys 0m0.473s
artem:~/drake$ time drip -cp drake.jar drake.core
Cannot find file or directory: ./workflow.d (use --help for documentation)
real 0m7.216s
user 0m10.790s
sys 0m0.446s
artem:~/drake$
In case you, like me, were wondering what drake is: https://github.com/Factual/drake
Drake is a simple-to-use, extensible, text-based data workflow tool that organizes command execution around data and its dependencies.
I'm not a drip expert, but I suspect @ninjudd will want to see the output of drip ps
. That should output some stuff, including a directory; a sibling of that directory should be an opts
file, whose contents will probably also be useful.
As you might have guessed, no background JVMs are started:
artem:~/drake$ drip kill
artem:~/drake$ drip ps
artem:~/drake$ drip kill
No idle Drip JVM running
artem:~/drake$ time drip -cp drake.jar drake.core
Cannot find file or directory: ./workflow.d (use --help for documentation)
real 0m7.335s
user 0m10.738s
sys 0m0.491s
artem:~/drake$ drip ps
artem:~/drake$ time drip -cp drake.jar drake.core
Cannot find file or directory: ./workflow.d (use --help for documentation)
real 0m6.243s
user 0m9.110s
sys 0m0.365s
artem:~/drake$ drip ps
artem:~/drake$ time drip -cp drake.jar clojure.main -e '(println "Hai!")'
Hai!
real 0m1.917s
user 0m2.371s
sys 0m0.155s
artem:~/drake$ drip ps
10361 org.flatland.drip.Main clojure.main /Users/artem/.drip/0.1.8/6b5594c8f45a5563c1ff9b5cab6551e3a04401cb/10336-1 -Djava.awt.headless=true
artem:~/drake$ time drip -cp drake.jar clojure.main -e '(println "Hai!")'
Hai!
real 0m0.245s
user 0m0.067s
sys 0m0.073s
artem:~/drake$ drip ps
10407 org.flatland.drip.Main clojure.main /Users/artem/.drip/0.1.8/6b5594c8f45a5563c1ff9b5cab6551e3a04401cb/10380-1 -Djava.awt.headless=true
So it looks like drake is looking for a workflow file, not finding it, and
then bailing. The background jvm does the same thing as soon as it starts
up, and thus also exits before you have a chance to use it for anything.
On Jan 25, 2013 3:28 PM, "Artem Boytsov" notifications@github.com wrote:
As you might have guessed, no background JVMs are started:
artem:
/drake$ drip kill/drake$ drip ps
artem:
artem:/drake$ drip kill/drake$ time drip -cp drake.jar drake.core
No idle Drip JVM running
artem:
Cannot find file or directory: ./workflow.d (use --help for documentation)real 0m7.335s
user 0m10.738s
sys 0m0.491s
artem:/drake$ drip ps/drake$ time drip -cp drake.jar drake.core
artem:
Cannot find file or directory: ./workflow.d (use --help for documentation)real 0m6.243s
user 0m9.110s
sys 0m0.365s
artem:/drake$ drip ps/drake$ time drip -cp drake.jar clojure.main -e '(println "Hai!")'
artem:
Hai!real 0m1.917s
user 0m2.371s
sys 0m0.155s
artem:/drake$ drip ps/drake$ time drip -cp drake.jar clojure.main -e '(println "Hai!")'
10361 org.flatland.drip.Main clojure.main /Users/artem/.drip/0.1.8/6b5594c8f45a5563c1ff9b5cab6551e3a04401cb/10336-1 -Djava.awt.headless=true
artem:
Hai!real 0m0.245s
user 0m0.067s
sys 0m0.073s
artem:~/drake$ drip ps
10407 org.flatland.drip.Main clojure.main /Users/artem/.drip/0.1.8/6b5594c8f45a5563c1ff9b5cab6551e3a04401cb/10380-1 -Djava.awt.headless=true—
Reply to this email directly or view it on GitHubhttps://github.com/flatland/drip/issues/52#issuecomment-12725953.
I don't understand.
How is that different from my Clojure example which starts up, prints "Hai", and then bails?
You're right, it's not. We've figured out the problem and are working on a fix.
The problem was that drip was assuming that DRIP_INIT_CLASS should be the same as your main class if you didn't set DRIP_INIT_CLASS. This meant that drip was trying to call your main function at startup before anyone connected to the spare jvm, which in this case was causing it to exit immediately.
I have released 0.2.0 with a fix.
Thank you!
Is it possible to release a new brew version? So far I get:
artem:~$ brew upgrade drip
Warning: It appears you have MacPorts or Fink installed.
Software installed with other package managers causes known problems for
Homebrew. If a formula fails to build, uninstall MacPorts/Fink and try again.
Error: drip-0.1.8 already installed
Don't want to spoil the party, but I am getting what looks to be the same problem, using the same commands to test, with the latest versions of both Drip and Drake:
[alex@spica drip-test]$ drip version
drip version "0.2.5" checkout 917e189
[alex@spica drip-test]$ drake --version
Drake Version 0.1.6
I built both from git source, Drip git #917e189, Drake git #2f44a8b.
Any ideas?
Thanks :)