librelist archives

« back to archive

Getting ready for a new bug fix release

Getting ready for a new bug fix release

From:
Gael Varoquaux
Date:
2010-11-13 @ 21:48
Hi,

I have finally done some much needed cleaning up work on joblib: one bug
was to much getting in the ay of my "real" work and forced me take some
action. Namely, I made sure that original exceptions were raised in
Parallel mode with only one process, to facilitate debugging.

I am planning to make the release really soon (maybe tomorrow, while I am
still on week end at my parent in law :P). Hopefully, there isn't much
changed, so I am not breaking anything on any system, but if people want
to run checks to make sure that all runs fine for them, it would be
great.

I should stress: I am not thinking of release 0.5 (is the master branch
in git), but another release in the 0.4 series (that is the 0.4.X branch
in git).

Cheers,

Gaël

Re: [joblib] Getting ready for a new bug fix release

From:
Olivier Grisel
Date:
2010-11-13 @ 23:35
2010/11/13 Gael Varoquaux <gael.varoquaux@normalesup.org>:
> Hi,
>
> I have finally done some much needed cleaning up work on joblib: one bug
> was to much getting in the ay of my "real" work and forced me take some
> action. Namely, I made sure that original exceptions were raised in
> Parallel mode with only one process, to facilitate debugging.
>
> I am planning to make the release really soon (maybe tomorrow, while I am
> still on week end at my parent in law :P). Hopefully, there isn't much
> changed, so I am not breaking anything on any system, but if people want
> to run checks to make sure that all runs fine for them, it would be
> great.
>
> I should stress: I am not thinking of release 0.5 (is the master branch
> in git), but another release in the 0.4 series (that is the 0.4.X branch
> in git).

Hi I am using the version of joblib as part of the scikit-learn
project. One recurring annoyance is the lack of support of user
interruption of multiprocessing jobs using ctrl-C interrupt on the
keyboard. This is probably a bug of multiprocessing not joblib, but
could be mitigated at the joblib levelusing the following strategy:

1- ensure that the callables passed to the subprocesses are catching
KeyboardInterrupt and raising another custom exception instead, eg.:

  https://github.com/ogrisel/codemaker/blob/faces/examples/faces/preprocess.py#L58

2- Wrap the parent process to ensure that the subprocess are closed
correctly in case it occurs, e.g.:

  
https://github.com/ogrisel/codemaker/blob/faces/examples/faces/preprocess.py#L110

Would be nice if it could make it to the next joblib release. I am
working on something else right now, so no testable patch. But if you
don't have time to integrate it yourself, tell me and I give it a try.

-- 
Olivier
http://twitter.com/ogrisel - http://github.com/ogrisel

Re: [joblib] Getting ready for a new bug fix release

From:
Gael Varoquaux
Date:
2010-11-14 @ 07:48
On Sun, Nov 14, 2010 at 12:35:58AM +0100, Olivier Grisel wrote:
> 1- ensure that the callables passed to the subprocesses are catching
> KeyboardInterrupt and raising another custom exception instead, eg.:

>   
https://github.com/ogrisel/codemaker/blob/faces/examples/faces/preprocess.py#L58

> 2- Wrap the parent process to ensure that the subprocess are closed
> correctly in case it occurs, e.g.:

>   
https://github.com/ogrisel/codemaker/blob/faces/examples/faces/preprocess.py#L110

Interesting. I did not know these tricks. I'll try to have a look at
porting them to joblib today.

Thanks,

Gael

Re: [joblib] Getting ready for a new bug fix release

From:
Gael Varoquaux
Date:
2010-11-15 @ 09:58
Hey Olivier!

I have implemented your idea for capturing the interrupts (no push on 
github today unless I use my mobile as a 3G modem). It is simple and seems
to be working really well. I love it. Any idea on how to test it in unit 
tests?

Gael

