[ https://issues.apache.org/jira/browse/HBASE-6407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13422519#comment-13422519 ]
Elliott Clark commented on HBASE-6407: -------------------------------------- bq.It's fine if you just want to contribute a big patch, but for commit it might make sense to put in the core of the work (POM update, HBaseGuice, ExplicitConfModule). Then Sleeper. Then the modularization of LocalHBaseCluster and therefore factories for HMaster, HRegionServer, etc. Then the modularization of HadoopCompat. Then the replication modules. It looks not to difficult to tease this apart that way (so far). What do other committers think? I'm up for that once I've got things in a pretty good state and there are some tests showing how to use the new injector stuff I'll think about splitting. bq.In general, do we have to have the guice package? Nope. That was one of the things I was unsure of about my design. And as I'm adding more and more modules that package is getting a little crowded. I'll work on moving those things around in a little bit. bq.Put fundamental stuff at top-level Hopefully there won't be much. Should just be HBaseGuice which creates the different injector types. bq.Seems way more scaffolding than I'd expect though I suppose its more a DI retrofit than it is scaffolding, is that right E? There is a lot of scaffolding. :-/ Most of that is due to the fact that we pass around Abortable/Stopable/HRegionServer/Other things that are created async everywhere so Guice isn't able to provide those args. Since guice can't provide those directly a factory interface is needed for all those classes. In my latest commit I've gotten rid of a couple factories. I have a little bit more to do to fully guice HMaster and HRegionServer. After those two classes are complete I have some tests and then I'll start on splitting it as Andrew and Stack suggested. There will still be a lot more to do to make everything fully injectable but I don't want this to get too hard to review for comitters. > Investigate moving to DI (guice) framework for plugin arch. > ----------------------------------------------------------- > > Key: HBASE-6407 > URL: https://issues.apache.org/jira/browse/HBASE-6407 > Project: HBase > Issue Type: Sub-task > Reporter: Elliott Clark > Assignee: Elliott Clark > Attachments: HBASE-6407-1.patch, HBASE-6407-2.patch > > > Investigate using Guice to inject the correct compat object provided by > compat plugins -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira