Java 类org.apache.hadoop.hbase.exceptions.OperationConflictException 实例源码

项目:ditb    文件:RSRpcServices.java   
/**
 * Starts the nonce operation for a mutation, if needed.
 * @param mutation Mutation.
 * @param nonceGroup Nonce group from the request.
 * @returns Nonce used (can be NO_NONCE).
 */
private long startNonceOperation(final MutationProto mutation, long nonceGroup)
    throws IOException, OperationConflictException {
  if (regionServer.nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;
  boolean canProceed = false;
  try {
    canProceed = regionServer.nonceManager.startOperation(
      nonceGroup, mutation.getNonce(), regionServer);
  } catch (InterruptedException ex) {
    throw new InterruptedIOException("Nonce start operation interrupted");
  }
  if (!canProceed) {
    // TODO: instead, we could convert append/increment to get w/mvcc
    String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()
      + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())
      + "] may have already completed";
    throw new OperationConflictException(message);
  }
  return mutation.getNonce();
}
项目:pbase    文件:RSRpcServices.java   
/**
 * Starts the nonce operation for a mutation, if needed.
 *
 * @param mutation   Mutation.
 * @param nonceGroup Nonce group from the request.
 * @returns Nonce used (can be NO_NONCE).
 */
private long startNonceOperation(final MutationProto mutation, long nonceGroup)
        throws IOException, OperationConflictException {
    if (regionServer.nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;
    boolean canProceed = false;
    try {
        canProceed = regionServer.nonceManager.startOperation(
                nonceGroup, mutation.getNonce(), regionServer);
    } catch (InterruptedException ex) {
        throw new InterruptedIOException("Nonce start operation interrupted");
    }
    if (!canProceed) {
        // TODO: instead, we could convert append/increment to get w/mvcc
        String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()
                + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())
                + "] may have already completed";
        throw new OperationConflictException(message);
    }
    return mutation.getNonce();
}
项目:HIndex    文件:HRegionServer.java   
/**
 * Starts the nonce operation for a mutation, if needed.
 * @param mutation Mutation.
 * @param nonceGroup Nonce group from the request.
 * @returns Nonce used (can be NO_NONCE).
 */
private long startNonceOperation(final MutationProto mutation, long nonceGroup)
    throws IOException, OperationConflictException {
  if (nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;
  boolean canProceed = false;
  try {
    canProceed = nonceManager.startOperation(nonceGroup, mutation.getNonce(), this);
  } catch (InterruptedException ex) {
    throw new InterruptedIOException("Nonce start operation interrupted");
  }
  if (!canProceed) {
    // TODO: instead, we could convert append/increment to get w/mvcc
    String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()
        + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())
        + "] may have already completed";
    throw new OperationConflictException(message);
  }
  return mutation.getNonce();
}
项目:PyroDB    文件:RSRpcServices.java   
/**
 * Starts the nonce operation for a mutation, if needed.
 * @param mutation Mutation.
 * @param nonceGroup Nonce group from the request.
 * @returns Nonce used (can be NO_NONCE).
 */
