[CP] fix: fix the bug of remote das task performance degradation;
This commit is contained in:
		@ -57,7 +57,7 @@ const int64_t OB_DAS_MAX_PACKET_SIZE = 2 * 1024 * 1024l - 8 * 1024;
 | 
				
			|||||||
 * it can be considered that the DAS request will send at most one RPC request to each zone.
 | 
					 * it can be considered that the DAS request will send at most one RPC request to each zone.
 | 
				
			||||||
 * so OB_DAS_MAX_TOTAL_PACKET_SIZE was defined as:
 | 
					 * so OB_DAS_MAX_TOTAL_PACKET_SIZE was defined as:
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
const int64_t OB_DAS_MAX_TOTAL_PACKET_SIZE = 2 * OB_DAS_MAX_PACKET_SIZE;
 | 
					const int64_t OB_DAS_MAX_TOTAL_PACKET_SIZE = 1 * OB_DAS_MAX_PACKET_SIZE;
 | 
				
			||||||
const int64_t OB_DAS_MAX_META_TENANT_PACKET_SIZE = 1 * 1024 * 1024l - 8 * 1024;
 | 
					const int64_t OB_DAS_MAX_META_TENANT_PACKET_SIZE = 1 * 1024 * 1024l - 8 * 1024;
 | 
				
			||||||
}  // namespace das
 | 
					}  // namespace das
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1570,7 +1570,7 @@ int ObDMLService::write_row_to_das_op(const ObDASDMLBaseCtDef &ctdef,
 | 
				
			|||||||
    if (OB_SUCC(ret) && buffer_full) {
 | 
					    if (OB_SUCC(ret) && buffer_full) {
 | 
				
			||||||
      need_retry = true;
 | 
					      need_retry = true;
 | 
				
			||||||
      if (REACH_COUNT_INTERVAL(10)) { // print log per 10 times.
 | 
					      if (REACH_COUNT_INTERVAL(10)) { // print log per 10 times.
 | 
				
			||||||
        LOG_INFO("DAS write buffer full, ", K(dml_op->get_row_cnt()), K(dml_rtctx.das_ref_.get_das_mem_used()), K(dml_rtctx.get_row_buffer_size()));
 | 
					        LOG_INFO("DAS write buffer full, ", K(dml_op->get_row_cnt()), K(dml_rtctx.get_row_buffer_size()));
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      dml_rtctx.das_ref_.set_frozen_node();
 | 
					      dml_rtctx.das_ref_.set_frozen_node();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -1111,6 +1111,9 @@ int ObTableModifyOp::discharge_das_write_buffer()
 | 
				
			|||||||
             "buffer memory", dml_rtctx_.das_ref_.get_das_alloc().used(), K(dml_rtctx_.get_row_buffer_size()));
 | 
					             "buffer memory", dml_rtctx_.das_ref_.get_das_alloc().used(), K(dml_rtctx_.get_row_buffer_size()));
 | 
				
			||||||
    ret = submit_all_dml_task();
 | 
					    ret = submit_all_dml_task();
 | 
				
			||||||
  } else if (execute_single_row_) {
 | 
					  } else if (execute_single_row_) {
 | 
				
			||||||
 | 
					    if (REACH_COUNT_INTERVAL(100)) { // print log per 100 times.
 | 
				
			||||||
 | 
					      LOG_TRACE("DML task excute single row", K(execute_single_row_));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    ret = submit_all_dml_task();
 | 
					    ret = submit_all_dml_task();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return ret;
 | 
					  return ret;
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user