You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by Glenn Rempe <gl...@rempe.us> on 2009/11/07 23:44:33 UTC

Hovercraft : Updates and Help Needed

Hi,

Over the last day I have forked and made a number of changes to the
Hovercraft Erlang CouchDB lib.  As I am pretty new to Erlang, the
changes are mostly in the realm of cleanup and improved documentation.
 I did however fix a couple of issues with getting hovercraft working
with the current trunk CouchDB.  This has been a great way for me to
contribute (I hope) as well as to learn more about how hovercraft
works.

I have identified three specific issues that are preventing the
current test suite from running cleanly and documented those problems
in my fork on GitHub.  I am hoping that someone here on the dev list
with much more knowledge of couchdb/erlang and recent refactoring in
trunk can take a look at these issues and help me patch them.  Once
done I would love to get all the changes pulled into the main repo
that jchris owns.  Note that my fork is actually off of 'sendtopms's
fork, which fixed some issues in jchris' code with current trunk.

The changes are in the 'fixes' branch of my fork which is here:

http://github.com/grempe/hovercraft/tree/fixes

If you take a look at the TODO section of the README.md file you will
see the specific breaking issues and the errors that are being thrown.

The README with the TODO section with issues that need attentions is here:

http://github.com/grempe/hovercraft/blob/fixes/README.md

FYI, here is a summary of the changes I have made so far:

- couch_util:new_uuid() is now couch_uuids:random() in trunk, fixed
this in hovercraft
- Cleaned up and enhanced the README docs.
- Fixed some documentation issues in the comments of the hovercraft.erl file
- Broke out the test suite into its own (hovercraft_test) module, and
renamed a couple of the public test functions to match this
namespacing.
- commented out and marked with FIXME two failing tests in hovercraft_test:all/0
- Marked with FIXME a call in hovercraft:query which calls a
non-exported couch_view:fold_reduce/7
- fixed the include statement so that hovercraft can be compiled as
shown in the docs

Thanks for the help.  Hopefully with some help we can get hovercraft
cleanly working with trunk and passing all its tests.

Cheers,

Glenn

Re: Hovercraft : Updates and Help Needed

Posted by Glenn Rempe <gl...@rempe.us>.
Hi Chris,

Great news!

I sent you a pull request, but for the benefit of others, I made some
more commits today, learned some more Erlang along the way, and got
the previous test suite for Hovercraft running 100% green! I must say,
I was very pleased.

I did note though that in the middle of my hackathon you also dropped
in a few commits yourself.  :-)  Please feel free to merge my code in
and choose the bits that help.  I didn't yet look in detail at your
changes, but I'll look tomorrow and compare to see how we differed in
attacking the problem.

Comments on my changes are of course welcome.

My forked branch with my latest updates is here:

http://github.com/grempe/hovercraft/tree/fixes

Cheers,

Glenn


On Sun, Nov 8, 2009 at 1:47 PM, Chris Anderson <jc...@apache.org> wrote:
> On Sat, Nov 7, 2009 at 2:44 PM, Glenn Rempe <gl...@rempe.us> wrote:
>> Hi,
>>
>> Over the last day I have forked and made a number of changes to the
>> Hovercraft Erlang CouchDB lib.  As I am pretty new to Erlang, the
>> changes are mostly in the realm of cleanup and improved documentation.
>>  I did however fix a couple of issues with getting hovercraft working
>> with the current trunk CouchDB.  This has been a great way for me to
>> contribute (I hope) as well as to learn more about how hovercraft
>> works.
>>
>> I have identified three specific issues that are preventing the
>> current test suite from running cleanly and documented those problems
>> in my fork on GitHub.  I am hoping that someone here on the dev list
>> with much more knowledge of couchdb/erlang and recent refactoring in
>> trunk can take a look at these issues and help me patch them.  Once
>> done I would love to get all the changes pulled into the main repo
>> that jchris owns.  Note that my fork is actually off of 'sendtopms's
>> fork, which fixed some issues in jchris' code with current trunk.
>>
>> The changes are in the 'fixes' branch of my fork which is here:
>>
>> http://github.com/grempe/hovercraft/tree/fixes
>>
>> If you take a look at the TODO section of the README.md file you will
>> see the specific breaking issues and the errors that are being thrown.
>>
>> The README with the TODO section with issues that need attentions is here:
>>
>> http://github.com/grempe/hovercraft/blob/fixes/README.md
>>
>> FYI, here is a summary of the changes I have made so far:
>>
>> - couch_util:new_uuid() is now couch_uuids:random() in trunk, fixed
>> this in hovercraft
>> - Cleaned up and enhanced the README docs.
>> - Fixed some documentation issues in the comments of the hovercraft.erl file
>> - Broke out the test suite into its own (hovercraft_test) module, and
>> renamed a couple of the public test functions to match this
>> namespacing.
>> - commented out and marked with FIXME two failing tests in hovercraft_test:all/0
>> - Marked with FIXME a call in hovercraft:query which calls a
>> non-exported couch_view:fold_reduce/7
>> - fixed the include statement so that hovercraft can be compiled as
>> shown in the docs
>>
>> Thanks for the help.  Hopefully with some help we can get hovercraft
>> cleanly working with trunk and passing all its tests.
>>
>
> Thanks for bringing this to my attention Glenn.
>
> I've pulled your fixes branch, and helped it along a little bit (map
> views work, reduce works, but group_level is still broken). I also
> haven't started on the attachment stuff.
>
> Anyone should feel free to pitch in. The latest shiny fixed version is at:
>
> http://github.com/jchris/hovercraft/tree/fixes
>
> Chris
>
>
> --
> Chris Anderson
> http://jchrisa.net
> http://couch.io
>



