james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric Charles <e...@apache.org>
Subject Re: great news
Date Mon, 25 Jul 2011 10:25:18 GMT
On 22/07/11 10:26, Eric Charles wrote:
>> 2. I am very close to finishing the HBase implementation. There is
>> just HBaseMessageMapper() left to implement (about tow days work) and
>> it should be ready for real life tests.
>
> I will give feedback on current implementation this weekend.

Hi Ioan,

First feedback's:

- Build and test run fine.

- Test take time, this is due to minicluster start/stopn, but I see 
luster is already launched with a @BeforeClass. maybe some tests could 
be grouped in a TestSuite, the TestSuite being responsible to launch the 
minicluster. this would need some

- HBaseSubscription: don't throw NullPointerException, but 
IllegalArgumentException

- HBaseSubscription: There's a TODO move all HBase related operations 
into it's own class. Do you mean you will move SUBSCRIPTION_CF, MARKER 
and toPut to another class? Indeed, now, you create the Put in 
HBaseSubscription and Delete in HBaseSubscriptionMapper.

- Everywhere: when you open a HTable, you need to close() it in a 
finally block.

- HBaseMailboxManager: I would get rid of useStreaming.

- HBaseMailbox: UUID already ensure you some kind of unique id. This is 
a classical way to create a unique id in nosql.

- I was confused with HBaseUtils.mailboxRowKey(HBaseMailbox). You are 
using it to transform the UUID and create the needed Put, Delete..., and 
when you recreate a HBaseMailbox, you use UUIDFromRowKey. I suppose you 
gain place using the Most and Least Significant Bits. Is this the goal ? 
If yes, you can document it in javadoc and even have a special class 
UUIDRowKeyConverter to make this conversion instead of having it in 
HBaseUtils. I would even split the public final constants in a separate 
interfaces and have the util methods in their own classes.

- You don't use the XML configuration previously parsed with jaxme? How 
are you going to inject the  HBaseMailboxSessionMapperFactory with its 
Configuration conf. This is classically done in James via Spring. You 
can try with mailbox-spring to be sure we've got a way to do it.

When you will get futher in MessageManager, you will have to pay 
attention to spring wiring and mailbox integration tests, so still much 
work (the suggested 'pencils down' date being 16/8).

Good work!

-- 
Eric Charles
http://about.echarles.net

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


Mime
View raw message