HBASE-1715 Compaction failure in ScanWildcardColumnTracker.checkColumn
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@810716 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
61c20195ca
commit
cfaec1e1e3
|
@ -366,6 +366,7 @@ Release 0.20.0 - Unreleased
|
||||||
HBASE-1810 ConcurrentModificationException in region assignment
|
HBASE-1810 ConcurrentModificationException in region assignment
|
||||||
(Mathias Herberts via Stack)
|
(Mathias Herberts via Stack)
|
||||||
HBASE-1804 Puts are permitted (and stored) when including an appended colon
|
HBASE-1804 Puts are permitted (and stored) when including an appended colon
|
||||||
|
HBASE-1715 Compaction failure in ScanWildcardColumnTracker.checkColumn
|
||||||
|
|
||||||
IMPROVEMENTS
|
IMPROVEMENTS
|
||||||
HBASE-1089 Add count of regions on filesystem to master UI; add percentage
|
HBASE-1089 Add count of regions on filesystem to master UI; add percentage
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
|
|
||||||
package org.apache.hadoop.hbase.regionserver;
|
package org.apache.hadoop.hbase.regionserver;
|
||||||
|
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.apache.hadoop.hbase.regionserver.QueryMatcher.MatchCode;
|
import org.apache.hadoop.hbase.regionserver.QueryMatcher.MatchCode;
|
||||||
import org.apache.hadoop.hbase.util.Bytes;
|
import org.apache.hadoop.hbase.util.Bytes;
|
||||||
|
|
||||||
|
@ -27,6 +29,8 @@ import org.apache.hadoop.hbase.util.Bytes;
|
||||||
* Keeps track of the columns for a scan if they are not explicitly specified
|
* Keeps track of the columns for a scan if they are not explicitly specified
|
||||||
*/
|
*/
|
||||||
public class ScanWildcardColumnTracker implements ColumnTracker {
|
public class ScanWildcardColumnTracker implements ColumnTracker {
|
||||||
|
private static final Log LOG =
|
||||||
|
LogFactory.getLog(ScanWildcardColumnTracker.class);
|
||||||
private byte [] columnBuffer = null;
|
private byte [] columnBuffer = null;
|
||||||
private int columnOffset = 0;
|
private int columnOffset = 0;
|
||||||
private int columnLength = 0;
|
private int columnLength = 0;
|
||||||
|
@ -79,15 +83,27 @@ public class ScanWildcardColumnTracker implements ColumnTracker {
|
||||||
columnOffset = offset;
|
columnOffset = offset;
|
||||||
columnLength = length;
|
columnLength = length;
|
||||||
currentCount = 0;
|
currentCount = 0;
|
||||||
|
|
||||||
if (++currentCount > maxVersions)
|
if (++currentCount > maxVersions)
|
||||||
return MatchCode.SKIP;
|
return MatchCode.SKIP;
|
||||||
return MatchCode.INCLUDE;
|
return MatchCode.INCLUDE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// new col < oldcol
|
// new col < oldcol
|
||||||
// if (cmp < 0) {
|
// if (cmp < 0) {
|
||||||
throw new RuntimeException("ScanWildcardColumnTracker.checkColumn ran " +
|
// WARNING: This means that very likely an edit for some other family
|
||||||
"into a column actually smaller than the previous column!");
|
// was incorrectly stored into the store for this one. Continue, but
|
||||||
|
// complain.
|
||||||
|
LOG.error("ScanWildcardColumnTracker.checkColumn ran " +
|
||||||
|
"into a column actually smaller than the previous column: " +
|
||||||
|
Bytes.toStringBinary(bytes, offset, length));
|
||||||
|
// switched columns
|
||||||
|
columnBuffer = bytes;
|
||||||
|
columnOffset = offset;
|
||||||
|
columnLength = length;
|
||||||
|
currentCount = 0;
|
||||||
|
if (++currentCount > maxVersions)
|
||||||
|
return MatchCode.SKIP;
|
||||||
|
return MatchCode.INCLUDE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue