[
https://issues.apache.org/jira/browse/HBASE-1730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13092098#comment-13092098
]
[email protected] commented on HBASE-1730:
------------------------------------------------------
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1479/#review1665
-----------------------------------------------------------
Ship it!
This is good to go. Few questions in the below first though before commit.
Thanks Nileema.
src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
<https://reviews.apache.org/r/1479/#comment3712>
Good.
src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
<https://reviews.apache.org/r/1479/#comment3713>
nit: You don't need to say 'This function...' Its a given (smile).
src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
<https://reviews.apache.org/r/1479/#comment3714>
This code dups the method above, removeClosedRegions? Is that intentional?
src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
<https://reviews.apache.org/r/1479/#comment3715>
Why would we wait? Don't we want schema change to come on fast? Already,
opening each region is series is going to run slow when table is 20k regions or
200k regions. Or do you folks think different?
src/main/java/org/apache/hadoop/hbase/master/handler/TableEventHandler.java
<https://reviews.apache.org/r/1479/#comment3716>
nit: curly braces
src/main/ruby/shell.rb
<https://reviews.apache.org/r/1479/#comment3717>
So, old style alter works too?
src/main/ruby/shell/commands/alter_async.rb
<https://reviews.apache.org/r/1479/#comment3718>
nice
- Michael
On 2011-08-26 17:25:21, Nileema Shingte wrote:
bq.
bq. -----------------------------------------------------------
bq. This is an automatically generated e-mail. To reply, visit:
bq. https://reviews.apache.org/r/1479/
bq. -----------------------------------------------------------
bq.
bq. (Updated 2011-08-26 17:25:21)
bq.
bq.
bq. Review request for hbase, Dhruba Borthakur, Ted Yu, Michael Stack, and
Jonathan Gray.
bq.
bq.
bq. Summary
bq. -------
bq.
bq. When the master receives an alter table call (addColumn, modifyColumn,
deleteColumn, modifyTable), it updates the .tableinfo and then closes all the
regions of that table. The patch includes:
bq.
bq. 1. Changes to reopen the regions when any of the above operations are
performed.
bq. 2. Best effort is made to preserve the locality of regions by assigning it
a region plan before closing it.
bq. 3. Throttling logic that ensures that only a configurable number of
regions are closed per region server at a time.
bq. 4. alter command in the hbase shell will block until all the regions are
updated, providing a status "x/y regions updated" every second.
bq. 5. alter_async command that works exactly like alter, except that it does
not block for completion or provide the status.
bq. 6. alter_status <table_name> which is a sync call and blocks to provide
the "x/y regions updated" status per second until all regions are updated.
bq. 7. modification in the unit test for enabling alter without disabling the
table.
bq.
bq.
bq. This addresses bug HBASE-1730.
bq. https://issues.apache.org/jira/browse/HBASE-1730
bq.
bq.
bq. Diffs
bq. -----
bq.
bq. src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java 5965919
bq. src/main/ruby/shell.rb 1ec330f
bq. src/main/ruby/shell/commands/alter.rb 1dd43ad
bq. src/main/ruby/shell/commands/alter_async.rb PRE-CREATION
bq. src/main/ruby/shell/commands/alter_status.rb PRE-CREATION
bq.
src/main/java/org/apache/hadoop/hbase/master/handler/TableEventHandler.java
09891aa
bq. src/main/ruby/hbase/admin.rb 4460d6e
bq. src/main/java/org/apache/hadoop/hbase/master/HMaster.java 9784195
bq.
src/main/java/org/apache/hadoop/hbase/master/handler/ClosedRegionHandler.java
ae43837
bq.
src/main/java/org/apache/hadoop/hbase/master/handler/TableAddFamilyHandler.java
6332953
bq. src/main/java/org/apache/hadoop/hbase/master/BulkReOpen.java
PRE-CREATION
bq. src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java b5d65ce
bq. src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java 0c9ecce
bq. src/main/java/org/apache/hadoop/hbase/ipc/HMasterInterface.java c0aa024
bq. src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
49d1e7c
bq.
bq. Diff: https://reviews.apache.org/r/1479/diff
bq.
bq.
bq. Testing
bq. -------
bq.
bq. I am putting this up for initial review. I have tested the functionality
in a pseudo distributed mode.
bq. Need to run unit tests.
bq.
bq.
bq. Thanks,
bq.
bq. Nileema
bq.
bq.
> Near-instantaneous online schema and table state updates
> --------------------------------------------------------
>
> Key: HBASE-1730
> URL: https://issues.apache.org/jira/browse/HBASE-1730
> Project: HBase
> Issue Type: Improvement
> Reporter: Andrew Purtell
> Assignee: stack
> Priority: Critical
> Fix For: 0.92.0
>
> Attachments: 1730-v2.patch, 1730-v3.patch, 1730.patch,
> HBASE-1730.patch
>
>
> We should not need to take a table offline to update HCD or HTD.
> One option for that is putting HTDs and HCDs up into ZK, with mirror on disk
> catalog tables to be used only for cold init scenarios, as discussed on IRC.
> In this scheme, regionservers hosting regions of a table would watch
> permanent nodes in ZK associated with that table for schema updates and take
> appropriate actions out of the watcher. In effect, schema updates become
> another item in the ToDo list.
> {{/hbase/tables/<table-name>/schema}}
> Must be associated with a write locking scheme also handled with ZK
> primitives to avoid situations where one concurrent update clobbers another.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira