[jira] [Commented] (HBASE-4071) Data GC: Remove all versions TTL EXCEPT the last written version

2011-08-14 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-4071:
---

TTLs were introduced to conveniently expire transient data and garbage collect 
it. Setting a TTL on a column family defines that column family as transient. 
Whatever changes are contemplated to be hard coded, this use case must be 
maintained. I want to be able to set a TTL and versions to 1 or 3 or 10 or 
whatever and have ALL of the versions discarded when their timestamps indicate 
expiry.

 Data GC: Remove all versions  TTL EXCEPT the last written version
 --

 Key: HBASE-4071
 URL: https://issues.apache.org/jira/browse/HBASE-4071
 Project: HBase
  Issue Type: New Feature
Reporter: stack

 We were chatting today about our backup cluster.  What we want is to be able 
 to restore the dataset from any point of time but only within a limited 
 timeframe -- say one week.  Thereafter, if the versions are older than one 
 week, rather than as we do with TTL where we let go of all versions older 
 than TTL, instead, let go of all versions EXCEPT the last one written.  So, 
 its like versions==1 when TTL  one week.  We want to allow that if an error 
 is caught within a week of its happening -- user mistakenly removes a 
 critical table -- then we'll be able to restore up the the moment just before 
 catastrophe hit otherwise, we keep one version only.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4071) Data GC: Remove all versions TTL EXCEPT the last written version

2011-08-14 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-4071:
--

Of course you're right Andrew. We shouldn't mix usecases together.
What do you think of the minversions idea?
As long as minversions for a CF is 0 the behavior would be identical to the 
current 
behavior.
Also maybe what we have in mind is not a common scenario after all, and we 
shouldn't
complicate the core codebase with that.

 Data GC: Remove all versions  TTL EXCEPT the last written version
 --

 Key: HBASE-4071
 URL: https://issues.apache.org/jira/browse/HBASE-4071
 Project: HBase
  Issue Type: New Feature
Reporter: stack

 We were chatting today about our backup cluster.  What we want is to be able 
 to restore the dataset from any point of time but only within a limited 
 timeframe -- say one week.  Thereafter, if the versions are older than one 
 week, rather than as we do with TTL where we let go of all versions older 
 than TTL, instead, let go of all versions EXCEPT the last one written.  So, 
 its like versions==1 when TTL  one week.  We want to allow that if an error 
 is caught within a week of its happening -- user mistakenly removes a 
 critical table -- then we'll be able to restore up the the moment just before 
 catastrophe hit otherwise, we keep one version only.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (HBASE-4200) blockCache summary - web UI

2011-08-14 Thread Doug Meil (JIRA)
blockCache summary - web UI
---

 Key: HBASE-4200
 URL: https://issues.apache.org/jira/browse/HBASE-4200
 Project: HBase
  Issue Type: Sub-task
Reporter: Doug Meil
Priority: Minor


Web UI for block cache summary report.

This will most likely be a new web-page linked from the RegionServer detail 
page.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4199) blockCache summary - backend

2011-08-14 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-4199:
---

It would be easier for other developers to make review comments if review board 
was used.
{code}
+/**
+ * This class provides tests for the {@link HTableUtil} class
+ *
+ */
+public class TestBlockCacheSummary {
{code}
Please update javadoc with brief description of what is tested in the above 
class.
{code}
+  /**
+   * 
+   */
+  public BlockCacheSummaryEntry() {
+
+  }
{code}
The above can be made package private. Please also fill in javadoc.
Earlier in the same class:
{code}
+  private String table;
+  private String columnFamily;
{code}
Would it be more general if the above two fields were declared as byte[] ?
{code}
+   * @return heapSize
+   */
+  public int getBlocks() {
+return blocks;
{code}
Please correct javadoc.


 blockCache summary - backend
 

 Key: HBASE-4199
 URL: https://issues.apache.org/jira/browse/HBASE-4199
 Project: HBase
  Issue Type: Sub-task
Reporter: Doug Meil
Assignee: Doug Meil
Priority: Minor
 Attachments: java_HBASE_4199.patch


 This is the backend work for the blockCache summary.  Change to BlockCache 
 interface, Summarization in LruBlockCache, BlockCacheSummaryEntry, addition 
 to HRegionInterface, and HRegionServer.
 This will NOT include any of the web UI or anything else like that.  That is 
 for another sub-task.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4199) blockCache summary - backend

2011-08-14 Thread Doug Meil (JIRA)

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

Doug Meil commented on HBASE-4199:
--

BlockCacheSummaryEntry can't be made package private because it's also the 
class that is eventually returned by the RegionServer API.

I'll fix the javadoc.

How do you use the review board?  I don't see anything on More Actions or 
Workflow in Jira.

 blockCache summary - backend
 

 Key: HBASE-4199
 URL: https://issues.apache.org/jira/browse/HBASE-4199
 Project: HBase
  Issue Type: Sub-task
Reporter: Doug Meil
Assignee: Doug Meil
Priority: Minor
 Attachments: java_HBASE_4199.patch


 This is the backend work for the blockCache summary.  Change to BlockCache 
 interface, Summarization in LruBlockCache, BlockCacheSummaryEntry, addition 
 to HRegionInterface, and HRegionServer.
 This will NOT include any of the web UI or anything else like that.  That is 
 for another sub-task.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4071) Data GC: Remove all versions TTL EXCEPT the last written version

2011-08-14 Thread Andrew Purtell (JIRA)

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

Andrew Purtell commented on HBASE-4071:
---

bq. What do you think of the minversions idea?

I think a new minversions in core is a fine idea. We can document how 
minversions, maxversions, and TTL settings interact with each other simply 
enough.

 Data GC: Remove all versions  TTL EXCEPT the last written version
 --

 Key: HBASE-4071
 URL: https://issues.apache.org/jira/browse/HBASE-4071
 Project: HBase
  Issue Type: New Feature
Reporter: stack

 We were chatting today about our backup cluster.  What we want is to be able 
 to restore the dataset from any point of time but only within a limited 
 timeframe -- say one week.  Thereafter, if the versions are older than one 
 week, rather than as we do with TTL where we let go of all versions older 
 than TTL, instead, let go of all versions EXCEPT the last one written.  So, 
 its like versions==1 when TTL  one week.  We want to allow that if an error 
 is caught within a week of its happening -- user mistakenly removes a 
 critical table -- then we'll be able to restore up the the moment just before 
 catastrophe hit otherwise, we keep one version only.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4197) RegionServer expects all scanner to be subclasses of HRegion.RegionScanner

2011-08-14 Thread jirapos...@reviews.apache.org (JIRA)

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

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


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

(Updated 2011-08-14 18:39:53.875778)


Review request for hbase, Ted Yu and Mingjie Lai.


Summary
---

1. Don't require custom scanners created by conprocessors to be subclasses of 
HRegion.RegionScanner (see HBASE-4197).
2. Simplify the interfaces for Scanners in HRegion, HRegionServer, and 
RegionObserver. This avoids a bunch instanceof checks and casts to 
HRegion.RegionScanner.

(Sorry HBase-git would not accept my patch)


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


Diffs (updated)
-

  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.java
 1157388 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
 1157388 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
 1157388 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
 1157388 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java
 1157388 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionScanner.java
 PRE-CREATION 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/SimpleRegionObserver.java
 1157388 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
 1157388 
  
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestWideScanner.java
 1157388 

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


Testing
---

Manual test attached to the bug.


Thanks,

Lars



 RegionServer expects all scanner to be subclasses of HRegion.RegionScanner
 --

 Key: HBASE-4197
 URL: https://issues.apache.org/jira/browse/HBASE-4197
 Project: HBase
  Issue Type: Bug
  Components: coprocessors
Affects Versions: 0.92.0
Reporter: Lars Hofhansl
 Attachments: 4197-bigger.txt, 4197-v2.txt, 4197.txt, ScannerTest.java


 Returning just an InternalScanner from RegionObsever.{pre|post}OpenScanner 
 leads to the following exception when using the scanner.
 java.io.IOException: InternalScanner implementation is expected to be 
 HRegion.RegionScanner.
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:2023)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:616)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:314)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1225)
 The problem is in HRegionServer.next(...):
 {code} 
 InternalScanner s = this.scanners.get(scannerName);
 ...
   // Call coprocessor. Get region info from scanner.
   HRegion region = null;
   if (s instanceof HRegion.RegionScanner) {
 HRegion.RegionScanner rs = (HRegion.RegionScanner) s;
 region = getRegion(rs.getRegionName().getRegionName());
   } else {
 throw new IOException(InternalScanner implementation is expected  +
 to be HRegion.RegionScanner.);
   }
 {code} 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4199) blockCache summary - backend

2011-08-14 Thread Ted Yu (JIRA)

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

Ted Yu commented on HBASE-4199:
---

I was talking about the default ctor for BlockCacheSummaryEntry. Throughout the 
patch, after BlockCacheSummaryEntry() is called, table and columnFamily are 
filled in.
So I think BlockCacheSummaryEntry(String table, String columnFamily) should be 
used.

Please see Mingjie's comment in HBASE-4197 about using review board.

Thanks

 blockCache summary - backend
 

 Key: HBASE-4199
 URL: https://issues.apache.org/jira/browse/HBASE-4199
 Project: HBase
  Issue Type: Sub-task
Reporter: Doug Meil
Assignee: Doug Meil
Priority: Minor
 Attachments: java_HBASE_4199.patch


 This is the backend work for the blockCache summary.  Change to BlockCache 
 interface, Summarization in LruBlockCache, BlockCacheSummaryEntry, addition 
 to HRegionInterface, and HRegionServer.
 This will NOT include any of the web UI or anything else like that.  That is 
 for another sub-task.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4197) RegionServer expects all scanner to be subclasses of HRegion.RegionScanner

2011-08-14 Thread jirapos...@reviews.apache.org (JIRA)

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

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


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

Ship it!


- Ted


On 2011-08-14 18:39:53, Lars Hofhansl wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/1496/
bq.  ---
bq.  
bq.  (Updated 2011-08-14 18:39:53)
bq.  
bq.  
bq.  Review request for hbase, Ted Yu and Mingjie Lai.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  1. Don't require custom scanners created by conprocessors to be subclasses 
of HRegion.RegionScanner (see HBASE-4197).
bq.  2. Simplify the interfaces for Scanners in HRegion, HRegionServer, and 
RegionObserver. This avoids a bunch instanceof checks and casts to 
HRegion.RegionScanner.
bq.  
bq.  (Sorry HBase-git would not accept my patch)
bq.  
bq.  
bq.  This addresses bug HBASE-4197.
bq.  https://issues.apache.org/jira/browse/HBASE-4197
bq.  
bq.  
bq.  Diffs
bq.  -
bq.  
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseRegionObserver.java
 1157388 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java
 1157388 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
 1157388 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
 1157388 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java
 1157388 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/RegionScanner.java
 PRE-CREATION 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/SimpleRegionObserver.java
 1157388 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
 1157388 
bq.
http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestWideScanner.java
 1157388 
bq.  
bq.  Diff: https://reviews.apache.org/r/1496/diff
bq.  
bq.  
bq.  Testing
bq.  ---
bq.  
bq.  Manual test attached to the bug.
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Lars
bq.  
bq.



 RegionServer expects all scanner to be subclasses of HRegion.RegionScanner
 --

 Key: HBASE-4197
 URL: https://issues.apache.org/jira/browse/HBASE-4197
 Project: HBase
  Issue Type: Bug
  Components: coprocessors
