Best HAMAKE Version To Use

36 views
Skip to first unread message

James Lent

unread,
Oct 25, 2012, 11:53:40 AM10/25/12
to hamake...@googlegroups.com
I am very interested in using HAMAKE for a project I am working on.  The general architecture fits my needs very well.

In downloads the jar is version: 20b-3.  That seems to have been built in June 1010 based on r331 out of trunk.  There have been many updates since then so I am also considering using the version that can be built from trunk (20b-4).  Does anyone have any recommendations?

In my initial testing I have noticed some difference in behavior between the two.  In one case I prefer the 20b-3 behavior and in one case I prefer the 20b-4 behavior.  This is making the decision a little more difficult for me.

I have a simple linear set of tasks A-->B-->C-->D dataflow defined.

If I change the data coming into A, remove the output of D, and break Task A then the behavior I see is:

20b-3: Task A fails (as expected), but, Tasks B, C, and D try to run and D actually does?!?!?!?!
20b-4: Task A fails. Tasks B, C, and D are removed from the graph (e.g., don't run) as soon as A fails

If I just change the data coming into Task A:

20b-3: Tasks A, B, C, and D all rerun
20b-4: Task A fails because its output data already exists?!?!?!?!

It is possible my dataflow definition is incorrect, but, it does yield my expected behavior with one of the two jars in each case.

vorl

unread,
Oct 25, 2012, 4:07:47 PM10/25/12
to hamake...@googlegroups.com
James,

I recommend you to take the latest version from the trunk. The trunk, however, might contain unfixed bugs. 

The problem, which you've found in the version 20b-4 (Task A fails because its output data already exists) looks like a bug. Could you please submit a detailed description of it, with Hamake-file and steps to reproduce?

Sincerely,
Vlad

James Lent

unread,
Oct 26, 2012, 9:24:47 AM10/26/12
to hamake...@googlegroups.com
Thanks for the quick reply.  I will open a bug that includes a test Hamake-file today.  I did some research yesterday and this change in behavior between 02b-3 and trunk seems to be a direct result of the fix for:
http://code.google.com/p/hamake/issues/detail?id=42&can=1
The commit is:
------------------------------------------------------------------------
r358 | vorl.soft | 2011-01-28 12:48:09 -0500 (Fri, 28 Jan 2011) | 1 line

issue N42 fixed
Here is the key part of the delta:

$ svn diff -r357:358 ./src/java/com/codeminders/hamake/dtr/Fold.java
Index: src/java/com/codeminders/hamake/dtr/Fold.java
===================================================================
--- src/java/com/codeminders/hamake/dtr/Fold.java    (revision 357)
+++ src/java/com/codeminders/hamake/dtr/Fold.java    (revision 358)
@@ -84,9 +84,6 @@
                     LOG.error(e);
                 }
             }
-            for (DataFunction output : outputs)
-                output.clear(getContext());
-
             return getTask().execute(getContext());
         }
         else{


Test cases were added to ensure this new behavior. In other words it looks like intended behavior.

James Lent

unread,
Oct 26, 2012, 4:20:41 PM10/26/12
to hamake...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages