[ https://issues.apache.org/jira/browse/HBASE-4213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13151012#comment-13151012 ]
jirapos...@reviews.apache.org commented on HBASE-4213: ------------------------------------------------------ ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1786/#review3293 ----------------------------------------------------------- Late to this review... Awesome feature. Thanks for doing this Subbu! Looks good to me in general. Minor comments inline. As a general comment, I think it would be better if we could drive from the ZK notifications, rather than doing all this sleeping in a loop waiting for some other action to complete by rechecking the ZK node; would probably require a lot of refactoring to make the code event based. /src/main/java/org/apache/hadoop/hbase/master/HMaster.java <https://reviews.apache.org/r/1786/#comment7373> whitespace /src/main/java/org/apache/hadoop/hbase/master/handler/TableEventHandler.java <https://reviews.apache.org/r/1786/#comment7372> whitespace... here and below /src/main/java/org/apache/hadoop/hbase/master/handler/TableEventHandler.java <https://reviews.apache.org/r/1786/#comment7366> How do you know for sure that while we waited for inflightSplits no new round of load balancing has started? Or maybe that is not a problem? /src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java <https://reviews.apache.org/r/1786/#comment7369> Maybe put this method on schema tracker? Similar code is found CompactSplitThread.java. Also, can we use the ZK notifications here instead of waiting in a loop? /src/main/java/org/apache/hadoop/hbase/zookeeper/MasterSchemaChangeTracker.java <https://reviews.apache.org/r/1786/#comment7368> We're not added the "year" line anymore. /src/main/java/org/apache/hadoop/hbase/zookeeper/SchemaChangeTracker.java <https://reviews.apache.org/r/1786/#comment7371> year line... /src/test/java/org/apache/hadoop/hbase/client/TestInstantSchemaChange.java <https://reviews.apache.org/r/1786/#comment7370> Year line ... /src/test/java/org/apache/hadoop/hbase/client/TestInstantSchemaChangeFailover.java <https://reviews.apache.org/r/1786/#comment7367> I think we're not putting this line anymore. - Lars On 2011-11-15 23:28:55, Ted Yu wrote: bq. bq. ----------------------------------------------------------- bq. This is an automatically generated e-mail. To reply, visit: bq. https://reviews.apache.org/r/1786/ bq. ----------------------------------------------------------- bq. bq. (Updated 2011-11-15 23:28:55) bq. bq. bq. Review request for Todd Lipcon, Andrew Purtell and Subbu Iyer. bq. bq. bq. Summary bq. ------- bq. bq. From Subbu: bq. here is the latest patch that support alter_instant, an instant schema change command that supports (Add, Modify, Delete column and Modify table) actions through ZK. bq. bq. 1. This pattern capitalizes on the fact that HRI's are now in HDFS and need not be sent over again from Master to RS cloud on every schema change event. bq. bq. 2. Offers real time instant schema change as we bypass the explicit bulk reassign (unassign + assign) of regions from master to RS. bq. bq. 3. Offers fault tolerant schema change support as schema changes now go through ZK. Secondary master taking over a failed schema change will be addressed through a separate JIRA. bq. bq. bq. This addresses bug HBASE-4213. bq. https://issues.apache.org/jira/browse/HBASE-4213 bq. bq. bq. Diffs bq. ----- bq. bq. /src/main/java/org/apache/hadoop/hbase/LocalHBaseCluster.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/ipc/HMasterInterface.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/master/MasterFileSystem.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/master/MasterServices.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/master/ServerManager.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/master/handler/ModifyTableHandler.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/master/handler/TableAddFamilyHandler.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/master/handler/TableDeleteFamilyHandler.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/master/handler/TableEventHandler.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/master/handler/TableModifyFamilyHandler.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/regionserver/OnlineRegions.java 1202381 bq. /src/main/java/org/apache/hadoop/hbase/zookeeper/MasterSchemaChangeTracker.java PRE-CREATION bq. /src/main/java/org/apache/hadoop/hbase/zookeeper/SchemaChangeTracker.java PRE-CREATION bq. /src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java 1202381 bq. /src/main/resources/hbase-default.xml 1202381 bq. /src/test/java/org/apache/hadoop/hbase/client/TestInstantSchemaChange.java PRE-CREATION bq. /src/test/java/org/apache/hadoop/hbase/client/TestInstantSchemaChangeFailover.java PRE-CREATION bq. /src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java 1202381 bq. /src/test/java/org/apache/hadoop/hbase/util/MockRegionServerServices.java 1202381 bq. bq. Diff: https://reviews.apache.org/r/1786/diff bq. bq. bq. Testing bq. ------- bq. bq. Unit tests pass. bq. bq. bq. Thanks, bq. bq. Ted bq. bq. > Support for fault tolerant, instant schema updates with out master's > intervention (i.e with out enable/disable and bulk assign/unassign) through > ZK. > ---------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: HBASE-4213 > URL: https://issues.apache.org/jira/browse/HBASE-4213 > Project: HBase > Issue Type: Improvement > Reporter: Subbu M Iyer > Assignee: Subbu M Iyer > Fix For: 0.92.0 > > Attachments: 4213-0.92.txt, 4213-0.92.v2, > 4213-101211-Support_instant_schema_changes_through_ZK.patch, > 4213-102511.patch, 4213-Fixed_NPE_in_RS_during_alter_.patch, > 4213-Instant_Schema_change_through_ZK.patch, 4213-Nov-2-2011_patch_.patch, > 4213-Nov072011-Patch_to_support_concurrent_split_and_alter__.patch, > 4213-V10-Support_instant_schema_changes_through_ZK.patch, > 4213-V5-Support_instant_schema_changes_through_ZK.patch, > 4213-V7-Support_instant_schema_changes_through_ZK.patch, > 4213-V8-Support_instant_schema_changes_through_ZK.patch, > 4213-V9-Support_instant_schema_changes_through_ZK.patch, 4213-v9.txt, > 4213.v6, HBASE-4213-Instant_schema_change.patch, > HBASE-4213_Instant_schema_change_-Version_2_.patch, > HBASE_Instant_schema_change-version_3_.patch > > > This Jira is a slight variation in approach to what is being done as part of > https://issues.apache.org/jira/browse/HBASE-1730 > Support instant schema updates such as Modify Table, Add Column, Modify > Column operations: > 1. With out enable/disabling the table. > 2. With out bulk unassign/assign of regions. -- 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