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://[email protected]/a/apache-extras.org/mailbox-hdfs/
mailbox-hdfs

Regards,



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to