Hbase源码研究(五)------put(3)

本文深入探讨HBase的put方法,详细分析了put操作前的检查、执行过程,包括读锁获取、writeRequestsCount计数、doMiniBatchPut函数的调用,以及提交后的memstore大小更新和可能的flush操作。文章预告,下一部分将重点讲解关键的doMiniBatchPut函数。
摘要由CSDN通过智能技术生成

继续上面的分析,主要看提交这下

 OperationStatus[] codes = region.put(putsWithLocks.toArray(new Pair[]{}));

仔细看put这个方法

/**
   * Perform a batch of puts.
   *
   * @param putsAndLocks
   *          the list of puts paired with their requested lock IDs.
   * @return an array of OperationStatus which internally contains the
   *         OperationStatusCode and the exceptionMessage if any.
   * @throws IOException
   */
  public OperationStatus[] put(
      Pair<Put, Integer>[] putsAndLocks) throws IOException {
    BatchOperationInProgress<Pair<Put, Integer>> batchOp =
      new BatchOperationInProgress<Pair<Put,Integer>>(putsAndLocks);

    while (!batchOp.isDone()) {
      checkReadOnly();
      checkResources();

      long newSize;
      startRegionOperation();
      this.writeRequestsCount.increment();
      try {
        long 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值