No need to repost I think, +1 to commit with fixups unless there's an objection.
Best regards, - Andy --- On Thu, 12/16/10, Gary Helmling <ghelml...@gmail.com> wrote: > From: Gary Helmling <ghelml...@gmail.com> > Subject: Re: Review Request: HBASE-3260: Add explicit lifecycle methods to > Coprocessor interface > To: "Andrew Purtell" <apurt...@apache.org>, st...@duboce.net > Cc: "Gary Helmling" <ghelml...@gmail.com>, jirapos...@review.hbase.org, > dev@hbase.apache.org > Date: Thursday, December 16, 2010, 5:39 PM > > > > On 2010-12-16 17:09:44, Andrew Purtell wrote: > > > > src/main/java/org/apache/hadoop/hbase/coprocessor/BaseEndpointCoprocessor.java, > line 66 > > > <http://review.cloudera.org/r/1306/diff/1/?file=18379#file18379line66> > > > > > > What are these arguments > about? > > Those are: > - String protocol > - long clientVersion > > from org.apache.hadoop.ipc.VersionedProtocol. > > Will fix these up. > > > > On 2010-12-16 17:09:44, Andrew Purtell wrote: > > > > src/main/java/org/apache/hadoop/hbase/regionserver/CoprocessorHost.java, > line 289 > > > <http://review.cloudera.org/r/1306/diff/1/?file=18383#file18383line289> > > > > > > Should be a WARN? > > Yeah, agree. Will fix. > > > > On 2010-12-16 17:09:44, Andrew Purtell wrote: > > > > src/main/java/org/apache/hadoop/hbase/regionserver/CoprocessorHost.java, > line 305 > > > <http://review.cloudera.org/r/1306/diff/1/?file=18383#file18383line305> > > > > > > Should be a WARN? > > Yeah, will fix. > > > > On 2010-12-16 17:09:44, Andrew Purtell wrote: > > > > src/main/java/org/apache/hadoop/hbase/regionserver/CoprocessorHost.java, > line 385 > > > <http://review.cloudera.org/r/1306/diff/1/?file=18383#file18383line385> > > > > > > Since you are committing > a change set in this area, Ryan suggested no need for > AtomicBoolean here, could just be plain volatile boolean. I > think that's right. > > Ok will change this to a volatile boolean and repost. > > > - Gary > > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, > visit: > http://review.cloudera.org/r/1306/#review2102 > ----------------------------------------------------------- > > > On 2010-12-16 16:26:20, Gary Helmling wrote: > > > > > ----------------------------------------------------------- > > This is an automatically generated e-mail. To reply, > visit: > > http://review.cloudera.org/r/1306/ > > > ----------------------------------------------------------- > > > > (Updated 2010-12-16 16:26:20) > > > > > > Review request for hbase, stack and Andrew Purtell. > > > > > > Summary > > ------- > > > > This patch adds explicit start() and stop() methods > for lifecycle management to the Coprocessor interface and > refactors some of the Coprocessor/RegionObserver > distinction, moving the region-related pre/post hooks that > were previously in Coprocessor to RegionObserver. > > > > Coprocessor is now the base interface, containing > only: > > - start() > > - stop() > > - Priority enum > > - State enum > > > > RegionObserver extends Coprocessor, and now contains > the additional pre/post hooks, moved from Coprocessor: > > - pre/postOpen > > - pre/postClose > > - pre/postFlush > > - pre/postCompact > > - pre/postSplit > > > > This will allow cleaner extension in the future, to > allow addition of a MasterObserver interface, for example. > > > > As shown above, I've also added a new > Coprocessor.State enum consisting of the states: > > UNINSTALLED -> INSTALLED -> STARTING -> > ACTIVE -> STOPPING -> STOPPED > > > > However, the UNINSTALLED/INSTALLED distinction is not > particularly useful at the moment. I'd appreciate > other feedback on what's necessary here. The current > handling could make do with: > > UNINSTALLED -> STARTING -> ACTIVE -> STOPPING > -> UNINSTALLED (4 total states) > > > > However, the UNINSTALLED/INSTALLED distinction may be > useful if we want to add class level initialization in the > future... > > > > > > This addresses bug HBASE-3260. > > http://issues.apache.org/jira/browse/HBASE-3260 > > > > > > Diffs > > ----- > > > > src/main/java/org/apache/hadoop/hbase/coprocessor/BaseEndpointCoprocessor.java > b81a465 > > src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserverCoprocessor.java > f022598 > > src/main/java/org/apache/hadoop/hbase/coprocessor/Coprocessor.java > 7ea1c5e > > src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java > 1792290 > > src/main/java/org/apache/hadoop/hbase/regionserver/CoprocessorHost.java > f028525 > > src/test/java/org/apache/hadoop/hbase/coprocessor/SimpleRegionObserver.java > 3db4c36 > > src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorInterface.java > 81cb75d > > > > Diff: http://review.cloudera.org/r/1306/diff > > > > > > Testing > > ------- > > > > Added tests for start() and stop() method invocation > in > org.apache.hadoop.hbase.coprocessor.TestCoprocessorInterface > > > > The existing TestCoprocessorEndpoint, > TestCoprocessorInterface, TestRegionObserverInterface, > TestRegionObserverStacking tests continue to work. I'm > not seeing any new failures in the rest of the tests, but > TestReplication is timing out for me, preventing all tests > from executing. > > > > > > Thanks, > > > > Gary > > > > > >