HBASE-6858 Fix the incorrect BADVERSION checking in the recoverable zookeeper; REVERT.... BROKE
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1388725 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
529807b0e5
commit
e30829d8c1
|
@ -357,9 +357,12 @@ public class RecoverableZooKeeper {
|
||||||
try{
|
try{
|
||||||
Stat stat = new Stat();
|
Stat stat = new Stat();
|
||||||
byte[] revData = zk.getData(path, false, stat);
|
byte[] revData = zk.getData(path, false, stat);
|
||||||
int idLength = Bytes.toInt(revData, MAGIC_OFFSET);
|
int idLength = Bytes.toInt(revData, ID_LENGTH_SIZE);
|
||||||
if (Bytes.compareTo(revData, MAGIC_OFFSET + ID_OFFSET, idLength,
|
int dataLength = revData.length-ID_LENGTH_SIZE-idLength;
|
||||||
id, 0, id.length) == 0) {
|
int dataOffset = ID_LENGTH_SIZE+idLength;
|
||||||
|
|
||||||
|
if(Bytes.compareTo(revData, ID_LENGTH_SIZE, id.length,
|
||||||
|
revData, dataOffset, dataLength) == 0) {
|
||||||
// the bad version is caused by previous successful setData
|
// the bad version is caused by previous successful setData
|
||||||
return stat;
|
return stat;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue