[jira] [Commented] (HBASE-4482) Race Condition Concerning Eviction in SlabCache

2011-09-26 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13114883#comment-13114883
 ] 

jirapos...@reviews.apache.org commented on HBASE-4482:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2051/
---

(Updated 2011-09-26 19:17:34.041967)


Review request for hbase.


Summary (updated)
---

Bugfix, kills a race condition.

Ignore r1, thats the wrong patch.


This addresses bug HBASE-4482.
https://issues.apache.org/jira/browse/HBASE-4482


Diffs
-

  src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SingleSizeCache.java 
3798a06 
  src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabCache.java fe8b95a 
  
src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabItemEvictionWatcher.java
 91b1603 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 0c06f4f 
  src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java fd9e7ef 
  src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java 0814f41 
  src/test/java/org/apache/hadoop/hbase/io/hfile/slab/TestSingleSizeCache.java 
e021780 
  src/test/java/org/apache/hadoop/hbase/io/hfile/slab/TestSlabCache.java 
8dd5159 

Diff: https://reviews.apache.org/r/2051/diff


Testing
---

Looped tests.


Thanks,

Li



 Race Condition Concerning Eviction in SlabCache
 ---

 Key: HBASE-4482
 URL: https://issues.apache.org/jira/browse/HBASE-4482
 Project: HBase
  Issue Type: Sub-task
Reporter: Li Pi
Assignee: Li Pi
Priority: Critical
 Fix For: 0.92.0

 Attachments: hbase-4482v1.txt, hbase-4482v2.txt




--
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




[jira] [Commented] (HBASE-4482) Race Condition Concerning Eviction in SlabCache

2011-09-26 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13114884#comment-13114884
 ] 

jirapos...@reviews.apache.org commented on HBASE-4482:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2051/
---

(Updated 2011-09-26 19:16:31.129009)


Review request for hbase.


Changes
---

patch v2.


Summary
---

Bugfix, kills a race condition.


This addresses bug HBASE-4482.
https://issues.apache.org/jira/browse/HBASE-4482


Diffs (updated)
-

  src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SingleSizeCache.java 
3798a06 
  src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabCache.java fe8b95a 
  
src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabItemEvictionWatcher.java
 91b1603 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 0c06f4f 
  src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java fd9e7ef 
  src/test/java/org/apache/hadoop/hbase/io/hfile/slab/TestSingleSizeCache.java 
e021780 
  src/test/java/org/apache/hadoop/hbase/io/hfile/slab/TestSlabCache.java 
8dd5159 

Diff: https://reviews.apache.org/r/2051/diff


Testing
---

Looped tests.


Thanks,

Li



 Race Condition Concerning Eviction in SlabCache
 ---

 Key: HBASE-4482
 URL: https://issues.apache.org/jira/browse/HBASE-4482
 Project: HBase
  Issue Type: Sub-task
Reporter: Li Pi
Assignee: Li Pi
Priority: Critical
 Fix For: 0.92.0

 Attachments: hbase-4482v1.txt, hbase-4482v2.txt




--
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




[jira] [Commented] (HBASE-4482) Race Condition Concerning Eviction in SlabCache

2011-09-26 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13114885#comment-13114885
 ] 

jirapos...@reviews.apache.org commented on HBASE-4482:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2051/
---

Review request for hbase.


Summary
---

Bugfix, kills a race condition.


This addresses bug HBASE-4482.
https://issues.apache.org/jira/browse/HBASE-4482


Diffs
-

  src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java fe25a45 

Diff: https://reviews.apache.org/r/2051/diff


Testing
---

Looped tests.


Thanks,

Li



 Race Condition Concerning Eviction in SlabCache
 ---

 Key: HBASE-4482
 URL: https://issues.apache.org/jira/browse/HBASE-4482
 Project: HBase
  Issue Type: Sub-task
Reporter: Li Pi
Assignee: Li Pi
Priority: Critical
 Fix For: 0.92.0

 Attachments: hbase-4482v1.txt, hbase-4482v2.txt




--
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




[jira] [Commented] (HBASE-4482) Race Condition Concerning Eviction in SlabCache

2011-09-26 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13114880#comment-13114880
 ] 

jirapos...@reviews.apache.org commented on HBASE-4482:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2051/#review2070
---



src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabCache.java
https://reviews.apache.org/r/2051/#comment4666

This log would be expensive.


- Ted


On 2011-09-26 19:17:34, Li Pi wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2051/
bq.  ---
bq.  
bq.  (Updated 2011-09-26 19:17:34)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Bugfix, kills a race condition.
bq.  
bq.  Ignore r1, thats the wrong patch.
bq.  
bq.  
bq.  This addresses bug HBASE-4482.
bq.  https://issues.apache.org/jira/browse/HBASE-4482
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SingleSizeCache.java 
3798a06 
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabCache.java 
fe8b95a 
bq.
src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabItemEvictionWatcher.java
 91b1603 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
0c06f4f 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
fd9e7ef 
bq.src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java 
0814f41 
bq.
src/test/java/org/apache/hadoop/hbase/io/hfile/slab/TestSingleSizeCache.java 
e021780 
bq.src/test/java/org/apache/hadoop/hbase/io/hfile/slab/TestSlabCache.java 
8dd5159 
bq.  
bq.  Diff: https://reviews.apache.org/r/2051/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Looped tests.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Li
bq.  
bq.



 Race Condition Concerning Eviction in SlabCache
 ---

 Key: HBASE-4482
 URL: https://issues.apache.org/jira/browse/HBASE-4482
 Project: HBase
  Issue Type: Sub-task
Reporter: Li Pi
Assignee: Li Pi
Priority: Critical
 Fix For: 0.92.0

 Attachments: hbase-4482v1.txt, hbase-4482v2.txt




--
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




[jira] [Commented] (HBASE-4482) Race Condition Concerning Eviction in SlabCache

2011-09-26 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13114887#comment-13114887
 ] 

jirapos...@reviews.apache.org commented on HBASE-4482:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2051/
---

(Updated 2011-09-26 19:16:53.815702)


Review request for hbase.


Changes
---

patch v3 - ted yu wanted to compare between the two.


Summary
---

Bugfix, kills a race condition.


This addresses bug HBASE-4482.
https://issues.apache.org/jira/browse/HBASE-4482


Diffs (updated)
-

  src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SingleSizeCache.java 
3798a06 
  src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabCache.java fe8b95a 
  
src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabItemEvictionWatcher.java
 91b1603 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 0c06f4f 
  src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java fd9e7ef 
  src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java 0814f41 
  src/test/java/org/apache/hadoop/hbase/io/hfile/slab/TestSingleSizeCache.java 
e021780 
  src/test/java/org/apache/hadoop/hbase/io/hfile/slab/TestSlabCache.java 
8dd5159 

Diff: https://reviews.apache.org/r/2051/diff


Testing
---

Looped tests.


Thanks,

Li



 Race Condition Concerning Eviction in SlabCache
 ---

 Key: HBASE-4482
 URL: https://issues.apache.org/jira/browse/HBASE-4482
 Project: HBase
  Issue Type: Sub-task
Reporter: Li Pi
Assignee: Li Pi
Priority: Critical
 Fix For: 0.92.0

 Attachments: hbase-4482v1.txt, hbase-4482v2.txt




--
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




[jira] [Commented] (HBASE-4482) Race Condition Concerning Eviction in SlabCache

2011-09-26 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13114888#comment-13114888
 ] 

jirapos...@reviews.apache.org commented on HBASE-4482:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2051/#review2071
---



src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabCache.java
https://reviews.apache.org/r/2051/#comment4667

Can you comment here on the change?  And should this use LOG instead of 
System.out?



src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabCache.java
https://reviews.apache.org/r/2051/#comment4668

add a reference to the JIRA # in this comment... and break this to two 
lines.



src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabItemEvictionWatcher.java
https://reviews.apache.org/r/2051/#comment4669

remove from javadoc



src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
https://reviews.apache.org/r/2051/#comment4670

Do we need this?  At the least should be a DEBUG (seems like RS logs will 
be filled with this though, is that intended?)


- Jonathan


On 2011-09-26 19:17:34, Li Pi wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2051/
bq.  ---
bq.  
bq.  (Updated 2011-09-26 19:17:34)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Bugfix, kills a race condition.
bq.  
bq.  Ignore r1, thats the wrong patch.
bq.  
bq.  
bq.  This addresses bug HBASE-4482.
bq.  https://issues.apache.org/jira/browse/HBASE-4482
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SingleSizeCache.java 
3798a06 
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabCache.java 
fe8b95a 
bq.
src/main/java/org/apache/hadoop/hbase/io/hfile/slab/SlabItemEvictionWatcher.java
 91b1603 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
0c06f4f 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
fd9e7ef 
bq.src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java 
0814f41 
bq.
src/test/java/org/apache/hadoop/hbase/io/hfile/slab/TestSingleSizeCache.java 
e021780 
bq.src/test/java/org/apache/hadoop/hbase/io/hfile/slab/TestSlabCache.java 
8dd5159 
bq.  
bq.  Diff: https://reviews.apache.org/r/2051/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Looped tests.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Li
bq.  
bq.



 Race Condition Concerning Eviction in SlabCache
 ---

 Key: HBASE-4482
 URL: https://issues.apache.org/jira/browse/HBASE-4482
 Project: HBase
  Issue Type: Sub-task
Reporter: Li Pi
Assignee: Li Pi
Priority: Critical
 Fix For: 0.92.0

 Attachments: hbase-4482v1.txt, hbase-4482v2.txt




--
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




[jira] [Commented] (HBASE-3446) ProcessServerShutdown fails if META moves, orphaning lots of regions

2011-09-27 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-3446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13115391#comment-13115391
 ] 

jirapos...@reviews.apache.org commented on HBASE-3446:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2065/#review2083
---


Thanks for the cleanup.


src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4725

Back to future :-)



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4727

Nice.



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4726

Extra so.



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4730

Do we need to update now and pass to the helper methods ?
The helper methods can easily figure out what now should be.



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4729

I think  would be enough.



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4731

I am confused by the condition here.


- Ted


On 2011-09-27 06:38:09, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2065/
bq.  ---
bq.  
bq.  (Updated 2011-09-27 06:38:09)
bq.  
bq.  
bq.  Review request for hbase and Jonathan Gray.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Make the Meta* operations against meta retry.  We do it by using HTable 
instances.
bq.  (HTable calls HConnection.getRegionServerWithRetries for get, put, scan 
etc).
bq.  In 0.89, we had special RetryableMetaOperation class that was a
bq.  subclass of Callable which reproduced the guts of 
HConnection.getRegionServerWithRetries
bq.  with its retry loop.  Now we just use HTable instead (Costs some on setup 
but
bq.  otherwise, we avoid duplicating code).  Upped the retries on serverside 
too.
bq.  
bq.  Had problem with CatalogJanitor.  MetaReader and MetaEditor were relying
bq.  heavily on CT methods getting proxy connections to meta and root servers.
bq.  CT needs to be cut back.  This patch closes down access on (unused) public
bq.  methods and removes being able to get an HRegionInterface on meta and root
bq.  -- this stuff is used internally to CT only now; use MetaEditor or
bq.  MetaReader if you want to update or read catalog tables.  Opening new issue
bq.  to cutback CT use over the code base.
bq.  
bq.  A little off topic but couldn't help it since was in MetaReader and 
MetaEditor
bq.  trying to clean them up, I ended up moving meta migration code out to its
bq.  own class rather than have it in all inside in MetaEditor.
bq.  
bq.  Here is some detail to help reviews.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
bq.Clean up.  Shutdown access on some of these unused methods.  Don't
bq.let out HRegionInterface instances in particular since we are going
bq.away from raw HRI use to instead use a connection with retries:
bq.i.e. HTable.
bq.  
bq.Comments on state of this class. Javadoc edits.
bq.getZooKeeperWatcher on HConnection is deprecated so don't use it
bq.in constructor.  Override MetaNodeTracker and on node delete
bq.reset meta location (We used to do this over in MetaNodeTracker
bq.but to do that we had to have a CatalogTracker over in zk package
bq.which is silly -- bad package encapsulation).
bq.  
bq.(waitForRootServer) Renamed getRootServerConnection and change it
bq.from public to package private.
bq.(waitForRootServerConnectionDefault, getRootServerConnection) Removed.
bq.(getMetaServerConnection) Change from public to package private.
bq.Use MetaReader to read the meta location in root rather than a
bq.raw HRegionInterface so we get retrying.
bq.(remaining, timedout) Added utility methods.
bq.(waitForMetaServer) Changed from public to private.
bq.(resetMetaLocation) Made it synchronized on metaAvailable.
bq.Not all accesses were synchronized.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/MetaEditor.java
bq.Refactor to use HTable instead of raw HRegionInterface so we get
bq.retrying.  For each operation we get an HTable, use it, then close it.
bq.(putToMetaTable, putsToMetaTable, etc) Utility methods.
bq.(updateRootWithMetaMigrationStatus, etc.) Moved out to own
bq.class since these classes are for a one-time migration only.
bq.  
bq.  A 

[jira] [Commented] (HBASE-3446) ProcessServerShutdown fails if META moves, orphaning lots of regions

2011-09-27 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-3446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13115394#comment-13115394
 ] 

jirapos...@reviews.apache.org commented on HBASE-3446:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2065/#review2084
---



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4732

Log should be changed accordingly.


- Ted


On 2011-09-27 06:38:09, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2065/
bq.  ---
bq.  
bq.  (Updated 2011-09-27 06:38:09)
bq.  
bq.  
bq.  Review request for hbase and Jonathan Gray.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Make the Meta* operations against meta retry.  We do it by using HTable 
instances.
bq.  (HTable calls HConnection.getRegionServerWithRetries for get, put, scan 
etc).
bq.  In 0.89, we had special RetryableMetaOperation class that was a
bq.  subclass of Callable which reproduced the guts of 
HConnection.getRegionServerWithRetries
bq.  with its retry loop.  Now we just use HTable instead (Costs some on setup 
but
bq.  otherwise, we avoid duplicating code).  Upped the retries on serverside 
too.
bq.  
bq.  Had problem with CatalogJanitor.  MetaReader and MetaEditor were relying
bq.  heavily on CT methods getting proxy connections to meta and root servers.
bq.  CT needs to be cut back.  This patch closes down access on (unused) public
bq.  methods and removes being able to get an HRegionInterface on meta and root
bq.  -- this stuff is used internally to CT only now; use MetaEditor or
bq.  MetaReader if you want to update or read catalog tables.  Opening new issue
bq.  to cutback CT use over the code base.
bq.  
bq.  A little off topic but couldn't help it since was in MetaReader and 
MetaEditor
bq.  trying to clean them up, I ended up moving meta migration code out to its
bq.  own class rather than have it in all inside in MetaEditor.
bq.  
bq.  Here is some detail to help reviews.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
bq.Clean up.  Shutdown access on some of these unused methods.  Don't
bq.let out HRegionInterface instances in particular since we are going
bq.away from raw HRI use to instead use a connection with retries:
bq.i.e. HTable.
bq.  
bq.Comments on state of this class. Javadoc edits.
bq.getZooKeeperWatcher on HConnection is deprecated so don't use it
bq.in constructor.  Override MetaNodeTracker and on node delete
bq.reset meta location (We used to do this over in MetaNodeTracker
bq.but to do that we had to have a CatalogTracker over in zk package
bq.which is silly -- bad package encapsulation).
bq.  
bq.(waitForRootServer) Renamed getRootServerConnection and change it
bq.from public to package private.
bq.(waitForRootServerConnectionDefault, getRootServerConnection) Removed.
bq.(getMetaServerConnection) Change from public to package private.
bq.Use MetaReader to read the meta location in root rather than a
bq.raw HRegionInterface so we get retrying.
bq.(remaining, timedout) Added utility methods.
bq.(waitForMetaServer) Changed from public to private.
bq.(resetMetaLocation) Made it synchronized on metaAvailable.
bq.Not all accesses were synchronized.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/MetaEditor.java
bq.Refactor to use HTable instead of raw HRegionInterface so we get
bq.retrying.  For each operation we get an HTable, use it, then close it.
bq.(putToMetaTable, putsToMetaTable, etc) Utility methods.
bq.(updateRootWithMetaMigrationStatus, etc.) Moved out to own
bq.class since these classes are for a one-time migration only.
bq.  
bq.  A 
src/main/java/org/apache/hadoop/hbase/catalog/MetaMigrationRemovingHTD.java
bq.New class that holds all Meta* methods updating meta table used
bq.doing the one-time migration done to meta on startup.  This class
bq.is marked deprecated because its going to be dropped in 0.94.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
bq.Retrofit methods in here to use fullScan methods with Visitor.
bq.(getCatalogRegionInterface, getCatalogRegionNameForTable,
bq.  getCatalogRegionNameForRegion) Removed.
bq.(fullScan) Cleaned up the fullScans.  Fixed up wrong javadoc.
bq.(fullScanOfResults) Renamed as fullScan override.
bq.(fullScanOfRoot) Added as deprecated. We should be doing
bq.this against zk.
bq.(metaRowToRegionPair, getServerNameFromResult) 

[jira] [Commented] (HBASE-3446) ProcessServerShutdown fails if META moves, orphaning lots of regions

2011-09-27 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-3446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13115592#comment-13115592
 ] 

jirapos...@reviews.apache.org commented on HBASE-3446:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2065/#review2097
---



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4761

I was trying to minimize how many times we do System.currentTimeMillis



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4762

Agreed



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4764

Will fix w/ a comment.  If timeout  is 0, then we do not timeout.  I should 
call it out explicitly.


- Michael


On 2011-09-27 06:38:09, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2065/
bq.  ---
bq.  
bq.  (Updated 2011-09-27 06:38:09)
bq.  
bq.  
bq.  Review request for hbase and Jonathan Gray.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Make the Meta* operations against meta retry.  We do it by using HTable 
instances.
bq.  (HTable calls HConnection.getRegionServerWithRetries for get, put, scan 
etc).
bq.  In 0.89, we had special RetryableMetaOperation class that was a
bq.  subclass of Callable which reproduced the guts of 
HConnection.getRegionServerWithRetries
bq.  with its retry loop.  Now we just use HTable instead (Costs some on setup 
but
bq.  otherwise, we avoid duplicating code).  Upped the retries on serverside 
too.
bq.  
bq.  Had problem with CatalogJanitor.  MetaReader and MetaEditor were relying
bq.  heavily on CT methods getting proxy connections to meta and root servers.
bq.  CT needs to be cut back.  This patch closes down access on (unused) public
bq.  methods and removes being able to get an HRegionInterface on meta and root
bq.  -- this stuff is used internally to CT only now; use MetaEditor or
bq.  MetaReader if you want to update or read catalog tables.  Opening new issue
bq.  to cutback CT use over the code base.
bq.  
bq.  A little off topic but couldn't help it since was in MetaReader and 
MetaEditor
bq.  trying to clean them up, I ended up moving meta migration code out to its
bq.  own class rather than have it in all inside in MetaEditor.
bq.  
bq.  Here is some detail to help reviews.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
bq.Clean up.  Shutdown access on some of these unused methods.  Don't
bq.let out HRegionInterface instances in particular since we are going
bq.away from raw HRI use to instead use a connection with retries:
bq.i.e. HTable.
bq.  
bq.Comments on state of this class. Javadoc edits.
bq.getZooKeeperWatcher on HConnection is deprecated so don't use it
bq.in constructor.  Override MetaNodeTracker and on node delete
bq.reset meta location (We used to do this over in MetaNodeTracker
bq.but to do that we had to have a CatalogTracker over in zk package
bq.which is silly -- bad package encapsulation).
bq.  
bq.(waitForRootServer) Renamed getRootServerConnection and change it
bq.from public to package private.
bq.(waitForRootServerConnectionDefault, getRootServerConnection) Removed.
bq.(getMetaServerConnection) Change from public to package private.
bq.Use MetaReader to read the meta location in root rather than a
bq.raw HRegionInterface so we get retrying.
bq.(remaining, timedout) Added utility methods.
bq.(waitForMetaServer) Changed from public to private.
bq.(resetMetaLocation) Made it synchronized on metaAvailable.
bq.Not all accesses were synchronized.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/MetaEditor.java
bq.Refactor to use HTable instead of raw HRegionInterface so we get
bq.retrying.  For each operation we get an HTable, use it, then close it.
bq.(putToMetaTable, putsToMetaTable, etc) Utility methods.
bq.(updateRootWithMetaMigrationStatus, etc.) Moved out to own
bq.class since these classes are for a one-time migration only.
bq.  
bq.  A 
src/main/java/org/apache/hadoop/hbase/catalog/MetaMigrationRemovingHTD.java
bq.New class that holds all Meta* methods updating meta table used
bq.doing the one-time migration done to meta on startup.  This class
bq.is marked deprecated because its going to be dropped in 0.94.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
bq.Retrofit methods in here to use fullScan methods with 

[jira] [Commented] (HBASE-3025) Coprocessor based simple access control

2011-09-27 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-3025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13115708#comment-13115708
 ] 

jirapos...@reviews.apache.org commented on HBASE-3025:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2041/#review2077
---


Looks good. The majority of my comments have to do with inconsistent logging 
practice.


security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessControlFilter.java
https://reviews.apache.org/r/2041/#comment4718

Could be stated better.



security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment4719

No.



security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment4720

Comment needs updating.




security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java
https://reviews.apache.org/r/2041/#comment4721

Can we make this 1?



security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java
https://reviews.apache.org/r/2041/#comment4775

Debug logging should go to LOG not AUDITLOG



security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java
https://reviews.apache.org/r/2041/#comment4782

Should be INFO or TRACE level? TRACE makes more sense to me.



security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java
https://reviews.apache.org/r/2041/#comment4776

Debug logging should go to LOG not AUDITLOG



security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java
https://reviews.apache.org/r/2041/#comment4779

Should be INFO or TRACE level? TRACE makes more sense to me.



security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java
https://reviews.apache.org/r/2041/#comment4795

Should something go to AUDITLOG here?



security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java
https://reviews.apache.org/r/2041/#comment4797

Should hasFamilyQualifierPermission log to AUDITLOG? It is used in places 
to make decisions -- an exception is thrown directly or not.



security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java
https://reviews.apache.org/r/2041/#comment4783

Another one of these was sent to AUDITLOG above. Do the same here? Should 
be INFO or TRACE level? TRACE makes more sense to me.



security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java
https://reviews.apache.org/r/2041/#comment4786

Ultimately users should be allowed to enable or disable their own tables, 
but only after such operations don't carry as much systemic risk as they do 
currently.

In that case, CREATE permission and an ownership check could follow the 
test for ADMIN permission.



security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java
https://reviews.apache.org/r/2041/#comment4787

As above



security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java
https://reviews.apache.org/r/2041/#comment4791

Should be logged with ERROR?



security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java
https://reviews.apache.org/r/2041/#comment4799

Would it be clearer then to call permissionGranted() something like 
hasColumnsPermission() ? Just a random thought.



security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java
https://reviews.apache.org/r/2041/#comment4803

Should this go to AUDITLOG? At INFO or TRACE level? My preference is TRACE.



security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java
https://reviews.apache.org/r/2041/#comment4804

Should this go to AUDITLOG? At INFO or TRACE level? My preference is TRACE.



security/src/main/java/org/apache/hadoop/hbase/security/rbac/Permission.java
https://reviews.apache.org/r/2041/#comment4807

What if instead we check for version 0 and throw an 
IllegalArgumentException if so? Technically, it is an invalid request if it 
contains an unrecognizable action code. Skipping this check if version  0 
would be a way to handle new perms while not accepting incorrect input 
otherwise.



security/src/main/java/org/apache/hadoop/hbase/security/rbac/TableAuthManager.java
https://reviews.apache.org/r/2041/#comment4813

Maybe we can call this .auth.? We don't really have an RBAC 
implementation yet. Likewise for the package name for all of this stuff? Just a 
random thought.



security/src/main/java/org/apache/hadoop/hbase/security/rbac/TableAuthManager.java
https://reviews.apache.org/r/2041/#comment4815

Isn't this an error?


[jira] [Commented] (HBASE-3446) ProcessServerShutdown fails if META moves, orphaning lots of regions

2011-09-27 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-3446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13115728#comment-13115728
 ] 

jirapos...@reviews.apache.org commented on HBASE-3446:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2065/#review2099
---



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4835

The condition, now  stopTime, is reversed for isTimedOut().


- Ted


On 2011-09-27 06:38:09, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2065/
bq.  ---
bq.  
bq.  (Updated 2011-09-27 06:38:09)
bq.  
bq.  
bq.  Review request for hbase and Jonathan Gray.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Make the Meta* operations against meta retry.  We do it by using HTable 
instances.
bq.  (HTable calls HConnection.getRegionServerWithRetries for get, put, scan 
etc).
bq.  In 0.89, we had special RetryableMetaOperation class that was a
bq.  subclass of Callable which reproduced the guts of 
HConnection.getRegionServerWithRetries
bq.  with its retry loop.  Now we just use HTable instead (Costs some on setup 
but
bq.  otherwise, we avoid duplicating code).  Upped the retries on serverside 
too.
bq.  
bq.  Had problem with CatalogJanitor.  MetaReader and MetaEditor were relying
bq.  heavily on CT methods getting proxy connections to meta and root servers.
bq.  CT needs to be cut back.  This patch closes down access on (unused) public
bq.  methods and removes being able to get an HRegionInterface on meta and root
bq.  -- this stuff is used internally to CT only now; use MetaEditor or
bq.  MetaReader if you want to update or read catalog tables.  Opening new issue
bq.  to cutback CT use over the code base.
bq.  
bq.  A little off topic but couldn't help it since was in MetaReader and 
MetaEditor
bq.  trying to clean them up, I ended up moving meta migration code out to its
bq.  own class rather than have it in all inside in MetaEditor.
bq.  
bq.  Here is some detail to help reviews.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
bq.Clean up.  Shutdown access on some of these unused methods.  Don't
bq.let out HRegionInterface instances in particular since we are going
bq.away from raw HRI use to instead use a connection with retries:
bq.i.e. HTable.
bq.  
bq.Comments on state of this class. Javadoc edits.
bq.getZooKeeperWatcher on HConnection is deprecated so don't use it
bq.in constructor.  Override MetaNodeTracker and on node delete
bq.reset meta location (We used to do this over in MetaNodeTracker
bq.but to do that we had to have a CatalogTracker over in zk package
bq.which is silly -- bad package encapsulation).
bq.  
bq.(waitForRootServer) Renamed getRootServerConnection and change it
bq.from public to package private.
bq.(waitForRootServerConnectionDefault, getRootServerConnection) Removed.
bq.(getMetaServerConnection) Change from public to package private.
bq.Use MetaReader to read the meta location in root rather than a
bq.raw HRegionInterface so we get retrying.
bq.(remaining, timedout) Added utility methods.
bq.(waitForMetaServer) Changed from public to private.
bq.(resetMetaLocation) Made it synchronized on metaAvailable.
bq.Not all accesses were synchronized.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/MetaEditor.java
bq.Refactor to use HTable instead of raw HRegionInterface so we get
bq.retrying.  For each operation we get an HTable, use it, then close it.
bq.(putToMetaTable, putsToMetaTable, etc) Utility methods.
bq.(updateRootWithMetaMigrationStatus, etc.) Moved out to own
bq.class since these classes are for a one-time migration only.
bq.  
bq.  A 
src/main/java/org/apache/hadoop/hbase/catalog/MetaMigrationRemovingHTD.java
bq.New class that holds all Meta* methods updating meta table used
bq.doing the one-time migration done to meta on startup.  This class
bq.is marked deprecated because its going to be dropped in 0.94.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
bq.Retrofit methods in here to use fullScan methods with Visitor.
bq.(getCatalogRegionInterface, getCatalogRegionNameForTable,
bq.  getCatalogRegionNameForRegion) Removed.
bq.(fullScan) Cleaned up the fullScans.  Fixed up wrong javadoc.
bq.(fullScanOfResults) Renamed as fullScan override.
bq.(fullScanOfRoot) Added as deprecated. We should be doing
bq.this against zk.
bq.(metaRowToRegionPair, 

[jira] [Commented] (HBASE-3446) ProcessServerShutdown fails if META moves, orphaning lots of regions

2011-09-27 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-3446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13115804#comment-13115804
 ] 

jirapos...@reviews.apache.org commented on HBASE-3446:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2065/#review2106
---


Only part way done, will finish in the afternoon.  I like the idea though, good 
stuff stack.


src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4855

Supposed to read When meta is moved to zk?



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4857

this comment talks a lot about what is wrong but it's not clear to me what 
changes are actually made right now.  i see you say server-side only, but what 
do you propose instead?  (i imagine i will find out reading the rest of the 
diff)



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4858

update this javadoc a bit... it's missing conf and you might also add 
additional context to stuff like abortable (which now appears optional and 
falls back to the connection itself?)



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4859

when would one override this?



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4860

is the behavior of this method unchanged?  i guess now it returns before 
it's verified?  any specific reason for the name change?  (its behavior is 
definitely different from the old getRootServerConnection()).  is it to match 
the Meta method?



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4861

i thought no verification in CT?



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4862

this is public but one with specified timeout is private now?



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4863

eeek, good catch


- Jonathan


On 2011-09-27 06:38:09, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2065/
bq.  ---
bq.  
bq.  (Updated 2011-09-27 06:38:09)
bq.  
bq.  
bq.  Review request for hbase and Jonathan Gray.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Make the Meta* operations against meta retry.  We do it by using HTable 
instances.
bq.  (HTable calls HConnection.getRegionServerWithRetries for get, put, scan 
etc).
bq.  In 0.89, we had special RetryableMetaOperation class that was a
bq.  subclass of Callable which reproduced the guts of 
HConnection.getRegionServerWithRetries
bq.  with its retry loop.  Now we just use HTable instead (Costs some on setup 
but
bq.  otherwise, we avoid duplicating code).  Upped the retries on serverside 
too.
bq.  
bq.  Had problem with CatalogJanitor.  MetaReader and MetaEditor were relying
bq.  heavily on CT methods getting proxy connections to meta and root servers.
bq.  CT needs to be cut back.  This patch closes down access on (unused) public
bq.  methods and removes being able to get an HRegionInterface on meta and root
bq.  -- this stuff is used internally to CT only now; use MetaEditor or
bq.  MetaReader if you want to update or read catalog tables.  Opening new issue
bq.  to cutback CT use over the code base.
bq.  
bq.  A little off topic but couldn't help it since was in MetaReader and 
MetaEditor
bq.  trying to clean them up, I ended up moving meta migration code out to its
bq.  own class rather than have it in all inside in MetaEditor.
bq.  
bq.  Here is some detail to help reviews.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
bq.Clean up.  Shutdown access on some of these unused methods.  Don't
bq.let out HRegionInterface instances in particular since we are going
bq.away from raw HRI use to instead use a connection with retries:
bq.i.e. HTable.
bq.  
bq.Comments on state of this class. Javadoc edits.
bq.getZooKeeperWatcher on HConnection is deprecated so don't use it
bq.in constructor.  Override MetaNodeTracker and on node delete
bq.reset meta location (We used to do this over in MetaNodeTracker
bq.but to do that we had to have a CatalogTracker over in zk package
bq.which is silly -- bad package encapsulation).
bq.  
bq.(waitForRootServer) Renamed getRootServerConnection and change it
bq.from public 

[jira] [Commented] (HBASE-3446) ProcessServerShutdown fails if META moves, orphaning lots of regions

2011-09-27 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-3446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13115818#comment-13115818
 ] 

jirapos...@reviews.apache.org commented on HBASE-3446:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2065/#review2107
---


Thanks for reviews Ted and Jon.  Will put up new patch when you fellas finish...


src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4864

@Jon True.  I opened another issue with suggested fix.  I should at least 
reference it in here.



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4865

Nah.  Thats TODO.


- Michael


