enhance hbase.util.Bytes.toBytes() with length limit
----------------------------------------------------

                 Key: HBASE-2432
                 URL: https://issues.apache.org/jira/browse/HBASE-2432
             Project: Hadoop HBase
          Issue Type: Improvement
          Components: util
    Affects Versions: 0.20.1
            Reporter: Ted Yu


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 is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to