----- Original message -----
> 2010/11/13 Gael Varoquaux <gael.varoquaux@normalesup.org>:
> > Hi,
> > 
> > I have finally done some much needed cleaning up work on joblib: one
> > bug was to much getting in the ay of my "real" work and forced me take
> > some action. Namely, I made sure that original exceptions were raised
> > in Parallel mode with only one process, to facilitate debugging.
> > 
> > I am planning to make the release really soon (maybe tomorrow, while I
> > am still on week end at my parent in law :P). Hopefully, there isn't
> > much changed, so I am not breaking anything on any system, but if
> > people want to run checks to make sure that all runs fine for them, it
> > would be great.
> > 
> > I should stress: I am not thinking of release 0.5 (is the master branch
> > in git), but another release in the 0.4 series (that is the 0.4.X
> > branch in git).
> 
> Hi I am using the version of joblib as part of the scikit-learn
> project. One recurring annoyance is the lack of support of user
> interruption of multiprocessing jobs using ctrl-C interrupt on the
> keyboard. This is probably a bug of multiprocessing not joblib, but
> could be mitigated at the joblib levelusing the following strategy:
> 
> 1- ensure that the callables passed to the subprocesses are catching
> KeyboardInterrupt and raising another custom exception instead, eg.:
> 

> https://github.com/ogrisel/codemaker/blob/faces/examples/faces/preprocess.py#L58
> 
> 2- Wrap the parent process to ensure that the subprocess are closed
> correctly in case it occurs, e.g.:
> 

> 
https://github.com/ogrisel/codemaker/blob/faces/examples/faces/preprocess.py#L110
> 
> Would be nice if it could make it to the next joblib release. I am
> working on something else right now, so no testable patch. But if you
> don't have time to integrate it yourself, tell me and I give it a try.
> 
> -- 
> Olivier
> http://twitter.com/ogrisel - http://github.com/ogrisel

Re: [joblib] Getting ready for a new bug fix release

From:
Gael Varoquaux
Date:
2010-11-15 @ 22:26
On Mon, Nov 15, 2010 at 10:58:45AM +0100, Gael Varoquaux wrote:
> I have implemented your idea for capturing the interrupts (no push on
> github today unless I use my mobile as a 3G modem). It is simple and
> seems to be working really well. I love it. Any idea on how to test it
> in unit tests?

OK, I have pushed. If you want to check if it solves your need? (the
joblib in scikit-learn is not yet updated, I'll do that after the
release).

Gaël

Re: [joblib] Getting ready for a new bug fix release

From:
Olivier Grisel
Date:
2010-11-16 @ 20:48
2010/11/15 Gael Varoquaux <gael.varoquaux@normalesup.org>:
> On Mon, Nov 15, 2010 at 10:58:45AM +0100, Gael Varoquaux wrote:
>> I have implemented your idea for capturing the interrupts (no push on
>> github today unless I use my mobile as a 3G modem). It is simple and
>> seems to be working really well. I love it. Any idea on how to test it
>> in unit tests?
>
> OK, I have pushed. If you want to check if it solves your need? (the
> joblib in scikit-learn is not yet updated, I'll do that after the
> release).

Won't have time this week. But if you say it solves the Ctrl-C Zombi
process issue then I trust you :)

-- 
Olivier
http://twitter.com/ogrisel - http://github.com/ogrisel

Re: [joblib] Getting ready for a new bug fix release

From:
Yaroslav Halchenko
Date:
2010-11-16 @ 20:28
cool.. .sorry for the delay -- we even hard power outage in Dartmouth
where I initiated building once before leaving... anyways -- all seems
to be ok now -- built for all distributions

> OK, I have pushed. If you want to check if it solves your need? (the
> joblib in scikit-learn is not yet updated, I'll do that after the
> release).

cool... and for me -- I don't need to do anything to scikits learn ;)
just please buzz me so I could upload the new joblib to the repositories

-- 
                                  .-.
=------------------------------   /v\  ----------------------------=
Keep in touch                    // \\     (yoh@|www.)onerussian.com
Yaroslav Halchenko              /(   )\               ICQ#: 60653192
                   Linux User    ^^-^^    [175555]