On 2011-09-27 06:38:09, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2065/
bq.  ---
bq.  
bq.  (Updated 2011-09-27 06:38:09)
bq.  
bq.  
bq.  Review request for hbase and Jonathan Gray.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Make the Meta* operations against meta retry.  We do it by using HTable 
instances.
bq.  (HTable calls HConnection.getRegionServerWithRetries for get, put, scan 
etc).
bq.  In 0.89, we had special RetryableMetaOperation class that was a
bq.  subclass of Callable which reproduced the guts of 
HConnection.getRegionServerWithRetries
bq.  with its retry loop.  Now we just use HTable instead (Costs some on setup 
but
bq.  otherwise, we avoid duplicating code).  Upped the retries on serverside 
too.
bq.  
bq.  Had problem with CatalogJanitor.  MetaReader and MetaEditor were relying
bq.  heavily on CT methods getting proxy connections to meta and root servers.
bq.  CT needs to be cut back.  This patch closes down access on (unused) public
bq.  methods and removes being able to get an HRegionInterface on meta and root
bq.  -- this stuff is used internally to CT only now; use MetaEditor or
bq.  MetaReader if you want to update or read catalog tables.  Opening new issue
bq.  to cutback CT use over the code base.
bq.  
bq.  A little off topic but couldn't help it since was in MetaReader and 
MetaEditor
bq.  trying to clean them up, I ended up moving meta migration code out to its
bq.  own class rather than have it in all inside in MetaEditor.
bq.  
bq.  Here is some detail to help reviews.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
bq.Clean up.  Shutdown access on some of these unused methods.  Don't
bq.let out HRegionInterface instances in particular since we are going
bq.away from raw HRI use to instead use a connection with retries:
bq.i.e. HTable.
bq.  
bq.Comments on state of this class. Javadoc edits.
bq.getZooKeeperWatcher on HConnection is deprecated so don't use it
bq.in constructor.  Override MetaNodeTracker and on node delete
bq.reset meta location (We used to do this over in MetaNodeTracker
bq.but to do that we had to have a CatalogTracker over in zk package
bq.which is silly -- bad package encapsulation).
bq.  
bq.(waitForRootServer) Renamed getRootServerConnection and change it
bq.from public to package private.
bq.(waitForRootServerConnectionDefault, getRootServerConnection) Removed.
bq.(getMetaServerConnection) Change from public to package private.
bq.Use MetaReader to read the meta location in root rather than a
bq.raw HRegionInterface so we get retrying.
bq.(remaining, timedout) Added utility methods.
bq.(waitForMetaServer) Changed from public to private.
bq.(resetMetaLocation) Made it synchronized on metaAvailable.
bq.Not all accesses were synchronized.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/MetaEditor.java
bq.Refactor to use HTable instead of raw HRegionInterface so we get
bq.retrying.  For each operation we get an HTable, use it, then close it.
bq.(putToMetaTable, putsToMetaTable, etc) Utility methods.
bq.(updateRootWithMetaMigrationStatus, etc.) Moved out to own
bq.class since these classes are for a one-time migration only.
bq.  
bq.  A 
src/main/java/org/apache/hadoop/hbase/catalog/MetaMigrationRemovingHTD.java
bq.New class that holds all Meta* methods updating meta table used
bq.doing the one-time migration done to meta on startup.  This class
bq.is marked deprecated because its going to be dropped in 0.94.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
bq.Retrofit methods in here to use fullScan methods with Visitor.
bq.(getCatalogRegionInterface, getCatalogRegionNameForTable,
bq.  

[jira] [Commented] (HBASE-3025) Coprocessor based simple access control

2011-09-27 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-3025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13115868#comment-13115868
 ] 

jirapos...@reviews.apache.org commented on HBASE-3025:
--



bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java,
 line 98
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45404#file45404line98
bq.  
bq.   Can we make this 1?

sure


bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java,
 line 192
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45404#file45404line192
bq.  
bq.   Debug logging should go to LOG not AUDITLOG

The idea was that all authorization decisions should be separated into audit 
log.  Here we're allowing access, so AUDITLOG seemed to make sense.  I agree 
that this still needs to be cleaned up a lot.  Maybe all audit logging should 
be done up in requirePermission() with authorization result?  At the very least 
we need a consistent format and consistent logging levels for messages (trace, 
right?).


bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java,
 line 200
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45404#file45404line200
bq.  
bq.   Should be INFO or TRACE level? TRACE makes more sense to me.

Sure, can use trace for all audit log decisions.


bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java,
 line 208
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45404#file45404line208
bq.  
bq.   Debug logging should go to LOG not AUDITLOG

This is an authorization decision since we're returning true below.  We can 
make this trace level, and improve the format, but I think AUDITLOG (if 
enabled) should contain a single message per request on why the request was 
allowed or denied.


bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java,
 line 274
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45404#file45404line274
bq.  
bq.   Should be INFO or TRACE level? TRACE makes more sense to me.

will change to trace.


bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java,
 line 354
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45404#file45404line354
bq.  
bq.   Should something go to AUDITLOG here?

Failure should already have been recorded in AUDITLOG via logDenied().  Agree 
that moving AUDITLOG messages up here with consistent format would be clearer, 
but will require some restructuring of return value from permissionGranted() so 
that some context specific reason can be pulled back up for logging.


bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java,
 line 366
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45404#file45404line366
bq.  
bq.   Should hasFamilyQualifierPermission log to AUDITLOG? It is used in 
places to make decisions -- an exception is thrown directly or not.

Yes, agree, we should either log to AUDITLOG at decision points here or 
consistently move the AUDITLOG logging up a level out of permissionGranted() 
and hasFamilyQualifierPermission().


bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java,
 line 375
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45404#file45404line375
bq.  
bq.   Another one of these was sent to AUDITLOG above. Do the same here? 
Should be INFO or TRACE level? TRACE makes more sense to me.

Agree, should go to AUDITLOG at trace.


bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java,
 line 590
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45404#file45404line590
bq.  
bq.   Should be logged with ERROR?

sure


bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java,
 line 856
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45404#file45404line856
bq.  
bq.   Should this go to AUDITLOG? At INFO or TRACE level? My preference is 
TRACE.

Yes, agree.


bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/Permission.java, 
line 174
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45406#file45406line174
bq.  
bq.   What if instead we check for version 0 and throw an 
IllegalArgumentException if so? 

[jira] [Commented] (HBASE-3025) Coprocessor based simple access control

2011-09-27 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-3025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13115869#comment-13115869
 ] 

jirapos...@reviews.apache.org commented on HBASE-3025:
--



bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   Looks good. The majority of my comments have to do with inconsistent 
logging practice.

Thanks for the review.  I'll post an update with some cleanups and some 
reworking of the AUDITLOG handling.


- Gary


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2041/#review2077
---


On 2011-09-23 19:14:20, Gary Helmling wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2041/
bq.  ---
bq.  
bq.  (Updated 2011-09-23 19:14:20)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  This patch implements access control list based authorization of HBase 
operations.  The patch depends on the currently posted patch for HBASE-2742 
(secure RPC engine).
bq.  
bq.  Key parts of the implementation are:
bq.  
bq.  * AccessControlLists - encapsulates storage of permission grants in a 
metadata table (_acl_).  This differs from previous implementation where the 
.META. table was used to store permissions.
bq.  
bq.  * AccessController - 
bq.- implements MasterObserver and RegionObserver, performing authorization 
checks in each of the preXXX() hooks.  If authorization fails, an 
AccessDeniedException is thrown.
bq.- implements AccessControllerProtocol as a coprocessor endpoint to 
provide RPC methods for granting, revoking and listing permissions.
bq.  
bq.  * ZKPermissionWatcher (and TableAuthManager) - synchronizes ACL entries 
and updates throughout the cluster nodes using ZK.  ACL entries are stored in 
per-table znodes as /hbase/acl/tablename.
bq.  
bq.  * Additional ruby shell scripts providing the grant, revoke and 
user_permission commands
bq.  
bq.  * Support for a new OWNER attribute in HTableDescriptor.  I could separate 
out this change into a new JIRA for discussion, but I don't see it as currently 
useful outside of security.  Alternately, I could handle the OWNER attribute 
completely in AccessController without changing HTD, but that would make 
interaction via hbase shell a bit uglier.
bq.  
bq.  
bq.  This addresses bug HBASE-3025.
bq.  https://issues.apache.org/jira/browse/HBASE-3025
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.
security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessControlFilter.java
 PRE-CREATION 
bq.
security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessControlLists.java
 PRE-CREATION 
bq.
security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java
 PRE-CREATION 
bq.
security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessControllerProtocol.java
 PRE-CREATION 
bq.
security/src/main/java/org/apache/hadoop/hbase/security/rbac/Permission.java 
PRE-CREATION 
bq.
security/src/main/java/org/apache/hadoop/hbase/security/rbac/TableAuthManager.java
 PRE-CREATION 
bq.
security/src/main/java/org/apache/hadoop/hbase/security/rbac/TablePermission.java
 PRE-CREATION 
bq.
security/src/main/java/org/apache/hadoop/hbase/security/rbac/UserPermission.java
 PRE-CREATION 
bq.
security/src/main/java/org/apache/hadoop/hbase/security/rbac/ZKPermissionWatcher.java
 PRE-CREATION 
bq.
security/src/test/java/org/apache/hadoop/hbase/security/rbac/SecureTestUtil.java
 PRE-CREATION 
bq.
security/src/test/java/org/apache/hadoop/hbase/security/rbac/TestAccessControlFilter.java
 PRE-CREATION 
bq.
security/src/test/java/org/apache/hadoop/hbase/security/rbac/TestAccessController.java
 PRE-CREATION 
bq.
security/src/test/java/org/apache/hadoop/hbase/security/rbac/TestTablePermissions.java
 PRE-CREATION 
bq.
security/src/test/java/org/apache/hadoop/hbase/security/rbac/TestZKPermissionsWatcher.java
 PRE-CREATION 
bq.src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java 46a1a3d 
bq.src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java 699a5f5 
bq.src/main/resources/hbase-default.xml 2c8f44b 
bq.src/main/ruby/hbase.rb 4d27191 
bq.src/main/ruby/hbase/admin.rb b244ffe 
bq.src/main/ruby/hbase/hbase.rb beb2450 
bq.src/main/ruby/hbase/security.rb PRE-CREATION 
bq.src/main/ruby/shell.rb 9a47600 
bq.src/main/ruby/shell/commands.rb a352c2e 
bq.src/main/ruby/shell/commands/grant.rb PRE-CREATION 
bq.src/main/ruby/shell/commands/revoke.rb PRE-CREATION 
bq.src/main/ruby/shell/commands/table_permission.rb PRE-CREATION 
bq.

[jira] [Commented] (HBASE-4498) HBase RPM/DEB packages attempt to setup ZooKeeper environment incorrectly

2011-09-27 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13115895#comment-13115895
 ] 

jirapos...@reviews.apache.org commented on HBASE-4498:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2075/
---

Review request for hbase.


Summary
---

Updated ZOOKEEPER_HOME location to default to /usr (default location of 
ZooKeeper rpm/deb package)


This addresses bug HBASE-4498.
https://issues.apache.org/jira/browse/HBASE-4498


Diffs
-

  /src/packages/update-hbase-env.sh 1176602 

Diff: https://reviews.apache.org/r/2075/diff


Testing
---


Thanks,

Eric



 HBase RPM/DEB packages attempt to setup ZooKeeper environment incorrectly
 -

 Key: HBASE-4498
 URL: https://issues.apache.org/jira/browse/HBASE-4498
 Project: HBase
  Issue Type: Bug
  Components: build, scripts
Affects Versions: 0.92.0
 Environment: Java, Linux
Reporter: Eric Yang
Assignee: Eric Yang
 Fix For: 0.92.0

 Attachments: HBASE-4498.patch


 HBase RPM packaging was done prior to completion of ZooKeeper RPM packaging.  
 In update-hbase-env.sh, it expects ZooKeeper environment script to exist in 
 /etc/default/zookeeper-env.sh.  After several revision of ZOOKEEPER-999, it 
 was decided to remove /etc/default/zookeeper-env.sh by ZooKeeper community.  
 Hence, update-hbase-env.sh should not depend on 
 /etc/default/zookeeper-env.sh.  Instead, update-hbase-env.sh should assume 
 ZooKeeper exists in /usr for RPM/deb packages.

--
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




[jira] [Commented] (HBASE-3025) Coprocessor based simple access control

2011-09-27 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-3025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13115897#comment-13115897
 ] 

jirapos...@reviews.apache.org commented on HBASE-3025:
--



bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/AccessController.java,
 line 192
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45404#file45404line192
bq.  
bq.   Debug logging should go to LOG not AUDITLOG
bq.  
bq.  Gary Helmling wrote:
bq.  The idea was that all authorization decisions should be separated into 
audit log.  Here we're allowing access, so AUDITLOG seemed to make sense.  I 
agree that this still needs to be cleaned up a lot.  Maybe all audit logging 
should be done up in requirePermission() with authorization result?  At the 
very least we need a consistent format and consistent logging levels for 
messages (trace, right?).

bq.  Maybe all audit logging should be done up in requirePermission() with 
authorization result?

Sounds good.

bq.  At the very least we need a consistent format and consistent logging 
levels for messages (trace, right?).

I'd argue for TRACE


bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/TableAuthManager.java,
 line 47
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45407#file45407line47
bq.  
bq.   Maybe we can call this .auth.? We don't really have an RBAC 
implementation yet. Likewise for the package name for all of this stuff? Just a 
random thought.
bq.  
bq.  Gary Helmling wrote:
bq.  Yeah rbac here and in package name is a misnomer.  How about using 
access instead?  auth seems ambiguous to me as it could mean 
authentication or authorization.  JDK uses auth in javax.security.auth 
and claims it's for both, but seems like that and sub-packages are more 
authentication related to me.  Hadoop uses authorize for a similar package 
to this.

access sounds good to me.


bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/TableAuthManager.java,
 line 84
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45407#file45407line84
bq.  
bq.   Isn't this an error?
bq.  
bq.  Gary Helmling wrote:
bq.  Yes, and in this context a pretty bad one, as it probably means region 
server initiated RPCs won't work or will be denied.  We should probably let the 
IOE escape here...

Agree.


bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/Permission.java, 
line 174
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45406#file45406line174
bq.  
bq.   What if instead we check for version 0 and throw an 
IllegalArgumentException if so? Technically, it is an invalid request if it 
contains an unrecognizable action code. Skipping this check if version  0 
would be a way to handle new perms while not accepting incorrect input 
otherwise.
bq.  
bq.  Gary Helmling wrote:
bq.  Yeah, seems safer to throw an exception here than to ignore invalid 
input.  What about throwing an IOException (to tie in to existing error 
handling)?
bq.  
bq.  We could potentially trap the VersionMismatchException from 
VersionedWritable to allow skip and continue when reading newer versions of 
Permission with potentially added Action codes.  Would need to think about what 
kind of errors that would expose us to.

bq.  What about throwing an IOException (to tie in to existing error handling)?

Throwing an IOE sounds good.

bq.  We could potentially trap the VersionMismatchException from 
VersionedWritable to allow skip and continue when reading newer versions of 
Permission with potentially added Action codes. 

I think that is reasonable, with something logged at WARN level. The idea here 
is to ride over a rolling restart. Would not see long term operation with 
mismatching versions.


bq.  On 2011-09-27 16:58:47, Andrew Purtell wrote:
bq.   
security/src/main/java/org/apache/hadoop/hbase/security/rbac/ZKPermissionWatcher.java,
 line 59
bq.   https://reviews.apache.org/r/2041/diff/1/?file=45410#file45410line59
bq.  
bq.   I wonder if there is some way we can check if a secure variant of 
ZooKeeper is running, and refuse to initialize if not.
bq.  
bq.  Gary Helmling wrote:
bq.  My thinking has been to handle all secure ZooKeeper changes 
separately.  So I'd prefer to handle any check here as part of that.
bq.  
bq.  I do think it's reasonable to run AccessController with only SIMPLE 
auth and no secure ZooKeeper.  It's not secure but could still be useful (we 
currently use this setup for tests).
bq.  
bq.  We could complain loudly to give an indication that you have a 
security hole though.

bq.  I do think it's reasonable to run AccessController with only SIMPLE auth 
and 

[jira] [Commented] (HBASE-3446) ProcessServerShutdown fails if META moves, orphaning lots of regions

2011-09-27 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-3446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116008#comment-13116008
 ] 

jirapos...@reviews.apache.org commented on HBASE-3446:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2065/#review2111
---


There is a lot of excellence in here.  I'm going to look at the code itself 
with this diff applied to try and understand where/how CT is now being used.  
I'm a little unclear between the lines you'd like to draw and the lines you 
actually draw in this diff.

Great work!


src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4873

maybe note here that you should not be synchronized on metaAvailable (and 
it will do so in the method)... the next method below is nicely clear in this 
regard



src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
https://reviews.apache.org/r/2065/#comment4874

verify the connection works, and also that the server is actually hosting 
the region we think it is... the comment makes me think this is looking up 
which server hosts the passed region but it's just verifying if we can connect 
to the server we think is hosting the region and verifies whether it's hosting 
it or not (so this fails if we can't connect or if the region is not on this 
server)



src/main/java/org/apache/hadoop/hbase/catalog/MetaEditor.java
https://reviews.apache.org/r/2065/#comment4875

i'm still trying to understand exactly what you've changed and what is 
still a TODO, but this looks much nicer now! :)



src/main/java/org/apache/hadoop/hbase/catalog/MetaEditor.java
https://reviews.apache.org/r/2065/#comment4876

same here!  nice  (old stuff looks ripe with race conditions)



src/main/java/org/apache/hadoop/hbase/catalog/MetaMigrationRemovingHTD.java
https://reviews.apache.org/r/2065/#comment4877

missing copyright and year?



src/main/java/org/apache/hadoop/hbase/catalog/MetaMigrationRemovingHTD.java
https://reviews.apache.org/r/2065/#comment4878

nice moving cruft to separate classes



src/main/java/org/apache/hadoop/hbase/client/Result.java
https://reviews.apache.org/r/2065/#comment4881

seems like this should be moved to static methods in a helper class rather 
than exposing to our client-side Result



src/main/java/org/apache/hadoop/hbase/client/Result.java
https://reviews.apache.org/r/2065/#comment4882

yeah, shouldn't this be in MetaReader or some such class?



src/main/java/org/apache/hadoop/hbase/client/RetriesExhaustedException.java
https://reviews.apache.org/r/2065/#comment4895

missed some whitespace



src/main/java/org/apache/hadoop/hbase/client/ServerCallable.java
https://reviews.apache.org/r/2065/#comment4896

nice



src/main/java/org/apache/hadoop/hbase/client/ServerCallable.java
https://reviews.apache.org/r/2065/#comment4897

this seems like an important public method.  i like the rename and your 
additional comments, but maybe we should add more.  default behavior is to use 
a cached location, if one is not found, it is looked up in a catalog.  setting 
reload to true bypasses the cache and forces the lookup to a catalog.  and 
then, under what cases do we get an exception?  does this verify that the 
server is actually hosting the region?  or it just looks up in the catalog (i 
guess failure there could cause IOE) and if it finds something, just returns a 
connection to that RS (w/ no verification)... correct?



src/main/java/org/apache/hadoop/hbase/master/HMaster.java
https://reviews.apache.org/r/2065/#comment4898

why do you remove the javadoc on this method?



src/main/java/org/apache/hadoop/hbase/zookeeper/MetaNodeTracker.java
https://reviews.apache.org/r/2065/#comment4899

not even necessary to put this method in here at all now (we're just using 
it for getting the node name at this point but it's probably still nice to have 
the name in stacks and such)



src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditor.java
https://reviews.apache.org/r/2065/#comment4900

yay!  3



src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditor.java
https://reviews.apache.org/r/2065/#comment4901

huh? :)



src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditor.java
https://reviews.apache.org/r/2065/#comment4902

awesome



src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditorNoCluster.java
https://reviews.apache.org/r/2065/#comment4903

30,000 ft desc?  i guess test name is self descriptive? :)


- Jonathan


On 2011-09-27 06:38:09, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  

[jira] [Commented] (HBASE-3446) ProcessServerShutdown fails if META moves, orphaning lots of regions

2011-09-27 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-3446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116019#comment-13116019
 ] 

jirapos...@reviews.apache.org commented on HBASE-3446:
--



bq.  On 2011-09-27 23:36:00, Jonathan Gray wrote:
bq.   There is a lot of excellence in here.  I'm going to look at the code 
itself with this diff applied to try and understand where/how CT is now being 
used.  I'm a little unclear between the lines you'd like to draw and the lines 
you actually draw in this diff.
bq.   
bq.   Great work!

Sorry about that.  Let me get you better answer to your question.  I think its 
not very clear because I myself was unclear on scope of CT when I started in.  
What this patch has here is an attempt at shutting down CT scope with 
subsequent work put off for HBASE-4495.


bq.  On 2011-09-27 23:36:00, Jonathan Gray wrote:
bq.   src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java, line 
513
bq.   https://reviews.apache.org/r/2065/diff/1/?file=45907#file45907line513
bq.  
bq.   maybe note here that you should not be synchronized on metaAvailable 
(and it will do so in the method)... the next method below is nicely clear in 
this regard

Will do


bq.  On 2011-09-27 23:36:00, Jonathan Gray wrote:
bq.   src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java, line 
575
bq.   https://reviews.apache.org/r/2065/diff/1/?file=45907#file45907line575
bq.  
bq.   verify the connection works, and also that the server is actually 
hosting the region we think it is... the comment makes me think this is looking 
up which server hosts the passed region but it's just verifying if we can 
connect to the server we think is hosting the region and verifies whether it's 
hosting it or not (so this fails if we can't connect or if the region is not on 
this server)

Good point.


bq.  On 2011-09-27 23:36:00, Jonathan Gray wrote:
bq.   src/main/java/org/apache/hadoop/hbase/catalog/MetaEditor.java, line 194
bq.   https://reviews.apache.org/r/2065/diff/1/?file=45908#file45908line194
bq.  
bq.   i'm still trying to understand exactly what you've changed and what 
is still a TODO, but this looks much nicer now! :)

In the above, we'd get the HRegionInterface and do the invocation on the actual 
Interface.  The alternative steps back and asks an HTable instance to do the 
work.  If an issue with former we'd just let the exception out.  In the 
alternative, we'll do HTable retries before we let the exception out (and the 
retries are boosted in server-context).


bq.  On 2011-09-27 23:36:00, Jonathan Gray wrote:
bq.   
src/main/java/org/apache/hadoop/hbase/catalog/MetaMigrationRemovingHTD.java, 
line 2
bq.   https://reviews.apache.org/r/2065/diff/1/?file=45909#file45909line2
bq.  
bq.   missing copyright and year?

Turns out that copyright is not actually needed 
https://issues.apache.org/jira/browse/HBASE-3870


bq.  On 2011-09-27 23:36:00, Jonathan Gray wrote:
bq.   src/main/java/org/apache/hadoop/hbase/client/Result.java, line 568
bq.   https://reviews.apache.org/r/2065/diff/1/?file=45915#file45915line568
bq.  
bq.   seems like this should be moved to static methods in a helper class 
rather than exposing to our client-side Result

OK.  It was kinda nice being able to do result.getServerNameFromCatalogResult.  
I suppose it does pollute.  I can move it back to MetaReader since that seems 
like next best place.  You are right shouldn't be generally public stuff.  Will 
fix.


bq.  On 2011-09-27 23:36:00, Jonathan Gray wrote:
bq.   src/main/java/org/apache/hadoop/hbase/client/ServerCallable.java, line 70
bq.   https://reviews.apache.org/r/2065/diff/1/?file=45918#file45918line70
bq.  
bq.   this seems like an important public method.  i like the rename and 
your additional comments, but maybe we should add more.  default behavior is to 
use a cached location, if one is not found, it is looked up in a catalog.  
setting reload to true bypasses the cache and forces the lookup to a catalog.  
and then, under what cases do we get an exception?  does this verify that the 
server is actually hosting the region?  or it just looks up in the catalog (i 
guess failure there could cause IOE) and if it finds something, just returns a 
connection to that RS (w/ no verification)... correct?

Will look into this.


bq.  On 2011-09-27 23:36:00, Jonathan Gray wrote:
bq.   src/main/java/org/apache/hadoop/hbase/master/HMaster.java, lines 
1041-1047
bq.   https://reviews.apache.org/r/2065/diff/1/?file=45921#file45921line1041
bq.  
bq.   why do you remove the javadoc on this method?

Will look into this.


bq.  On 2011-09-27 23:36:00, Jonathan Gray wrote:
bq.   src/test/java/org/apache/hadoop/hbase/catalog/TestMetaReaderEditor.java, 
line 132
bq.   https://reviews.apache.org/r/2065/diff/1/?file=45931#file45931line132
bq.  
bq.   huh? :)

Let me fix.


bq.  On 2011-09-27 23:36:00, 

[jira] [Commented] (HBASE-3446) ProcessServerShutdown fails if META moves, orphaning lots of regions

2011-09-27 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-3446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116024#comment-13116024
 ] 

jirapos...@reviews.apache.org commented on HBASE-3446:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2065/#review2124
---



src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
https://reviews.apache.org/r/2065/#comment4913

This doesn't seem right.


- Ted


On 2011-09-27 06:38:09, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2065/
bq.  ---
bq.  
bq.  (Updated 2011-09-27 06:38:09)
bq.  
bq.  
bq.  Review request for hbase and Jonathan Gray.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Make the Meta* operations against meta retry.  We do it by using HTable 
instances.
bq.  (HTable calls HConnection.getRegionServerWithRetries for get, put, scan 
etc).
bq.  In 0.89, we had special RetryableMetaOperation class that was a
bq.  subclass of Callable which reproduced the guts of 
HConnection.getRegionServerWithRetries
bq.  with its retry loop.  Now we just use HTable instead (Costs some on setup 
but
bq.  otherwise, we avoid duplicating code).  Upped the retries on serverside 
too.
bq.  
bq.  Had problem with CatalogJanitor.  MetaReader and MetaEditor were relying
bq.  heavily on CT methods getting proxy connections to meta and root servers.
bq.  CT needs to be cut back.  This patch closes down access on (unused) public
bq.  methods and removes being able to get an HRegionInterface on meta and root
bq.  -- this stuff is used internally to CT only now; use MetaEditor or
bq.  MetaReader if you want to update or read catalog tables.  Opening new issue
bq.  to cutback CT use over the code base.
bq.  
bq.  A little off topic but couldn't help it since was in MetaReader and 
MetaEditor
bq.  trying to clean them up, I ended up moving meta migration code out to its
bq.  own class rather than have it in all inside in MetaEditor.
bq.  
bq.  Here is some detail to help reviews.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
bq.Clean up.  Shutdown access on some of these unused methods.  Don't
bq.let out HRegionInterface instances in particular since we are going
bq.away from raw HRI use to instead use a connection with retries:
bq.i.e. HTable.
bq.  
bq.Comments on state of this class. Javadoc edits.
bq.getZooKeeperWatcher on HConnection is deprecated so don't use it
bq.in constructor.  Override MetaNodeTracker and on node delete
bq.reset meta location (We used to do this over in MetaNodeTracker
bq.but to do that we had to have a CatalogTracker over in zk package
bq.which is silly -- bad package encapsulation).
bq.  
bq.(waitForRootServer) Renamed getRootServerConnection and change it
bq.from public to package private.
bq.(waitForRootServerConnectionDefault, getRootServerConnection) Removed.
bq.(getMetaServerConnection) Change from public to package private.
bq.Use MetaReader to read the meta location in root rather than a
bq.raw HRegionInterface so we get retrying.
bq.(remaining, timedout) Added utility methods.
bq.(waitForMetaServer) Changed from public to private.
bq.(resetMetaLocation) Made it synchronized on metaAvailable.
bq.Not all accesses were synchronized.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/MetaEditor.java
bq.Refactor to use HTable instead of raw HRegionInterface so we get
bq.retrying.  For each operation we get an HTable, use it, then close it.
bq.(putToMetaTable, putsToMetaTable, etc) Utility methods.
bq.(updateRootWithMetaMigrationStatus, etc.) Moved out to own
bq.class since these classes are for a one-time migration only.
bq.  
bq.  A 
src/main/java/org/apache/hadoop/hbase/catalog/MetaMigrationRemovingHTD.java
bq.New class that holds all Meta* methods updating meta table used
bq.doing the one-time migration done to meta on startup.  This class
bq.is marked deprecated because its going to be dropped in 0.94.
bq.  
bq.  M src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java
bq.Retrofit methods in here to use fullScan methods with Visitor.
bq.(getCatalogRegionInterface, getCatalogRegionNameForTable,
bq.  getCatalogRegionNameForRegion) Removed.
bq.(fullScan) Cleaned up the fullScans.  Fixed up wrong javadoc.
bq.(fullScanOfResults) Renamed as fullScan override.
bq.(fullScanOfRoot) Added as deprecated. We should be doing
bq.this against zk.
bq.(metaRowToRegionPair, getServerNameFromResult) Moved to Result

[jira] [Commented] (HBASE-4062) Multi-column scanner unit test

2011-09-27 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116075#comment-13116075
 ] 

jirapos...@reviews.apache.org commented on HBASE-4062:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1012/
---

(Updated 2011-09-28 02:16:10.418401)


Review request for hbase and Michael Stack.


Changes
---

Linking the HBASE-4062 JIRA to this review.


Summary
---

Adding a unit test for the multi-column scanner. We are using this this to test 
an optimization we are making to multi-column scans using row-column Bloom 
filters. The scanner creates multiple StoreFiles for a single column family, 
each containing a randomized set of columns with different timestamps, and then 
tests scanning through the whole region with all possible sets of columns 
specified in the query. Point deletes (deletes of a specific timestamp) are 
also tested.


This addresses bug HBASE-4062.
https://issues.apache.org/jira/browse/HBASE-4062


Diffs
-

  
src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java 
PRE-CREATION 

Diff: https://reviews.apache.org/r/1012/diff


Testing
---

Run the unit test. Break the store scanner and make sure the test breaks.


Thanks,

Mikhail



 Multi-column scanner unit test
 --

 Key: HBASE-4062
 URL: https://issues.apache.org/jira/browse/HBASE-4062
 Project: HBase
  Issue Type: Improvement
  Components: regionserver, test
Affects Versions: 0.94.0
Reporter: Mikhail Bautin
Assignee: Mikhail Bautin
Priority: Minor
  Labels: test
 Attachments: test-multi-column-scanner.patch


 Adding a unit test for the multi-column scanner. We are using this this to 
 test an optimization we are making to multi-column scans using row-column 
 Bloom filters. The scanner creates multiple StoreFiles for a single column 
 family, each containing a randomized set of columns with different 
 timestamps, and then tests scanning through the whole region with all 
 possible sets of columns specified in the query. Point deletes (deletes of a 
 specific timestamp) are also tested.

--
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




[jira] [Commented] (HBASE-2794) ROWCOL bloom filter not used if multiple columns within same family are requested in a Get

2011-09-28 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-2794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116569#comment-13116569
 ] 

jirapos...@reviews.apache.org commented on HBASE-2794:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2084/
---

Review request for hbase.


Summary
---

Previously we only used row-column Bloom filters for scans that only requested 
one column. We have seen production queries that request up to 200 columns, and 
with say ~6 store files per store (region / column family combination) this 
might have resulted in 1200 block read operations in the worst case. With this 
diff we will be avoiding seeks on store files that we know don't contain the 
row/column of interest when using an ExplicitColumnTracker. The performance 
should remain the same for column range queries.


This addresses bug HBASE-2794.
https://issues.apache.org/jira/browse/HBASE-2794


Diffs
-

  src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java 
08d3ba4 
  src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java ac2348e 
  src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java 4aa72de 
  src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java 
68cdac5 
  src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java fd9e7ef 
  src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java 9d9895c 
  src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java 
6cdada7 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 7cbdb98 
  
src/main/java/org/apache/hadoop/hbase/regionserver/AbstractKeyValueScanner.java 
PRE-CREATION 
  src/main/java/org/apache/hadoop/hbase/KeyValue.java 585c4a8 
  src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
f5173c4 
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java a3d778e 
  src/main/java/org/apache/hadoop/hbase/util/CollectionBackedScanner.java 
32f88fb 
  src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java 
a5d13f7 
  
src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java 
baee696 
  
src/test/java/org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.java 
PRE-CREATION 

Diff: https://reviews.apache.org/r/2084/diff


Testing
---

Existing unit tests. A new unit test (TestScanWithBloomError). Load testing 
using HBaseTest.


Thanks,

Mikhail



 ROWCOL bloom filter not used if multiple columns within same family are 
 requested in a Get
 --

 Key: HBASE-2794
 URL: https://issues.apache.org/jira/browse/HBASE-2794
 Project: HBase
  Issue Type: Improvement
  Components: performance
Reporter: Kannan Muthukkaruppan

 Noticed the following snippet in StoreFile.java:Scanner:shouldSeek():
 {code}
 switch(bloomFilterType) {
   case ROW:
 key = row;
 break;
   case ROWCOL:
 if (columns.size() == 1) {
   byte[] col = columns.first();
   key = Bytes.add(row, col);
   break;
 }
 //$FALL-THROUGH$
   default:
 return true;
 }
 {code}
 If columns.size  1, then we currently don't take advantage of the bloom 
 filter.  We should optimize this to check bloom for each of columns and if 
 none of the columns are present in the bloom avoid opening the file.

--
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




[jira] [Commented] (HBASE-2794) ROWCOL bloom filter not used if multiple columns within same family are requested in a Get

2011-09-28 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-2794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116578#comment-13116578
 ] 

jirapos...@reviews.apache.org commented on HBASE-2794:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2084/#review2130
---


nice work mikhail!  i will let someone else give the +1 though


src/main/java/org/apache/hadoop/hbase/KeyValue.java
https://reviews.apache.org/r/2084/#comment4946

method doesn't actually take a KeyValue... this is to create the last KV 
the on row and column for the KeyValue this is called on?



src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java
https://reviews.apache.org/r/2084/#comment4947

got it.  maybe add a comment on this method to explain this usage



src/test/java/org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.java
https://reviews.apache.org/r/2084/#comment4948

license


- Jonathan


On 2011-09-28 16:03:52, Mikhail Bautin wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2084/
bq.  ---
bq.  
bq.  (Updated 2011-09-28 16:03:52)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Previously we only used row-column Bloom filters for scans that only 
requested one column. We have seen production queries that request up to 200 
columns, and with say ~6 store files per store (region / column family 
combination) this might have resulted in 1200 block read operations in the 
worst case. With this diff we will be avoiding seeks on store files that we 
know don't contain the row/column of interest when using an 
ExplicitColumnTracker. The performance should remain the same for column range 
queries.
bq.  
bq.  
bq.  This addresses bug HBASE-2794.
bq.  https://issues.apache.org/jira/browse/HBASE-2794
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java 
08d3ba4 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java 
ac2348e 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java 4aa72de 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java 
68cdac5 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
fd9e7ef 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java 
9d9895c 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java 
6cdada7 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 7cbdb98 
bq.
src/main/java/org/apache/hadoop/hbase/regionserver/AbstractKeyValueScanner.java 
PRE-CREATION 
bq.src/main/java/org/apache/hadoop/hbase/KeyValue.java 585c4a8 
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
f5173c4 
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java a3d778e 
bq.src/main/java/org/apache/hadoop/hbase/util/CollectionBackedScanner.java 
32f88fb 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java 
a5d13f7 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java 
baee696 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.java 
PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/2084/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Existing unit tests. A new unit test (TestScanWithBloomError). Load 
testing using HBaseTest.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Mikhail
bq.  
bq.



 ROWCOL bloom filter not used if multiple columns within same family are 
 requested in a Get
 --

 Key: HBASE-2794
 URL: https://issues.apache.org/jira/browse/HBASE-2794
 Project: HBase
  Issue Type: Improvement
  Components: performance
Reporter: Kannan Muthukkaruppan

 Noticed the following snippet in StoreFile.java:Scanner:shouldSeek():
 {code}
 switch(bloomFilterType) {
   case ROW:
 key = row;
 break;
   case ROWCOL:
 if (columns.size() == 1) {
   byte[] col = columns.first();
   key = Bytes.add(row, col);
   break;
 }
 //$FALL-THROUGH$
   default:
 return true;
 }
 {code}
 If columns.size  1, then we currently don't take advantage of the bloom 
 filter.  We should optimize this to check bloom for each of columns and if 
 none of the columns are 

[jira] [Commented] (HBASE-4145) Provide metrics for hbase client

2011-09-28 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116588#comment-13116588
 ] 

jirapos...@reviews.apache.org commented on HBASE-4145:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1674/
---

(Updated 2011-09-28 16:35:57.691899)


Review request for hbase.


Changes
---

Merge with latest trunk.
Run unit tests couple more times.


Summary
---

1. Collect client-side scan related metrics during scan operation. It is turned 
off by default.
2. TableInputFormat enables metrics collection on scan and pass the data to 
mapreduce framework. It only works with new mapreduce APIs that allow 
TableInputFormat to get access to mapreduce Counter.
3. Clean up some minor issues in tableInputFormat as well as test code.


This addresses bug hbase-4145.
https://issues.apache.org/jira/browse/hbase-4145


Diffs (updated)
-

  
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableInputFormatScan.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReader.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
 PRE-CREATION 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/Scan.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HTable.java
 1176942 

Diff: https://reviews.apache.org/r/1674/diff


Testing
---

1. Verified on a small cluster.
2. Existing unit tests.
3. Added new tests.


Thanks,

Ming



 Provide metrics for hbase client
 

 Key: HBASE-4145
 URL: https://issues.apache.org/jira/browse/HBASE-4145
 Project: HBase
  Issue Type: Improvement
Reporter: Ming Ma
Assignee: Ming Ma
 Attachments: HBaseClientSideMetrics.jpg


 Sometimes it is useful to get some metrics from hbase client point of view. 
 This will help understand the metrics for scan/TableInputFormat map job 
 scenario.
 What to capture, for example, for each ResultScanner object,
 1. The number of RPC calls to RSs.
 2. The delta time between consecutive RPC calls in the current serialized 
 scan implementation.
 3. The number of RPC retry to RSs.
 4. The number of NotServingRegionException got.
 5. The number of remote RPC calls. This excludes those call that hbase client 
 calls the RS on the same machine.
 6. The number of regions accessed.
 How to capture
 1. Metrics framework works for a fixed number of metrics. It doesn't fit this 
 scenario.
 2. Use some TBD solution in HBase to capture such dynamic metrics. If we 
 assume there is a solution in HBase that HBase client can use to log such 
 kind of metrics, TableInputFormat can pass in mapreduce task ID as 
 application scan ID to HBase client as small addition to existing scan API; 
 and HBase client can log metrics accordingly with such ID. That will allow 
 query, analysis later on the metrics data for specific map reduce job.
 3. Expose via MapReduce counter. It lacks certain features, for example, 
 there is no good way to access the metrics on per map instance; the MapReduce 
 framework only performs sum on the counter values so it is tricky to find the 
 max of certain metrics in all mapper instances. However, it might be good 
 enough for now. With this approach, the metrics value will be available via 
 MapReduce counter.
 a) Have ResultScanner return a new ResultScannerMetrics interface.
 b) TableInputFormat will access data from ResultScannerMetrics and populate 
 MapReduce counters accordingly.

--
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 

[jira] [Commented] (HBASE-4506) [hbck] Allow HBaseFsck to be instantiated without connecting

2011-09-28 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4506?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116622#comment-13116622
 ] 

jirapos...@reviews.apache.org commented on HBASE-4506:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2085/
---

Review request for hbase and Michael Stack.


Summary
---

commit d51a9fa5f3419114deca8ecd71f4f1ec4d2a6bc5
Author: Jonathan Hsieh j...@cloudera.com
Date:   Wed Sep 28 10:18:00 2011 -0700

HBASE-4506 [hbck] Allow HBaseFsck to be instantiated without connecting

This is a semantics preserving patch that allows for offline meta rebuild 
(HBASE-4377) to reuse code in the existing hbck code when hbase is down.


This addresses bug HBASE-4506.
https://issues.apache.org/jira/browse/HBASE-4506


Diffs
-

  src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java 8465724 
  src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java fae0881 

Diff: https://reviews.apache.org/r/2085/diff


Testing
---

TestHBaseFsck passes.


Thanks,

jmhsieh



 [hbck] Allow HBaseFsck to be instantiated without connecting
 

 Key: HBASE-4506
 URL: https://issues.apache.org/jira/browse/HBASE-4506
 Project: HBase
  Issue Type: Improvement
  Components: hbck
Reporter: Jonathan Hsieh
Assignee: Jonathan Hsieh
 Attachments: 
 0001-HBASE-4506-hbck-Allow-HBaseFsck-to-be-instantiated-w.patch


 This is a semantics preserving patch that allows for offline meta rebuild 
 (HBASE-4377) to reuse code in the existing hbck code when hbase is down.

--
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




[jira] [Commented] (HBASE-2794) ROWCOL bloom filter not used if multiple columns within same family are requested in a Get

2011-09-28 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-2794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116628#comment-13116628
 ] 

jirapos...@reviews.apache.org commented on HBASE-2794:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2084/#review2137
---


This is an important feature.

Since the boolean parameter, forward, correlates so closely with reseek, can we 
give it a better name ?
I was thinking about either reseek or forwardOnly.

- Ted


On 2011-09-28 16:03:52, Mikhail Bautin wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2084/
bq.  ---
bq.  
bq.  (Updated 2011-09-28 16:03:52)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Previously we only used row-column Bloom filters for scans that only 
requested one column. We have seen production queries that request up to 200 
columns, and with say ~6 store files per store (region / column family 
combination) this might have resulted in 1200 block read operations in the 
worst case. With this diff we will be avoiding seeks on store files that we 
know don't contain the row/column of interest when using an 
ExplicitColumnTracker. The performance should remain the same for column range 
queries.
bq.  
bq.  
bq.  This addresses bug HBASE-2794.
bq.  https://issues.apache.org/jira/browse/HBASE-2794
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java 
08d3ba4 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java 
ac2348e 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java 4aa72de 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java 
68cdac5 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
fd9e7ef 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java 
9d9895c 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java 
6cdada7 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 7cbdb98 
bq.
src/main/java/org/apache/hadoop/hbase/regionserver/AbstractKeyValueScanner.java 
PRE-CREATION 
bq.src/main/java/org/apache/hadoop/hbase/KeyValue.java 585c4a8 
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
f5173c4 
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java a3d778e 
bq.src/main/java/org/apache/hadoop/hbase/util/CollectionBackedScanner.java 
32f88fb 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java 
a5d13f7 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java 
baee696 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.java 
PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/2084/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Existing unit tests. A new unit test (TestScanWithBloomError). Load 
testing using HBaseTest.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Mikhail
bq.  
bq.



 ROWCOL bloom filter not used if multiple columns within same family are 
 requested in a Get
 --

 Key: HBASE-2794
 URL: https://issues.apache.org/jira/browse/HBASE-2794
 Project: HBase
  Issue Type: Improvement
  Components: performance
Reporter: Kannan Muthukkaruppan

 Noticed the following snippet in StoreFile.java:Scanner:shouldSeek():
 {code}
 switch(bloomFilterType) {
   case ROW:
 key = row;
 break;
   case ROWCOL:
 if (columns.size() == 1) {
   byte[] col = columns.first();
   key = Bytes.add(row, col);
   break;
 }
 //$FALL-THROUGH$
   default:
 return true;
 }
 {code}
 If columns.size  1, then we currently don't take advantage of the bloom 
 filter.  We should optimize this to check bloom for each of columns and if 
 none of the columns are present in the bloom avoid opening the file.

--
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




[jira] [Commented] (HBASE-4422) Move block cache parameters and references into single CacheConf class

2011-09-28 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116720#comment-13116720
 ] 

jirapos...@reviews.apache.org commented on HBASE-4422:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2089/
---

Review request for hbase, Dhruba Borthakur, Michael Stack, and Li Pi.


Summary
---

Creates a new CacheConfig class and moves almost everything block cache related 
into this single class.  Adding new configuration params and booleans and such 
should be much better.

All tests are NOT passing yet, still working on it, but wanted to have 
something up today.  Basically code complete but broken :)


This addresses bug HBASE-4422.
https://issues.apache.org/jira/browse/HBASE-4422


Diffs
-


Diff: https://reviews.apache.org/r/2089/diff


Testing
---

Still working through some tests that aren't passing.


Thanks,

Jonathan



 Move block cache parameters and references into single CacheConf class
 --

 Key: HBASE-4422
 URL: https://issues.apache.org/jira/browse/HBASE-4422
 Project: HBase
  Issue Type: Improvement
  Components: io
Reporter: Jonathan Gray
Assignee: Jonathan Gray
 Fix For: 0.92.0


 From StoreFile down to HFile, we currently use a boolean argument for each of 
 the various block cache configuration parameters that exist.  The number of 
 parameters is going to continue to increase as we look at compressed cache, 
 delta encoding, and more specific L1/L2 configuration.  Every new config 
 currently requires changing many constructors because it introduces a new 
 boolean.
 We should move everything into a single class so that modifications are much 
 less disruptive.

--
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




[jira] [Commented] (HBASE-4422) Move block cache parameters and references into single CacheConf class

2011-09-28 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116742#comment-13116742
 ] 

jirapos...@reviews.apache.org commented on HBASE-4422:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2089/
---

(Updated 2011-09-28 19:56:14.698336)


Review request for hbase, Dhruba Borthakur, Michael Stack, and Li Pi.


Changes
---

Diff attached now.


Summary
---

Creates a new CacheConfig class and moves almost everything block cache related 
into this single class.  Adding new configuration params and booleans and such 
should be much better.

All tests are NOT passing yet, still working on it, but wanted to have 
something up today.  Basically code complete but broken :)


This addresses bug HBASE-4422.
https://issues.apache.org/jira/browse/HBASE-4422


Diffs (updated)
-

  /src/main/java/org/apache/hadoop/hbase/io/HalfStoreFileReader.java 1177030 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
1177030 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileWriter.java 
1177030 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java PRE-CREATION 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java 1177030 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.java 1177030 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.java 
1177030 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV1.java 1177030 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java 1177030 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV1.java 1177030 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java 1177030 
  /src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java 
1177030 
  /src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java 
1177030 
  /src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1177030 
  /src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
1177030 
  /src/main/java/org/apache/hadoop/hbase/regionserver/Store.java 1177030 
  /src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 1177030 
  /src/main/java/org/apache/hadoop/hbase/util/BloomFilterFactory.java 1177030 
  /src/main/java/org/apache/hadoop/hbase/util/CompressionTest.java 1177030 
  /src/test/java/org/apache/hadoop/hbase/HFilePerformanceEvaluation.java 
1177030 
  /src/test/java/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java 
1177030 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/RandomSeek.java 1177030 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java 1177030 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java 1177030 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java 
1177030 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFilePerformance.java 
1177030 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileReaderV1.java 
1177030 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java 1177030 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java 
1177030 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java 1177030 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java 1177030 
  /src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java 
1177030 
  
/src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFiles.java 
1177030 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksRead.java 
1177030 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactSelection.java 
1177030 
  
/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.java
 1177030 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestFSErrorsExposed.java 
1177030 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java 
1177030 
  
/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileBlockCacheSummary.java
 1177030 
  /src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALReplay.java 
1177030 

Diff: https://reviews.apache.org/r/2089/diff


Testing
---

Still working through some tests that aren't passing.


Thanks,

Jonathan



 Move block cache parameters and references into single CacheConf class
 --

 Key: HBASE-4422
 URL: https://issues.apache.org/jira/browse/HBASE-4422
 Project: HBase
  Issue Type: Improvement
  Components: io
Reporter: Jonathan Gray
Assignee: Jonathan Gray
 Fix For: 0.92.0


 From StoreFile down 

[jira] [Commented] (HBASE-4145) Provide metrics for hbase client

2011-09-28 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116884#comment-13116884
 ] 

jirapos...@reviews.apache.org commented on HBASE-4145:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1674/
---

(Updated 2011-09-28 23:03:54.523337)


Review request for hbase.


Changes
---

Thanks, Todd.

Rename counter name from COUNT_OF_RPC_CALLS to RPC_CALLS, etc.


Summary
---

1. Collect client-side scan related metrics during scan operation. It is turned 
off by default.
2. TableInputFormat enables metrics collection on scan and pass the data to 
mapreduce framework. It only works with new mapreduce APIs that allow 
TableInputFormat to get access to mapreduce Counter.
3. Clean up some minor issues in tableInputFormat as well as test code.


This addresses bug hbase-4145.
https://issues.apache.org/jira/browse/hbase-4145


Diffs (updated)
-

  
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReader.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
 PRE-CREATION 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/Scan.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HTable.java
 1176942 

Diff: https://reviews.apache.org/r/1674/diff


Testing
---

1. Verified on a small cluster.
2. Existing unit tests.
3. Added new tests.


Thanks,

Ming



 Provide metrics for hbase client
 

 Key: HBASE-4145
 URL: https://issues.apache.org/jira/browse/HBASE-4145
 Project: HBase
  Issue Type: Improvement
Reporter: Ming Ma
Assignee: Ming Ma
 Attachments: HBaseClientSideMetrics.jpg


 Sometimes it is useful to get some metrics from hbase client point of view. 
 This will help understand the metrics for scan/TableInputFormat map job 
 scenario.
 What to capture, for example, for each ResultScanner object,
 1. The number of RPC calls to RSs.
 2. The delta time between consecutive RPC calls in the current serialized 
 scan implementation.
 3. The number of RPC retry to RSs.
 4. The number of NotServingRegionException got.
 5. The number of remote RPC calls. This excludes those call that hbase client 
 calls the RS on the same machine.
 6. The number of regions accessed.
 How to capture
 1. Metrics framework works for a fixed number of metrics. It doesn't fit this 
 scenario.
 2. Use some TBD solution in HBase to capture such dynamic metrics. If we 
 assume there is a solution in HBase that HBase client can use to log such 
 kind of metrics, TableInputFormat can pass in mapreduce task ID as 
 application scan ID to HBase client as small addition to existing scan API; 
 and HBase client can log metrics accordingly with such ID. That will allow 
 query, analysis later on the metrics data for specific map reduce job.
 3. Expose via MapReduce counter. It lacks certain features, for example, 
 there is no good way to access the metrics on per map instance; the MapReduce 
 framework only performs sum on the counter values so it is tricky to find the 
 max of certain metrics in all mapper instances. However, it might be good 
 enough for now. With this approach, the metrics value will be available via 
 MapReduce counter.
 a) Have ResultScanner return a new ResultScannerMetrics interface.
 b) TableInputFormat will access data from ResultScannerMetrics and populate 
 MapReduce counters accordingly.

--
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




[jira] [Commented] (HBASE-4422) Move block cache parameters and references into single CacheConf class

2011-09-28 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116924#comment-13116924
 ] 

jirapos...@reviews.apache.org commented on HBASE-4422:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2089/#review2145
---


RB couldn't handle the diffs to StoreFile, something weird there.

I'll look at this again when the tests are working.


/src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileWriter.java
https://reviews.apache.org/r/2089/#comment4979

CacheConfig could extend Configuration? It's only extra constants and 
constructors, really.



/src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java
https://reviews.apache.org/r/2089/#comment4980

See above


- Andrew


On 2011-09-28 19:56:14, Jonathan Gray wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2089/
bq.  ---
bq.  
bq.  (Updated 2011-09-28 19:56:14)
bq.  
bq.  
bq.  Review request for hbase, Dhruba Borthakur, Michael Stack, and Li Pi.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Creates a new CacheConfig class and moves almost everything block cache 
related into this single class.  Adding new configuration params and booleans 
and such should be much better.
bq.  
bq.  All tests are NOT passing yet, still working on it, but wanted to have 
something up today.  Basically code complete but broken :)
bq.  
bq.  
bq.  This addresses bug HBASE-4422.
bq.  https://issues.apache.org/jira/browse/HBASE-4422
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq./src/main/java/org/apache/hadoop/hbase/io/HalfStoreFileReader.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileWriter.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java 
PRE-CREATION 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java 1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV1.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV1.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java 
1177030 
bq.
/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/Store.java 1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/util/BloomFilterFactory.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/util/CompressionTest.java 1177030 
bq./src/test/java/org/apache/hadoop/hbase/HFilePerformanceEvaluation.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/RandomSeek.java 1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java 1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java 
1177030 
bq.
/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFilePerformance.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileReaderV1.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java 1177030 
bq.
/src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java 
1177030 
bq.
/src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFiles.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksRead.java 
1177030 
bq.
/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactSelection.java 
1177030 
bq.

[jira] [Commented] (HBASE-4422) Move block cache parameters and references into single CacheConf class

2011-09-28 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116935#comment-13116935
 ] 

jirapos...@reviews.apache.org commented on HBASE-4422:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2089/#review2147
---


Cool... This makes it much simpler in the future.
Are you still planning to fold HBASE-4496 into this?


/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV1.java
https://reviews.apache.org/r/2089/#comment4981

Hmm... The new code does not honor the cacheBlock flag that was passed into 
the method.



/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV1.java
https://reviews.apache.org/r/2089/#comment4982

Same here. blockCache flag is not honored.


- Lars


On 2011-09-28 19:56:14, Jonathan Gray wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2089/
bq.  ---
bq.  
bq.  (Updated 2011-09-28 19:56:14)
bq.  
bq.  
bq.  Review request for hbase, Dhruba Borthakur, Michael Stack, and Li Pi.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Creates a new CacheConfig class and moves almost everything block cache 
related into this single class.  Adding new configuration params and booleans 
and such should be much better.
bq.  
bq.  All tests are NOT passing yet, still working on it, but wanted to have 
something up today.  Basically code complete but broken :)
bq.  
bq.  
bq.  This addresses bug HBASE-4422.
bq.  https://issues.apache.org/jira/browse/HBASE-4422
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq./src/main/java/org/apache/hadoop/hbase/io/HalfStoreFileReader.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileWriter.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java 
PRE-CREATION 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java 1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV1.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV1.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java 
1177030 
bq.
/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/Store.java 1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/util/BloomFilterFactory.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/util/CompressionTest.java 1177030 
bq./src/test/java/org/apache/hadoop/hbase/HFilePerformanceEvaluation.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/RandomSeek.java 1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java 1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java 
1177030 
bq.
/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFilePerformance.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileReaderV1.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java 1177030 
bq.
/src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java 
1177030 
bq.
/src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFiles.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksRead.java 
1177030 
bq.
/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactSelection.java 
1177030 
bq.

[jira] [Commented] (HBASE-4145) Provide metrics for hbase client

2011-09-28 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116985#comment-13116985
 ] 

jirapos...@reviews.apache.org commented on HBASE-4145:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1674/#review2148
---



http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
https://reviews.apache.org/r/1674/#comment4983

Should read 'can be easily'


- Ted


On 2011-09-28 23:03:54, Ming Ma wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/1674/
bq.  ---
bq.  
bq.  (Updated 2011-09-28 23:03:54)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  1. Collect client-side scan related metrics during scan operation. It is 
turned off by default.
bq.  2. TableInputFormat enables metrics collection on scan and pass the data 
to mapreduce framework. It only works with new mapreduce APIs that allow 
TableInputFormat to get access to mapreduce Counter.
bq.  3. Clean up some minor issues in tableInputFormat as well as test code.
bq.  
bq.  
bq.  This addresses bug hbase-4145.
bq.  https://issues.apache.org/jira/browse/hbase-4145
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReader.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
 PRE-CREATION 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/Scan.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HTable.java
 1176942 
bq.  
bq.  Diff: https://reviews.apache.org/r/1674/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  1. Verified on a small cluster.
bq.  2. Existing unit tests.
bq.  3. Added new tests.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Ming
bq.  
bq.



 Provide metrics for hbase client
 

 Key: HBASE-4145
 URL: https://issues.apache.org/jira/browse/HBASE-4145
 Project: HBase
  Issue Type: Improvement
Reporter: Ming Ma
Assignee: Ming Ma
 Attachments: HBaseClientSideMetrics.jpg


 Sometimes it is useful to get some metrics from hbase client point of view. 
 This will help understand the metrics for scan/TableInputFormat map job 
 scenario.
 What to capture, for example, for each ResultScanner object,
 1. The number of RPC calls to RSs.
 2. The delta time between consecutive RPC calls in the current serialized 
 scan implementation.
 3. The number of RPC retry to RSs.
 4. The number of NotServingRegionException got.
 5. The number of remote RPC calls. This excludes those call that hbase client 
 calls the RS on the same machine.
 6. The number of regions accessed.
 How to capture
 1. Metrics framework works for a fixed number of metrics. It doesn't fit this 
 scenario.
 2. Use some TBD solution in HBase to capture such dynamic metrics. If we 
 assume there is a solution in HBase that HBase client can use to log such 
 kind of metrics, TableInputFormat can pass in mapreduce task ID as 
 application scan ID to HBase client as small addition to existing scan API; 
 and HBase client can log metrics accordingly with such ID. That will allow 
 query, analysis later on the metrics data for specific map reduce job.
 3. Expose via MapReduce counter. It lacks certain features, for example, 
 there is no good way to access the metrics on per map instance; the MapReduce 
 framework only performs sum on the counter values so it is tricky to find the 
 max of certain metrics in all mapper instances. 

[jira] [Commented] (HBASE-4145) Provide metrics for hbase client

2011-09-28 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13116989#comment-13116989
 ] 

jirapos...@reviews.apache.org commented on HBASE-4145:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1674/#review2149
---


Nice work.


http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
https://reviews.apache.org/r/1674/#comment4986

Should be declared as implementing VersionedWritable.



http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
https://reviews.apache.org/r/1674/#comment4984

It is a bit hard to read this counter.



http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
https://reviews.apache.org/r/1674/#comment4985

This is count of regions scanned, right ?
If so, please name it that way.



http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
https://reviews.apache.org/r/1674/#comment4987

mb should be included in the exception.



http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
https://reviews.apache.org/r/1674/#comment4988

Why do we need this check again ?



http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
https://reviews.apache.org/r/1674/#comment4989

Value of version should be included here.



http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
https://reviews.apache.org/r/1674/#comment4990

I think we should have else block where the unsupported mb is logged.



http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
https://reviews.apache.org/r/1674/#comment4991

This name doesn't really match the constant above. I think HBase mapreduce 
Counters would be better.



http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
https://reviews.apache.org/r/1674/#comment4992

This should not be a tongue twister.
How about naming it retrieveGetCounterWithStrings ?



http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
https://reviews.apache.org/r/1674/#comment4993

Shall we create the Object array outside the for loop and only fill in 
Metric name here ?


- Ted


On 2011-09-28 23:03:54, Ming Ma wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/1674/
bq.  ---
bq.  
bq.  (Updated 2011-09-28 23:03:54)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  1. Collect client-side scan related metrics during scan operation. It is 
turned off by default.
bq.  2. TableInputFormat enables metrics collection on scan and pass the data 
to mapreduce framework. It only works with new mapreduce APIs that allow 
TableInputFormat to get access to mapreduce Counter.
bq.  3. Clean up some minor issues in tableInputFormat as well as test code.
bq.  
bq.  
bq.  This addresses bug hbase-4145.
bq.  https://issues.apache.org/jira/browse/hbase-4145
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReader.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
 PRE-CREATION 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/Scan.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
 1176942 

[jira] [Commented] (HBASE-4510) HDFS-1620 related changes downstream (For compiling with HDFS 0.23+)

2011-09-28 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117022#comment-13117022
 ] 

jirapos...@reviews.apache.org commented on HBASE-4510:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2108/
---

Review request for hbase.


Summary
---

HBase isn't seemingly compiling anymore on 0.23 after the HDFS-1620 naming 
refactorings were carried out.

Two solutions:

1. We use new classnames. This breaks HBase's backward compatibility with older 
Hadoop releases (is that a concern with future releases?)
2. HBase gets its own sets of constants as the upstream one is not marked for 
public usage. This needs a little more maintenance on HBases' side.

Way (2) seems more viable. I've attached an initial patch that doesn't fix all 
trouble yet, but introduces the first way of changes.

The remaining issue lies in the use of DistributedFileSystem's safemode methods 
(which are private audience as well) inside of HBase for safemode waits and 
checks (via HBases' FSUtils class). Since this uses an enum, it is more 
difficult to handle without upstream interventions - thoughts?


This addresses bug HBASE-4510.
https://issues.apache.org/jira/browse/HBASE-4510


Diffs
-

  src/main/java/org/apache/hadoop/hbase/util/FSHDFSUtils.java dcd0937 

Diff: https://reviews.apache.org/r/2108/diff


Testing
---


Thanks,

Harsh



 HDFS-1620 related changes downstream (For compiling with HDFS 0.23+)
 

 Key: HBASE-4510
 URL: https://issues.apache.org/jira/browse/HBASE-4510
 Project: HBase
  Issue Type: Task
Affects Versions: 0.94.0
Reporter: Harsh J
Assignee: Harsh J
Priority: Blocker

 HBase isn't seemingly compiling anymore on 0.23 after the HDFS-1620 naming 
 refactorings were carried out.
 Two solutions:
 * We use new classnames. This breaks HBase's backward compatibility with 
 older Hadoop releases (is that a concern with future releases?)
 * HBase gets its own sets of constants as the upstream one is not marked for 
 public usage. This needs a little more maintenance on HBases' side.

--
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




[jira] [Commented] (HBASE-4509) [hbck] Improve region map output

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4509?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117093#comment-13117093
 ] 

jirapos...@reviews.apache.org commented on HBASE-4509:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2111/
---

Review request for hbase, Todd Lipcon and Michael Stack.


Summary
---

This is on top of HBASE-4506 but doesn't require it.

commit 17d3b8856a8e7c803463fb37b1bd4691d0a02ba9
Author: Jonathan Hsieh j...@cloudera.com
Date:   Wed Sep 28 20:32:02 2011 -0700

HBASE-4509 [hbck] Improve region map output

Details:

HBASE-4375 added a region coverage visualization to hbck in details mode. When 
users have binary row keys the output is difficult to parse (awk/sed) or pull 
into programs (numeric, excel) capable of handling tsv formatted data.

This patch:

* improves output by using Bytes.toStringBinary (which escapes binary) instead 
of Bytes.toString when printing keys,
* suggests some repair actions, and
* collects overlap group that groups regions that are overlapping.


This addresses bug HBASE-4509.
https://issues.apache.org/jira/browse/HBASE-4509


Diffs
-

  src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java 8465724 
  src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java fae0881 

Diff: https://reviews.apache.org/r/2111/diff


Testing
---

Updated unit test passes.  Used on a live cluster to get better information 
when dianosing problem.


Thanks,

jmhsieh



 [hbck] Improve region map output
 

 Key: HBASE-4509
 URL: https://issues.apache.org/jira/browse/HBASE-4509
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.92.0, 0.94.0, 0.90.5
Reporter: Jonathan Hsieh
Assignee: Jonathan Hsieh
 Attachments: 0001-HBASE-4509-hbck-Improve-region-map-output.patch


 HBASE-4375 added a region coverage visualization to hbck in details mode.  
 When users have binary row keys the output is difficult to parse (awk/sed) or 
 pull into programs (numeric, excel) capable of handling tsv formatted data.
 This patch 
 * improves output by using Bytes.toStringBinary (which escapes binary) 
 instead of Bytes.toString when printing keys, 
 * suggests some repair actions, and 
 * collects problem group that groups regions that are overlapping.

--
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




[jira] [Commented] (HBASE-4145) Provide metrics for hbase client

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117295#comment-13117295
 ] 

jirapos...@reviews.apache.org commented on HBASE-4145:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1674/#review2150
---



http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
https://reviews.apache.org/r/1674/#comment4994

I think we need not give copyright information.


- ramkrishna


On 2011-09-28 23:03:54, Ming Ma wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/1674/
bq.  ---
bq.  
bq.  (Updated 2011-09-28 23:03:54)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  1. Collect client-side scan related metrics during scan operation. It is 
turned off by default.
bq.  2. TableInputFormat enables metrics collection on scan and pass the data 
to mapreduce framework. It only works with new mapreduce APIs that allow 
TableInputFormat to get access to mapreduce Counter.
bq.  3. Clean up some minor issues in tableInputFormat as well as test code.
bq.  
bq.  
bq.  This addresses bug hbase-4145.
bq.  https://issues.apache.org/jira/browse/hbase-4145
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReader.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
 PRE-CREATION 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/Scan.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HTable.java
 1176942 
bq.  
bq.  Diff: https://reviews.apache.org/r/1674/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  1. Verified on a small cluster.
bq.  2. Existing unit tests.
bq.  3. Added new tests.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Ming
bq.  
bq.



 Provide metrics for hbase client
 

 Key: HBASE-4145
 URL: https://issues.apache.org/jira/browse/HBASE-4145
 Project: HBase
  Issue Type: Improvement
Reporter: Ming Ma
Assignee: Ming Ma
 Attachments: HBaseClientSideMetrics.jpg


 Sometimes it is useful to get some metrics from hbase client point of view. 
 This will help understand the metrics for scan/TableInputFormat map job 
 scenario.
 What to capture, for example, for each ResultScanner object,
 1. The number of RPC calls to RSs.
 2. The delta time between consecutive RPC calls in the current serialized 
 scan implementation.
 3. The number of RPC retry to RSs.
 4. The number of NotServingRegionException got.
 5. The number of remote RPC calls. This excludes those call that hbase client 
 calls the RS on the same machine.
 6. The number of regions accessed.
 How to capture
 1. Metrics framework works for a fixed number of metrics. It doesn't fit this 
 scenario.
 2. Use some TBD solution in HBase to capture such dynamic metrics. If we 
 assume there is a solution in HBase that HBase client can use to log such 
 kind of metrics, TableInputFormat can pass in mapreduce task ID as 
 application scan ID to HBase client as small addition to existing scan API; 
 and HBase client can log metrics accordingly with such ID. That will allow 
 query, analysis later on the metrics data for specific map reduce job.
 3. Expose via MapReduce counter. It lacks certain features, for example, 
 there is no good way to access the metrics on per map instance; the MapReduce 
 framework only performs sum on the counter values so it is tricky to find the 
 max of certain metrics in 

[jira] [Commented] (HBASE-4422) Move block cache parameters and references into single CacheConf class

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117456#comment-13117456
 ] 

jirapos...@reviews.apache.org commented on HBASE-4422:
--



bq.  On 2011-09-29 00:50:58, Andrew Purtell wrote:
bq.   
/src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileWriter.java, line 
112
bq.   https://reviews.apache.org/r/2089/diff/1/?file=46305#file46305line112
bq.  
bq.   CacheConfig could extend Configuration? It's only extra constants 
and constructors, really.

I considered doing that.  But they seem orthogonal in most of their usage and I 
think it'd be weird to pass our Configuration all the way down into HFile 
reading and such.  Changing config values dynamically (like disabling caching 
for a specific read) would then require changing the base Configuration or 
would the local booleans in the CacheConfig not match what's in the underlying 
Configuration?


- Jonathan


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2089/#review2145
---


On 2011-09-28 19:56:14, Jonathan Gray wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2089/
bq.  ---
bq.  
bq.  (Updated 2011-09-28 19:56:14)
bq.  
bq.  
bq.  Review request for hbase, Dhruba Borthakur, Michael Stack, and Li Pi.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Creates a new CacheConfig class and moves almost everything block cache 
related into this single class.  Adding new configuration params and booleans 
and such should be much better.
bq.  
bq.  All tests are NOT passing yet, still working on it, but wanted to have 
something up today.  Basically code complete but broken :)
bq.  
bq.  
bq.  This addresses bug HBASE-4422.
bq.  https://issues.apache.org/jira/browse/HBASE-4422
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq./src/main/java/org/apache/hadoop/hbase/io/HalfStoreFileReader.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileWriter.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java 
PRE-CREATION 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java 1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV1.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV1.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java 
1177030 
bq.
/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/Store.java 1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/util/BloomFilterFactory.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/util/CompressionTest.java 1177030 
bq./src/test/java/org/apache/hadoop/hbase/HFilePerformanceEvaluation.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/RandomSeek.java 1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java 1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java 
1177030 
bq.
/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFilePerformance.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileReaderV1.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java 1177030 
bq.
/src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java 
1177030 
bq.

[jira] [Commented] (HBASE-4422) Move block cache parameters and references into single CacheConf class

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117458#comment-13117458
 ] 

jirapos...@reviews.apache.org commented on HBASE-4422:
--



bq.  On 2011-09-29 01:10:28, Lars Hofhansl wrote:
bq.   Cool... This makes it much simpler in the future.
bq.   Are you still planning to fold HBASE-4496 into this?

Yes, I will look at that today.  I'm thinking about a new test for all this 
stuff since this diff is riddled with bugs and it's a bit random which tests 
fail :)


bq.  On 2011-09-29 01:10:28, Lars Hofhansl wrote:
bq.   /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV1.java, line 
244
bq.   https://reviews.apache.org/r/2089/diff/1/?file=46310#file46310line244
bq.  
bq.   Hmm... The new code does not honor the cacheBlock flag that was 
passed into the method.

Yeah, this is the stuff I need to go back and review.  Thanks for pointing me 
to the right place :)

Will have a new diff up in a bit.


- Jonathan


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2089/#review2147
---


On 2011-09-28 19:56:14, Jonathan Gray wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2089/
bq.  ---
bq.  
bq.  (Updated 2011-09-28 19:56:14)
bq.  
bq.  
bq.  Review request for hbase, Dhruba Borthakur, Michael Stack, and Li Pi.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Creates a new CacheConfig class and moves almost everything block cache 
related into this single class.  Adding new configuration params and booleans 
and such should be much better.
bq.  
bq.  All tests are NOT passing yet, still working on it, but wanted to have 
something up today.  Basically code complete but broken :)
bq.  
bq.  
bq.  This addresses bug HBASE-4422.
bq.  https://issues.apache.org/jira/browse/HBASE-4422
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq./src/main/java/org/apache/hadoop/hbase/io/HalfStoreFileReader.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileWriter.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java 
PRE-CREATION 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java 1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV1.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV1.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java 
1177030 
bq.
/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/Store.java 1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/util/BloomFilterFactory.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/util/CompressionTest.java 1177030 
bq./src/test/java/org/apache/hadoop/hbase/HFilePerformanceEvaluation.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/RandomSeek.java 1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java 1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java 
1177030 
bq.
/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFilePerformance.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileReaderV1.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java 1177030 
bq.
/src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java 
1177030 
bq.

[jira] [Commented] (HBASE-2794) ROWCOL bloom filter not used if multiple columns within same family are requested in a Get

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-2794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117517#comment-13117517
 ] 

jirapos...@reviews.apache.org commented on HBASE-2794:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2084/#review2161
---



src/main/java/org/apache/hadoop/hbase/KeyValue.java
https://reviews.apache.org/r/2084/#comment5035

I was implying that this is also a method argument when I wrote this 
comment. I will edit this to make it clearer.



src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java
https://reviews.apache.org/r/2084/#comment5036

Yes, I will modify the javadoc of this method.


- Mikhail


On 2011-09-28 16:03:52, Mikhail Bautin wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2084/
bq.  ---
bq.  
bq.  (Updated 2011-09-28 16:03:52)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Previously we only used row-column Bloom filters for scans that only 
requested one column. We have seen production queries that request up to 200 
columns, and with say ~6 store files per store (region / column family 
combination) this might have resulted in 1200 block read operations in the 
worst case. With this diff we will be avoiding seeks on store files that we 
know don't contain the row/column of interest when using an 
ExplicitColumnTracker. The performance should remain the same for column range 
queries.
bq.  
bq.  
bq.  This addresses bug HBASE-2794.
bq.  https://issues.apache.org/jira/browse/HBASE-2794
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java 
08d3ba4 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java 
ac2348e 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java 4aa72de 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java 
68cdac5 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
fd9e7ef 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java 
9d9895c 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java 
6cdada7 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 7cbdb98 
bq.
src/main/java/org/apache/hadoop/hbase/regionserver/AbstractKeyValueScanner.java 
PRE-CREATION 
bq.src/main/java/org/apache/hadoop/hbase/KeyValue.java 585c4a8 
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
f5173c4 
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java a3d778e 
bq.src/main/java/org/apache/hadoop/hbase/util/CollectionBackedScanner.java 
32f88fb 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java 
a5d13f7 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java 
baee696 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.java 
PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/2084/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Existing unit tests. A new unit test (TestScanWithBloomError). Load 
testing using HBaseTest.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Mikhail
bq.  
bq.



 ROWCOL bloom filter not used if multiple columns within same family are 
 requested in a Get
 --

 Key: HBASE-2794
 URL: https://issues.apache.org/jira/browse/HBASE-2794
 Project: HBase
  Issue Type: Improvement
  Components: performance
Reporter: Kannan Muthukkaruppan
 Fix For: 0.92.0


 Noticed the following snippet in StoreFile.java:Scanner:shouldSeek():
 {code}
 switch(bloomFilterType) {
   case ROW:
 key = row;
 break;
   case ROWCOL:
 if (columns.size() == 1) {
   byte[] col = columns.first();
   key = Bytes.add(row, col);
   break;
 }
 //$FALL-THROUGH$
   default:
 return true;
 }
 {code}
 If columns.size  1, then we currently don't take advantage of the bloom 
 filter.  We should optimize this to check bloom for each of columns and if 
 none of the columns are present in the bloom avoid opening the file.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 

[jira] [Commented] (HBASE-2794) ROWCOL bloom filter not used if multiple columns within same family are requested in a Get

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-2794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117523#comment-13117523
 ] 

jirapos...@reviews.apache.org commented on HBASE-2794:
--



bq.  On 2011-09-28 17:42:46, Ted Yu wrote:
bq.   This is an important feature.
bq.   
bq.   Since the boolean parameter, forward, correlates so closely with reseek, 
can we give it a better name ?
bq.   I was thinking about either reseek or forwardOnly.

We have a few diffs in the pipeline that depend on this one. Can we rename the 
boolean flag after we commit those diffs?


- Mikhail


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2084/#review2137
---


On 2011-09-28 16:03:52, Mikhail Bautin wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2084/
bq.  ---
bq.  
bq.  (Updated 2011-09-28 16:03:52)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Previously we only used row-column Bloom filters for scans that only 
requested one column. We have seen production queries that request up to 200 
columns, and with say ~6 store files per store (region / column family 
combination) this might have resulted in 1200 block read operations in the 
worst case. With this diff we will be avoiding seeks on store files that we 
know don't contain the row/column of interest when using an 
ExplicitColumnTracker. The performance should remain the same for column range 
queries.
bq.  
bq.  
bq.  This addresses bug HBASE-2794.
bq.  https://issues.apache.org/jira/browse/HBASE-2794
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java 
08d3ba4 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java 
ac2348e 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java 4aa72de 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java 
68cdac5 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
fd9e7ef 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java 
9d9895c 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java 
6cdada7 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 7cbdb98 
bq.
src/main/java/org/apache/hadoop/hbase/regionserver/AbstractKeyValueScanner.java 
PRE-CREATION 
bq.src/main/java/org/apache/hadoop/hbase/KeyValue.java 585c4a8 
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
f5173c4 
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java a3d778e 
bq.src/main/java/org/apache/hadoop/hbase/util/CollectionBackedScanner.java 
32f88fb 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java 
a5d13f7 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java 
baee696 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.java 
PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/2084/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Existing unit tests. A new unit test (TestScanWithBloomError). Load 
testing using HBaseTest.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Mikhail
bq.  
bq.



 ROWCOL bloom filter not used if multiple columns within same family are 
 requested in a Get
 --

 Key: HBASE-2794
 URL: https://issues.apache.org/jira/browse/HBASE-2794
 Project: HBase
  Issue Type: Improvement
  Components: performance
Reporter: Kannan Muthukkaruppan
 Fix For: 0.92.0


 Noticed the following snippet in StoreFile.java:Scanner:shouldSeek():
 {code}
 switch(bloomFilterType) {
   case ROW:
 key = row;
 break;
   case ROWCOL:
 if (columns.size() == 1) {
   byte[] col = columns.first();
   key = Bytes.add(row, col);
   break;
 }
 //$FALL-THROUGH$
   default:
 return true;
 }
 {code}
 If columns.size  1, then we currently don't take advantage of the bloom 
 filter.  We should optimize this to check bloom for each of columns and if 
 none of the columns are present in the bloom avoid opening the file.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 

[jira] [Commented] (HBASE-2794) ROWCOL bloom filter not used if multiple columns within same family are requested in a Get

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-2794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117524#comment-13117524
 ] 

jirapos...@reviews.apache.org commented on HBASE-2794:
--



bq.  On 2011-09-28 17:42:46, Ted Yu wrote:
bq.   This is an important feature.
bq.   
bq.   Since the boolean parameter, forward, correlates so closely with reseek, 
can we give it a better name ?
bq.   I was thinking about either reseek or forwardOnly.
bq.  
bq.  Mikhail Bautin wrote:
bq.  We have a few diffs in the pipeline that depend on this one. Can we 
rename the boolean flag after we commit those diffs?

I am fine with the current name of forward.


- Ted


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2084/#review2137
---


On 2011-09-28 16:03:52, Mikhail Bautin wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2084/
bq.  ---
bq.  
bq.  (Updated 2011-09-28 16:03:52)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Previously we only used row-column Bloom filters for scans that only 
requested one column. We have seen production queries that request up to 200 
columns, and with say ~6 store files per store (region / column family 
combination) this might have resulted in 1200 block read operations in the 
worst case. With this diff we will be avoiding seeks on store files that we 
know don't contain the row/column of interest when using an 
ExplicitColumnTracker. The performance should remain the same for column range 
queries.
bq.  
bq.  
bq.  This addresses bug HBASE-2794.
bq.  https://issues.apache.org/jira/browse/HBASE-2794
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java 
08d3ba4 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java 
ac2348e 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java 4aa72de 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java 
68cdac5 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
fd9e7ef 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java 
9d9895c 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java 
6cdada7 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 7cbdb98 
bq.
src/main/java/org/apache/hadoop/hbase/regionserver/AbstractKeyValueScanner.java 
PRE-CREATION 
bq.src/main/java/org/apache/hadoop/hbase/KeyValue.java 585c4a8 
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
f5173c4 
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java a3d778e 
bq.src/main/java/org/apache/hadoop/hbase/util/CollectionBackedScanner.java 
32f88fb 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java 
a5d13f7 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java 
baee696 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.java 
PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/2084/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Existing unit tests. A new unit test (TestScanWithBloomError). Load 
testing using HBaseTest.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Mikhail
bq.  
bq.



 ROWCOL bloom filter not used if multiple columns within same family are 
 requested in a Get
 --

 Key: HBASE-2794
 URL: https://issues.apache.org/jira/browse/HBASE-2794
 Project: HBase
  Issue Type: Improvement
  Components: performance
Reporter: Kannan Muthukkaruppan
 Fix For: 0.92.0


 Noticed the following snippet in StoreFile.java:Scanner:shouldSeek():
 {code}
 switch(bloomFilterType) {
   case ROW:
 key = row;
 break;
   case ROWCOL:
 if (columns.size() == 1) {
   byte[] col = columns.first();
   key = Bytes.add(row, col);
   break;
 }
 //$FALL-THROUGH$
   default:
 return true;
 }
 {code}
 If columns.size  1, then we currently don't take advantage of the bloom 
 filter.  We should optimize this to check bloom for each of columns and if 
 none of the columns are present in the bloom avoid opening the file.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact 

[jira] [Commented] (HBASE-4422) Move block cache parameters and references into single CacheConf class

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117546#comment-13117546
 ] 

jirapos...@reviews.apache.org commented on HBASE-4422:
--



bq.  On 2011-09-29 00:50:58, Andrew Purtell wrote:
bq.   
/src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileWriter.java, line 
112
bq.   https://reviews.apache.org/r/2089/diff/1/?file=46305#file46305line112
bq.  
bq.   CacheConfig could extend Configuration? It's only extra constants 
and constructors, really.
bq.  
bq.  Jonathan Gray wrote:
bq.  I considered doing that.  But they seem orthogonal in most of their 
usage and I think it'd be weird to pass our Configuration all the way down into 
HFile reading and such.  Changing config values dynamically (like disabling 
caching for a specific read) would then require changing the base Configuration 
or would the local booleans in the CacheConfig not match what's in the 
underlying Configuration?

Fair enough, but it's a common pattern to mutate a Configuration object and 
then pass it along.


- Andrew


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2089/#review2145
---


On 2011-09-28 19:56:14, Jonathan Gray wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2089/
bq.  ---
bq.  
bq.  (Updated 2011-09-28 19:56:14)
bq.  
bq.  
bq.  Review request for hbase, Dhruba Borthakur, Michael Stack, and Li Pi.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Creates a new CacheConfig class and moves almost everything block cache 
related into this single class.  Adding new configuration params and booleans 
and such should be much better.
bq.  
bq.  All tests are NOT passing yet, still working on it, but wanted to have 
something up today.  Basically code complete but broken :)
bq.  
bq.  
bq.  This addresses bug HBASE-4422.
bq.  https://issues.apache.org/jira/browse/HBASE-4422
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq./src/main/java/org/apache/hadoop/hbase/io/HalfStoreFileReader.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileWriter.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java 
PRE-CREATION 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java 1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV1.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV1.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java 
1177030 
bq.
/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/Store.java 1177030 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/util/BloomFilterFactory.java 
1177030 
bq./src/main/java/org/apache/hadoop/hbase/util/CompressionTest.java 1177030 
bq./src/test/java/org/apache/hadoop/hbase/HFilePerformanceEvaluation.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/RandomSeek.java 1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java 1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java 
1177030 
bq.
/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFilePerformance.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileReaderV1.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java 
1177030 
bq./src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java 1177030 
bq.

[jira] [Commented] (HBASE-4487) The increment operation can release the rowlock before sync-ing the Hlog

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117556#comment-13117556
 ] 

jirapos...@reviews.apache.org commented on HBASE-4487:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2116/
---

Review request for hbase and Ted Yu.


Summary
---

The increment operation releases the rowlock before doing the sync to the HLog. 
This improves performance of increments on hot rows. Introduced method 
HLog.appendNoSync() that returns a txid. The increment method then release the 
rowlock and invokes HLog.sync(txid). The HLog.sync(txid) returns only if all 
the transactions upto the one identified by that txid has been successfully 
sycned to HDFS.

There is a single test TestIncrement that creates a 100 threads and ensures 
that all the concurrent increments match the final expected result. There is a 
benchmark TestHLogBench that measures the performance of the appendNoSync call.


This addresses bug HBASE-4487.
https://issues.apache.org/jira/browse/HBASE-4487


Diffs
-

  /src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1177401 
  /src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java 1177401 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestIncrement.java 
PRE-CREATION 
  /src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLogBench.java 
PRE-CREATION 
  
/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.java
 1177401 
  
/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java
 1177401 

Diff: https://reviews.apache.org/r/2116/diff


Testing
---

All unit tests pass now (expect TestDistributedLogSplitting, 
TestRollingRestart, TestHTablePool), but I am seeing the same test to fail on 
trunk, so these failures do not seem to be related to this patch.


Thanks,

Dhruba



 The increment operation can release the rowlock before sync-ing the Hlog
 

 Key: HBASE-4487
 URL: https://issues.apache.org/jira/browse/HBASE-4487
 Project: HBase
  Issue Type: Improvement
Reporter: dhruba borthakur
Assignee: dhruba borthakur
 Attachments: appendNoSync4.txt, appendNoSync5.txt, appendNoSync6.txt


 This allows for better throughput when there are hot rows.I have seen this 
 change make a single row update improve from 400 increments/sec/server to 
 4000 increments/sec/server.

--
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




[jira] [Commented] (HBASE-4070) [Coprocessors] Improve region server metrics to report loaded coprocessors to master

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117583#comment-13117583
 ] 

jirapos...@reviews.apache.org commented on HBASE-4070:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2029/
---

(Updated 2011-09-29 20:15:12.832998)


Review request for hbase and Mingjie Lai.


Changes
---

show both tests.


Summary
---

Proposed fix for HBASE-4070. 


This addresses bug HBASE-4070.
https://issues.apache.org/jira/browse/HBASE-4070


Diffs
-

  src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon abeb850 
  src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon be6fceb 
  src/main/java/org/apache/hadoop/hbase/HServerLoad.java 0c680e4 
  src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java a55a4b1 
  src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java 
dbae4fd 
  src/main/java/org/apache/hadoop/hbase/ipc/HMasterInterface.java a069400 
  src/main/java/org/apache/hadoop/hbase/master/HMaster.java 270f3f3 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 96b763b 
  src/main/ruby/hbase/admin.rb b244ffe 
  
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java 
a8f2a9c 

Diff: https://reviews.apache.org/r/2029/diff


Testing (updated)
---

Two new tests : testRegionServerCoprocessorReported() and 
testMasterServerCoprocessorsReported() added to 
src/test/java/o.a.h.h/coprocessor/TestCoprocessorEndpoint.java.


Thanks,

Eugene



 [Coprocessors] Improve region server metrics to report loaded coprocessors to 
 master
 

 Key: HBASE-4070
 URL: https://issues.apache.org/jira/browse/HBASE-4070
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.90.3
Reporter: Mingjie Lai
Assignee: Eugene Koontz
 Attachments: HBASE-4070.patch, HBASE-4070.patch, master-web-ui.jpg, 
 rs-status-web-ui.jpg


 HBASE-3512 is about listing loaded cp classes at shell. To make it more 
 generic, we need a way to report this piece of information from region to 
 master (or just at region server level). So later on, we can display the 
 loaded class names at shell as well as web console. 

--
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




[jira] [Commented] (HBASE-4070) [Coprocessors] Improve region server metrics to report loaded coprocessors to master

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117581#comment-13117581
 ] 

jirapos...@reviews.apache.org commented on HBASE-4070:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2029/
---

(Updated 2011-09-29 20:13:32.064908)


Review request for hbase and Mingjie Lai.


Changes
---

Remove relies on HBASE-4014: this is no longer true.


Summary (updated)
---

Proposed fix for HBASE-4070. 


This addresses bug HBASE-4070.
https://issues.apache.org/jira/browse/HBASE-4070


Diffs
-

  src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon abeb850 
  src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon be6fceb 
  src/main/java/org/apache/hadoop/hbase/HServerLoad.java 0c680e4 
  src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java a55a4b1 
  src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java 
dbae4fd 
  src/main/java/org/apache/hadoop/hbase/ipc/HMasterInterface.java a069400 
  src/main/java/org/apache/hadoop/hbase/master/HMaster.java 270f3f3 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 96b763b 
  src/main/ruby/hbase/admin.rb b244ffe 
  
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java 
a8f2a9c 

Diff: https://reviews.apache.org/r/2029/diff


Testing
---

One new test : testServerManagerCoprocessorReport, added to 
src/test/java/o.a.h.h/coprocessor/TestCoprocessorEndpoint.java.


Thanks,

Eugene



 [Coprocessors] Improve region server metrics to report loaded coprocessors to 
 master
 

 Key: HBASE-4070
 URL: https://issues.apache.org/jira/browse/HBASE-4070
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.90.3
Reporter: Mingjie Lai
Assignee: Eugene Koontz
 Attachments: HBASE-4070.patch, HBASE-4070.patch, master-web-ui.jpg, 
 rs-status-web-ui.jpg


 HBASE-3512 is about listing loaded cp classes at shell. To make it more 
 generic, we need a way to report this piece of information from region to 
 master (or just at region server level). So later on, we can display the 
 loaded class names at shell as well as web console. 

--
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




[jira] [Commented] (HBASE-4070) [Coprocessors] Improve region server metrics to report loaded coprocessors to master

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117574#comment-13117574
 ] 

jirapos...@reviews.apache.org commented on HBASE-4070:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2029/
---

(Updated 2011-09-29 19:56:54.298361)


Review request for hbase and Mingjie Lai.


Changes
---

Updated patch that shows both master as well as regionserver loaded 
coprocessors. Master UI shows both master and regionserver coprocessor 
information, while regionserver UI (/rs-status) shows regionserver coprocessor 
information. See JIRA for screenshots.


Summary
---

Proposed fix for HBASE-4070. Relies on functionality provided by HBASE-4014.


This addresses bug HBASE-4070.
https://issues.apache.org/jira/browse/HBASE-4070


Diffs (updated)
-

  src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon abeb850 
  src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon be6fceb 
  src/main/java/org/apache/hadoop/hbase/HServerLoad.java 0c680e4 
  src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java a55a4b1 
  src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java 
dbae4fd 
  src/main/java/org/apache/hadoop/hbase/ipc/HMasterInterface.java a069400 
  src/main/java/org/apache/hadoop/hbase/master/HMaster.java 270f3f3 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 96b763b 
  src/main/ruby/hbase/admin.rb b244ffe 
  
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java 
a8f2a9c 

Diff: https://reviews.apache.org/r/2029/diff


Testing
---

One new test : testServerManagerCoprocessorReport, added to 
src/test/java/o.a.h.h/coprocessor/TestCoprocessorEndpoint.java.


Thanks,

Eugene



 [Coprocessors] Improve region server metrics to report loaded coprocessors to 
 master
 

 Key: HBASE-4070
 URL: https://issues.apache.org/jira/browse/HBASE-4070
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.90.3
Reporter: Mingjie Lai
Assignee: Eugene Koontz
 Attachments: HBASE-4070.patch, HBASE-4070.patch, master-web-ui.jpg, 
 rs-status-web-ui.jpg


 HBASE-3512 is about listing loaded cp classes at shell. To make it more 
 generic, we need a way to report this piece of information from region to 
 master (or just at region server level). So later on, we can display the 
 loaded class names at shell as well as web console. 

--
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




[jira] [Commented] (HBASE-4145) Provide metrics for hbase client

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117608#comment-13117608
 ] 

jirapos...@reviews.apache.org commented on HBASE-4145:
--



bq.  On 2011-09-29 13:33:05, ramkrishna vasudevan wrote:
bq.   
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java,
 line 2
bq.   https://reviews.apache.org/r/1674/diff/4/?file=46377#file46377line2
bq.  
bq.   I think we need not give copyright information.

Fixed.


- Ming


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1674/#review2150
---


On 2011-09-29 21:00:18, Ming Ma wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/1674/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 21:00:18)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  1. Collect client-side scan related metrics during scan operation. It is 
turned off by default.
bq.  2. TableInputFormat enables metrics collection on scan and pass the data 
to mapreduce framework. It only works with new mapreduce APIs that allow 
TableInputFormat to get access to mapreduce Counter.
bq.  3. Clean up some minor issues in tableInputFormat as well as test code.
bq.  
bq.  
bq.  This addresses bug hbase-4145.
bq.  https://issues.apache.org/jira/browse/hbase-4145
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HTable.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/Scan.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
 PRE-CREATION 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReader.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java
 1176942 
bq.  
bq.  Diff: https://reviews.apache.org/r/1674/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  1. Verified on a small cluster.
bq.  2. Existing unit tests.
bq.  3. Added new tests.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Ming
bq.  
bq.



 Provide metrics for hbase client
 

 Key: HBASE-4145
 URL: https://issues.apache.org/jira/browse/HBASE-4145
 Project: HBase
  Issue Type: Improvement
Reporter: Ming Ma
Assignee: Ming Ma
 Attachments: HBaseClientSideMetrics.jpg


 Sometimes it is useful to get some metrics from hbase client point of view. 
 This will help understand the metrics for scan/TableInputFormat map job 
 scenario.
 What to capture, for example, for each ResultScanner object,
 1. The number of RPC calls to RSs.
 2. The delta time between consecutive RPC calls in the current serialized 
 scan implementation.
 3. The number of RPC retry to RSs.
 4. The number of NotServingRegionException got.
 5. The number of remote RPC calls. This excludes those call that hbase client 
 calls the RS on the same machine.
 6. The number of regions accessed.
 How to capture
 1. Metrics framework works for a fixed number of metrics. It doesn't fit this 
 scenario.
 2. Use some TBD solution in HBase to capture such dynamic metrics. If we 
 assume there is a solution in HBase that HBase client can use to log such 
 kind of metrics, TableInputFormat can pass in mapreduce task ID as 
 application scan ID to HBase client as small addition to existing scan API; 
 and HBase client can log metrics accordingly with such ID. That will allow 
 query, analysis later on the metrics data for specific map reduce job.
 3. Expose via MapReduce counter. It lacks certain features, for example, 
 there is no good way to access the metrics on per map instance; the 

[jira] [Commented] (HBASE-4145) Provide metrics for hbase client

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117611#comment-13117611
 ] 

jirapos...@reviews.apache.org commented on HBASE-4145:
--



bq.  On 2011-09-29 03:48:24, Ted Yu wrote:
bq.   
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java,
 line 43
bq.   https://reviews.apache.org/r/1674/diff/3/?file=46268#file46268line43
bq.  
bq.   Should read 'can be easily'

Fixed.


- Ming


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1674/#review2148
---


On 2011-09-29 21:00:18, Ming Ma wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/1674/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 21:00:18)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  1. Collect client-side scan related metrics during scan operation. It is 
turned off by default.
bq.  2. TableInputFormat enables metrics collection on scan and pass the data 
to mapreduce framework. It only works with new mapreduce APIs that allow 
TableInputFormat to get access to mapreduce Counter.
bq.  3. Clean up some minor issues in tableInputFormat as well as test code.
bq.  
bq.  
bq.  This addresses bug hbase-4145.
bq.  https://issues.apache.org/jira/browse/hbase-4145
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HTable.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/Scan.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
 PRE-CREATION 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReader.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java
 1176942 
bq.  
bq.  Diff: https://reviews.apache.org/r/1674/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  1. Verified on a small cluster.
bq.  2. Existing unit tests.
bq.  3. Added new tests.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Ming
bq.  
bq.



 Provide metrics for hbase client
 

 Key: HBASE-4145
 URL: https://issues.apache.org/jira/browse/HBASE-4145
 Project: HBase
  Issue Type: Improvement
Reporter: Ming Ma
Assignee: Ming Ma
 Attachments: HBaseClientSideMetrics.jpg


 Sometimes it is useful to get some metrics from hbase client point of view. 
 This will help understand the metrics for scan/TableInputFormat map job 
 scenario.
 What to capture, for example, for each ResultScanner object,
 1. The number of RPC calls to RSs.
 2. The delta time between consecutive RPC calls in the current serialized 
 scan implementation.
 3. The number of RPC retry to RSs.
 4. The number of NotServingRegionException got.
 5. The number of remote RPC calls. This excludes those call that hbase client 
 calls the RS on the same machine.
 6. The number of regions accessed.
 How to capture
 1. Metrics framework works for a fixed number of metrics. It doesn't fit this 
 scenario.
 2. Use some TBD solution in HBase to capture such dynamic metrics. If we 
 assume there is a solution in HBase that HBase client can use to log such 
 kind of metrics, TableInputFormat can pass in mapreduce task ID as 
 application scan ID to HBase client as small addition to existing scan API; 
 and HBase client can log metrics accordingly with such ID. That will allow 
 query, analysis later on the metrics data for specific map reduce job.
 3. Expose via MapReduce counter. It lacks certain features, for example, 
 there is no good way to access the metrics on per map instance; the MapReduce 
 framework only performs 

[jira] [Commented] (HBASE-4145) Provide metrics for hbase client

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117609#comment-13117609
 ] 

jirapos...@reviews.apache.org commented on HBASE-4145:
--



bq.  On 2011-09-29 04:18:54, Ted Yu wrote:
bq.   
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java,
 line 48
bq.   https://reviews.apache.org/r/1674/diff/4/?file=46377#file46377line48
bq.  
bq.   Should be declared as implementing VersionedWritable.

The issue with VersionedWritable is it throws VersionMismatchException if the 
version doesn't match. 

  public void readFields(DataInput in) throws IOException {
byte version = in.readByte(); // read version
if (version != getVersion())
  throw new VersionMismatchException(getVersion(), version);
  }

I want to make it backward compatible to support version = getVersion(). The 
program could catch VersionMismatchException, however, there is no way to find 
out the expectedVersion and foundVersion, given they are private members.

public class VersionMismatchException extends IOException {

  private byte expectedVersion;
  private byte foundVersion;
...
}

Any other suggestions, or Is it something that need to be fixed in 
VersionedWritable, VersionMismatchException?


bq.  On 2011-09-29 04:18:54, Ted Yu wrote:
bq.   
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java,
 line 76
bq.   https://reviews.apache.org/r/1674/diff/4/?file=46377#file46377line76
bq.  
bq.   It is a bit hard to read this counter.

Fixed.


bq.  On 2011-09-29 04:18:54, Ted Yu wrote:
bq.   
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java,
 line 94
bq.   https://reviews.apache.org/r/1674/diff/4/?file=46377#file46377line94
bq.  
bq.   This is count of regions scanned, right ?
bq.   If so, please name it that way.

Todd suggested to rename it from COUNT_OF_REGIONS to REGIONS, given the fact 
that it is a counter is implicit in mapreduce framework.


bq.  On 2011-09-29 04:18:54, Ted Yu wrote:
bq.   
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java,
 line 127
bq.   https://reviews.apache.org/r/1674/diff/4/?file=46377#file46377line127
bq.  
bq.   mb should be included in the exception.

Fixed.


bq.  On 2011-09-29 04:18:54, Ted Yu wrote:
bq.   
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java,
 line 133
bq.   https://reviews.apache.org/r/1674/diff/4/?file=46377#file46377line133
bq.  
bq.   Why do we need this check again ?

Fixed.


bq.  On 2011-09-29 04:18:54, Ted Yu wrote:
bq.   
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java,
 line 143
bq.   https://reviews.apache.org/r/1674/diff/4/?file=46377#file46377line143
bq.  
bq.   Value of version should be included here.

Fixed.


bq.  On 2011-09-29 04:18:54, Ted Yu wrote:
bq.   
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java,
 line 151
bq.   https://reviews.apache.org/r/1674/diff/4/?file=46377#file46377line151
bq.  
bq.   I think we should have else block where the unsupported mb is logged.

Fixed.


bq.  On 2011-09-29 04:18:54, Ted Yu wrote:
bq.   
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java,
 line 52
bq.   https://reviews.apache.org/r/1674/diff/4/?file=46380#file46380line52
bq.  
bq.   This name doesn't really match the constant above. I think HBase 
mapreduce Counters would be better.

The name should show up in mapreduce UI and report. Other group names don't 
have mapreduce. So keep it as HBase Counters and rename the variable.


bq.  On 2011-09-29 04:18:54, Ted Yu wrote:
bq.   
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java,
 line 83
bq.   https://reviews.apache.org/r/1674/diff/4/?file=46380#file46380line83
bq.  
bq.   This should not be a tongue twister.
bq.   How about naming it retrieveGetCounterWithStrings ?

Fixed.


bq.  On 2011-09-29 04:18:54, Ted Yu wrote:
bq.   
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java,
 line 232
bq.   https://reviews.apache.org/r/1674/diff/4/?file=46380#file46380line232
bq.  
bq.   Shall we create the Object array outside the for loop and only fill 
in Metric name here ?

Fixed. Don't create Object at all, pass the parameters directly.


- Ming


---
This is an automatically generated e-mail. To reply, visit:

[jira] [Commented] (HBASE-4145) Provide metrics for hbase client

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117612#comment-13117612
 ] 

jirapos...@reviews.apache.org commented on HBASE-4145:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1674/
---

(Updated 2011-09-29 21:00:18.525989)


Review request for hbase.


Changes
---

Thanks for the review, Ted, Ram. Most are fixed. Please find comments inline.


Summary
---

1. Collect client-side scan related metrics during scan operation. It is turned 
off by default.
2. TableInputFormat enables metrics collection on scan and pass the data to 
mapreduce framework. It only works with new mapreduce APIs that allow 
TableInputFormat to get access to mapreduce Counter.
3. Clean up some minor issues in tableInputFormat as well as test code.


This addresses bug hbase-4145.
https://issues.apache.org/jira/browse/hbase-4145


Diffs (updated)
-

  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HTable.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/Scan.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
 PRE-CREATION 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReader.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 1176942 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java
 1176942 

Diff: https://reviews.apache.org/r/1674/diff


Testing
---

1. Verified on a small cluster.
2. Existing unit tests.
3. Added new tests.


Thanks,

Ming



 Provide metrics for hbase client
 

 Key: HBASE-4145
 URL: https://issues.apache.org/jira/browse/HBASE-4145
 Project: HBase
  Issue Type: Improvement
Reporter: Ming Ma
Assignee: Ming Ma
 Attachments: HBaseClientSideMetrics.jpg


 Sometimes it is useful to get some metrics from hbase client point of view. 
 This will help understand the metrics for scan/TableInputFormat map job 
 scenario.
 What to capture, for example, for each ResultScanner object,
 1. The number of RPC calls to RSs.
 2. The delta time between consecutive RPC calls in the current serialized 
 scan implementation.
 3. The number of RPC retry to RSs.
 4. The number of NotServingRegionException got.
 5. The number of remote RPC calls. This excludes those call that hbase client 
 calls the RS on the same machine.
 6. The number of regions accessed.
 How to capture
 1. Metrics framework works for a fixed number of metrics. It doesn't fit this 
 scenario.
 2. Use some TBD solution in HBase to capture such dynamic metrics. If we 
 assume there is a solution in HBase that HBase client can use to log such 
 kind of metrics, TableInputFormat can pass in mapreduce task ID as 
 application scan ID to HBase client as small addition to existing scan API; 
 and HBase client can log metrics accordingly with such ID. That will allow 
 query, analysis later on the metrics data for specific map reduce job.
 3. Expose via MapReduce counter. It lacks certain features, for example, 
 there is no good way to access the metrics on per map instance; the MapReduce 
 framework only performs sum on the counter values so it is tricky to find the 
 max of certain metrics in all mapper instances. However, it might be good 
 enough for now. With this approach, the metrics value will be available via 
 MapReduce counter.
 a) Have ResultScanner return a new ResultScannerMetrics interface.
 b) TableInputFormat will access data from ResultScannerMetrics and populate 
 MapReduce counters accordingly.

--
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




[jira] [Commented] (HBASE-2794) ROWCOL bloom filter not used if multiple columns within same family are requested in a Get

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-2794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117615#comment-13117615
 ] 

jirapos...@reviews.apache.org commented on HBASE-2794:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2084/
---

(Updated 2011-09-29 21:05:20.334849)


Review request for hbase.


Changes
---

Addressing Jonathan's comments.


Summary
---

Previously we only used row-column Bloom filters for scans that only requested 
one column. We have seen production queries that request up to 200 columns, and 
with say ~6 store files per store (region / column family combination) this 
might have resulted in 1200 block read operations in the worst case. With this 
diff we will be avoiding seeks on store files that we know don't contain the 
row/column of interest when using an ExplicitColumnTracker. The performance 
should remain the same for column range queries.


This addresses bug HBASE-2794.
https://issues.apache.org/jira/browse/HBASE-2794


Diffs (updated)
-

  src/main/java/org/apache/hadoop/hbase/KeyValue.java 585c4a8 
  src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
f5173c4 
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java a3d778e 
  
src/main/java/org/apache/hadoop/hbase/regionserver/AbstractKeyValueScanner.java 
PRE-CREATION 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 7cbdb98 
  src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java 9d9895c 
  src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java 
6cdada7 
  src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java 4aa72de 
  src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java 
68cdac5 
  src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java fd9e7ef 
  src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java 
08d3ba4 
  src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java ac2348e 
  src/main/java/org/apache/hadoop/hbase/util/CollectionBackedScanner.java 
32f88fb 
  src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java 
a5d13f7 
  
src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java 
baee696 
  
src/test/java/org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.java 
PRE-CREATION 

Diff: https://reviews.apache.org/r/2084/diff


Testing
---

Existing unit tests. A new unit test (TestScanWithBloomError). Load testing 
using HBaseTest.


Thanks,

Mikhail



 ROWCOL bloom filter not used if multiple columns within same family are 
 requested in a Get
 --

 Key: HBASE-2794
 URL: https://issues.apache.org/jira/browse/HBASE-2794
 Project: HBase
  Issue Type: Improvement
  Components: performance
Reporter: Kannan Muthukkaruppan
 Fix For: 0.92.0


 Noticed the following snippet in StoreFile.java:Scanner:shouldSeek():
 {code}
 switch(bloomFilterType) {
   case ROW:
 key = row;
 break;
   case ROWCOL:
 if (columns.size() == 1) {
   byte[] col = columns.first();
   key = Bytes.add(row, col);
   break;
 }
 //$FALL-THROUGH$
   default:
 return true;
 }
 {code}
 If columns.size  1, then we currently don't take advantage of the bloom 
 filter.  We should optimize this to check bloom for each of columns and if 
 none of the columns are present in the bloom avoid opening the file.

--
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




[jira] [Commented] (HBASE-4497) If region opening fails after updating META HBCK reports it as inconsistent and scanning the region throws NSRE

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4497?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117617#comment-13117617
 ] 

jirapos...@reviews.apache.org commented on HBASE-4497:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2118/
---

Review request for hbase.


Summary
---

Adds a checkAndPut that takes a timestamp


This addresses bug hbase-4497.
https://issues.apache.org/jira/browse/hbase-4497


Diffs
-

  src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 3679c02 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 7cbdb98 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 0c06f4f 
  src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 99b34cc 

Diff: https://reviews.apache.org/r/2118/diff


Testing
---


Thanks,

Michael



 If region opening fails after updating META HBCK reports it as inconsistent 
 and scanning the region throws NSRE
 ---

 Key: HBASE-4497
 URL: https://issues.apache.org/jira/browse/HBASE-4497
 Project: HBase
  Issue Type: Bug
Reporter: ramkrishna.s.vasudevan
Priority: Critical

 As per the discussion in the mail chain HBCK reporting of possible mismatch 
 in RS assignment this JIRA is created.
 Consider two RS- RS1 and RS2.
 A region tries to open in RS1. But it takes a while.  The RS1 has still not 
 updated meta and transitioned the node from OPENING to OPENED
 So timeout assigns the region to RS2.  RS2 successfully updates the META and 
 opens the region.
 Now RS1 tries to act on the region by first updating the META and then 
 transiting the node to OPENING to OPENED.
 RS1 transiting the node to OPENING to OPENED will fail.  But the META entry 
 will have RS1 as the latest.
 Now HBCK reports this as an inconsistency and if we try to scan the Region we 
 get NotServingRegionException.

--
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




[jira] [Commented] (HBASE-4507) Create checkAndPut variant that exposes timestamp / UUID

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117618#comment-13117618
 ] 

jirapos...@reviews.apache.org commented on HBASE-4507:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2118/
---

(Updated 2011-09-29 21:10:29.425308)


Review request for hbase.


Changes
---

Fixed Summary.


Summary (updated)
---

Adds a checkAndPut that takes a timestamp


This addresses bug hbase-4507.
https://issues.apache.org/jira/browse/hbase-4507


Diffs
-

  src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 3679c02 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 7cbdb98 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 0c06f4f 
  src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 99b34cc 

Diff: https://reviews.apache.org/r/2118/diff


Testing
---


Thanks,

Michael



 Create checkAndPut variant that exposes timestamp / UUID
 

 Key: HBASE-4507
 URL: https://issues.apache.org/jira/browse/HBASE-4507
 Project: HBase
  Issue Type: Sub-task
Reporter: Ted Yu

 Michael checked the checkAndPut which doesn't expose timestamp. A variant of 
 checkAndPut should be created to expose timestamp which is written into a 
 column specified by additional parameters.

--
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




[jira] [Commented] (HBASE-4145) Provide metrics for hbase client

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117621#comment-13117621
 ] 

jirapos...@reviews.apache.org commented on HBASE-4145:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1674/#review2175
---


Only one minor comment left, see below.
If test suite passes, I would vote +1


http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
https://reviews.apache.org/r/1674/#comment5068

VersionedWritable from hadoop left something to be desired.
Such discussion came up during HBASE-2195.
We can address this elsewhere.



http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
https://reviews.apache.org/r/1674/#comment5069

I meant that this counter can be named REGIONS_SCANNED because its value 
may be lower than the total number of regions in the table(s).


- Ted


On 2011-09-29 21:00:18, Ming Ma wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/1674/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 21:00:18)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  1. Collect client-side scan related metrics during scan operation. It is 
turned off by default.
bq.  2. TableInputFormat enables metrics collection on scan and pass the data 
to mapreduce framework. It only works with new mapreduce APIs that allow 
TableInputFormat to get access to mapreduce Counter.
bq.  3. Clean up some minor issues in tableInputFormat as well as test code.
bq.  
bq.  
bq.  This addresses bug hbase-4145.
bq.  https://issues.apache.org/jira/browse/hbase-4145
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HTable.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/Scan.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
 PRE-CREATION 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReader.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java
 1176942 
bq.  
bq.  Diff: https://reviews.apache.org/r/1674/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  1. Verified on a small cluster.
bq.  2. Existing unit tests.
bq.  3. Added new tests.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Ming
bq.  
bq.



 Provide metrics for hbase client
 

 Key: HBASE-4145
 URL: https://issues.apache.org/jira/browse/HBASE-4145
 Project: HBase
  Issue Type: Improvement
Reporter: Ming Ma
Assignee: Ming Ma
 Attachments: HBaseClientSideMetrics.jpg


 Sometimes it is useful to get some metrics from hbase client point of view. 
 This will help understand the metrics for scan/TableInputFormat map job 
 scenario.
 What to capture, for example, for each ResultScanner object,
 1. The number of RPC calls to RSs.
 2. The delta time between consecutive RPC calls in the current serialized 
 scan implementation.
 3. The number of RPC retry to RSs.
 4. The number of NotServingRegionException got.
 5. The number of remote RPC calls. This excludes those call that hbase client 
 calls the RS on the same machine.
 6. The number of regions accessed.
 How to capture
 1. Metrics framework works for a fixed number of metrics. It doesn't fit this 
 scenario.
 2. Use some TBD solution in HBase to capture such dynamic metrics. If we 
 assume there is a solution in HBase that HBase client can use to log such 
 kind of metrics, TableInputFormat can pass in mapreduce task ID as 
 application scan 

[jira] [Commented] (HBASE-4503) Purge deprecated HBaseClusterTestCase

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117627#comment-13117627
 ] 

jirapos...@reviews.apache.org commented on HBASE-4503:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2119/
---

Review request for hbase.


Summary
---

Replace deprecated HBaseClusterTestCase and subclasses.


This addresses bug hbase-4503.
https://issues.apache.org/jira/browse/hbase-4503


Diffs
-


Diff: https://reviews.apache.org/r/2119/diff


Testing
---

Unit tests pass


Thanks,

Michael



 Purge deprecated HBaseClusterTestCase
 -

 Key: HBASE-4503
 URL: https://issues.apache.org/jira/browse/HBASE-4503
 Project: HBase
  Issue Type: Improvement
Reporter: stack
Assignee: stack
 Attachments: 4503-v2.txt, 4503.txt


 It could gain us a few minutes on overall test run in the cases where we 
 don't spin up a cluster for each test.

--
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




[jira] [Commented] (HBASE-4145) Provide metrics for hbase client

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4145?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117634#comment-13117634
 ] 

jirapos...@reviews.apache.org commented on HBASE-4145:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1674/#review2178
---

Ship it!


- Ted


On 2011-09-29 21:36:19, Ming Ma wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/1674/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 21:36:19)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  1. Collect client-side scan related metrics during scan operation. It is 
turned off by default.
bq.  2. TableInputFormat enables metrics collection on scan and pass the data 
to mapreduce framework. It only works with new mapreduce APIs that allow 
TableInputFormat to get access to mapreduce Counter.
bq.  3. Clean up some minor issues in tableInputFormat as well as test code.
bq.  
bq.  
bq.  This addresses bug hbase-4145.
bq.  https://issues.apache.org/jira/browse/hbase-4145
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HTable.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/MetaScanner.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/Scan.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/metrics/ScanMetrics.java
 PRE-CREATION 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReader.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
 1176942 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/mapred/TestTableInputFormat.java
 1176942 
bq.  
bq.  Diff: https://reviews.apache.org/r/1674/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  1. Verified on a small cluster.
bq.  2. Existing unit tests.
bq.  3. Added new tests.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Ming
bq.  
bq.



 Provide metrics for hbase client
 

 Key: HBASE-4145
 URL: https://issues.apache.org/jira/browse/HBASE-4145
 Project: HBase
  Issue Type: Improvement
Reporter: Ming Ma
Assignee: Ming Ma
 Fix For: 0.94.0

 Attachments: HBaseClientSideMetrics.jpg


 Sometimes it is useful to get some metrics from hbase client point of view. 
 This will help understand the metrics for scan/TableInputFormat map job 
 scenario.
 What to capture, for example, for each ResultScanner object,
 1. The number of RPC calls to RSs.
 2. The delta time between consecutive RPC calls in the current serialized 
 scan implementation.
 3. The number of RPC retry to RSs.
 4. The number of NotServingRegionException got.
 5. The number of remote RPC calls. This excludes those call that hbase client 
 calls the RS on the same machine.
 6. The number of regions accessed.
 How to capture
 1. Metrics framework works for a fixed number of metrics. It doesn't fit this 
 scenario.
 2. Use some TBD solution in HBase to capture such dynamic metrics. If we 
 assume there is a solution in HBase that HBase client can use to log such 
 kind of metrics, TableInputFormat can pass in mapreduce task ID as 
 application scan ID to HBase client as small addition to existing scan API; 
 and HBase client can log metrics accordingly with such ID. That will allow 
 query, analysis later on the metrics data for specific map reduce job.
 3. Expose via MapReduce counter. It lacks certain features, for example, 
 there is no good way to access the metrics on per map instance; the MapReduce 
 framework only performs sum on the counter values so it is tricky to find the 
 max of certain metrics in all mapper instances. However, it might be good 
 enough for now. With this approach, the metrics value will be available via 
 MapReduce counter.
 a) Have ResultScanner return a new 

[jira] [Commented] (HBASE-4070) [Coprocessors] Improve region server metrics to report loaded coprocessors to master

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117646#comment-13117646
 ] 

jirapos...@reviews.apache.org commented on HBASE-4070:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2029/#review2179
---

Ship it!


- Andrew


On 2011-09-29 20:15:12, Eugene Koontz wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2029/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 20:15:12)
bq.  
bq.  
bq.  Review request for hbase and Mingjie Lai.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Proposed fix for HBASE-4070. 
bq.  
bq.  
bq.  This addresses bug HBASE-4070.
bq.  https://issues.apache.org/jira/browse/HBASE-4070
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon 
abeb850 
bq.src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon 
be6fceb 
bq.src/main/java/org/apache/hadoop/hbase/HServerLoad.java 0c680e4 
bq.src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java a55a4b1 
bq.src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java 
dbae4fd 
bq.src/main/java/org/apache/hadoop/hbase/ipc/HMasterInterface.java a069400 
bq.src/main/java/org/apache/hadoop/hbase/master/HMaster.java 270f3f3 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.src/main/ruby/hbase/admin.rb b244ffe 
bq.
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java 
a8f2a9c 
bq.  
bq.  Diff: https://reviews.apache.org/r/2029/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Two new tests : testRegionServerCoprocessorReported() and 
testMasterServerCoprocessorsReported() added to 
src/test/java/o.a.h.h/coprocessor/TestCoprocessorEndpoint.java.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Eugene
bq.  
bq.



 [Coprocessors] Improve region server metrics to report loaded coprocessors to 
 master
 

 Key: HBASE-4070
 URL: https://issues.apache.org/jira/browse/HBASE-4070
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.90.3
Reporter: Mingjie Lai
Assignee: Eugene Koontz
 Attachments: HBASE-4070.patch, HBASE-4070.patch, master-web-ui.jpg, 
 rs-status-web-ui.jpg


 HBASE-3512 is about listing loaded cp classes at shell. To make it more 
 generic, we need a way to report this piece of information from region to 
 master (or just at region server level). So later on, we can display the 
 loaded class names at shell as well as web console. 

--
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




[jira] [Commented] (HBASE-4507) Create checkAndPut variant that exposes timestamp / UUID

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117647#comment-13117647
 ] 

jirapos...@reviews.apache.org commented on HBASE-4507:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2118/#review2176
---



src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java
https://reviews.apache.org/r/2118/#comment5070

expected is not needed here.



src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java
https://reviews.apache.org/r/2118/#comment5071

Should be existence.



src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java
https://reviews.apache.org/r/2118/#comment5072

Should be executed.



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
https://reviews.apache.org/r/2118/#comment5073

I don't see this parameter below.
I think these four lines can be moved into the body of the method.



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
https://reviews.apache.org/r/2118/#comment5076

Writable parameter is missing here.
It would be nice to add it now.



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
https://reviews.apache.org/r/2118/#comment5078

Should be checkAndPut



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
https://reviews.apache.org/r/2118/#comment5079

How about naming this method doTimestampsClash ?



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
https://reviews.apache.org/r/2118/#comment5081

I wish there is a better way to handle this situation :-(



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
https://reviews.apache.org/r/2118/#comment5080

'that of the' can be omitted.


- Ted


On 2011-09-29 21:10:29, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2118/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 21:10:29)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Adds a checkAndPut that takes a timestamp
bq.  
bq.  
bq.  This addresses bug hbase-4507.
bq.  https://issues.apache.org/jira/browse/hbase-4507
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 3679c02 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 7cbdb98 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
0c06f4f 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 
99b34cc 
bq.  
bq.  Diff: https://reviews.apache.org/r/2118/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.



 Create checkAndPut variant that exposes timestamp / UUID
 

 Key: HBASE-4507
 URL: https://issues.apache.org/jira/browse/HBASE-4507
 Project: HBase
  Issue Type: Sub-task
Reporter: Ted Yu
Assignee: stack

 Michael checked the checkAndPut which doesn't expose timestamp. A variant of 
 checkAndPut should be created to expose timestamp which is written into a 
 column specified by additional parameters.

--
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




[jira] [Commented] (HBASE-4503) Purge deprecated HBaseClusterTestCase

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117653#comment-13117653
 ] 

jirapos...@reviews.apache.org commented on HBASE-4503:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2119/
---

(Updated 2011-09-29 22:01:14.094149)


Review request for hbase.


Changes
---

Include actual diff


Summary
---

Replace deprecated HBaseClusterTestCase and subclasses.


This addresses bug hbase-4503.
https://issues.apache.org/jira/browse/hbase-4503


Diffs (updated)
-

  src/test/java/org/apache/hadoop/hbase/HBaseClusterTestCase.java c18cddb 
  src/test/java/org/apache/hadoop/hbase/MultiRegionTable.java a8fd4e5 
  src/test/java/org/apache/hadoop/hbase/TestHBaseTestingUtility.java 555174a 
  src/test/java/org/apache/hadoop/hbase/TestInfoServers.java 638df08 
  src/test/java/org/apache/hadoop/hbase/TestMultiVersions.java PRE-CREATION 
  src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java 9023af8 
  src/test/java/org/apache/hadoop/hbase/TestScanMultipleVersions.java d7baba4 
  src/test/java/org/apache/hadoop/hbase/TimestampTestBase.java 221352c 
  src/test/java/org/apache/hadoop/hbase/client/TestGetRowVersions.java 27842ed 
  src/test/java/org/apache/hadoop/hbase/client/TestTimestamp.java 9204539 
  src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduce.java 5a5c3c6 
  src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableMapReduce.java 
0b8ff30 
  src/test/java/org/apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.java 
a772360 
  src/test/java/org/apache/hadoop/hbase/master/TestDefaultLoadBalancer.java 
a4cd9a3 
  
src/test/java/org/apache/hadoop/hbase/regionserver/DisabledTestRegionServerExit.java
 5b8b464 
  src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java 5802686 

Diff: https://reviews.apache.org/r/2119/diff


Testing
---

Unit tests pass


Thanks,

Michael



 Purge deprecated HBaseClusterTestCase
 -

 Key: HBASE-4503
 URL: https://issues.apache.org/jira/browse/HBASE-4503
 Project: HBase
  Issue Type: Improvement
Reporter: stack
Assignee: stack
 Attachments: 4503-v2.txt, 4503.txt


 It could gain us a few minutes on overall test run in the cases where we 
 don't spin up a cluster for each test.

--
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




[jira] [Commented] (HBASE-4070) [Coprocessors] Improve region server metrics to report loaded coprocessors to master

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117655#comment-13117655
 ] 

jirapos...@reviews.apache.org commented on HBASE-4070:
--



bq.  On 2011-09-29 21:52:40, Andrew Purtell wrote:
bq.  

Actually, I do have a comment. Do we need a method in HMasterInterface for 
getting the coprocessor set? Can't it be extracted from HSL?


- Andrew


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2029/#review2179
---


On 2011-09-29 20:15:12, Eugene Koontz wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2029/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 20:15:12)
bq.  
bq.  
bq.  Review request for hbase and Mingjie Lai.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Proposed fix for HBASE-4070. 
bq.  
bq.  
bq.  This addresses bug HBASE-4070.
bq.  https://issues.apache.org/jira/browse/HBASE-4070
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon 
abeb850 
bq.src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon 
be6fceb 
bq.src/main/java/org/apache/hadoop/hbase/HServerLoad.java 0c680e4 
bq.src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java a55a4b1 
bq.src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java 
dbae4fd 
bq.src/main/java/org/apache/hadoop/hbase/ipc/HMasterInterface.java a069400 
bq.src/main/java/org/apache/hadoop/hbase/master/HMaster.java 270f3f3 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.src/main/ruby/hbase/admin.rb b244ffe 
bq.
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java 
a8f2a9c 
bq.  
bq.  Diff: https://reviews.apache.org/r/2029/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Two new tests : testRegionServerCoprocessorReported() and 
testMasterServerCoprocessorsReported() added to 
src/test/java/o.a.h.h/coprocessor/TestCoprocessorEndpoint.java.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Eugene
bq.  
bq.



 [Coprocessors] Improve region server metrics to report loaded coprocessors to 
 master
 

 Key: HBASE-4070
 URL: https://issues.apache.org/jira/browse/HBASE-4070
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.90.3
Reporter: Mingjie Lai
Assignee: Eugene Koontz
 Attachments: HBASE-4070.patch, HBASE-4070.patch, master-web-ui.jpg, 
 rs-status-web-ui.jpg


 HBASE-3512 is about listing loaded cp classes at shell. To make it more 
 generic, we need a way to report this piece of information from region to 
 master (or just at region server level). So later on, we can display the 
 loaded class names at shell as well as web console. 

--
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




[jira] [Commented] (HBASE-4070) [Coprocessors] Improve region server metrics to report loaded coprocessors to master

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117656#comment-13117656
 ] 

jirapos...@reviews.apache.org commented on HBASE-4070:
--



bq.  On 2011-09-29 21:52:40, Andrew Purtell wrote:
bq.  
bq.  
bq.  Andrew Purtell wrote:
bq.  Actually, I do have a comment. Do we need a method in HMasterInterface 
for getting the coprocessor set? Can't it be extracted from HSL?

I meant via ClusterStatus, therefore via HBaseAdmin.getClusterStatus().


- Andrew


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2029/#review2179
---


On 2011-09-29 20:15:12, Eugene Koontz wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2029/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 20:15:12)
bq.  
bq.  
bq.  Review request for hbase and Mingjie Lai.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Proposed fix for HBASE-4070. 
bq.  
bq.  
bq.  This addresses bug HBASE-4070.
bq.  https://issues.apache.org/jira/browse/HBASE-4070
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon 
abeb850 
bq.src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon 
be6fceb 
bq.src/main/java/org/apache/hadoop/hbase/HServerLoad.java 0c680e4 
bq.src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java a55a4b1 
bq.src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java 
dbae4fd 
bq.src/main/java/org/apache/hadoop/hbase/ipc/HMasterInterface.java a069400 
bq.src/main/java/org/apache/hadoop/hbase/master/HMaster.java 270f3f3 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.src/main/ruby/hbase/admin.rb b244ffe 
bq.
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java 
a8f2a9c 
bq.  
bq.  Diff: https://reviews.apache.org/r/2029/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Two new tests : testRegionServerCoprocessorReported() and 
testMasterServerCoprocessorsReported() added to 
src/test/java/o.a.h.h/coprocessor/TestCoprocessorEndpoint.java.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Eugene
bq.  
bq.



 [Coprocessors] Improve region server metrics to report loaded coprocessors to 
 master
 

 Key: HBASE-4070
 URL: https://issues.apache.org/jira/browse/HBASE-4070
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.90.3
Reporter: Mingjie Lai
Assignee: Eugene Koontz
 Attachments: HBASE-4070.patch, HBASE-4070.patch, master-web-ui.jpg, 
 rs-status-web-ui.jpg


 HBASE-3512 is about listing loaded cp classes at shell. To make it more 
 generic, we need a way to report this piece of information from region to 
 master (or just at region server level). So later on, we can display the 
 loaded class names at shell as well as web console. 

--
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




[jira] [Commented] (HBASE-4507) Create checkAndPut variant that exposes timestamp / UUID

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117664#comment-13117664
 ] 

jirapos...@reviews.apache.org commented on HBASE-4507:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2118/#review2185
---



src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
https://reviews.apache.org/r/2118/#comment5089

Since expectedTimestampOfLatestVersion would only be used for use case from 
HBASE04497, I think we just need a reliable way of enforcing this 1 ms advance.
Maybe spinlocking till EnvironmentEdgeManager.currentTimeMillis() returns 
now+1 ?


- Ted


On 2011-09-29 21:10:29, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2118/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 21:10:29)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Adds a checkAndPut that takes a timestamp
bq.  
bq.  
bq.  This addresses bug hbase-4507.
bq.  https://issues.apache.org/jira/browse/hbase-4507
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 3679c02 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 7cbdb98 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
0c06f4f 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 
99b34cc 
bq.  
bq.  Diff: https://reviews.apache.org/r/2118/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.



 Create checkAndPut variant that exposes timestamp / UUID
 

 Key: HBASE-4507
 URL: https://issues.apache.org/jira/browse/HBASE-4507
 Project: HBase
  Issue Type: Sub-task
Reporter: Ted Yu
Assignee: stack

 Michael checked the checkAndPut which doesn't expose timestamp. A variant of 
 checkAndPut should be created to expose timestamp which is written into a 
 column specified by additional parameters.

--
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




[jira] [Commented] (HBASE-4503) Purge deprecated HBaseClusterTestCase

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117673#comment-13117673
 ] 

jirapos...@reviews.apache.org commented on HBASE-4503:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2119/#review2184
---


A couple of slight cleanup things, but overall +1.


src/test/java/org/apache/hadoop/hbase/TestHBaseTestingUtility.java
https://reviews.apache.org/r/2119/#comment5084

Does this file really need to be here? Yeah, its a little whitespace 
cleanup, but I don't think its *that* necessary



src/test/java/org/apache/hadoop/hbase/TestInfoServers.java
https://reviews.apache.org/r/2119/#comment5086

why not just assertEquals(${desc}, expected, content) here?



src/test/java/org/apache/hadoop/hbase/TestMultiVersions.java
https://reviews.apache.org/r/2119/#comment5088

Couldn't this just go into @BeforeClass?



src/test/java/org/apache/hadoop/hbase/TestMultiVersions.java
https://reviews.apache.org/r/2119/#comment5090

nitpick: just use iterable properties here?

Also, maybe abstract this into a single checking method? Not gaining a 
whole lot, but saves you some code copy.



src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableMapReduce.java
https://reviews.apache.org/r/2119/#comment5093

nitpick: why drop the import?



src/test/java/org/apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.java
https://reviews.apache.org/r/2119/#comment5094

nitpick: (Again) import Assert.*?



src/test/java/org/apache/hadoop/hbase/master/TestDefaultLoadBalancer.java
https://reviews.apache.org/r/2119/#comment5095

This doesn't seem to fail into the same review need as the rest of the 
patch. I'm ok with the changes, but it would be better if they were for the 
same reason.

+/-0


- Jesse


On 2011-09-29 22:01:14, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2119/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 22:01:14)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Replace deprecated HBaseClusterTestCase and subclasses.
bq.  
bq.  
bq.  This addresses bug hbase-4503.
bq.  https://issues.apache.org/jira/browse/hbase-4503
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/test/java/org/apache/hadoop/hbase/HBaseClusterTestCase.java c18cddb 
bq.src/test/java/org/apache/hadoop/hbase/MultiRegionTable.java a8fd4e5 
bq.src/test/java/org/apache/hadoop/hbase/TestHBaseTestingUtility.java 
555174a 
bq.src/test/java/org/apache/hadoop/hbase/TestInfoServers.java 638df08 
bq.src/test/java/org/apache/hadoop/hbase/TestMultiVersions.java 
PRE-CREATION 
bq.src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java 9023af8 
bq.src/test/java/org/apache/hadoop/hbase/TestScanMultipleVersions.java 
d7baba4 
bq.src/test/java/org/apache/hadoop/hbase/TimestampTestBase.java 221352c 
bq.src/test/java/org/apache/hadoop/hbase/client/TestGetRowVersions.java 
27842ed 
bq.src/test/java/org/apache/hadoop/hbase/client/TestTimestamp.java 9204539 
bq.src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduce.java 
5a5c3c6 
bq.src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableMapReduce.java 
0b8ff30 
bq.src/test/java/org/apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.java 
a772360 
bq.
src/test/java/org/apache/hadoop/hbase/master/TestDefaultLoadBalancer.java 
a4cd9a3 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/DisabledTestRegionServerExit.java
 5b8b464 
bq.src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java 
5802686 
bq.  
bq.  Diff: https://reviews.apache.org/r/2119/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Unit tests pass
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.



 Purge deprecated HBaseClusterTestCase
 -

 Key: HBASE-4503
 URL: https://issues.apache.org/jira/browse/HBASE-4503
 Project: HBase
  Issue Type: Improvement
Reporter: stack
Assignee: stack
 Attachments: 4503-v2.txt, 4503.txt


 It could gain us a few minutes on overall test run in the cases where we 
 don't spin up a cluster for each test.

--
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




[jira] [Commented] (HBASE-4487) The increment operation can release the rowlock before sync-ing the Hlog

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117677#comment-13117677
 ] 

jirapos...@reviews.apache.org commented on HBASE-4487:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2116/#review2186
---


Looks good. I like the bench marking tool.

This is like a group commit in HLog.  We have a group committing going on 
inside in sync down in dfsclient.  Does this group commit not 'group' enough.

With this change, its no longer possible to sync each increment.  We ok w/ 
that?  We should at least release note this difference in increment behaviors 
and erring on the conservative side, I'd mark this an 'incompatible change' 
rather than an 'improvement' just so its more likely folks will know of this 
changed increment behavior.

- Michael


On 2011-09-29 19:27:36, Dhruba Borthakur wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2116/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 19:27:36)
bq.  
bq.  
bq.  Review request for hbase and Ted Yu.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  The increment operation releases the rowlock before doing the sync to the 
HLog. This improves performance of increments on hot rows. Introduced method 
HLog.appendNoSync() that returns a txid. The increment method then release the 
rowlock and invokes HLog.sync(txid). The HLog.sync(txid) returns only if all 
the transactions upto the one identified by that txid has been successfully 
sycned to HDFS.
bq.  
bq.  There is a single test TestIncrement that creates a 100 threads and 
ensures that all the concurrent increments match the final expected result. 
There is a benchmark TestHLogBench that measures the performance of the 
appendNoSync call.
bq.  
bq.  
bq.  This addresses bug HBASE-4487.
bq.  https://issues.apache.org/jira/browse/HBASE-4487
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq./src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1177401 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java 
1177401 
bq./src/test/java/org/apache/hadoop/hbase/regionserver/TestIncrement.java 
PRE-CREATION 
bq.
/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLogBench.java 
PRE-CREATION 
bq.
/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.java
 1177401 
bq.
/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java
 1177401 
bq.  
bq.  Diff: https://reviews.apache.org/r/2116/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  All unit tests pass now (expect TestDistributedLogSplitting, 
TestRollingRestart, TestHTablePool), but I am seeing the same test to fail on 
trunk, so these failures do not seem to be related to this patch.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Dhruba
bq.  
bq.



 The increment operation can release the rowlock before sync-ing the Hlog
 

 Key: HBASE-4487
 URL: https://issues.apache.org/jira/browse/HBASE-4487
 Project: HBase
  Issue Type: Improvement
Reporter: dhruba borthakur
Assignee: dhruba borthakur
 Attachments: appendNoSync4.txt, appendNoSync5.txt, appendNoSync6.txt


 This allows for better throughput when there are hot rows.I have seen this 
 change make a single row update improve from 400 increments/sec/server to 
 4000 increments/sec/server.

--
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




[jira] [Commented] (HBASE-4070) [Coprocessors] Improve region server metrics to report loaded coprocessors to master

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117694#comment-13117694
 ] 

jirapos...@reviews.apache.org commented on HBASE-4070:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2029/#review2183
---



src/main/java/org/apache/hadoop/hbase/HServerLoad.java
https://reviews.apache.org/r/2029/#comment5082

an extra indent?



src/main/java/org/apache/hadoop/hbase/HServerLoad.java
https://reviews.apache.org/r/2029/#comment5083

Just a naming suggestion for walCoprocessors=coprocessors. Although right 
now WALObserver is the only RS level CP, but it'd better not to indicate here.



src/main/java/org/apache/hadoop/hbase/HServerLoad.java
https://reviews.apache.org/r/2029/#comment5085

getSimpleName() only returns the class name w/o package info. I think we 
should use the whole class name for the comparator. 



src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
https://reviews.apache.org/r/2029/#comment5092

do we really need to provide it thru HTAdmin? if we do, the returned value 
is not correct in case of exception. 



src/main/java/org/apache/hadoop/hbase/ipc/HMasterInterface.java
https://reviews.apache.org/r/2029/#comment5087

The new method is a little odd. how about just getCoprocessors(). 



src/main/java/org/apache/hadoop/hbase/master/HMaster.java
https://reviews.apache.org/r/2029/#comment5091

still the method name?



src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
https://reviews.apache.org/r/2029/#comment5096

same as HMasterInterface. can we just generateCoprocessorString() = String 
getCoprocessors()?



src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
https://reviews.apache.org/r/2029/#comment5097

is it okay just reuse the existing serverLoad, without rebuilding the whole 
thing? 

this.serverInfo.getLoad()

but it may not be a big issue. 



src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java
https://reviews.apache.org/r/2029/#comment5098

The file TestCoprocessorEndpoint is particularly for testing cp endpoint. 
It's odd to put the new test cases to this file. Maybe TestClassLoading is a 
better place. 



src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java
https://reviews.apache.org/r/2029/#comment5100

according the previous override comparator in HRL, the cps should be in 
alphabet order. so you don't need to compare this 2 strings. 


- Mingjie


On 2011-09-29 20:15:12, Eugene Koontz wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2029/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 20:15:12)
bq.  
bq.  
bq.  Review request for hbase and Mingjie Lai.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Proposed fix for HBASE-4070. 
bq.  
bq.  
bq.  This addresses bug HBASE-4070.
bq.  https://issues.apache.org/jira/browse/HBASE-4070
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon 
abeb850 
bq.src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon 
be6fceb 
bq.src/main/java/org/apache/hadoop/hbase/HServerLoad.java 0c680e4 
bq.src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java a55a4b1 
bq.src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java 
dbae4fd 
bq.src/main/java/org/apache/hadoop/hbase/ipc/HMasterInterface.java a069400 
bq.src/main/java/org/apache/hadoop/hbase/master/HMaster.java 270f3f3 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.src/main/ruby/hbase/admin.rb b244ffe 
bq.
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java 
a8f2a9c 
bq.  
bq.  Diff: https://reviews.apache.org/r/2029/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Two new tests : testRegionServerCoprocessorReported() and 
testMasterServerCoprocessorsReported() added to 
src/test/java/o.a.h.h/coprocessor/TestCoprocessorEndpoint.java.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Eugene
bq.  
bq.



 [Coprocessors] Improve region server metrics to report loaded coprocessors to 
 master
 

 Key: HBASE-4070
 URL: https://issues.apache.org/jira/browse/HBASE-4070
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.90.3
Reporter: Mingjie Lai
Assignee: Eugene Koontz
 Attachments: 

[jira] [Commented] (HBASE-4503) Purge deprecated HBaseClusterTestCase

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117705#comment-13117705
 ] 

jirapos...@reviews.apache.org commented on HBASE-4503:
--



bq.  On 2011-09-29 22:26:55, Jesse Yates wrote:
bq.   src/test/java/org/apache/hadoop/hbase/TestHBaseTestingUtility.java, line 
150
bq.   https://reviews.apache.org/r/2119/diff/1/?file=46504#file46504line150
bq.  
bq.   Does this file really need to be here? Yeah, its a little whitespace 
cleanup, but I don't think its *that* necessary

Agreed.  Will purge it from the diff.


bq.  On 2011-09-29 22:26:55, Jesse Yates wrote:
bq.   src/test/java/org/apache/hadoop/hbase/TestInfoServers.java, line 105
bq.   https://reviews.apache.org/r/2119/diff/1/?file=46505#file46505line105
bq.  
bq.   why not just assertEquals(${desc}, expected, content) here?

Will do.


bq.  On 2011-09-29 22:26:55, Jesse Yates wrote:
bq.   src/test/java/org/apache/hadoop/hbase/TestMultiVersions.java, line 72
bq.   https://reviews.apache.org/r/2119/diff/1/?file=46506#file46506line72
bq.  
bq.   Couldn't this just go into @BeforeClass?

That is static but this.admin is not.  It could but saw no harm doing it this 
way.


bq.  On 2011-09-29 22:26:55, Jesse Yates wrote:
bq.   src/test/java/org/apache/hadoop/hbase/TestMultiVersions.java, line 240
bq.   https://reviews.apache.org/r/2119/diff/1/?file=46506#file46506line240
bq.  
bq.   nitpick: just use iterable properties here?
bq.   
bq.   Also, maybe abstract this into a single checking method? Not gaining 
a whole lot, but saves you some code copy.

The tests here were copied from elsewhere.  I tried not to touch what they did, 
just convert the chassis they used.  I can change this np.


bq.  On 2011-09-29 22:26:55, Jesse Yates wrote:
bq.   src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableMapReduce.java, 
line 191
bq.   https://reviews.apache.org/r/2119/diff/1/?file=46513#file46513line191
bq.  
bq.   nitpick: why drop the import?

Will fix.


bq.  On 2011-09-29 22:26:55, Jesse Yates wrote:
bq.   
src/test/java/org/apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.java, line 
217
bq.   https://reviews.apache.org/r/2119/diff/1/?file=46514#file46514line217
bq.  
bq.   nitpick: (Again) import Assert.*?

Will fix.


- Michael


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2119/#review2184
---


On 2011-09-29 22:01:14, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2119/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 22:01:14)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Replace deprecated HBaseClusterTestCase and subclasses.
bq.  
bq.  
bq.  This addresses bug hbase-4503.
bq.  https://issues.apache.org/jira/browse/hbase-4503
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/test/java/org/apache/hadoop/hbase/HBaseClusterTestCase.java c18cddb 
bq.src/test/java/org/apache/hadoop/hbase/MultiRegionTable.java a8fd4e5 
bq.src/test/java/org/apache/hadoop/hbase/TestHBaseTestingUtility.java 
555174a 
bq.src/test/java/org/apache/hadoop/hbase/TestInfoServers.java 638df08 
bq.src/test/java/org/apache/hadoop/hbase/TestMultiVersions.java 
PRE-CREATION 
bq.src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java 9023af8 
bq.src/test/java/org/apache/hadoop/hbase/TestScanMultipleVersions.java 
d7baba4 
bq.src/test/java/org/apache/hadoop/hbase/TimestampTestBase.java 221352c 
bq.src/test/java/org/apache/hadoop/hbase/client/TestGetRowVersions.java 
27842ed 
bq.src/test/java/org/apache/hadoop/hbase/client/TestTimestamp.java 9204539 
bq.src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduce.java 
5a5c3c6 
bq.src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableMapReduce.java 
0b8ff30 
bq.src/test/java/org/apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.java 
a772360 
bq.
src/test/java/org/apache/hadoop/hbase/master/TestDefaultLoadBalancer.java 
a4cd9a3 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/DisabledTestRegionServerExit.java
 5b8b464 
bq.src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java 
5802686 
bq.  
bq.  Diff: https://reviews.apache.org/r/2119/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Unit tests pass
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.



 Purge deprecated HBaseClusterTestCase
 -

 Key: HBASE-4503
 URL: https://issues.apache.org/jira/browse/HBASE-4503
 Project: 

[jira] [Commented] (HBASE-4503) Purge deprecated HBaseClusterTestCase

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117704#comment-13117704
 ] 

jirapos...@reviews.apache.org commented on HBASE-4503:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2119/#review2189
---



src/test/java/org/apache/hadoop/hbase/master/TestDefaultLoadBalancer.java
https://reviews.apache.org/r/2119/#comment5109

You are right


- Michael


On 2011-09-29 22:01:14, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2119/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 22:01:14)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Replace deprecated HBaseClusterTestCase and subclasses.
bq.  
bq.  
bq.  This addresses bug hbase-4503.
bq.  https://issues.apache.org/jira/browse/hbase-4503
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/test/java/org/apache/hadoop/hbase/HBaseClusterTestCase.java c18cddb 
bq.src/test/java/org/apache/hadoop/hbase/MultiRegionTable.java a8fd4e5 
bq.src/test/java/org/apache/hadoop/hbase/TestHBaseTestingUtility.java 
555174a 
bq.src/test/java/org/apache/hadoop/hbase/TestInfoServers.java 638df08 
bq.src/test/java/org/apache/hadoop/hbase/TestMultiVersions.java 
PRE-CREATION 
bq.src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java 9023af8 
bq.src/test/java/org/apache/hadoop/hbase/TestScanMultipleVersions.java 
d7baba4 
bq.src/test/java/org/apache/hadoop/hbase/TimestampTestBase.java 221352c 
bq.src/test/java/org/apache/hadoop/hbase/client/TestGetRowVersions.java 
27842ed 
bq.src/test/java/org/apache/hadoop/hbase/client/TestTimestamp.java 9204539 
bq.src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduce.java 
5a5c3c6 
bq.src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableMapReduce.java 
0b8ff30 
bq.src/test/java/org/apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.java 
a772360 
bq.
src/test/java/org/apache/hadoop/hbase/master/TestDefaultLoadBalancer.java 
a4cd9a3 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/DisabledTestRegionServerExit.java
 5b8b464 
bq.src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java 
5802686 
bq.  
bq.  Diff: https://reviews.apache.org/r/2119/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Unit tests pass
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.



 Purge deprecated HBaseClusterTestCase
 -

 Key: HBASE-4503
 URL: https://issues.apache.org/jira/browse/HBASE-4503
 Project: HBase
  Issue Type: Improvement
Reporter: stack
Assignee: stack
 Attachments: 4503-v2.txt, 4503.txt


 It could gain us a few minutes on overall test run in the cases where we 
 don't spin up a cluster for each test.

--
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




[jira] [Commented] (HBASE-4515) User.getCurrent() can cause NPE.

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117723#comment-13117723
 ] 

jirapos...@reviews.apache.org commented on HBASE-4515:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2123/#review2190
---


IMO, it would be best to avoid letting either a null or NPE escape.

- Andrew


On 2011-09-29 21:41:46, jmhsieh wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2123/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 21:41:46)
bq.  
bq.  
bq.  Review request for hbase and Gary Helmling.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  commit aa319da9896588f97aeeb50a39bc5641ae58d537
bq.  Author: Jonathan Hsieh j...@cloudera.com
bq.  Date:   Thu Sep 29 13:27:22 2011 -0700
bq.  
bq.  HBASE-4515 User.getCurrent() can cause NPE
bq.  
bq.  
bq.  This addresses bug HBASE-4515.
bq.  https://issues.apache.org/jira/browse/HBASE-4515
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/security/User.java d90f2c7 
bq.src/test/java/org/apache/hadoop/hbase/security/TestUser.java 6e497da 
bq.  
bq.  Diff: https://reviews.apache.org/r/2123/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  New unit tests passes although the behavior it displays is a bit suspect.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  jmhsieh
bq.  
bq.



 User.getCurrent() can cause NPE.
 

 Key: HBASE-4515
 URL: https://issues.apache.org/jira/browse/HBASE-4515
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.92.0, 0.94.0
Reporter: Jonathan Hsieh
Assignee: Jonathan Hsieh
 Attachments: 0001-HBASE-4515-User.getCurrent-can-cause-NPE.patch, 
 HBASE-4515_trunk.patch


 When testing with miniclusters that shutdown and are restarted, sometimes a 
 call to User.getCurrent().getName() NPEs when attempting to restart hbase.  
 Oddly this happens consistently on particular branches and not on others. I 
 don't know or understand why this happens but it has something to do with the 
 getCurrentUGI call in  o.a.h.h.security.User.HadoopUser sometimes returning 
 null and sometimes returning data.
 {code}
private HadoopUser() {
   try {
 ugi = (UserGroupInformation) callStatic(getCurrentUGI);
 if (ugi == null) {
   LOG.warn(Although successfully retrieved UserGroupInformation 
   +   it was null!);
 }
   } catch (RuntimeException re) {
 {code}
 This patch essentially is a workaround -- it propagates the null so that 
 clients can check and avoid the NPE.

--
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




[jira] [Commented] (HBASE-4515) User.getCurrent() can cause NPE.

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117740#comment-13117740
 ] 

jirapos...@reviews.apache.org commented on HBASE-4515:
--



bq.  On 2011-09-29 23:08:13, Andrew Purtell wrote:
bq.   IMO, it would be best to avoid letting either a null or NPE escape.

I agree, I just didn't figure out how the value got populated.  Gary's posted a 
patch that avoids the npe/null by logging in and that code worked for me.  


- jmhsieh


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2123/#review2190
---


On 2011-09-29 21:41:46, jmhsieh wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2123/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 21:41:46)
bq.  
bq.  
bq.  Review request for hbase and Gary Helmling.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  commit aa319da9896588f97aeeb50a39bc5641ae58d537
bq.  Author: Jonathan Hsieh j...@cloudera.com
bq.  Date:   Thu Sep 29 13:27:22 2011 -0700
bq.  
bq.  HBASE-4515 User.getCurrent() can cause NPE
bq.  
bq.  
bq.  This addresses bug HBASE-4515.
bq.  https://issues.apache.org/jira/browse/HBASE-4515
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/security/User.java d90f2c7 
bq.src/test/java/org/apache/hadoop/hbase/security/TestUser.java 6e497da 
bq.  
bq.  Diff: https://reviews.apache.org/r/2123/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  New unit tests passes although the behavior it displays is a bit suspect.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  jmhsieh
bq.  
bq.



 User.getCurrent() can cause NPE.
 

 Key: HBASE-4515
 URL: https://issues.apache.org/jira/browse/HBASE-4515
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.92.0, 0.94.0
Reporter: Jonathan Hsieh
Assignee: Gary Helmling
 Attachments: 0001-HBASE-4515-User.getCurrent-can-cause-NPE.patch, 
 HBASE-4515_trunk.patch


 When testing with miniclusters that shutdown and are restarted, sometimes a 
 call to User.getCurrent().getName() NPEs when attempting to restart hbase.  
 Oddly this happens consistently on particular branches and not on others. I 
 don't know or understand why this happens but it has something to do with the 
 getCurrentUGI call in  o.a.h.h.security.User.HadoopUser sometimes returning 
 null and sometimes returning data.
 {code}
private HadoopUser() {
   try {
 ugi = (UserGroupInformation) callStatic(getCurrentUGI);
 if (ugi == null) {
   LOG.warn(Although successfully retrieved UserGroupInformation 
   +   it was null!);
 }
   } catch (RuntimeException re) {
 {code}
 This patch essentially is a workaround -- it propagates the null so that 
 clients can check and avoid the NPE.

--
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




[jira] [Commented] (HBASE-4476) Compactions must fail if column tracker gets columns out of order

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117749#comment-13117749
 ] 

jirapos...@reviews.apache.org commented on HBASE-4476:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2050/
---

(Updated 2011-09-29 23:45:46.477105)


Review request for hbase and Kannan Muthukkaruppan.


Changes
---

Linking to HBASE-4476.


Summary
---

We found this in ScanWildcardColumnTracker:

// new col  oldcol
// if (cmp  0) {
// WARNING: This means that very likely an edit for some other family
// was incorrectly stored into the store for this one. Continue, but
// complain.
LOG.error(ScanWildcardColumnTracker.checkColumn ran  +
into a column actually smaller than the previous column:  +

This went under the radar in our dark launch cluster when a column family name 
was misspelled first, but then was renamed by renaming directories in the 
HBase storage directory tree. We ended up with inconsistent data, but 
compactions still succeeded most of the time, likely discarding part of input 
data.


This addresses bug HBASE-4476.
https://issues.apache.org/jira/browse/HBASE-4476


Diffs
-

  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ColumnTracker.java
 1176613 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
 1176613 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/ScanWildcardColumnTracker.java
 1176613 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java
 1176613 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
 1176613 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestExplicitColumnTracker.java
 1176613 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestScanWildcardColumnTracker.java
 1176613 

Diff: https://reviews.apache.org/r/2050/diff


Testing
---

Run unit tests.
Will also push to a 5-node dev cluster.


Thanks,

Mikhail



 Compactions must fail if column tracker gets columns out of order
 -

 Key: HBASE-4476
 URL: https://issues.apache.org/jira/browse/HBASE-4476
 Project: HBase
  Issue Type: Bug
Reporter: Mikhail Bautin
Assignee: Mikhail Bautin
 Fix For: 0.92.0, 0.94.0


 We found this in ScanWildcardColumnTracker:
 // new col  oldcol
 // if (cmp  0) {
 // WARNING: This means that very likely an edit for some other family
 // was incorrectly stored into the store for this one. Continue, but
 // complain.
 LOG.error(ScanWildcardColumnTracker.checkColumn ran  +
   into a column actually smaller than the previous column:  +
 This went under the radar in our dark launch cluster when a column family 
 name was misspelled first, but then was renamed by renaming directories in 
 the HBase storage directory tree. We ended up with inconsistent data, but 
 compactions still succeeded most of the time, likely discarding part of input 
 data.

--
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




[jira] [Commented] (HBASE-4507) Create checkAndPut variant that exposes timestamp / UUID

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117753#comment-13117753
 ] 

jirapos...@reviews.apache.org commented on HBASE-4507:
--



bq.  On 2011-09-29 21:54:42, Ted Yu wrote:
bq.   src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java, line 
1942
bq.   https://reviews.apache.org/r/2118/diff/1/?file=46471#file46471line1942
bq.  
bq.   How about naming this method doTimestampsClash ?

Because I wanted to follow beans convention for naming methods that have 
boolean return (its not the best english but tells you more about what to 
expect of the method than a 'do').


bq.  On 2011-09-29 21:54:42, Ted Yu wrote:
bq.   src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java, line 
1948
bq.   https://reviews.apache.org/r/2118/diff/1/?file=46471#file46471line1948
bq.  
bq.   I wish there is a better way to handle this situation :-(

This situation is going to be extremely rare.  If it happens at all, we do this 
+1 on the ts.  I prefer this to a spin-wait holding up the update.


- Michael


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2118/#review2176
---


On 2011-09-29 21:10:29, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2118/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 21:10:29)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Adds a checkAndPut that takes a timestamp
bq.  
bq.  
bq.  This addresses bug hbase-4507.
bq.  https://issues.apache.org/jira/browse/hbase-4507
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 3679c02 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 7cbdb98 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
0c06f4f 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 
99b34cc 
bq.  
bq.  Diff: https://reviews.apache.org/r/2118/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.



 Create checkAndPut variant that exposes timestamp / UUID
 

 Key: HBASE-4507
 URL: https://issues.apache.org/jira/browse/HBASE-4507
 Project: HBase
  Issue Type: Sub-task
Reporter: Ted Yu
Assignee: stack

 Michael checked the checkAndPut which doesn't expose timestamp. A variant of 
 checkAndPut should be created to expose timestamp which is written into a 
 column specified by additional parameters.

--
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




[jira] [Commented] (HBASE-4507) Create checkAndPut variant that exposes timestamp / UUID

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117756#comment-13117756
 ] 

jirapos...@reviews.apache.org commented on HBASE-4507:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2118/
---

(Updated 2011-09-29 23:52:43.167788)


Review request for hbase.


Changes
---

Address Ted's feedback.  Made all changes but suggestion to do a spin-wait.


Summary
---

Adds a checkAndPut that takes a timestamp


This addresses bug hbase-4507.
https://issues.apache.org/jira/browse/hbase-4507


Diffs (updated)
-

  src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 3679c02 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 6ec857c 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 96b763b 
  src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 99b34cc 

Diff: https://reviews.apache.org/r/2118/diff


Testing
---


Thanks,

Michael



 Create checkAndPut variant that exposes timestamp / UUID
 

 Key: HBASE-4507
 URL: https://issues.apache.org/jira/browse/HBASE-4507
 Project: HBase
  Issue Type: Sub-task
Reporter: Ted Yu
Assignee: stack

 Michael checked the checkAndPut which doesn't expose timestamp. A variant of 
 checkAndPut should be created to expose timestamp which is written into a 
 column specified by additional parameters.

--
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




[jira] [Commented] (HBASE-4516) HFile-level load tester with compaction and random-read workloads

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117757#comment-13117757
 ] 

jirapos...@reviews.apache.org commented on HBASE-4516:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2122/
---

Review request for hbase, Michael Stack and Jonathan Gray.


Summary
---

This is a load testing tool for HFile implementations, which supports two 
workloads:

Compactions (merge the input HFiles). A special case of this is only one 
input, which allows to do HFile format conversions.
Random reads. Launches the specified number of threads that do seeks and 
short scans on randomly generated keys.

The original purpose of this tool was to ensure that HFile format v2 did not 
introduce performance regressions.

Keys for the read workload are generated randomly between the first and the 
last key of the HFile. At each position, instead of precisely calculating the 
correct probability for every byte value b, we select a uniformly random byte 
between in the allowed [low, high] range. In addition, there is a heuristic 
that determines the positions at which the key has hex characters, and the 
random key contains hex characters at those positions as well.

Example output for the random read workload:
Time: 120 sec, seek/sec: 8290, kv/sec: 30351, kv bytes/sec: 91868121, blk/sec: 
10147, unique keys: 232779

Also refactoring and clarifying the confusing situation when a StoreFile 
happens to have a different Bloom filter type than what is configured for the 
column family.


This addresses bug HBASE-4516.
https://issues.apache.org/jira/browse/HBASE-4516


Diffs
-

  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java b429819 
  src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java fd9e7ef 
  src/test/java/org/apache/hadoop/hbase/regionserver/HFileReadWriteTest.java 
PRE-CREATION 

Diff: https://reviews.apache.org/r/2122/diff


Testing
---

Running unit tests and the load tester tool itself.


Thanks,

Mikhail



 HFile-level load tester with compaction and random-read workloads
 -

 Key: HBASE-4516
 URL: https://issues.apache.org/jira/browse/HBASE-4516
 Project: HBase
  Issue Type: Test
Reporter: Mikhail Bautin
Priority: Minor
 Fix For: 0.94.0


 This is a load testing tool for HFile implementations, which supports two 
 workloads:
 - Compactions (merge the input HFiles). A special case of this is only one 
 input, which allows to do HFile format conversions.
 - Random reads. Launches the specified number of threads that do seeks and 
 short scans on randomly generated keys.
 The original purpose of this tool was to ensure that HFile format v2 did not 
 introduce performance regressions.
 Keys for the read workload are generated randomly between the first and the 
 last key of the HFile. At each position, instead of precisely calculating the 
 correct probability for every byte value b, we select a uniformly random byte 
 between in the allowed [low, high] range. In addition, there is a heuristic 
 that determines the positions at which the key has hex characters, and the 
 random key contains hex characters at those positions as well.
 Example output for the random read workload:
 Time: 120 sec, seek/sec: 8290, kv/sec: 30351, kv bytes/sec: 91868121, 
 blk/sec: 10147, unique keys: 232779

--
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




[jira] [Commented] (HBASE-4516) HFile-level load tester with compaction and random-read workloads

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117761#comment-13117761
 ] 

jirapos...@reviews.apache.org commented on HBASE-4516:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2122/
---

(Updated 2011-09-29 23:54:05.869273)


Review request for hbase, Michael Stack and Jonathan Gray.


Changes
---

Updating summary (sorry for spam).


Summary (updated)
---

This is a load testing tool for HFile implementations, which supports two 
workloads:

Compactions (merge the input HFiles). A special case of this is only one 
input, which allows to do HFile format conversions.
Random reads. Launches the specified number of threads that do seeks and 
short scans on randomly generated keys.

The original purpose of this tool was to ensure that HFile format v2 did not 
introduce performance regressions.

Keys for the read workload are generated randomly between the first and the 
last key of the HFile. At each position, instead of precisely calculating the 
correct probability for every byte value b, we select a uniformly random byte 
between in the allowed [low, high] range. In addition, there is a heuristic 
that determines the positions at which the key has hex characters, and the 
random key contains hex characters at those positions as well.

Example output for the random read workload:
Time: 120 sec, seek/sec: 8290, kv/sec: 30351, kv bytes/sec: 91868121, blk/sec: 
10147, unique keys: 232779

Also refactoring and clarifying the confusing situation when a StoreFile 
happens to have a different Bloom filter type than what is configured for the 
column family.


This addresses bug HBASE-4516.
https://issues.apache.org/jira/browse/HBASE-4516


Diffs
-

  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java b429819 
  src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java fd9e7ef 
  src/test/java/org/apache/hadoop/hbase/regionserver/HFileReadWriteTest.java 
PRE-CREATION 

Diff: https://reviews.apache.org/r/2122/diff


Testing
---

Running unit tests and the load tester tool itself.


Thanks,

Mikhail



 HFile-level load tester with compaction and random-read workloads
 -

 Key: HBASE-4516
 URL: https://issues.apache.org/jira/browse/HBASE-4516
 Project: HBase
  Issue Type: Test
Reporter: Mikhail Bautin
Priority: Minor
 Fix For: 0.94.0


 This is a load testing tool for HFile implementations, which supports two 
 workloads:
 - Compactions (merge the input HFiles). A special case of this is only one 
 input, which allows to do HFile format conversions.
 - Random reads. Launches the specified number of threads that do seeks and 
 short scans on randomly generated keys.
 The original purpose of this tool was to ensure that HFile format v2 did not 
 introduce performance regressions.
 Keys for the read workload are generated randomly between the first and the 
 last key of the HFile. At each position, instead of precisely calculating the 
 correct probability for every byte value b, we select a uniformly random byte 
 between in the allowed [low, high] range. In addition, there is a heuristic 
 that determines the positions at which the key has hex characters, and the 
 random key contains hex characters at those positions as well.
 Example output for the random read workload:
 Time: 120 sec, seek/sec: 8290, kv/sec: 30351, kv bytes/sec: 91868121, 
 blk/sec: 10147, unique keys: 232779

--
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




[jira] [Commented] (HBASE-4377) [hbck] Offline rebuild .META. from fs data only.

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117762#comment-13117762
 ] 

jirapos...@reviews.apache.org commented on HBASE-4377:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2126/
---

Review request for hbase, Michael Stack and Andrew Purtell.


Summary
---

commit fbf82c17be6b3ecca5a981f5270cf93aac26e479
Author: Jonathan Hsieh j...@cloudera.com
Date:   Wed Sep 28 10:18:11 2011 -0700

HBASE-4377 [hbck] Offline rebuild .META. from fs data only


This patch rebuilds a new .META. table by reading all the .regioninfo files in 
the hbase main directory.  It depends on the yet to be committed HBASE-4515 
(either my verison or Gary's version), HBASE-4509, and HBASE-4506.  

Some follow on work includes backporting to 0.90, auto-patching true holes, and 
adding documentation.


This addresses bug HBASE-4377.
https://issues.apache.org/jira/browse/HBASE-4377


Diffs
-

  src/main/java/org/apache/hadoop/hbase/master/MasterFileSystem.java b9c850d 
  src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java 8465724 
  src/main/java/org/apache/hadoop/hbase/util/hbck/OfflineMetaRepair.java 
PRE-CREATION 
  src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java fae0881 
  src/test/java/org/apache/hadoop/hbase/util/hbck/HbckTestingUtil.java 
PRE-CREATION 
  src/test/java/org/apache/hadoop/hbase/util/hbck/TestOfflineMetaRebuild.java 
PRE-CREATION 

Diff: https://reviews.apache.org/r/2126/diff


Testing
---

An earlier version of this code (backported to 0.90) was used to diagnose and 
repair a cluster that had 2700 inconsistencies due to failed splits (the 
cluster was underprovisioned memory-wise, and on restart, the some regions 
would start splitting and then die due to oome's).  This was not actually used 
on a live cluster -- it was used to reconstruct a .META. from .regioninfo's 
laid out in hbase's directory structure.

Note also that this is not an automatic fix -- whenever any problems are found, 
this bails out but dumps info on holes, suggests some fixes, and displays sets 
of overlapping regions.  It is up to the user to merge regions, to create 
.regioninfo files to plug hole, and to do any potential data loosing operations.

The tests demonstrate current expected behavior -- rebuild meta if things line 
up, and fail without making modifications if holes or overlaps exist.


Thanks,

jmhsieh



 [hbck] Offline rebuild .META. from fs data only.
 

 Key: HBASE-4377
 URL: https://issues.apache.org/jira/browse/HBASE-4377
 Project: HBase
  Issue Type: New Feature
Reporter: Jonathan Hsieh
Assignee: Jonathan Hsieh
 Attachments: 
 0001-HBASE-4377-hbck-Offline-rebuild-.META.-from-fs-data-.patch


 In a worst case situation, it may be helpful to have an offline .META. 
 rebuilder that just looks at the file system's .regioninfos and rebuilds meta 
 from scratch.  Users could move bad regions out until there is a clean 
 rebuild.  
 It would likely fill in region split holes.  Follow on work could given 
 options to merge or select regions that overlap, or do online rebuilds.

--
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




[jira] [Commented] (HBASE-4516) HFile-level load tester with compaction and random-read workloads

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117766#comment-13117766
 ] 

jirapos...@reviews.apache.org commented on HBASE-4516:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2122/#review2194
---



src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
https://reviews.apache.org/r/2122/#comment5113

I don't think you meant to include this file in your loading tool patch?  
Just let me know and I can exclude on commit (maybe its part of another JIRA)?



src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
https://reviews.apache.org/r/2122/#comment5112

Did you intend to include this 'fix' in your loading tool patch?



src/test/java/org/apache/hadoop/hbase/regionserver/HFileReadWriteTest.java
https://reviews.apache.org/r/2122/#comment5114

FYI, going forward, this copyright line is no longer needed.


- Michael


On 2011-09-29 23:54:05, Mikhail Bautin wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2122/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 23:54:05)
bq.  
bq.  
bq.  Review request for hbase, Michael Stack and Jonathan Gray.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  This is a load testing tool for HFile implementations, which supports two 
workloads:
bq.  
bq.  Compactions (merge the input HFiles). A special case of this is only 
one input, which allows to do HFile format conversions.
bq.  Random reads. Launches the specified number of threads that do seeks 
and short scans on randomly generated keys.
bq.  
bq.  The original purpose of this tool was to ensure that HFile format v2 did 
not introduce performance regressions.
bq.  
bq.  Keys for the read workload are generated randomly between the first and 
the last key of the HFile. At each position, instead of precisely calculating 
the correct probability for every byte value b, we select a uniformly random 
byte between in the allowed [low, high] range. In addition, there is a 
heuristic that determines the positions at which the key has hex characters, 
and the random key contains hex characters at those positions as well.
bq.  
bq.  Example output for the random read workload:
bq.  Time: 120 sec, seek/sec: 8290, kv/sec: 30351, kv bytes/sec: 91868121, 
blk/sec: 10147, unique keys: 232779
bq.  
bq.  Also refactoring and clarifying the confusing situation when a StoreFile 
happens to have a different Bloom filter type than what is configured for the 
column family.
bq.  
bq.  
bq.  This addresses bug HBASE-4516.
bq.  https://issues.apache.org/jira/browse/HBASE-4516
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java b429819 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
fd9e7ef 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/HFileReadWriteTest.java 
PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/2122/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Running unit tests and the load tester tool itself.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Mikhail
bq.  
bq.



 HFile-level load tester with compaction and random-read workloads
 -

 Key: HBASE-4516
 URL: https://issues.apache.org/jira/browse/HBASE-4516
 Project: HBase
  Issue Type: Test
Reporter: Mikhail Bautin
Priority: Minor
 Fix For: 0.94.0


 This is a load testing tool for HFile implementations, which supports two 
 workloads:
 - Compactions (merge the input HFiles). A special case of this is only one 
 input, which allows to do HFile format conversions.
 - Random reads. Launches the specified number of threads that do seeks and 
 short scans on randomly generated keys.
 The original purpose of this tool was to ensure that HFile format v2 did not 
 introduce performance regressions.
 Keys for the read workload are generated randomly between the first and the 
 last key of the HFile. At each position, instead of precisely calculating the 
 correct probability for every byte value b, we select a uniformly random byte 
 between in the allowed [low, high] range. In addition, there is a heuristic 
 that determines the positions at which the key has hex characters, and the 
 random key contains hex characters at those positions as well.
 Example output for the random read workload:
 Time: 120 sec, seek/sec: 8290, kv/sec: 30351, kv bytes/sec: 91868121, 
 blk/sec: 10147, unique keys: 

[jira] [Commented] (HBASE-4516) HFile-level load tester with compaction and random-read workloads

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117767#comment-13117767
 ] 

jirapos...@reviews.apache.org commented on HBASE-4516:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2122/#review2195
---

Ship it!


Answer my question above M and I'll exclude on commit.  Will add a little note 
to the 'book' too that this tool now exists.  Nice.

- Michael


On 2011-09-29 23:54:05, Mikhail Bautin wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2122/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 23:54:05)
bq.  
bq.  
bq.  Review request for hbase, Michael Stack and Jonathan Gray.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  This is a load testing tool for HFile implementations, which supports two 
workloads:
bq.  
bq.  Compactions (merge the input HFiles). A special case of this is only 
one input, which allows to do HFile format conversions.
bq.  Random reads. Launches the specified number of threads that do seeks 
and short scans on randomly generated keys.
bq.  
bq.  The original purpose of this tool was to ensure that HFile format v2 did 
not introduce performance regressions.
bq.  
bq.  Keys for the read workload are generated randomly between the first and 
the last key of the HFile. At each position, instead of precisely calculating 
the correct probability for every byte value b, we select a uniformly random 
byte between in the allowed [low, high] range. In addition, there is a 
heuristic that determines the positions at which the key has hex characters, 
and the random key contains hex characters at those positions as well.
bq.  
bq.  Example output for the random read workload:
bq.  Time: 120 sec, seek/sec: 8290, kv/sec: 30351, kv bytes/sec: 91868121, 
blk/sec: 10147, unique keys: 232779
bq.  
bq.  Also refactoring and clarifying the confusing situation when a StoreFile 
happens to have a different Bloom filter type than what is configured for the 
column family.
bq.  
bq.  
bq.  This addresses bug HBASE-4516.
bq.  https://issues.apache.org/jira/browse/HBASE-4516
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java b429819 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
fd9e7ef 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/HFileReadWriteTest.java 
PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/2122/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Running unit tests and the load tester tool itself.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Mikhail
bq.  
bq.



 HFile-level load tester with compaction and random-read workloads
 -

 Key: HBASE-4516
 URL: https://issues.apache.org/jira/browse/HBASE-4516
 Project: HBase
  Issue Type: Test
Reporter: Mikhail Bautin
Priority: Minor
 Fix For: 0.94.0


 This is a load testing tool for HFile implementations, which supports two 
 workloads:
 - Compactions (merge the input HFiles). A special case of this is only one 
 input, which allows to do HFile format conversions.
 - Random reads. Launches the specified number of threads that do seeks and 
 short scans on randomly generated keys.
 The original purpose of this tool was to ensure that HFile format v2 did not 
 introduce performance regressions.
 Keys for the read workload are generated randomly between the first and the 
 last key of the HFile. At each position, instead of precisely calculating the 
 correct probability for every byte value b, we select a uniformly random byte 
 between in the allowed [low, high] range. In addition, there is a heuristic 
 that determines the positions at which the key has hex characters, and the 
 random key contains hex characters at those positions as well.
 Example output for the random read workload:
 Time: 120 sec, seek/sec: 8290, kv/sec: 30351, kv bytes/sec: 91868121, 
 blk/sec: 10147, unique keys: 232779

--
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




[jira] [Commented] (HBASE-4503) Purge deprecated HBaseClusterTestCase

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117768#comment-13117768
 ] 

jirapos...@reviews.apache.org commented on HBASE-4503:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2119/#review2196
---

Ship it!


- Jesse


On 2011-09-29 23:26:34, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2119/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 23:26:34)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Replace deprecated HBaseClusterTestCase and subclasses.
bq.  
bq.  
bq.  This addresses bug hbase-4503.
bq.  https://issues.apache.org/jira/browse/hbase-4503
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/test/java/org/apache/hadoop/hbase/HBaseClusterTestCase.java c18cddb 
bq.src/test/java/org/apache/hadoop/hbase/MultiRegionTable.java a8fd4e5 
bq.src/test/java/org/apache/hadoop/hbase/TestInfoServers.java 638df08 
bq.src/test/java/org/apache/hadoop/hbase/TestMultiVersions.java 
PRE-CREATION 
bq.src/test/java/org/apache/hadoop/hbase/TestRegionRebalancing.java 9023af8 
bq.src/test/java/org/apache/hadoop/hbase/TestScanMultipleVersions.java 
d7baba4 
bq.src/test/java/org/apache/hadoop/hbase/TimestampTestBase.java 221352c 
bq.src/test/java/org/apache/hadoop/hbase/client/TestGetRowVersions.java 
27842ed 
bq.src/test/java/org/apache/hadoop/hbase/client/TestTimestamp.java 9204539 
bq.src/test/java/org/apache/hadoop/hbase/mapred/TestTableMapReduce.java 
5a5c3c6 
bq.src/test/java/org/apache/hadoop/hbase/mapreduce/TestTableMapReduce.java 
0b8ff30 
bq.src/test/java/org/apache/hadoop/hbase/mapreduce/TestTimeRangeMapRed.java 
a772360 
bq.
src/test/java/org/apache/hadoop/hbase/master/TestDefaultLoadBalancer.java 
a4cd9a3 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/DisabledTestRegionServerExit.java
 5b8b464 
bq.src/test/java/org/apache/hadoop/hbase/thrift/TestThriftServer.java 
5802686 
bq.  
bq.  Diff: https://reviews.apache.org/r/2119/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Unit tests pass
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.



 Purge deprecated HBaseClusterTestCase
 -

 Key: HBASE-4503
 URL: https://issues.apache.org/jira/browse/HBASE-4503
 Project: HBase
  Issue Type: Improvement
Reporter: stack
Assignee: stack
 Attachments: 4503-v2.txt, 4503.txt


 It could gain us a few minutes on overall test run in the cases where we 
 don't spin up a cluster for each test.

--
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




[jira] [Commented] (HBASE-4515) User.getCurrent() can cause NPE.

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117771#comment-13117771
 ] 

jirapos...@reviews.apache.org commented on HBASE-4515:
--



bq.  On 2011-09-29 23:08:13, Andrew Purtell wrote:
bq.   IMO, it would be best to avoid letting either a null or NPE escape.
bq.  
bq.  jmhsieh wrote:
bq.  I agree, I just didn't figure out how the value got populated.  Gary's 
posted a patch that avoids the npe/null by logging in and that code worked for 
me.
bq.  
bq.  Michael Stack wrote:
bq.  Should we cancel this review then?

done.


- jmhsieh


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2123/#review2190
---


On 2011-09-29 21:41:46, jmhsieh wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2123/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 21:41:46)
bq.  
bq.  
bq.  Review request for hbase and Gary Helmling.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  commit aa319da9896588f97aeeb50a39bc5641ae58d537
bq.  Author: Jonathan Hsieh j...@cloudera.com
bq.  Date:   Thu Sep 29 13:27:22 2011 -0700
bq.  
bq.  HBASE-4515 User.getCurrent() can cause NPE
bq.  
bq.  
bq.  This addresses bug HBASE-4515.
bq.  https://issues.apache.org/jira/browse/HBASE-4515
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/security/User.java d90f2c7 
bq.src/test/java/org/apache/hadoop/hbase/security/TestUser.java 6e497da 
bq.  
bq.  Diff: https://reviews.apache.org/r/2123/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  New unit tests passes although the behavior it displays is a bit suspect.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  jmhsieh
bq.  
bq.



 User.getCurrent() can cause NPE.
 

 Key: HBASE-4515
 URL: https://issues.apache.org/jira/browse/HBASE-4515
 Project: HBase
  Issue Type: Bug
Affects Versions: 0.92.0, 0.94.0
Reporter: Jonathan Hsieh
Assignee: Gary Helmling
 Attachments: 0001-HBASE-4515-User.getCurrent-can-cause-NPE.patch, 
 HBASE-4515_trunk.patch


 When testing with miniclusters that shutdown and are restarted, sometimes a 
 call to User.getCurrent().getName() NPEs when attempting to restart hbase.  
 Oddly this happens consistently on particular branches and not on others. I 
 don't know or understand why this happens but it has something to do with the 
 getCurrentUGI call in  o.a.h.h.security.User.HadoopUser sometimes returning 
 null and sometimes returning data.
 {code}
private HadoopUser() {
   try {
 ugi = (UserGroupInformation) callStatic(getCurrentUGI);
 if (ugi == null) {
   LOG.warn(Although successfully retrieved UserGroupInformation 
   +   it was null!);
 }
   } catch (RuntimeException re) {
 {code}
 This patch essentially is a workaround -- it propagates the null so that 
 clients can check and avoid the NPE.

--
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




[jira] [Commented] (HBASE-4487) The increment operation can release the rowlock before sync-ing the Hlog

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117780#comment-13117780
 ] 

jirapos...@reviews.apache.org commented on HBASE-4487:
--



bq.  On 2011-09-29 22:31:37, Michael Stack wrote:
bq.   Looks good. I like the bench marking tool.
bq.   
bq.   This is like a group commit in HLog.  We have a group committing going 
on inside in sync down in dfsclient.  Does this group commit not 'group' enough.
bq.   
bq.   With this change, its no longer possible to sync each increment.  We ok 
w/ that?  We should at least release note this difference in increment 
behaviors and erring on the conservative side, I'd mark this an 'incompatible 
change' rather than an 'improvement' just so its more likely folks will know of 
this changed increment behavior.

HRegion has:
{code}
  final Configuration conf;
{code}
Can we pass new config parameter through conf which enables this new feature ?


- Ted


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2116/#review2186
---


On 2011-09-29 19:27:36, Dhruba Borthakur wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2116/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 19:27:36)
bq.  
bq.  
bq.  Review request for hbase and Ted Yu.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  The increment operation releases the rowlock before doing the sync to the 
HLog. This improves performance of increments on hot rows. Introduced method 
HLog.appendNoSync() that returns a txid. The increment method then release the 
rowlock and invokes HLog.sync(txid). The HLog.sync(txid) returns only if all 
the transactions upto the one identified by that txid has been successfully 
sycned to HDFS.
bq.  
bq.  There is a single test TestIncrement that creates a 100 threads and 
ensures that all the concurrent increments match the final expected result. 
There is a benchmark TestHLogBench that measures the performance of the 
appendNoSync call.
bq.  
bq.  
bq.  This addresses bug HBASE-4487.
bq.  https://issues.apache.org/jira/browse/HBASE-4487
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq./src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1177401 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java 
1177401 
bq./src/test/java/org/apache/hadoop/hbase/regionserver/TestIncrement.java 
PRE-CREATION 
bq.
/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLogBench.java 
PRE-CREATION 
bq.
/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.java
 1177401 
bq.
/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java
 1177401 
bq.  
bq.  Diff: https://reviews.apache.org/r/2116/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  All unit tests pass now (expect TestDistributedLogSplitting, 
TestRollingRestart, TestHTablePool), but I am seeing the same test to fail on 
trunk, so these failures do not seem to be related to this patch.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Dhruba
bq.  
bq.



 The increment operation can release the rowlock before sync-ing the Hlog
 

 Key: HBASE-4487
 URL: https://issues.apache.org/jira/browse/HBASE-4487
 Project: HBase
  Issue Type: Improvement
Reporter: dhruba borthakur
Assignee: dhruba borthakur
 Attachments: appendNoSync4.txt, appendNoSync5.txt, appendNoSync6.txt


 This allows for better throughput when there are hot rows.I have seen this 
 change make a single row update improve from 400 increments/sec/server to 
 4000 increments/sec/server.

--
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




[jira] [Commented] (HBASE-4422) Move block cache parameters and references into single CacheConf class

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117801#comment-13117801
 ] 

jirapos...@reviews.apache.org commented on HBASE-4422:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2089/
---

(Updated 2011-09-30 01:05:40.429350)


Review request for hbase, Dhruba Borthakur, Michael Stack, and Li Pi.


Changes
---

Fixed bugs mentioned by Lars and a few others.  Lots of tests are passing 
(TestCacheOnWrite for example).  Running test suite now.  Also added a small 
test in TestBlocksRead that I was attempting to test for HBASE-4496 but it's 
passing so still need to dig on what exactly is wrong there.


Summary
---

Creates a new CacheConfig class and moves almost everything block cache related 
into this single class.  Adding new configuration params and booleans and such 
should be much better.

All tests are NOT passing yet, still working on it, but wanted to have 
something up today.  Basically code complete but broken :)


This addresses bug HBASE-4422.
https://issues.apache.org/jira/browse/HBASE-4422


Diffs (updated)
-

  /src/main/java/org/apache/hadoop/hbase/io/HalfStoreFileReader.java 1177471 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
1177471 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileWriter.java 
1177471 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java PRE-CREATION 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java 1177471 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.java 1177471 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.java 
1177471 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV1.java 1177471 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java 1177471 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV1.java 1177471 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java 1177471 
  /src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java 
1177471 
  /src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java 
1177471 
  /src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1177471 
  /src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
1177471 
  /src/main/java/org/apache/hadoop/hbase/regionserver/Store.java 1177471 
  /src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 1177471 
  /src/main/java/org/apache/hadoop/hbase/util/BloomFilterFactory.java 1177471 
  /src/main/java/org/apache/hadoop/hbase/util/CompressionTest.java 1177471 
  /src/test/java/org/apache/hadoop/hbase/HFilePerformanceEvaluation.java 
1177471 
  /src/test/java/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java 
1177471 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/RandomSeek.java 1177471 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java 1177471 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java 1177471 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java 
1177471 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFilePerformance.java 
1177471 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileReaderV1.java 
1177471 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java 1177471 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java 
1177471 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java 1177471 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java 1177471 
  /src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java 
1177471 
  
/src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFiles.java 
1177471 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksRead.java 
1177471 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactSelection.java 
1177471 
  
/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.java
 1177471 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestFSErrorsExposed.java 
1177471 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java 
1177471 
  
/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileBlockCacheSummary.java
 1177471 
  /src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALReplay.java 
1177471 

Diff: https://reviews.apache.org/r/2089/diff


Testing
---

Still working through some tests that aren't passing.


Thanks,

Jonathan



 Move block cache parameters and references into single CacheConf class
 --

 Key: HBASE-4422
  

[jira] [Commented] (HBASE-4507) Create checkAndPut variant that exposes timestamp / UUID

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117808#comment-13117808
 ] 

jirapos...@reviews.apache.org commented on HBASE-4507:
--



bq.  On 2011-09-29 22:18:31, Ted Yu wrote:
bq.   src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java, line 
1948
bq.   https://reviews.apache.org/r/2118/diff/1/?file=46471#file46471line1948
bq.  
bq.   Since expectedTimestampOfLatestVersion would only be used for use 
case from HBASE04497, I think we just need a reliable way of enforcing this 1 
ms advance.
bq.   Maybe spinlocking till EnvironmentEdgeManager.currentTimeMillis() 
returns now+1 ?

Why do we need to wait until currentTimeMillis() rolls?

This is pretty ugly but I think we'll need to do something for HBASE-4497 and 
this will work (as I'm understanding it).

But if we didn't do the +1, wouldn't the only time this would be an issue be if 
RS1 was hosting R1, it then got unassigned and reassigned BACK to RS1 again, 
and RS1 updates META with the new location of R1 in the same millisecond that 
it did the original update to META the last time it opened R1.  That seems 
overwhelmingly impossible :)  I'd be okay without the +1 business, but at the 
least, let's make sure it's documented in the top-level API javadoc (i think it 
is)


- Jonathan


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2118/#review2185
---


On 2011-09-29 23:52:43, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2118/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 23:52:43)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Adds a checkAndPut that takes a timestamp
bq.  
bq.  
bq.  This addresses bug hbase-4507.
bq.  https://issues.apache.org/jira/browse/hbase-4507
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 3679c02 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 6ec857c 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 
99b34cc 
bq.  
bq.  Diff: https://reviews.apache.org/r/2118/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.



 Create checkAndPut variant that exposes timestamp / UUID
 

 Key: HBASE-4507
 URL: https://issues.apache.org/jira/browse/HBASE-4507
 Project: HBase
  Issue Type: Sub-task
Reporter: Ted Yu
Assignee: stack

 Michael checked the checkAndPut which doesn't expose timestamp. A variant of 
 checkAndPut should be created to expose timestamp which is written into a 
 column specified by additional parameters.

--
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




[jira] [Commented] (HBASE-4507) Create checkAndPut variant that exposes timestamp / UUID

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117807#comment-13117807
 ] 

jirapos...@reviews.apache.org commented on HBASE-4507:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2118/#review2202
---

Ship it!


Good stuff.  I'm not crazy about the +1 ms but I think it's harmless (we'll 
literally never run into this for the META use case, as I've understood it)

- Jonathan


On 2011-09-29 23:52:43, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2118/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 23:52:43)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Adds a checkAndPut that takes a timestamp
bq.  
bq.  
bq.  This addresses bug hbase-4507.
bq.  https://issues.apache.org/jira/browse/hbase-4507
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 3679c02 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 6ec857c 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 
99b34cc 
bq.  
bq.  Diff: https://reviews.apache.org/r/2118/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.



 Create checkAndPut variant that exposes timestamp / UUID
 

 Key: HBASE-4507
 URL: https://issues.apache.org/jira/browse/HBASE-4507
 Project: HBase
  Issue Type: Sub-task
Reporter: Ted Yu
Assignee: stack

 Michael checked the checkAndPut which doesn't expose timestamp. A variant of 
 checkAndPut should be created to expose timestamp which is written into a 
 column specified by additional parameters.

--
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




[jira] [Commented] (HBASE-4507) Create checkAndPut variant that exposes timestamp / UUID

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117811#comment-13117811
 ] 

jirapos...@reviews.apache.org commented on HBASE-4507:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2118/#review2203
---


Nice stuff, Stack.

Some questions:

1. The approach of isTimestampClash and the nowBytes = Bytes.toBytes(now + 
1). It seems there is still a rare case, where 
EnvironmentEdgeManager.currentTimeMillis() returns 
expectedTimestampOfLatestVersion - 1. Then later on in put, updateKVTimestamps 
set it to the new now value, which happens to be 
expectedTimestampOfLatestVersion. Perhaps we can use now = 
expectedTimestampOfLatestVersion condition instead of now == 
expectedTimestampOfLatestVersion in isTimestampClash. Set the new time value 
as nowBytes = Bytes.toBytes(expectedTimestampOfLatestVersion + 1).
2. Do we need to modify coprocessor interfaces preCheckAndPut, postCheckAndPut, 
etc.? Perhaps we don't have any scenario for this yet.
3. Do we need the same thing for checkAndDelete? Perhaps we don't have any 
scenario for this yet.

- Ming


On 2011-09-29 23:52:43, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2118/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 23:52:43)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Adds a checkAndPut that takes a timestamp
bq.  
bq.  
bq.  This addresses bug hbase-4507.
bq.  https://issues.apache.org/jira/browse/hbase-4507
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 3679c02 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 6ec857c 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 
99b34cc 
bq.  
bq.  Diff: https://reviews.apache.org/r/2118/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.



 Create checkAndPut variant that exposes timestamp / UUID
 

 Key: HBASE-4507
 URL: https://issues.apache.org/jira/browse/HBASE-4507
 Project: HBase
  Issue Type: Sub-task
Reporter: Ted Yu
Assignee: stack

 Michael checked the checkAndPut which doesn't expose timestamp. A variant of 
 checkAndPut should be created to expose timestamp which is written into a 
 column specified by additional parameters.

--
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




[jira] [Commented] (HBASE-4070) [Coprocessors] Improve region server metrics to report loaded coprocessors to master

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117849#comment-13117849
 ] 

jirapos...@reviews.apache.org commented on HBASE-4070:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2029/
---

(Updated 2011-09-30 03:29:57.261186)


Review request for hbase and Mingjie Lai.


Changes
---

Address reviews by Andrew Purtell and Mingjie Lai.


Summary
---

Proposed fix for HBASE-4070. 


This addresses bug HBASE-4070.
https://issues.apache.org/jira/browse/HBASE-4070


Diffs (updated)
-

  src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 96b763b 
  
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorReporting.java 
PRE-CREATION 
  src/main/java/org/apache/hadoop/hbase/master/HMaster.java 270f3f3 
  src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java 
dbae4fd 
  src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon abeb850 
  src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon be6fceb 
  src/main/java/org/apache/hadoop/hbase/ClusterStatus.java 01bc1dd 
  src/main/java/org/apache/hadoop/hbase/HServerLoad.java 0c680e4 

Diff: https://reviews.apache.org/r/2029/diff


Testing (updated)
---

Two new tests : testRegionServerCoprocessorReported() and 
testMasterServerCoprocessorsReported() included in a new source file 
src/test/java/o.a.h.h/coprocessor/TestCoprocessorReporting.java.


Thanks,

Eugene



 [Coprocessors] Improve region server metrics to report loaded coprocessors to 
 master
 

 Key: HBASE-4070
 URL: https://issues.apache.org/jira/browse/HBASE-4070
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.90.3
Reporter: Mingjie Lai
Assignee: Eugene Koontz
 Attachments: HBASE-4070.patch, HBASE-4070.patch, master-web-ui.jpg, 
 rs-status-web-ui.jpg


 HBASE-3512 is about listing loaded cp classes at shell. To make it more 
 generic, we need a way to report this piece of information from region to 
 master (or just at region server level). So later on, we can display the 
 loaded class names at shell as well as web console. 

--
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




[jira] [Commented] (HBASE-4070) [Coprocessors] Improve region server metrics to report loaded coprocessors to master

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117884#comment-13117884
 ] 

jirapos...@reviews.apache.org commented on HBASE-4070:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2029/
---

(Updated 2011-09-30 04:58:20.313786)


Review request for hbase and Mingjie Lai.


Changes
---

serialize/deserialize masterCoprocessors String value in ClusterStatus. Needed 
by HBase clients (e.g. for HBASE-3512).


Summary
---

Proposed fix for HBASE-4070. 


This addresses bug HBASE-4070.
https://issues.apache.org/jira/browse/HBASE-4070


Diffs (updated)
-

  src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon abeb850 
  src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon be6fceb 
  src/main/java/org/apache/hadoop/hbase/ClusterStatus.java 01bc1dd 
  src/main/java/org/apache/hadoop/hbase/HServerLoad.java 0c680e4 
  src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java 
dbae4fd 
  src/main/java/org/apache/hadoop/hbase/master/HMaster.java f80d232 
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 96b763b 
  
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorReporting.java 
PRE-CREATION 

Diff: https://reviews.apache.org/r/2029/diff


Testing
---

Two new tests : testRegionServerCoprocessorReported() and 
testMasterServerCoprocessorsReported() included in a new source file 
src/test/java/o.a.h.h/coprocessor/TestCoprocessorReporting.java.


Thanks,

Eugene



 [Coprocessors] Improve region server metrics to report loaded coprocessors to 
 master
 

 Key: HBASE-4070
 URL: https://issues.apache.org/jira/browse/HBASE-4070
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.90.3
Reporter: Mingjie Lai
Assignee: Eugene Koontz
 Attachments: HBASE-4070.patch, HBASE-4070.patch, master-web-ui.jpg, 
 rs-status-web-ui.jpg


 HBASE-3512 is about listing loaded cp classes at shell. To make it more 
 generic, we need a way to report this piece of information from region to 
 master (or just at region server level). So later on, we can display the 
 loaded class names at shell as well as web console. 

--
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




[jira] [Commented] (HBASE-4487) The increment operation can release the rowlock before sync-ing the Hlog

2011-09-29 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117885#comment-13117885
 ] 

jirapos...@reviews.apache.org commented on HBASE-4487:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2116/#review2206
---



/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java
https://reviews.apache.org/r/2116/#comment5140

Am not sure.  Just to clarify
Is this check not needed here then?


- ramkrishna


On 2011-09-29 19:27:36, Dhruba Borthakur wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2116/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 19:27:36)
bq.  
bq.  
bq.  Review request for hbase and Ted Yu.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  The increment operation releases the rowlock before doing the sync to the 
HLog. This improves performance of increments on hot rows. Introduced method 
HLog.appendNoSync() that returns a txid. The increment method then release the 
rowlock and invokes HLog.sync(txid). The HLog.sync(txid) returns only if all 
the transactions upto the one identified by that txid has been successfully 
sycned to HDFS.
bq.  
bq.  There is a single test TestIncrement that creates a 100 threads and 
ensures that all the concurrent increments match the final expected result. 
There is a benchmark TestHLogBench that measures the performance of the 
appendNoSync call.
bq.  
bq.  
bq.  This addresses bug HBASE-4487.
bq.  https://issues.apache.org/jira/browse/HBASE-4487
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq./src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1177401 
bq./src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java 
1177401 
bq./src/test/java/org/apache/hadoop/hbase/regionserver/TestIncrement.java 
PRE-CREATION 
bq.
/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLogBench.java 
PRE-CREATION 
bq.
/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.java
 1177401 
bq.
/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java
 1177401 
bq.  
bq.  Diff: https://reviews.apache.org/r/2116/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  All unit tests pass now (expect TestDistributedLogSplitting, 
TestRollingRestart, TestHTablePool), but I am seeing the same test to fail on 
trunk, so these failures do not seem to be related to this patch.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Dhruba
bq.  
bq.



 The increment operation can release the rowlock before sync-ing the Hlog
 

 Key: HBASE-4487
 URL: https://issues.apache.org/jira/browse/HBASE-4487
 Project: HBase
  Issue Type: Improvement
Reporter: dhruba borthakur
Assignee: dhruba borthakur
 Attachments: appendNoSync4.txt, appendNoSync5.txt, appendNoSync6.txt


 This allows for better throughput when there are hot rows.I have seen this 
 change make a single row update improve from 400 increments/sec/server to 
 4000 increments/sec/server.

--
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




[jira] [Commented] (HBASE-4507) Create checkAndPut variant that exposes timestamp / UUID

2011-09-30 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117904#comment-13117904
 ] 

jirapos...@reviews.apache.org commented on HBASE-4507:
--



bq.  On 2011-09-29 22:18:31, Ted Yu wrote:
bq.   src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java, line 
1948
bq.   https://reviews.apache.org/r/2118/diff/1/?file=46471#file46471line1948
bq.  
bq.   Since expectedTimestampOfLatestVersion would only be used for use 
case from HBASE04497, I think we just need a reliable way of enforcing this 1 
ms advance.
bq.   Maybe spinlocking till EnvironmentEdgeManager.currentTimeMillis() 
returns now+1 ?
bq.  
bq.  Jonathan Gray wrote:
bq.  Why do we need to wait until currentTimeMillis() rolls?
bq.  
bq.  This is pretty ugly but I think we'll need to do something for 
HBASE-4497 and this will work (as I'm understanding it).
bq.  
bq.  But if we didn't do the +1, wouldn't the only time this would be an 
issue be if RS1 was hosting R1, it then got unassigned and reassigned BACK to 
RS1 again, and RS1 updates META with the new location of R1 in the same 
millisecond that it did the original update to META the last time it opened R1. 
 That seems overwhelmingly impossible :)  I'd be okay without the +1 business, 
but at the least, let's make sure it's documented in the top-level API javadoc 
(i think it is)

I'm thinking that we should never need it but in case we do..

Two regionservers would have to be trying to update meta at the same time AND 
somehow the host that was carrying .META. had its clock go backwards -- e.g. 
.META. moved to a server whose clock was behind -- and then the update of 
location by one of the regionservers would have to arrive at EXACTLY the 
millisecond the original edit had AND the update that is going in would have to 
be the same value as is already there.

I think its impossible but Ming postulated it so for peace of mind, we'll make 
sure every edit IF the value being updated has same coordinates for sure has 
its on timestamp... we'll +1 it if they happen to land in same millisecond (Yes 
its up in the javadoc that each edit has for sure unique timestamp).

Ted, you +1 or you have a better idea for the +1'ing (The +1'ing has a unit 
test!)


- Michael


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2118/#review2185
---


On 2011-09-29 23:52:43, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2118/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 23:52:43)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Adds a checkAndPut that takes a timestamp
bq.  
bq.  
bq.  This addresses bug hbase-4507.
bq.  https://issues.apache.org/jira/browse/hbase-4507
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 3679c02 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 6ec857c 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 
99b34cc 
bq.  
bq.  Diff: https://reviews.apache.org/r/2118/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.



 Create checkAndPut variant that exposes timestamp / UUID
 

 Key: HBASE-4507
 URL: https://issues.apache.org/jira/browse/HBASE-4507
 Project: HBase
  Issue Type: Sub-task
Reporter: Ted Yu
Assignee: stack

 Michael checked the checkAndPut which doesn't expose timestamp. A variant of 
 checkAndPut should be created to expose timestamp which is written into a 
 column specified by additional parameters.

--
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




[jira] [Commented] (HBASE-4507) Create checkAndPut variant that exposes timestamp / UUID

2011-09-30 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117903#comment-13117903
 ] 

jirapos...@reviews.apache.org commented on HBASE-4507:
--



bq.  On 2011-09-30 01:19:20, Jonathan Gray wrote:
bq.   Good stuff.  I'm not crazy about the +1 ms but I think it's harmless 
(we'll literally never run into this for the META use case, as I've understood 
it)

Thanks boss.


- Michael


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2118/#review2202
---


On 2011-09-29 23:52:43, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2118/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 23:52:43)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Adds a checkAndPut that takes a timestamp
bq.  
bq.  
bq.  This addresses bug hbase-4507.
bq.  https://issues.apache.org/jira/browse/hbase-4507
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 3679c02 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 6ec857c 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 
99b34cc 
bq.  
bq.  Diff: https://reviews.apache.org/r/2118/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.



 Create checkAndPut variant that exposes timestamp / UUID
 

 Key: HBASE-4507
 URL: https://issues.apache.org/jira/browse/HBASE-4507
 Project: HBase
  Issue Type: Sub-task
Reporter: Ted Yu
Assignee: stack

 Michael checked the checkAndPut which doesn't expose timestamp. A variant of 
 checkAndPut should be created to expose timestamp which is written into a 
 column specified by additional parameters.

--
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




[jira] [Commented] (HBASE-4507) Create checkAndPut variant that exposes timestamp / UUID

2011-09-30 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117905#comment-13117905
 ] 

jirapos...@reviews.apache.org commented on HBASE-4507:
--



bq.  On 2011-09-30 01:26:24, Ming Ma wrote:
bq.   Nice stuff, Stack.
bq.   
bq.   Some questions:
bq.   
bq.   1. The approach of isTimestampClash and the nowBytes = 
Bytes.toBytes(now + 1). It seems there is still a rare case, where 
EnvironmentEdgeManager.currentTimeMillis() returns 
expectedTimestampOfLatestVersion - 1. Then later on in put, updateKVTimestamps 
set it to the new now value, which happens to be 
expectedTimestampOfLatestVersion. Perhaps we can use now = 
expectedTimestampOfLatestVersion condition instead of now == 
expectedTimestampOfLatestVersion in isTimestampClash. Set the new time value 
as nowBytes = Bytes.toBytes(expectedTimestampOfLatestVersion + 1).
bq.   2. Do we need to modify coprocessor interfaces preCheckAndPut, 
postCheckAndPut, etc.? Perhaps we don't have any scenario for this yet.
bq.   3. Do we need the same thing for checkAndDelete? Perhaps we don't have 
any scenario for this yet.

1. Doesn't updateKVTimestamps only mess with timestamps if the timestamp is set 
to HConstants.LATEST_TIMESTAMP?  My setting the timestamp here before we go 
down into internalPut means the later updateKVTimestamps will not change the 
timestamps I've set?  Let me check for sure.
2. Let me look into this.
3.  I considered it but stopped myself.  Figured I'd let someone ask for it 
before I went and implemented new functionality.

Thanks Ming for review.


- Michael


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2118/#review2203
---


On 2011-09-29 23:52:43, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2118/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 23:52:43)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Adds a checkAndPut that takes a timestamp
bq.  
bq.  
bq.  This addresses bug hbase-4507.
bq.  https://issues.apache.org/jira/browse/hbase-4507
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 3679c02 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 6ec857c 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 
99b34cc 
bq.  
bq.  Diff: https://reviews.apache.org/r/2118/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.



 Create checkAndPut variant that exposes timestamp / UUID
 

 Key: HBASE-4507
 URL: https://issues.apache.org/jira/browse/HBASE-4507
 Project: HBase
  Issue Type: Sub-task
Reporter: Ted Yu
Assignee: stack

 Michael checked the checkAndPut which doesn't expose timestamp. A variant of 
 checkAndPut should be created to expose timestamp which is written into a 
 column specified by additional parameters.

--
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




[jira] [Commented] (HBASE-4507) Create checkAndPut variant that exposes timestamp / UUID

2011-09-30 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13117967#comment-13117967
 ] 

jirapos...@reviews.apache.org commented on HBASE-4507:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2118/#review2215
---

Ship it!


Please replace checkAndSet with checkAndPut in javadoc

- Ted


On 2011-09-29 23:52:43, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2118/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 23:52:43)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Adds a checkAndPut that takes a timestamp
bq.  
bq.  
bq.  This addresses bug hbase-4507.
bq.  https://issues.apache.org/jira/browse/hbase-4507
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 3679c02 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 6ec857c 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 
99b34cc 
bq.  
bq.  Diff: https://reviews.apache.org/r/2118/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.



 Create checkAndPut variant that exposes timestamp / UUID
 

 Key: HBASE-4507
 URL: https://issues.apache.org/jira/browse/HBASE-4507
 Project: HBase
  Issue Type: Sub-task
Reporter: Ted Yu
Assignee: stack

 Michael checked the checkAndPut which doesn't expose timestamp. A variant of 
 checkAndPut should be created to expose timestamp which is written into a 
 column specified by additional parameters.

--
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




[jira] [Commented] (HBASE-4070) [Coprocessors] Improve region server metrics to report loaded coprocessors to master

2011-09-30 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13118209#comment-13118209
 ] 

jirapos...@reviews.apache.org commented on HBASE-4070:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2029/#review
---



src/main/java/org/apache/hadoop/hbase/HServerLoad.java
https://reviews.apache.org/r/2029/#comment5157

Should return String[]? Trivial to do here given the data is in a Set. Then 
callers can enumerate.



src/main/java/org/apache/hadoop/hbase/HServerLoad.java
https://reviews.apache.org/r/2029/#comment5156

Make a list of unique names for HSL instead of a string?



src/main/java/org/apache/hadoop/hbase/master/HMaster.java
https://reviews.apache.org/r/2029/#comment5155

Should return String[]? Trivial to do here given the data is in a Set.

Then callers can enumerate. Easy enough to display a list of strings in the 
jamon templates. 



src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
https://reviews.apache.org/r/2029/#comment5154

Should return String[]? Then callers can enumerate. Easy enough to display 
a list of strings in the jamon templates.


- Andrew


On 2011-09-30 04:58:20, Eugene Koontz wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2029/
bq.  ---
bq.  
bq.  (Updated 2011-09-30 04:58:20)
bq.  
bq.  
bq.  Review request for hbase and Mingjie Lai.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Proposed fix for HBASE-4070. 
bq.  
bq.  
bq.  This addresses bug HBASE-4070.
bq.  https://issues.apache.org/jira/browse/HBASE-4070
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon 
abeb850 
bq.src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon 
be6fceb 
bq.src/main/java/org/apache/hadoop/hbase/ClusterStatus.java 01bc1dd 
bq.src/main/java/org/apache/hadoop/hbase/HServerLoad.java 0c680e4 
bq.src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java 
dbae4fd 
bq.src/main/java/org/apache/hadoop/hbase/master/HMaster.java f80d232 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorReporting.java 
PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/2029/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Two new tests : testRegionServerCoprocessorReported() and 
testMasterServerCoprocessorsReported() included in a new source file 
src/test/java/o.a.h.h/coprocessor/TestCoprocessorReporting.java.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Eugene
bq.  
bq.



 [Coprocessors] Improve region server metrics to report loaded coprocessors to 
 master
 

 Key: HBASE-4070
 URL: https://issues.apache.org/jira/browse/HBASE-4070
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.90.3
Reporter: Mingjie Lai
Assignee: Eugene Koontz
 Attachments: HBASE-4070.patch, HBASE-4070.patch, master-web-ui.jpg, 
 rs-status-web-ui.jpg


 HBASE-3512 is about listing loaded cp classes at shell. To make it more 
 generic, we need a way to report this piece of information from region to 
 master (or just at region server level). So later on, we can display the 
 loaded class names at shell as well as web console. 

--
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




[jira] [Commented] (HBASE-4070) [Coprocessors] Improve region server metrics to report loaded coprocessors to master

2011-09-30 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13118217#comment-13118217
 ] 

jirapos...@reviews.apache.org commented on HBASE-4070:
--



bq.  On 2011-09-29 22:42:26, Mingjie Lai wrote:
bq.   src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java, 
line 3245
bq.   https://reviews.apache.org/r/2029/diff/2/?file=46422#file46422line3245
bq.  
bq.   is it okay just reuse the existing serverLoad, without rebuilding 
the whole thing? 
bq.   
bq.   this.serverInfo.getLoad()
bq.   
bq.   but it may not be a big issue.

sorry, I don't see a serverInfo member in HRegionServer..?


bq.  On 2011-09-29 22:42:26, Mingjie Lai wrote:
bq.   src/main/java/org/apache/hadoop/hbase/HServerLoad.java, line 190
bq.   https://reviews.apache.org/r/2029/diff/2/?file=46417#file46417line190
bq.  
bq.   an extra indent?

fixed; thanks.


bq.  On 2011-09-29 22:42:26, Mingjie Lai wrote:
bq.   src/main/java/org/apache/hadoop/hbase/HServerLoad.java, line 465
bq.   https://reviews.apache.org/r/2029/diff/2/?file=46417#file46417line465
bq.  
bq.   Just a naming suggestion for walCoprocessors=coprocessors. Although 
right now WALObserver is the only RS level CP, but it'd better not to indicate 
here.

I changed the parameter name to rsCoprocessors and added a javadoc @param 
note; what do you think? Could also just call it coprocessors as you 
suggested. 


bq.  On 2011-09-29 22:42:26, Mingjie Lai wrote:
bq.   src/main/java/org/apache/hadoop/hbase/HServerLoad.java, line 505
bq.   https://reviews.apache.org/r/2029/diff/2/?file=46417#file46417line505
bq.  
bq.   getSimpleName() only returns the class name w/o package info. I 
think we should use the whole class name for the comparator.
bq.  
bq.  Andrew Purtell wrote:
bq.  Full classnames are canonical and avoid accidental conflict, but are 
unwieldy and not so nice to look at. Judgement call, I'd say. I think it 
unlikely that for any given deployment two coprocessors will have the same 
class name but be in a different package.

I would agree with Andrew and use getSimpleName().


bq.  On 2011-09-29 22:42:26, Mingjie Lai wrote:
bq.   src/main/java/org/apache/hadoop/hbase/ipc/HMasterInterface.java, line 261
bq.   https://reviews.apache.org/r/2029/diff/2/?file=46420#file46420line261
bq.  
bq.   The new method is a little odd. how about just getCoprocessors().

Removed HMasterInterface.java changes at Andy's recommendation: now no 
difference with trunk.


bq.  On 2011-09-29 22:42:26, Mingjie Lai wrote:
bq.   src/main/java/org/apache/hadoop/hbase/master/HMaster.java, line 1514
bq.   https://reviews.apache.org/r/2029/diff/2/?file=46421#file46421line1514
bq.  
bq.   still the method name?

changed to getCoprocessors() at Andy's recommendation.


bq.  On 2011-09-29 22:42:26, Mingjie Lai wrote:
bq.   src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java, 
line 3244
bq.   https://reviews.apache.org/r/2029/diff/2/?file=46422#file46422line3244
bq.  
bq.   same as HMasterInterface. can we just generateCoprocessorString() = 
String getCoprocessors()?

changed; thanks.


bq.  On 2011-09-29 22:42:26, Mingjie Lai wrote:
bq.   src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java, line 1652
bq.   https://reviews.apache.org/r/2029/diff/2/?file=46418#file46418line1652
bq.  
bq.   do we really need to provide it thru HTAdmin? if we do, the returned 
value is not correct in case of exception.

removed differences from trunk; you are right: we don't need it here.


bq.  On 2011-09-29 22:42:26, Mingjie Lai wrote:
bq.   
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java, 
line 24
bq.   https://reviews.apache.org/r/2029/diff/2/?file=46424#file46424line24
bq.  
bq.   The file TestCoprocessorEndpoint is particularly for testing cp 
endpoint. It's odd to put the new test cases to this file. Maybe 
TestClassLoading is a better place.

Good idea; moved to a new source file: TestCoprocessorReporting.java.


bq.  On 2011-09-29 22:42:26, Mingjie Lai wrote:
bq.   
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorEndpoint.java, 
line 201
bq.   https://reviews.apache.org/r/2029/diff/2/?file=46424#file46424line201
bq.  
bq.   according the previous override comparator in HRL, the cps should be 
in alphabet order. so you don't need to compare this 2 strings.

Thanks; removed extra string and added comment with your point.


- Eugene


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2029/#review2183
---


On 2011-09-30 04:58:20, Eugene Koontz wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  

[jira] [Commented] (HBASE-4070) [Coprocessors] Improve region server metrics to report loaded coprocessors to master

2011-09-30 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13118218#comment-13118218
 ] 

jirapos...@reviews.apache.org commented on HBASE-4070:
--



bq.  On 2011-09-29 21:52:40, Andrew Purtell wrote:
bq.  
bq.  
bq.  Andrew Purtell wrote:
bq.  Actually, I do have a comment. Do we need a method in HMasterInterface 
for getting the coprocessor set? Can't it be extracted from HSL?
bq.  
bq.  Andrew Purtell wrote:
bq.  I meant via ClusterStatus, therefore via HBaseAdmin.getClusterStatus().

Removed HMasterInterface change since we don't need it.

ClusterStatus constructor has an additional param that is the string 
representation of the Master's loaded coprocessor set.

HBaseAdmin can now use getClusterStatus() to get Master's coprocessor set. 
HBASE-3512's patch will be updated to use this to show master coprocessors in 
the shell.


- Eugene


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2029/#review2179
---


On 2011-09-30 04:58:20, Eugene Koontz wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2029/
bq.  ---
bq.  
bq.  (Updated 2011-09-30 04:58:20)
bq.  
bq.  
bq.  Review request for hbase and Mingjie Lai.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Proposed fix for HBASE-4070. 
bq.  
bq.  
bq.  This addresses bug HBASE-4070.
bq.  https://issues.apache.org/jira/browse/HBASE-4070
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon 
abeb850 
bq.src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon 
be6fceb 
bq.src/main/java/org/apache/hadoop/hbase/ClusterStatus.java 01bc1dd 
bq.src/main/java/org/apache/hadoop/hbase/HServerLoad.java 0c680e4 
bq.src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java 
dbae4fd 
bq.src/main/java/org/apache/hadoop/hbase/master/HMaster.java f80d232 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorReporting.java 
PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/2029/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Two new tests : testRegionServerCoprocessorReported() and 
testMasterServerCoprocessorsReported() included in a new source file 
src/test/java/o.a.h.h/coprocessor/TestCoprocessorReporting.java.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Eugene
bq.  
bq.



 [Coprocessors] Improve region server metrics to report loaded coprocessors to 
 master
 

 Key: HBASE-4070
 URL: https://issues.apache.org/jira/browse/HBASE-4070
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.90.3
Reporter: Mingjie Lai
Assignee: Eugene Koontz
 Attachments: HBASE-4070.patch, HBASE-4070.patch, master-web-ui.jpg, 
 rs-status-web-ui.jpg


 HBASE-3512 is about listing loaded cp classes at shell. To make it more 
 generic, we need a way to report this piece of information from region to 
 master (or just at region server level). So later on, we can display the 
 loaded class names at shell as well as web console. 

--
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




[jira] [Commented] (HBASE-4070) [Coprocessors] Improve region server metrics to report loaded coprocessors to master

2011-09-30 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13118220#comment-13118220
 ] 

jirapos...@reviews.apache.org commented on HBASE-4070:
--



bq.  On 2011-09-29 21:52:40, Andrew Purtell wrote:
bq.  
bq.  
bq.  Andrew Purtell wrote:
bq.  Actually, I do have a comment. Do we need a method in HMasterInterface 
for getting the coprocessor set? Can't it be extracted from HSL?
bq.  
bq.  Andrew Purtell wrote:
bq.  I meant via ClusterStatus, therefore via HBaseAdmin.getClusterStatus().
bq.  
bq.  Eugene Koontz wrote:
bq.  Removed HMasterInterface change since we don't need it.
bq.  
bq.  ClusterStatus constructor has an additional param that is the string 
representation of the Master's loaded coprocessor set.
bq.  
bq.  HBaseAdmin can now use getClusterStatus() to get Master's coprocessor 
set. HBASE-3512's patch will be updated to use this to show master coprocessors 
in the shell.

Cool, thanks Eugene


- Andrew


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2029/#review2179
---


On 2011-09-30 04:58:20, Eugene Koontz wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2029/
bq.  ---
bq.  
bq.  (Updated 2011-09-30 04:58:20)
bq.  
bq.  
bq.  Review request for hbase and Mingjie Lai.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Proposed fix for HBASE-4070. 
bq.  
bq.  
bq.  This addresses bug HBASE-4070.
bq.  https://issues.apache.org/jira/browse/HBASE-4070
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon 
abeb850 
bq.src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon 
be6fceb 
bq.src/main/java/org/apache/hadoop/hbase/ClusterStatus.java 01bc1dd 
bq.src/main/java/org/apache/hadoop/hbase/HServerLoad.java 0c680e4 
bq.src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java 
dbae4fd 
bq.src/main/java/org/apache/hadoop/hbase/master/HMaster.java f80d232 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorReporting.java 
PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/2029/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Two new tests : testRegionServerCoprocessorReported() and 
testMasterServerCoprocessorsReported() included in a new source file 
src/test/java/o.a.h.h/coprocessor/TestCoprocessorReporting.java.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Eugene
bq.  
bq.



 [Coprocessors] Improve region server metrics to report loaded coprocessors to 
 master
 

 Key: HBASE-4070
 URL: https://issues.apache.org/jira/browse/HBASE-4070
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.90.3
Reporter: Mingjie Lai
Assignee: Eugene Koontz
 Attachments: HBASE-4070.patch, HBASE-4070.patch, master-web-ui.jpg, 
 rs-status-web-ui.jpg


 HBASE-3512 is about listing loaded cp classes at shell. To make it more 
 generic, we need a way to report this piece of information from region to 
 master (or just at region server level). So later on, we can display the 
 loaded class names at shell as well as web console. 

--
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




[jira] [Commented] (HBASE-4070) [Coprocessors] Improve region server metrics to report loaded coprocessors to master

2011-09-30 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13118221#comment-13118221
 ] 

jirapos...@reviews.apache.org commented on HBASE-4070:
--



bq.  On 2011-09-29 22:42:26, Mingjie Lai wrote:
bq.   src/main/java/org/apache/hadoop/hbase/HServerLoad.java, line 465
bq.   https://reviews.apache.org/r/2029/diff/2/?file=46417#file46417line465
bq.  
bq.   Just a naming suggestion for walCoprocessors=coprocessors. Although 
right now WALObserver is the only RS level CP, but it'd better not to indicate 
here.
bq.  
bq.  Eugene Koontz wrote:
bq.  I changed the parameter name to rsCoprocessors and added a javadoc 
@param note; what do you think? Could also just call it coprocessors as you 
suggested.

If the coprocessor list is within a regionserver load report, it's implicitly 
about the regionserver so no rs prefix is needed on the member, no? Seems 
cleaner not to use one.


- Andrew


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2029/#review2183
---


On 2011-09-30 04:58:20, Eugene Koontz wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2029/
bq.  ---
bq.  
bq.  (Updated 2011-09-30 04:58:20)
bq.  
bq.  
bq.  Review request for hbase and Mingjie Lai.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Proposed fix for HBASE-4070. 
bq.  
bq.  
bq.  This addresses bug HBASE-4070.
bq.  https://issues.apache.org/jira/browse/HBASE-4070
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon 
abeb850 
bq.src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon 
be6fceb 
bq.src/main/java/org/apache/hadoop/hbase/ClusterStatus.java 01bc1dd 
bq.src/main/java/org/apache/hadoop/hbase/HServerLoad.java 0c680e4 
bq.src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java 
dbae4fd 
bq.src/main/java/org/apache/hadoop/hbase/master/HMaster.java f80d232 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.
src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorReporting.java 
PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/2029/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Two new tests : testRegionServerCoprocessorReported() and 
testMasterServerCoprocessorsReported() included in a new source file 
src/test/java/o.a.h.h/coprocessor/TestCoprocessorReporting.java.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Eugene
bq.  
bq.



 [Coprocessors] Improve region server metrics to report loaded coprocessors to 
 master
 

 Key: HBASE-4070
 URL: https://issues.apache.org/jira/browse/HBASE-4070
 Project: HBase
  Issue Type: Improvement
Affects Versions: 0.90.3
Reporter: Mingjie Lai
Assignee: Eugene Koontz
 Attachments: HBASE-4070.patch, HBASE-4070.patch, master-web-ui.jpg, 
 rs-status-web-ui.jpg


 HBASE-3512 is about listing loaded cp classes at shell. To make it more 
 generic, we need a way to report this piece of information from region to 
 master (or just at region server level). So later on, we can display the 
 loaded class names at shell as well as web console. 

--
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




[jira] [Commented] (HBASE-2794) Utilize ROWCOL bloom filter if multiple columns within same family are requested in a Get

2011-09-30 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-2794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13118294#comment-13118294
 ] 

jirapos...@reviews.apache.org commented on HBASE-2794:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2084/#review2226
---

Ship it!


I'm +0 on commmitting this.  I tried reviewing it but I don't know this code 
well.  The added unit test is nicely intrusive and the asserts look right.  
What about Nicolas's performance concerns.  How are they addressed by this 
patch?  I'm running a build of the patch and if that passes I'm +1 on commit. 


src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
https://reviews.apache.org/r/2084/#comment5175

Interesting method name.  We should use this pattern everywhere we have to 
do this.



src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java
https://reviews.apache.org/r/2084/#comment5176

Should we get rid of this javadoc if an override?  (Let us know can do on 
commit)


- Michael


On 2011-09-29 21:05:20, Mikhail Bautin wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2084/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 21:05:20)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Previously we only used row-column Bloom filters for scans that only 
requested one column. We have seen production queries that request up to 200 
columns, and with say ~6 store files per store (region / column family 
combination) this might have resulted in 1200 block read operations in the 
worst case. With this diff we will be avoiding seeks on store files that we 
know don't contain the row/column of interest when using an 
ExplicitColumnTracker. The performance should remain the same for column range 
queries.
bq.  
bq.  
bq.  This addresses bug HBASE-2794.
bq.  https://issues.apache.org/jira/browse/HBASE-2794
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/KeyValue.java 585c4a8 
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
f5173c4 
bq.src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java a3d778e 
bq.
src/main/java/org/apache/hadoop/hbase/regionserver/AbstractKeyValueScanner.java 
PRE-CREATION 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 7cbdb98 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueHeap.java 
9d9895c 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/KeyValueScanner.java 
6cdada7 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java 4aa72de 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java 
68cdac5 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 
fd9e7ef 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java 
08d3ba4 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java 
ac2348e 
bq.src/main/java/org/apache/hadoop/hbase/util/CollectionBackedScanner.java 
32f88fb 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java 
a5d13f7 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java 
baee696 
bq.
src/test/java/org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.java 
PRE-CREATION 
bq.  
bq.  Diff: https://reviews.apache.org/r/2084/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Existing unit tests. A new unit test (TestScanWithBloomError). Load 
testing using HBaseTest.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Mikhail
bq.  
bq.



 Utilize ROWCOL bloom filter if multiple columns within same family are 
 requested in a Get
 -

 Key: HBASE-2794
 URL: https://issues.apache.org/jira/browse/HBASE-2794
 Project: HBase
  Issue Type: Improvement
  Components: performance
Reporter: Kannan Muthukkaruppan
Assignee: Mikhail Bautin
 Fix For: 0.92.0


 Noticed the following snippet in StoreFile.java:Scanner:shouldSeek():
 {code}
 switch(bloomFilterType) {
   case ROW:
 key = row;
 break;
   case ROWCOL:
 if (columns.size() == 1) {
   byte[] col = columns.first();
   key = Bytes.add(row, col);
   break;
 }
 //$FALL-THROUGH$
   default:
 return true;
 }
 {code}
 If columns.size  1, 

[jira] [Commented] (HBASE-4422) Move block cache parameters and references into single CacheConf class

2011-09-30 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13118323#comment-13118323
 ] 

jirapos...@reviews.apache.org commented on HBASE-4422:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2089/
---

(Updated 2011-09-30 19:36:04.480088)


Review request for hbase, Dhruba Borthakur, Michael Stack, and Li Pi.


Changes
---

More bug fixes and removed some debug output.

Unit tests are passing for me when I run them in eclipse.  For some reason, 
lots of stuff is frozen when I run it on my remote dev box but having problems 
with and without this patch.

Appreciate reviews and unit test runs!  Thanks


Summary
---

Creates a new CacheConfig class and moves almost everything block cache related 
into this single class.  Adding new configuration params and booleans and such 
should be much better.

All tests are NOT passing yet, still working on it, but wanted to have 
something up today.  Basically code complete but broken :)


This addresses bug HBASE-4422.
https://issues.apache.org/jira/browse/HBASE-4422


Diffs (updated)
-

  
/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFileBlockCacheSummary.java
 1177760 
  /src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALReplay.java 
1177760 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java 
1177760 
  
/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.java
 1177760 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestFSErrorsExposed.java 
1177760 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestBlocksRead.java 
1177760 
  /src/test/java/org/apache/hadoop/hbase/regionserver/TestCompactSelection.java 
1177760 
  
/src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFiles.java 
1177760 
  /src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java 
1177760 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java 1177760 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java 1177760 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFilePerformance.java 
1177760 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileReaderV1.java 
1177760 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java 1177760 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java 
1177760 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java 
1177760 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/RandomSeek.java 1177760 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java 1177760 
  /src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java 1177760 
  /src/test/java/org/apache/hadoop/hbase/HFilePerformanceEvaluation.java 
1177760 
  /src/test/java/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java 
1177760 
  /src/main/java/org/apache/hadoop/hbase/util/CompressionTest.java 1177760 
  /src/main/java/org/apache/hadoop/hbase/util/BloomFilterFactory.java 1177760 
  /src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java 
1177760 
  /src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java 
1177760 
  /src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1177760 
  /src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
1177760 
  /src/main/java/org/apache/hadoop/hbase/regionserver/Store.java 1177760 
  /src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java 1177760 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java 1177760 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV1.java 1177760 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java 1177760 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV1.java 1177760 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFilePrettyPrinter.java 
1177760 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java 1177760 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileWriter.java 
1177760 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java PRE-CREATION 
  /src/main/java/org/apache/hadoop/hbase/io/HalfStoreFileReader.java 1177760 
  /src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java 
1177760 

Diff: https://reviews.apache.org/r/2089/diff


Testing
---

Still working through some tests that aren't passing.


Thanks,

Jonathan



 Move block cache parameters and references into single CacheConf class
 --

 Key: HBASE-4422
 URL: https://issues.apache.org/jira/browse/HBASE-4422
 Project: HBase
  

[jira] [Commented] (HBASE-4507) Create checkAndPut variant that exposes timestamp / UUID

2011-09-30 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13118383#comment-13118383
 ] 

jirapos...@reviews.apache.org commented on HBASE-4507:
--



bq.  On 2011-09-30 01:26:24, Ming Ma wrote:
bq.   Nice stuff, Stack.
bq.   
bq.   Some questions:
bq.   
bq.   1. The approach of isTimestampClash and the nowBytes = 
Bytes.toBytes(now + 1). It seems there is still a rare case, where 
EnvironmentEdgeManager.currentTimeMillis() returns 
expectedTimestampOfLatestVersion - 1. Then later on in put, updateKVTimestamps 
set it to the new now value, which happens to be 
expectedTimestampOfLatestVersion. Perhaps we can use now = 
expectedTimestampOfLatestVersion condition instead of now == 
expectedTimestampOfLatestVersion in isTimestampClash. Set the new time value 
as nowBytes = Bytes.toBytes(expectedTimestampOfLatestVersion + 1).
bq.   2. Do we need to modify coprocessor interfaces preCheckAndPut, 
postCheckAndPut, etc.? Perhaps we don't have any scenario for this yet.
bq.   3. Do we need the same thing for checkAndDelete? Perhaps we don't have 
any scenario for this yet.
bq.  
bq.  Michael Stack wrote:
bq.  1. Doesn't updateKVTimestamps only mess with timestamps if the 
timestamp is set to HConstants.LATEST_TIMESTAMP?  My setting the timestamp here 
before we go down into internalPut means the later updateKVTimestamps will not 
change the timestamps I've set?  Let me check for sure.
bq.  2. Let me look into this.
bq.  3.  I considered it but stopped myself.  Figured I'd let someone ask 
for it before I went and implemented new functionality.
bq.  
bq.  Thanks Ming for review.
bq.

I took another look and now I see what you are saying Ming.  New patch coming.

For 1., for the case where we are all up in the same millisecond, then I'll 
pass the 'now' to the innerPut so that when it does its updateKVTimestamps, its 
operating with the same 'now'.

I fixed 2. adding this new method to RegionObserver and handling the ripple 
through the code base (Man, its harder now adding new methods to a 
regionserver!)

I'm not going to do 3. in scope of this issue.

@Ted New patch will include your suggestion too.

Thanks for review lads.


- Michael


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2118/#review2203
---


On 2011-09-29 23:52:43, Michael Stack wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2118/
bq.  ---
bq.  
bq.  (Updated 2011-09-29 23:52:43)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  Adds a checkAndPut that takes a timestamp
bq.  
bq.  
bq.  This addresses bug hbase-4507.
bq.  https://issues.apache.org/jira/browse/hbase-4507
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.src/main/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java 3679c02 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 6ec857c 
bq.src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java 
96b763b 
bq.src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java 
99b34cc 
bq.  
bq.  Diff: https://reviews.apache.org/r/2118/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Michael
bq.  
bq.



 Create checkAndPut variant that exposes timestamp / UUID
 

 Key: HBASE-4507
 URL: https://issues.apache.org/jira/browse/HBASE-4507
 Project: HBase
  Issue Type: Sub-task
Reporter: Ted Yu
Assignee: stack

 Michael checked the checkAndPut which doesn't expose timestamp. A variant of 
 checkAndPut should be created to expose timestamp which is written into a 
 column specified by additional parameters.

--
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




[jira] [Commented] (HBASE-4522) Make hbase-site-custom.xml override the hbase-site.xml

2011-09-30 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4522?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13118401#comment-13118401
 ] 

jirapos...@reviews.apache.org commented on HBASE-4522:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2135/
---

Review request for Paul Lindner.


Summary
---

The motivation for diff is that we want to override some config change for any 
specific cluster easily by just adding the config entries in the 
hbase-site-custom.xml for that cluster. This change adds the 
hbase-site-custom.xml configuration file into HBaseConfiguration.


This addresses bug HBASE-4522.
https://issues.apache.org/jira/browse/HBASE-4522


Diffs
-

  src/main/java/org/apache/hadoop/hbase/HBaseConfiguration.java 06fd29c 

Diff: https://reviews.apache.org/r/2135/diff


Testing
---

This has been in production on multiple clusters for a few weeks.


Thanks,

Mikhail



 Make hbase-site-custom.xml override the hbase-site.xml
 --

 Key: HBASE-4522
 URL: https://issues.apache.org/jira/browse/HBASE-4522
 Project: HBase
  Issue Type: Improvement
Reporter: Mikhail Bautin
Assignee: Liyin Tang
Priority: Minor
 Fix For: 0.94.0


 The motivation for diff is that we want to override some config change for 
 any specific cluster easily by just adding the config entries in the 
 hbase-site-custom.xml for that cluster. This change adds the 
 hbase-site-custom.xml configuration file into HBaseConfiguration.

--
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




<    2   3   4   5   6   7   8   9   10   11   >