[ 
https://issues.apache.org/jira/browse/HBASE-82?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12596459#action_12596459
 ] 

stack commented on HBASE-82:
----------------------------

Here is the rest of the commit comment:

{code}
M  src/java/org/apache/hadoop/hbase/master/ProcessRegionOpen.java
M  src/java/org/apache/hadoop/hbase/master/AddColumn.java
M  src/java/org/apache/hadoop/hbase/master/TableOperation.java
M  src/java/org/apache/hadoop/hbase/master/TableDelete.java
M  src/java/org/apache/hadoop/hbase/master/ColumnOperation.java
M  src/java/org/apache/hadoop/hbase/master/RegionManager.java
M  src/java/org/apache/hadoop/hbase/master/DeleteColumn.java
M  src/java/org/apache/hadoop/hbase/master/BaseScanner.java
M  src/java/org/apache/hadoop/hbase/master/ChangeTableState.java
M  src/java/org/apache/hadoop/hbase/master/MetaRegion.java
M  src/java/org/apache/hadoop/hbase/io/Cell.java
M  src/java/org/apache/hadoop/hbase/io/BatchOperation.java
    Replace Text with byte arrays. 
D  src/java/org/apache/hadoop/hbase/master/RowMap.java
    Removed.  Unused. 
M  src/java/org/apache/hadoop/hbase/master/ModifyColumn.java
    Replace Text with byte arrays. 
    Use new methods on Table Descriptor rather than manipulate 
    families directly.
M  src/java/org/apache/hadoop/hbase/master/ProcessRegionStatusChange.java
    Root region has been uppercased.  Remove Text.
M  src/java/org/apache/hadoop/hbase/master/RootScanner.java
    Root region name has been uppercased.
M  src/java/org/apache/hadoop/hbase/NotServingRegionException.java
    Add constructor that takes byte array.
M  src/java/org/apache/hadoop/hbase/io/HbaseObjectWritable.java
    Handle byte arrays as well as Writables.  If a byte array,
    short-circuit and dump it out on line rather than do recursion
    per element.
M  src/java/org/apache/hadoop/hbase/io/BatchUpdate.java
    Replace Text with byte array.  Allow rows and columns be specified
    as String and Text
M  src/java/org/apache/hadoop/hbase/io/RowResult.java
    Replace Text with byte arrays.  Added a toString.
M  src/java/org/apache/hadoop/hbase/io/HbaseMapWritable.java
    Keys are now byte arrays, exclusively.  Use MapWritable if you
    want to have Writable keys.  Replace Text with byte arrays. 
    Made it generic.
D src/java/org/apache/hadoop/hbase/io/TextSequence.java
    No longer used.
M src/java/org/apache/hadoop/hbase/mapred/IdentityTableMap.java
M  src/java/org/apache/hadoop/hbase/mapred/GroupingTableMap.java
M  src/java/org/apache/hadoop/hbase/mapred/IndexOutputFormat.java
M  src/java/org/apache/hadoop/hbase/mapred/TableSplit.java
M  src/java/org/apache/hadoop/hbase/mapred/RowCounter.java
M src/java/org/apache/hadoop/hbase/mapred/IndexTableReduce.java
M src/java/org/apache/hadoop/hbase/mapred/TableReduce.java
M src/java/org/apache/hadoop/hbase/mapred/TableInputFormat.java
M  src/java/org/apache/hadoop/hbase/mapred/TableOutputFormat.java
M src/java/org/apache/hadoop/hbase/mapred/TableMap.java
M  src/java/org/apache/hadoop/hbase/mapred/IdentityTableReduce.java
    Replace Text with byte arrays.  Uses ImmutableBytesWritable when
    needs to do Writable.
M src/java/org/apache/hadoop/hbase/mapred/TableInputFormatBase.java
    Replace Text with byte arrays.  Uses ImmutableBytesWritable when
    needs to do Writable.  Add Apache license.
M  src/java/org/apache/hadoop/hbase/ipc/HMasterInterface.java
    Change Text to byte arrays.  Up the version from 3 to 4. 
M  src/java/org/apache/hadoop/hbase/ipc/HMasterRegionInterface.java
    Up the version from 1 to 2. 
M src/java/org/apache/hadoop/hbase/ipc/HRegionInterface.java
    Change Text to byte arrays.  Upped version from 2 to 3. 
M src/java/org/apache/hadoop/hbase/util/Merge.java
    Change Text to byte arrays. 
    (notInTable): New method. 
M  src/java/org/apache/hadoop/hbase/util/JenkinsHash.java
    Added javadoc.
A  src/java/org/apache/hadoop/hbase/util/Bytes.java
    Utility for manipulating byte arrays.
M  src/java/org/apache/hadoop/hbase/util/MetaUtils.java
M  src/java/org/apache/hadoop/hbase/util/Migrate.java
    Change Text to byte arrays.
M src/java/org/apache/hadoop/hbase/util/SoftSortedMap.java
    Allow keys of byte arrays.
M  src/java/org/apache/hadoop/hbase/util/Writables.java
    Moved byte array utility to new Bytes class.
M  src/java/org/apache/hadoop/hbase/client/HTable.java
   Changed Text to byte arrays.  Added overrides that take Text or String.
   Javadoc.
M  src/java/org/apache/hadoop/hbase/client/HConnectionManager.java
   Changed Text to byte arrays.
   (isMetaTableName): Added
M src/java/org/apache/hadoop/hbase/client/HConnection.java
   Changed Text to byte arrays.
M  src/java/org/apache/hadoop/hbase/client/RetriesExhaustedException.java
   Changed Text to byte arrays.
M  src/java/org/apache/hadoop/hbase/client/Scanner.java
    Removed unused imports.
M src/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
    Removed unused imports. Javadoc.
M src/java/org/apache/hadoop/hbase/HMsg.java
    Spacing.
M  src/webapps/regionserver/regionserver.jsp
M  src/webapps/master/master.jsp
    getOnlineRegions API changed.
{code}

> row keys should be array of bytes with a specified comparator
> -------------------------------------------------------------
>
>                 Key: HBASE-82
>                 URL: https://issues.apache.org/jira/browse/HBASE-82
>             Project: Hadoop HBase
>          Issue Type: Wish
>            Reporter: Jim Kellerman
>            Assignee: stack
>             Fix For: 0.2.0
>
>         Attachments: 82-v2.patch, 82-v3.patch, 82-v4.patch, 82-v5.patch, 
> 82-v7.patch, 82-v8.patch, 82-v9-ignore-ws.patch, 82.patch, Perf.java
>
>
> I have heard from several people that row keys in HBase should be less 
> restricted than hadoop.io.Text.
> What do you think?
> At the very least, a row key has to be a WritableComparable. This would lead 
> to the most general case being either hadoop.io.BytesWritable or 
> hbase.io.ImmutableBytesWritable. The primary difference between these two 
> classes is that hadoop.io.BytesWritable by default allocates 100 bytes and if 
> you do not pay attention to the length, (BytesWritable.getSize()), converting 
> a String to a BytesWritable and vice versa can become problematic. 
> hbase.io.ImmutableBytesWritable, in contrast only allocates as many bytes as 
> you pass in and then does not allow the size to be changed.
> If we were to change from Text to a non-text key, my preference would be for 
> ImmutableBytesWritable, because it has a fixed size once set, and operations 
> like get, etc do not have to something like System.arrayCopy where you 
> specify the number of bytes to copy.
> Your comments, questions are welcome on this issue. If we receive enough 
> feedback that Text is too restrictive, we are willing to change it, but we 
> need to hear what would be the most useful thing to change it to as well.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to