You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2014/01/26 23:07:39 UTC

[jira] [Resolved] (HBASE-2432) enhance hbase.util.Bytes.toBytes() with length limit

     [ https://issues.apache.org/jira/browse/HBASE-2432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack resolved HBASE-2432.
--------------------------

    Resolution: Incomplete

> enhance hbase.util.Bytes.toBytes() with length limit
> ----------------------------------------------------
>
>                 Key: HBASE-2432
>                 URL: https://issues.apache.org/jira/browse/HBASE-2432
>             Project: HBase
>          Issue Type: Improvement
>          Components: util
>    Affects Versions: 0.20.1
>            Reporter: Ted Yu
>         Attachments: ASF.LICENSE.NOT.GRANTED--HBASE-2432.patch, ASF.LICENSE.NOT.GRANTED--HBASE-2432.patch
>
>
> The following stack trace is seen in our hadoop log:
> java.lang.IllegalArgumentException: Row > 32767
> 	at org.apache.hadoop.hbase.KeyValue.createByteArray(KeyValue.java:437)
> 	at org.apache.hadoop.hbase.KeyValue.(KeyValue.java:405)
> 	at org.apache.hadoop.hbase.KeyValue.(KeyValue.java:374)
> 	at org.apache.hadoop.hbase.KeyValue.(KeyValue.java:353)
> 	at org.apache.hadoop.hbase.client.Put.add(Put.java:137)
> 	at org.apache.hadoop.hbase.client.Put.add(Put.java:108)
> 	at org.apache.nutch.scoring.webgraph.ScoreUpdater$ScoreUpdaterReducer.reduce(ScoreUpdater.java:170)
> 	at org.apache.nutch.scoring.webgraph.ScoreUpdater$ScoreUpdaterReducer.reduce(ScoreUpdater.java:127)
> 	at org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:174)
> 	at org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:563)
> 	at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:408)
> 	at org.apache.hadoop.mapred.Child.main(Child.java:170)
> Bytes.toBytes(Float.valueOf(score).toString()) may return an array longer than 32767 bytes.
> We should enhance Bytes.toBytes() to include length limit:
>   public static byte[] toBytes(String s, int length) 
> String.getBytes() doesn't have length limit



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)