[jira] [Created] (HBASE-5208) Allow setting Scan start/stop row individually in TableInputFormat

2012-01-16 Thread Nicholas Telford (Created) (JIRA)
Allow setting Scan start/stop row individually in TableInputFormat
--

 Key: HBASE-5208
 URL: https://issues.apache.org/jira/browse/HBASE-5208
 Project: HBase
  Issue Type: Improvement
  Components: mapreduce
Reporter: Nicholas Telford
Priority: Minor


Currently, TableInputFormat initializes a serialized Scan from 
hbase.mapreduce.scan. Alternatively, it will instantiate a new Scan using 
properties defined in hbase.mapreduce.scan.*. However, of these properties 
the start row and stop row (arguably the most pertinent) are missing.

TableInputFormat should permit the specification of a start/stop row as with 
the other fields using a new pair of properties: 
hbase.mapreduce.scan.row.start and hbase.mapreduce.scan.row.end

The primary use-case for this is to permit Oozie and other job management tools 
that can't call TableMapReduceUtil.initTableMapperJob() to operate on a 
contiguous subset of rows.

--
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] [Created] (HBASE-4966) Put/Delete values cannot be tested with MRUnit

2011-12-06 Thread Nicholas Telford (Created) (JIRA)
Put/Delete values cannot be tested with MRUnit
--

 Key: HBASE-4966
 URL: https://issues.apache.org/jira/browse/HBASE-4966
 Project: HBase
  Issue Type: Bug
  Components: client, mapreduce
Affects Versions: 0.90.4
Reporter: Nicholas Telford
Priority: Minor


When using the IdentityTableReducer, which expects input values of either a Put 
or Delete object, testing with MRUnit the Mapper with MRUnit is not possible 
because neither Put nor Delete implement equals().

We should implement equals() on both such that equality means:
* Both objects are of the same class (in this case, Put or Delete)
* Both objects are for the same key.
* Both objects contain an equal set of KeyValues (applicable only to Put)

KeyValue.equals() appears to already be implemented, but only checks for 
equality of row key, column family and column qualifier - two KeyValues can be 
considered equal if they contain different values. This won't work for 
testing.

Instead, the Put.equals() and Delete.equals() implementations should do a 
deep equality check on their KeyValues, like this:

myKv.equals(theirKv)  Bytes.equals(myKv.getValue(), theirKv.getValue());

NOTE: This would impact any code that relies on the existing identity 
implementation of Put.equals() and Delete.equals(), therefore cannot be 
guaranteed to be backwards-compatible.

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