HBASE-5821 Incorrect handling of null value in Coprocessor aggregation function min() (Maryann Xue)
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1328030 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
ccdf0557ce
commit
4e0f6a27ab
|
@ -105,7 +105,7 @@ public class AggregationClient {
|
|||
|
||||
@Override
|
||||
public synchronized void update(byte[] region, byte[] row, R result) {
|
||||
max = ci.compare(max, result) < 0 ? result : max;
|
||||
max = (max == null || (result != null && ci.compare(max, result) < 0)) ? result : max;
|
||||
}
|
||||
}
|
||||
MaxCallBack aMaxCallBack = new MaxCallBack();
|
||||
|
@ -155,7 +155,7 @@ public class AggregationClient {
|
|||
|
||||
@Override
|
||||
public synchronized void update(byte[] region, byte[] row, R result) {
|
||||
min = (min == null || ci.compare(result, min) < 0) ? result : min;
|
||||
min = (min == null || (result != null && ci.compare(result, min) < 0)) ? result : min;
|
||||
}
|
||||
}
|
||||
HTable table = new HTable(conf, tableName);
|
||||
|
|
|
@ -72,7 +72,7 @@ public class AggregateImplementation extends BaseEndpointCoprocessor implements
|
|||
hasMoreRows = scanner.next(results);
|
||||
for (KeyValue kv : results) {
|
||||
temp = ci.getValue(colFamily, qualifier, kv);
|
||||
max = (max == null || ci.compare(temp, max) > 0) ? temp : max;
|
||||
max = (max == null || (temp != null && ci.compare(temp, max) > 0)) ? temp : max;
|
||||
}
|
||||
results.clear();
|
||||
} while (hasMoreRows);
|
||||
|
@ -101,7 +101,7 @@ public class AggregateImplementation extends BaseEndpointCoprocessor implements
|
|||
hasMoreRows = scanner.next(results);
|
||||
for (KeyValue kv : results) {
|
||||
temp = ci.getValue(colFamily, qualifier, kv);
|
||||
min = (min == null || ci.compare(temp, min) < 0) ? temp : min;
|
||||
min = (min == null || (temp != null && ci.compare(temp, min) < 0)) ? temp : min;
|
||||
}
|
||||
results.clear();
|
||||
} while (hasMoreRows);
|
||||
|
|
Loading…
Reference in New Issue