private long startNonceOperation(final MutationProto mutation, long nonceGroup)
    throws IOException, OperationConflictException {
  if (regionServer.nonceManager == null || !mutation.hasNonce()) return HConstants.NO_NONCE;
  boolean canProceed = false;
  try {
    canProceed = regionServer.nonceManager.startOperation(
      nonceGroup, mutation.getNonce(), regionServer);
  } catch (InterruptedException ex) {
    throw new InterruptedIOException("Nonce start operation interrupted");
  }
  if (!canProceed) {
    // TODO: instead, we could convert append/increment to get w/mvcc
    String message = "The operation with nonce {" + nonceGroup + ", " + mutation.getNonce()
      + "} on row [" + Bytes.toString(mutation.getRow().toByteArray())
      + "] may have already completed";
    throw new OperationConflictException(message);
  }
  return mutation.getNonce();
}
项目:ditb    文件:MultiThreadedUpdater.java   
public void mutate(Table table, Mutation m,
    long keyBase, byte[] row, byte[] cf, byte[] q, byte[] v) {
  long start = System.currentTimeMillis();
  try {
    m = dataGenerator.beforeMutate(keyBase, m);
    if (m instanceof Increment) {
      table.increment((Increment)m);
    } else if (m instanceof Append) {
      table.append((Append)m);
    } else if (m instanceof Put) {
      table.checkAndPut(row, cf, q, v, (Put)m);
    } else if (m instanceof Delete) {
      table.checkAndDelete(row, cf, q, v, (Delete)m);
    } else {
      throw new IllegalArgumentException(
        "unsupported mutation " + m.getClass().getSimpleName());
    }
    totalOpTimeMs.addAndGet(System.currentTimeMillis() - start);
  } catch (IOException e) {
    if (ignoreNonceConflicts && (e instanceof OperationConflictException)) {
      LOG.info("Detected nonce conflict, ignoring: " + e.getMessage());
      totalOpTimeMs.addAndGet(System.currentTimeMillis() - start);
      return;
    }
    failedKeySet.add(keyBase);
    String exceptionInfo;
    if (e instanceof RetriesExhaustedWithDetailsException) {
      RetriesExhaustedWithDetailsException aggEx = (RetriesExhaustedWithDetailsException) e;
      exceptionInfo = aggEx.getExhaustiveDescription();
    } else {
      exceptionInfo = StringUtils.stringifyException(e);
    }
    LOG.error("Failed to mutate: " + keyBase + " after " +
        (System.currentTimeMillis() - start) +
      "ms; region information: " + getRegionDebugInfoSafe(table, m.getRow()) + "; errors: "
        + exceptionInfo);
  }
}
项目:pbase    文件:MultiThreadedUpdater.java   
public void mutate(Table table, Mutation m,
    long keyBase, byte[] row, byte[] cf, byte[] q, byte[] v) {
  long start = System.currentTimeMillis();
  try {
    m = dataGenerator.beforeMutate(keyBase, m);
    if (m instanceof Increment) {
      table.increment((Increment)m);
    } else if (m instanceof Append) {
      table.append((Append)m);
    } else if (m instanceof Put) {
      table.checkAndPut(row, cf, q, v, (Put)m);
    } else if (m instanceof Delete) {
      table.checkAndDelete(row, cf, q, v, (Delete)m);
    } else {
      throw new IllegalArgumentException(
        "unsupported mutation " + m.getClass().getSimpleName());
    }
    totalOpTimeMs.addAndGet(System.currentTimeMillis() - start);
  } catch (IOException e) {
    if (ignoreNonceConflicts && (e instanceof OperationConflictException)) {
      LOG.info("Detected nonce conflict, ignoring: " + e.getMessage());
      totalOpTimeMs.addAndGet(System.currentTimeMillis() - start);
      return;
    }
    failedKeySet.add(keyBase);
    String exceptionInfo;
    if (e instanceof RetriesExhaustedWithDetailsException) {
      RetriesExhaustedWithDetailsException aggEx = (RetriesExhaustedWithDetailsException) e;
      exceptionInfo = aggEx.getExhaustiveDescription();
    } else {
      exceptionInfo = StringUtils.stringifyException(e);
    }
    LOG.error("Failed to mutate: " + keyBase + " after " +
        (System.currentTimeMillis() - start) +
      "ms; region information: " + getRegionDebugInfoSafe(table, m.getRow()) + "; errors: "
        + exceptionInfo);
  }
}
项目:HIndex    文件:MultiThreadedUpdater.java   
public void mutate(HTable table, Mutation m,
     long keyBase, byte[] row, byte[] cf, byte[] q, byte[] v) {
   long start = System.currentTimeMillis();
   try {
     m = dataGenerator.beforeMutate(keyBase, m);
     if (m instanceof Increment) {
       table.increment((Increment)m);
     } else if (m instanceof Append) {
       table.append((Append)m);
     } else if (m instanceof Put) {
       table.checkAndPut(row, cf, q, v, (Put)m);
     } else if (m instanceof Delete) {
       table.checkAndDelete(row, cf, q, v, (Delete)m);
     } else {
       throw new IllegalArgumentException(
         "unsupported mutation " + m.getClass().getSimpleName());
     }
     totalOpTimeMs.addAndGet(System.currentTimeMillis() - start);
   } catch (IOException e) {
     if (ignoreNonceConflicts && (e instanceof OperationConflictException)) {
       LOG.info("Detected nonce conflict, ignoring: " + e.getMessage());
totalOpTimeMs.addAndGet(System.currentTimeMillis() - start);
       return;
     }
     failedKeySet.add(keyBase);
     String exceptionInfo;
     if (e instanceof RetriesExhaustedWithDetailsException) {
       RetriesExhaustedWithDetailsException aggEx = (RetriesExhaustedWithDetailsException) e;
       exceptionInfo = aggEx.getExhaustiveDescription();
     } else {
       exceptionInfo = StringUtils.stringifyException(e);
     }
     LOG.error("Failed to mutate: " + keyBase + " after " +
         (System.currentTimeMillis() - start) +
       "ms; region information: " + getRegionDebugInfoSafe(table, m.getRow()) + "; errors: "
         + exceptionInfo);
   }
 }
项目:PyroDB    文件:MultiThreadedUpdater.java   
public void mutate(HTable table, Mutation m,
     long keyBase, byte[] row, byte[] cf, byte[] q, byte[] v) {
   long start = System.currentTimeMillis();
   try {
     m = dataGenerator.beforeMutate(keyBase, m);
     if (m instanceof Increment) {
       table.increment((Increment)m);
     } else if (m instanceof Append) {
       table.append((Append)m);
     } else if (m instanceof Put) {
       table.checkAndPut(row, cf, q, v, (Put)m);
     } else if (m instanceof Delete) {
       table.checkAndDelete(row, cf, q, v, (Delete)m);
     } else {
       throw new IllegalArgumentException(
         "unsupported mutation " + m.getClass().getSimpleName());
     }
     totalOpTimeMs.addAndGet(System.currentTimeMillis() - start);
   } catch (IOException e) {
     if (ignoreNonceConflicts && (e instanceof OperationConflictException)) {
       LOG.info("Detected nonce conflict, ignoring: " + e.getMessage());
totalOpTimeMs.addAndGet(System.currentTimeMillis() - start);
       return;
     }
     failedKeySet.add(keyBase);
     String exceptionInfo;
     if (e instanceof RetriesExhaustedWithDetailsException) {
       RetriesExhaustedWithDetailsException aggEx = (RetriesExhaustedWithDetailsException) e;
       exceptionInfo = aggEx.getExhaustiveDescription();
     } else {
       exceptionInfo = StringUtils.stringifyException(e);
     }
     LOG.error("Failed to mutate: " + keyBase + " after " +
         (System.currentTimeMillis() - start) +
       "ms; region information: " + getRegionDebugInfoSafe(table, m.getRow()) + "; errors: "
         + exceptionInfo);
   }
 }