Affects Versions: 0.92.0
Reporter: Lars Hofhansl
 Attachments: 4197-bigger.txt, 4197-v2.txt, 4197.txt, ScannerTest.java


 Returning just an InternalScanner from RegionObsever.{pre|post}OpenScanner 
 leads to the following exception when using the scanner.
 java.io.IOException: InternalScanner implementation is expected to be 
 HRegion.RegionScanner.
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:2023)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:616)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:314)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1225)
 The problem is in HRegionServer.next(...):
 {code} 
 InternalScanner s = this.scanners.get(scannerName);
 ...
   // Call coprocessor. Get region info from scanner.
   HRegion region = null;
   if (s instanceof HRegion.RegionScanner) {
 HRegion.RegionScanner rs = (HRegion.RegionScanner) s;
 region = getRegion(rs.getRegionName().getRegionName());
   } else {
 throw new IOException(InternalScanner implementation is expected  +
 to be HRegion.RegionScanner.);
   }
 {code} 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-3933) Hmaster throw NullPointerException

2011-08-14 Thread gaojinchao (JIRA)

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

gaojinchao commented on HBASE-3933:
---

Hi all. I have a new idea for this issue. why don't we get the regionserver 
list from zk when it is failover? 
we can avoid this case that the hlog is splited but region server is servering.


 Hmaster throw NullPointerException
 --

 Key: HBASE-3933
 URL: https://issues.apache.org/jira/browse/HBASE-3933
 Project: HBase
  Issue Type: Bug
  Components: master
Affects Versions: 0.90.3
Reporter: gaojinchao
Assignee: gaojinchao
 Attachments: Hmastersetup0.90


 NullPointerException while hmaster starting.
 {code}
   java.lang.NullPointerException
 at java.util.TreeMap.getEntry(TreeMap.java:324)
 at java.util.TreeMap.get(TreeMap.java:255)
 at 
 org.apache.hadoop.hbase.master.AssignmentManager.addToServers(AssignmentManager.java:1512)
 at 
 org.apache.hadoop.hbase.master.AssignmentManager.regionOnline(AssignmentManager.java:606)
 at 
 org.apache.hadoop.hbase.master.AssignmentManager.processFailover(AssignmentManager.java:214)
 at 
 org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:402)
 at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:283)
 {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4197) RegionServer expects all scanner to be subclasses of HRegion.RegionScanner

2011-08-14 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl commented on HBASE-4197:
--

Yeah! :)

@Ted: Will you commit the patch attached to the review?

Note that this changes the externally visible interface of Coprocessors 
(RegionScanner instead of InternalScanner)... Just calling this out, so that 
there are no surprises later.


 RegionServer expects all scanner to be subclasses of HRegion.RegionScanner
 --

 Key: HBASE-4197
 URL: https://issues.apache.org/jira/browse/HBASE-4197
 Project: HBase
  Issue Type: Bug
  Components: coprocessors
Affects Versions: 0.92.0
Reporter: Lars Hofhansl
 Attachments: 4197-bigger.txt, 4197-v2.txt, 4197.txt, ScannerTest.java


 Returning just an InternalScanner from RegionObsever.{pre|post}OpenScanner 
 leads to the following exception when using the scanner.
 java.io.IOException: InternalScanner implementation is expected to be 
 HRegion.RegionScanner.
 at 
 org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:2023)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:616)
 at 
 org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:314)
 at 
 org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1225)
 The problem is in HRegionServer.next(...):
 {code} 
 InternalScanner s = this.scanners.get(scannerName);
 ...
   // Call coprocessor. Get region info from scanner.
   HRegion region = null;
   if (s instanceof HRegion.RegionScanner) {
 HRegion.RegionScanner rs = (HRegion.RegionScanner) s;
 region = getRegion(rs.getRegionName().getRegionName());
   } else {
 throw new IOException(InternalScanner implementation is expected  +
 to be HRegion.RegionScanner.);
   }
 {code} 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira