You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Ioan Eugen Stan <st...@gmail.com> on 2011/06/13 00:10:38 UTC

what mailbox artifacts should I use

Hello everybody,

I made some progress with the mailbox. I began by implementing
mailbox-hbase by following mailbox-jpa.

I started my implementation by relaying heavily on the JPA
implementation which in turn uses mailbox-store. JPA (and the store??)
has transactions which, from my knowledge, are not supported in HBase.
Not in the traditional RDBMS way anyhow.

I'm thinking of going duplicating the way JPA is implemented as much
as possible and do mock-ups when necessary. The other option is to
implement the Mailbox API interfaces directly. What do you think?

By the way, following trunk is very tricky. Things get changed a lot
and rather fast. I implemented a class by extending an existing class
in store this morning and now it was changed.
What's the best way to you keep up with it?

Code is available here:
http://code.google.com/a/apache-extras.org/p/mailbox-hdfs/source/browse/

You can get a copy by running:
hg clone https://stan.ieugen@hg.codespot.com/a/apache-extras.org/mailbox-hdfs/
mailbox-hdfs

Regards,

-- 
Ioan „happy coder” Eugen Stan
http://ieugen.blogspot.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: what mailbox artifacts should I use

Posted by Eric Charles <er...@apache.org>.
Hi Ioan,
Now you really feel on moving sand :)
Welcome to the club.

I've updated your mercurial repo, and it builds fine.

About the mailbox version:
Go for 0.2 for now. Trunk is moving fast and you have to concentrate on 
other challenges for now.
Simply declare in your pom version 0.2 for mailboxes.
The sources are here
https://svn.apache.org/repos/asf/james/mailbox/tags/apache-james-mailbox-0.2/
 From your IDE (or command line with -DdownloadSources=true and 
-DdownloadJavadocs=true), you can ask maven to download the sources and 
javadoc so you can easily see how it is implemented.

About the HBase transactions:
HBase is know as "row-level atomic" [1] and has only a subset of the 
classical ACID properties of a relational database [2].
In HBase 0.2x versions, a contrib was present in Apache HBase repository 
for Transactions and Indexes. The contrib was removed for Apache 
repository (I guess to let the main trunk concentrate on the core) and 
was hosted on Github [3]. It was working for 0.2x only, and was updated 
for 0.9x on [4]. So if you need transactions spanning multiple 
put/get/scan, you will have to use [4].

For the record, Maildir mailbox works with files on disk, and has no 
transaction mechanisms spanning multiple file operations. I would say 
HBase could be in between JPA and Maildir for transactions. To keep 
things simple to begin, don't bother with transactions for now. We can 
add them after, same thing for indexes (we can add after).

Have fun :)
Tks,
- Eric

[1] http://search-hadoop.com/?q=row-level+atomic&fc_project=HBase
[2] http://hbase.apache.org/acid-semantics.html
[3] https://github.com/clintam/hbase-transactional-tableindexed
[4] https://github.com/hbase-trx/hbase-transactional-tableindexed`


On 13/06/11 00:10, Ioan Eugen Stan wrote:
> Hello everybody,
>
> I made some progress with the mailbox. I began by implementing
> mailbox-hbase by following mailbox-jpa.
>
> I started my implementation by relaying heavily on the JPA
> implementation which in turn uses mailbox-store. JPA (and the store??)
> has transactions which, from my knowledge, are not supported in HBase.
> Not in the traditional RDBMS way anyhow.
>
> I'm thinking of going duplicating the way JPA is implemented as much
> as possible and do mock-ups when necessary. The other option is to
> implement the Mailbox API interfaces directly. What do you think?
>
> By the way, following trunk is very tricky. Things get changed a lot
> and rather fast. I implemented a class by extending an existing class
> in store this morning and now it was changed.
> What's the best way to you keep up with it?
>
> Code is available here:
> http://code.google.com/a/apache-extras.org/p/mailbox-hdfs/source/browse/
>
> You can get a copy by running:
> hg clone https://stan.ieugen@hg.codespot.com/a/apache-extras.org/mailbox-hdfs/
> mailbox-hdfs
>
> Regards,
>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: what mailbox artifacts should I use

Posted by Ioan Eugen Stan <st...@gmail.com>.
> I'm also more eclipse. Patch for last section (Build James Source from other
> IDEs) of http://james.apache.org/server/3/dev-build.html is welcome :)

I got the hint ;).

-- 
Ioan Eugen Stan
http://ieugen.blogspot.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: what mailbox artifacts should I use

Posted by Eric Charles <er...@apache.org>.
Hi Ioan,

I'm also more eclipse. Patch for last section (Build James Source from 
other IDEs) of http://james.apache.org/server/3/dev-build.html is welcome :)

Tks,
- Eric

On 13/06/11 12:22, Norman Maurer wrote:
> ah ok. I never used netbeans, I'm more the eclipse user ;)
>
> Bye,
> Norman
>
>
> 2011/6/13 Ioan Eugen Stan<st...@gmail.com>:
>> 2011/6/13 Norman Maurer<no...@googlemail.com>:
>>> Huh ?
>>>
>>> All the tests work for me. Are you sure you use jdk 1.6 ?
>>>
>>
>> It seems NetBeans is playing tricks with me. There where some missing
>> dependencies, regarding the test packages, that it refused to see. I
>> reopened the project and some files and it found them. I had to
>> instruct the IDE to download the missing dependencies. Strange that it
>> did not do this auto-magicaly as I would expect. Maybe there are some
>> caching issues with NetBeans.
>>
>> --
>> Ioan Eugen Stan
>> http://ieugen.blogspot.com/
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-dev-help@james.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: what mailbox artifacts should I use

