[
https://issues.apache.org/jira/browse/HBASE-18986?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Xiang Li updated HBASE-18986:
-----------------------------
Description:
In master branch,
{code:title=hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java|borderStyle=solid}
// From line 2858
public void prepareDeleteTimestamps(Mutation mutation, Map<byte[], List<Cell>>
familyMap,
byte[] byteNow) throws IOException {
for (Map.Entry<byte[], List<Cell>> e : familyMap.entrySet()) {
// ...
for (int i=0; i < listSize; i++) {
// ...
if (cell.getTimestamp() == HConstants.LATEST_TIMESTAMP &&
CellUtil.isDeleteType(cell)) {
byte[] qual = CellUtil.cloneQualifier(cell);
if (qual == null) qual = HConstants.EMPTY_BYTE_ARRAY; // <-- here
...
{code}
Might {{if (qual == null) qual = HConstants.EMPTY_BYTE_ARRAY;}} be removed?
Could it be null after CellUtil.cloneQualifier()
{code:title=hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java|borderStyle=solid}
public static byte[] cloneQualifier(Cell cell){
byte[] output = new byte[cell.getQualifierLength()];
copyQualifierTo(cell, output, 0);
return output;
}
was:
In master branch,
{code:title=hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java|borderStyle=solid}
// From line 2858
public void prepareDeleteTimestamps(Mutation mutation, Map<byte[], List<Cell>>
familyMap,
byte[] byteNow) throws IOException {
for (Map.Entry<byte[], List<Cell>> e : familyMap.entrySet()) {
// ...
for (int i=0; i < listSize; i++) {
// ...
if (cell.getTimestamp() == HConstants.LATEST_TIMESTAMP &&
CellUtil.isDeleteType(cell)) {
byte[] qual = CellUtil.cloneQualifier(cell);
if (qual == null) qual = HConstants.EMPTY_BYTE_ARRAY; // <-- here
...
{code}
The last statement {if (qual == null) qual = HConstants.EMPTY_BYTE_ARRAY;}
> Remove unnecessary null check after CellUtil.cloneQualifier()
> -------------------------------------------------------------
>
> Key: HBASE-18986
> URL: https://issues.apache.org/jira/browse/HBASE-18986
> Project: HBase
> Issue Type: Improvement
> Reporter: Xiang Li
> Assignee: Xiang Li
> Priority: Minor
>
> In master branch,
> {code:title=hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java|borderStyle=solid}
> // From line 2858
> public void prepareDeleteTimestamps(Mutation mutation, Map<byte[],
> List<Cell>> familyMap,
> byte[] byteNow) throws IOException {
> for (Map.Entry<byte[], List<Cell>> e : familyMap.entrySet()) {
> // ...
> for (int i=0; i < listSize; i++) {
> // ...
> if (cell.getTimestamp() == HConstants.LATEST_TIMESTAMP &&
> CellUtil.isDeleteType(cell)) {
> byte[] qual = CellUtil.cloneQualifier(cell);
> if (qual == null) qual = HConstants.EMPTY_BYTE_ARRAY; // <-- here
> ...
> {code}
> Might {{if (qual == null) qual = HConstants.EMPTY_BYTE_ARRAY;}} be removed?
> Could it be null after CellUtil.cloneQualifier()
> {code:title=hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java|borderStyle=solid}
> public static byte[] cloneQualifier(Cell cell){
> byte[] output = new byte[cell.getQualifierLength()];
> copyQualifierTo(cell, output, 0);
> return output;
> }
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)