hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-82) row keys should be array of bytes with a specified comparator
Date Tue, 13 May 2008 17:19:56 GMT

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


Mime
View raw message