/** * @return True if this new procedure is 'richer' than the current one else false and we log this * incidence where it appears that the WAL has older entries appended after newer ones. * See HBASE-18152. */ private static boolean isIncreasing(ProcedureProtos.Procedure current, ProcedureProtos.Procedure candidate) { // Check that the procedures we see are 'increasing'. We used to compare // procedure id first and then update time but it can legitimately go backwards if the // procedure is failed or rolled back so that was unreliable. Was going to compare // state but lets see if comparing update time enough (unfortunately this issue only // seen under load...) boolean increasing = current.getLastUpdate() <= candidate.getLastUpdate(); if (!increasing) { LOG.warn("NOT INCREASING! current=" + current + ", candidate=" + candidate); } return increasing; }
setLastUpdate(other.getLastUpdate());
hash = (37 * hash) + LAST_UPDATE_FIELD_NUMBER; hash = (53 * hash) + org.apache.hbase.thirdparty.com.google.protobuf.Internal.hashLong( getLastUpdate());
result = result && (hasLastUpdate() == other.hasLastUpdate()); if (hasLastUpdate()) { result = result && (getLastUpdate() == other.getLastUpdate());
setLastUpdate(other.getLastUpdate());
hash = (37 * hash) + LAST_UPDATE_FIELD_NUMBER; hash = (53 * hash) + org.apache.hbase.thirdparty.com.google.protobuf.Internal.hashLong( getLastUpdate());
proc.setState(proto.getState()); proc.setSubmittedTime(proto.getSubmittedTime()); proc.setLastUpdate(proto.getLastUpdate());
proc.setState(proto.getState()); proc.setSubmittedTime(proto.getSubmittedTime()); proc.setLastUpdate(proto.getLastUpdate());
/** * @return True if this new procedure is 'richer' than the current one else false and we log this * incidence where it appears that the WAL has older entries appended after newer ones. * See HBASE-18152. */ private static boolean isIncreasing(ProcedureProtos.Procedure current, ProcedureProtos.Procedure candidate) { // Check that the procedures we see are 'increasing'. We used to compare // procedure id first and then update time but it can legitimately go backwards if the // procedure is failed or rolled back so that was unreliable. Was going to compare // state but lets see if comparing update time enough (unfortunately this issue only // seen under load...) boolean increasing = current.getLastUpdate() <= candidate.getLastUpdate(); if (!increasing) { LOG.warn("NOT INCREASING! current=" + current + ", candidate=" + candidate); } return increasing; }
/** * @return True if this new procedure is 'richer' than the current one else * false and we log this incidence where it appears that the WAL has older entries * appended after newer ones. See HBASE-18152. */ private static boolean isIncreasing(ProcedureProtos.Procedure current, ProcedureProtos.Procedure candidate) { // Check that the procedures we see are 'increasing'. We used to compare // procedure id first and then update time but it can legitimately go backwards if the // procedure is failed or rolled back so that was unreliable. Was going to compare // state but lets see if comparing update time enough (unfortunately this issue only // seen under load...) boolean increasing = current.getLastUpdate() <= candidate.getLastUpdate(); if (!increasing) { LOG.warn("NOT INCREASING! current=" + current + ", candidate=" + candidate); } return increasing; }
result = result && (hasLastUpdate() == other.hasLastUpdate()); if (hasLastUpdate()) { result = result && (getLastUpdate() == other.getLastUpdate());
proc.setState(proto.getState()); proc.setSubmittedTime(proto.getSubmittedTime()); proc.setLastUpdate(proto.getLastUpdate());