Posted by Norman Maurer <no...@googlemail.com>.
ah ok. I never used netbeans, I'm more the eclipse user ;)

Bye,
Norman


2011/6/13 Ioan Eugen Stan <st...@gmail.com>:
> 2011/6/13 Norman Maurer <no...@googlemail.com>:
>> Huh ?
>>
>> All the tests work for me. Are you sure you use jdk 1.6 ?
>>
>
> It seems NetBeans is playing tricks with me. There where some missing
> dependencies, regarding the test packages, that it refused to see. I
> reopened the project and some files and it found them. I had to
> instruct the IDE to download the missing dependencies. Strange that it
> did not do this auto-magicaly as I would expect. Maybe there are some
> caching issues with NetBeans.
>
> --
> Ioan Eugen Stan
> http://ieugen.blogspot.com/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: what mailbox artifacts should I use

Posted by Ioan Eugen Stan <st...@gmail.com>.
2011/6/13 Norman Maurer <no...@googlemail.com>:
> Huh ?
>
> All the tests work for me. Are you sure you use jdk 1.6 ?
>

It seems NetBeans is playing tricks with me. There where some missing
dependencies, regarding the test packages, that it refused to see. I
reopened the project and some files and it found them. I had to
instruct the IDE to download the missing dependencies. Strange that it
did not do this auto-magicaly as I would expect. Maybe there are some
caching issues with NetBeans.

-- 
Ioan Eugen Stan
http://ieugen.blogspot.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: what mailbox artifacts should I use

Posted by Norman Maurer <no...@googlemail.com>.
Huh ?

All the tests work for me. Are you sure you use jdk 1.6 ?

Bye,
Norman


2011/6/13 Ioan Eugen Stan <st...@gmail.com>:
> 2011/6/13 Norman Maurer <no...@googlemail.com>:
>> hi,
>>
>> best for now is to follow the 0.2 release of mailbox. i think we
>> should be able to release 0.3 soon but till then you should not care
>> to much about it. We will help you to migrate your code once it is
>> out.
>
> I appreciate. I checked out 0.2 from svn and noticed that almost all
> the tests are broken. The complaints are about abstract test classes.
> For developments I will use the maven artifacts from Central as I saw
> they come with sources.
>
>> You should not use the low-level mailbox-api if possible. just extend
>> the mailbbox-store api, thats the high-level one..
>
> Thanks for making things clear Norman.
>
> Bye,
> --
> Ioan Eugen Stan
> http://ieugen.blogspot.com/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: what mailbox artifacts should I use

Posted by Ioan Eugen Stan <st...@gmail.com>.
2011/6/13 Norman Maurer <no...@googlemail.com>:
> hi,
>
> best for now is to follow the 0.2 release of mailbox. i think we
> should be able to release 0.3 soon but till then you should not care
> to much about it. We will help you to migrate your code once it is
> out.

I appreciate. I checked out 0.2 from svn and noticed that almost all
the tests are broken. The complaints are about abstract test classes.
For developments I will use the maven artifacts from Central as I saw
they come with sources.

> You should not use the low-level mailbox-api if possible. just extend
> the mailbbox-store api, thats the high-level one..

Thanks for making things clear Norman.

Bye,
-- 
Ioan Eugen Stan
http://ieugen.blogspot.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: what mailbox artifacts should I use

Posted by Norman Maurer <no...@googlemail.com>.
hi,

best for now is to follow the 0.2 release of mailbox. i think we
should be able to release 0.3 soon but till then you should not care
to much about it. We will help you to migrate your code once it is
out.

You should not use the low-level mailbox-api if possible. just extend
the mailbbox-store api, thats the high-level one..

bye
norman


Am Montag, 13. Juni 2011 schrieb Ioan Eugen Stan <st...@gmail.com>:
> Hello everybody,
>
> I made some progress with the mailbox. I began by implementing
> mailbox-hbase by following mailbox-jpa.
>
> I started my implementation by relaying heavily on the JPA
> implementation which in turn uses mailbox-store. JPA (and the store??)
> has transactions which, from my knowledge, are not supported in HBase.
> Not in the traditional RDBMS way anyhow.
>
> I'm thinking of going duplicating the way JPA is implemented as much
> as possible and do mock-ups when necessary. The other option is to
> implement the Mailbox API interfaces directly. What do you think?
>
> By the way, following trunk is very tricky. Things get changed a lot
> and rather fast. I implemented a class by extending an existing class
> in store this morning and now it was changed.
> What's the best way to you keep up with it?
>
> Code is available here:
> http://code.google.com/a/apache-extras.org/p/mailbox-hdfs/source/browse/
>
> You can get a copy by running:
> hg clone https://stan.ieugen@hg.codespot.com/a/apache-extras.org/mailbox-hdfs/
> mailbox-hdfs
>
> Regards,
>
> --
> Ioan „happy coder” Eugen Stan
> http://ieugen.blogspot.com/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org