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.