-- 
Glenn Rempe

email                 : glenn@rempe.us
voice                 : (415) 894-5366 or (415)-89G-LENN
twitter                : @grempe
contact info        : http://www.rempe.us/contact.html
pgp                    : http://www.rempe.us/gnupg.txt

Re: Hovercraft : Updates and Help Needed

Posted by Glenn Rempe <gl...@rempe.us>.
PS - What do you think about getting Hovercraft built into the CouchDB
source?  Seems like it would be a natural addition and allow everyone
to get a native Erlang driver for free.  Now that it has tests that
run green it would hopefully get some more developer love and stay in
sync with future releases of CouchDB (and failures due to changes in
CouchDB would jump out instead of discovery later as hovercraft
naturally lags behind trunk).

Cheers,

Glenn

Re: Hovercraft : Updates and Help Needed

Posted by Chris Anderson <jc...@apache.org>.
On Sat, Nov 7, 2009 at 2:44 PM, Glenn Rempe <gl...@rempe.us> wrote:
> Hi,
>
> Over the last day I have forked and made a number of changes to the
> Hovercraft Erlang CouchDB lib.  As I am pretty new to Erlang, the
> changes are mostly in the realm of cleanup and improved documentation.
>  I did however fix a couple of issues with getting hovercraft working
> with the current trunk CouchDB.  This has been a great way for me to
> contribute (I hope) as well as to learn more about how hovercraft
> works.
>
> I have identified three specific issues that are preventing the
> current test suite from running cleanly and documented those problems
> in my fork on GitHub.  I am hoping that someone here on the dev list
> with much more knowledge of couchdb/erlang and recent refactoring in
> trunk can take a look at these issues and help me patch them.  Once
> done I would love to get all the changes pulled into the main repo
> that jchris owns.  Note that my fork is actually off of 'sendtopms's
> fork, which fixed some issues in jchris' code with current trunk.
>
> The changes are in the 'fixes' branch of my fork which is here:
>
> http://github.com/grempe/hovercraft/tree/fixes
>
> If you take a look at the TODO section of the README.md file you will
> see the specific breaking issues and the errors that are being thrown.
>
> The README with the TODO section with issues that need attentions is here:
>
> http://github.com/grempe/hovercraft/blob/fixes/README.md
>
> FYI, here is a summary of the changes I have made so far:
>
> - couch_util:new_uuid() is now couch_uuids:random() in trunk, fixed
> this in hovercraft
> - Cleaned up and enhanced the README docs.
> - Fixed some documentation issues in the comments of the hovercraft.erl file
> - Broke out the test suite into its own (hovercraft_test) module, and
> renamed a couple of the public test functions to match this
> namespacing.
> - commented out and marked with FIXME two failing tests in hovercraft_test:all/0
> - Marked with FIXME a call in hovercraft:query which calls a
> non-exported couch_view:fold_reduce/7
> - fixed the include statement so that hovercraft can be compiled as
> shown in the docs
>
> Thanks for the help.  Hopefully with some help we can get hovercraft
> cleanly working with trunk and passing all its tests.
>

Thanks for bringing this to my attention Glenn.

I've pulled your fixes branch, and helped it along a little bit (map
views work, reduce works, but group_level is still broken). I also
haven't started on the attachment stuff.

Anyone should feel free to pitch in. The latest shiny fixed version is at:

http://github.com/jchris/hovercraft/tree/fixes

Chris


-- 
Chris Anderson
http://jchrisa.net
http://couch.io