fix typo and enlarge major freeze timeout
This commit is contained in:
		@ -286,7 +286,7 @@ struct IHashTable {
 | 
				
			|||||||
  virtual int64_t get_used_buckets() const = 0;
 | 
					  virtual int64_t get_used_buckets() const = 0;
 | 
				
			||||||
  virtual int64_t get_nbuckets() const = 0;
 | 
					  virtual int64_t get_nbuckets() const = 0;
 | 
				
			||||||
  virtual int64_t get_collisions() const = 0;
 | 
					  virtual int64_t get_collisions() const = 0;
 | 
				
			||||||
  virtual int64_t get_bucket_mem_size() const = 0;
 | 
					  virtual int64_t get_mem_used() const = 0;
 | 
				
			||||||
  virtual int64_t get_one_bucket_size() const = 0;
 | 
					  virtual int64_t get_one_bucket_size() const = 0;
 | 
				
			||||||
  virtual int64_t get_normalized_key_size() const = 0;
 | 
					  virtual int64_t get_normalized_key_size() const = 0;
 | 
				
			||||||
  virtual void set_diag_info(int64_t used_buckets, int64_t collisions) = 0;
 | 
					  virtual void set_diag_info(int64_t used_buckets, int64_t collisions) = 0;
 | 
				
			||||||
@ -349,7 +349,17 @@ struct HashTable : public IHashTable
 | 
				
			|||||||
  int64_t get_used_buckets() const override { return used_buckets_; }
 | 
					  int64_t get_used_buckets() const override { return used_buckets_; }
 | 
				
			||||||
  int64_t get_nbuckets() const override { return nbuckets_; }
 | 
					  int64_t get_nbuckets() const override { return nbuckets_; }
 | 
				
			||||||
  int64_t get_collisions() const override { return collisions_; }
 | 
					  int64_t get_collisions() const override { return collisions_; }
 | 
				
			||||||
  int64_t get_bucket_mem_size() const override { return NULL == buckets_ ? 0 : buckets_->mem_used(); }
 | 
					  int64_t get_mem_used() const override {
 | 
				
			||||||
 | 
					    int64_t size = 0;
 | 
				
			||||||
 | 
					    size = sizeof(*this);
 | 
				
			||||||
 | 
					    if (NULL != buckets_) {
 | 
				
			||||||
 | 
					      size += buckets_->mem_used();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (NULL != items_) {
 | 
				
			||||||
 | 
					      size += items_->mem_used();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    return size;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
  int64_t get_one_bucket_size() const { return sizeof(Bucket); };
 | 
					  int64_t get_one_bucket_size() const { return sizeof(Bucket); };
 | 
				
			||||||
  int64_t get_normalized_key_size() const {
 | 
					  int64_t get_normalized_key_size() const {
 | 
				
			||||||
    return Prober::get_normalized_key_size();
 | 
					    return Prober::get_normalized_key_size();
 | 
				
			||||||
 | 
				
			|||||||
@ -35,9 +35,13 @@ public:
 | 
				
			|||||||
  };
 | 
					  };
 | 
				
			||||||
  int get_unmatched_rows(JoinTableCtx &ctx, OutputInfo &output_info);
 | 
					  int get_unmatched_rows(JoinTableCtx &ctx, OutputInfo &output_info);
 | 
				
			||||||
  void reset() {
 | 
					  void reset() {
 | 
				
			||||||
    // TODO shengle
 | 
					    if (NULL != hash_table_) {
 | 
				
			||||||
 | 
					      hash_table_->reset();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
  int64_t get_bucket_mem_size() const { return hash_table_->get_bucket_mem_size(); }
 | 
					  int64_t get_mem_used() const {
 | 
				
			||||||
 | 
					    return hash_table_->get_mem_used();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
  void free(ObIAllocator *allocator) {
 | 
					  void free(ObIAllocator *allocator) {
 | 
				
			||||||
    if (NULL != hash_table_) {
 | 
					    if (NULL != hash_table_) {
 | 
				
			||||||
      hash_table_->free(allocator);
 | 
					      hash_table_->free(allocator);
 | 
				
			||||||
 | 
				
			|||||||
@ -433,7 +433,7 @@ private:
 | 
				
			|||||||
  // memory used for dump that it's really used
 | 
					  // memory used for dump that it's really used
 | 
				
			||||||
  OB_INLINE int64_t get_cur_mem_used()
 | 
					  OB_INLINE int64_t get_cur_mem_used()
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    return get_mem_used() - join_table_.get_bucket_mem_size() - dumped_fixed_mem_size_;
 | 
					    return get_mem_used() - join_table_.get_mem_used() - dumped_fixed_mem_size_;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  OB_INLINE int64_t get_data_mem_used() { return sql_mem_processor_.get_data_size(); }
 | 
					  OB_INLINE int64_t get_data_mem_used() { return sql_mem_processor_.get_data_size(); }
 | 
				
			||||||
  OB_INLINE bool need_dump(int64_t mem_used)
 | 
					  OB_INLINE bool need_dump(int64_t mem_used)
 | 
				
			||||||
@ -473,7 +473,7 @@ private:
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    int64_t bucket_cnt = profile_.get_bucket_size();
 | 
					    int64_t bucket_cnt = profile_.get_bucket_size();
 | 
				
			||||||
    const int64_t DEFAULT_EXTRA_SIZE = 2 * 1024 * 1024;
 | 
					    const int64_t DEFAULT_EXTRA_SIZE = 2 * 1024 * 1024;
 | 
				
			||||||
    int64_t res = join_table_.get_bucket_mem_size();
 | 
					    int64_t res = join_table_.get_mem_used();
 | 
				
			||||||
    return  res < 0 ? DEFAULT_EXTRA_SIZE : res;
 | 
					    return  res < 0 ? DEFAULT_EXTRA_SIZE : res;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -877,6 +877,13 @@ int ObSqlParameterization::transform_tree(TransformTreeCtx &ctx,
 | 
				
			|||||||
          } else {
 | 
					          } else {
 | 
				
			||||||
            ctx.not_param_ = not_param;
 | 
					            ctx.not_param_ = not_param;
 | 
				
			||||||
            ctx.ignore_scale_check_ = ignore_scale_check;
 | 
					            ctx.ignore_scale_check_ = ignore_scale_check;
 | 
				
			||||||
 | 
					            // select a + 1 as 'a' from t where b = ?; 'a' in SQL will be recognized as a constant by fast parser
 | 
				
			||||||
 | 
					            // In the ps parameterization scenario, 'a' will be added to the param store as a fixed parameter in
 | 
				
			||||||
 | 
					            // the execute phase. The param store has two parameters, causing correctness problems.
 | 
				
			||||||
 | 
					            // Therefore, the scene ps parameterization ability of specifying aliases needs to be disabled.
 | 
				
			||||||
 | 
					            if (T_ALIAS == root->type_ && NULL != root->str_value_) {
 | 
				
			||||||
 | 
					              ctx.sql_info_->ps_need_parameterized_ = false;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
            if (T_ALIAS == root->type_ && 0 == i) {
 | 
					            if (T_ALIAS == root->type_ && 0 == i) {
 | 
				
			||||||
              // alias node的param_num_处理必须等到其第一个子节点转换完之后
 | 
					              // alias node的param_num_处理必须等到其第一个子节点转换完之后
 | 
				
			||||||
              // select a + 1 as 'a','a'不能被参数化,但是它在raw_params数组内的下标必须是计算了1的下标之后才能得到
 | 
					              // select a + 1 as 'a','a'不能被参数化,但是它在raw_params数组内的下标必须是计算了1的下标之后才能得到
 | 
				
			||||||
 | 
				
			|||||||
@ -664,7 +664,7 @@ int ObITabletMdsInterface::obj_to_string_holder_(const T &obj, ObStringHolder &h
 | 
				
			|||||||
  int64_t pos = 0;
 | 
					  int64_t pos = 0;
 | 
				
			||||||
  if (FALSE_IT(databuff_printf(stack_buffer, buffer_size, pos, "%s", to_cstring(obj)))) {// try hard to fill buffer, it's ok if buffer not enough
 | 
					  if (FALSE_IT(databuff_printf(stack_buffer, buffer_size, pos, "%s", to_cstring(obj)))) {// try hard to fill buffer, it's ok if buffer not enough
 | 
				
			||||||
  } else if (OB_FAIL(holder.assign(ObString(pos, stack_buffer)))) {
 | 
					  } else if (OB_FAIL(holder.assign(ObString(pos, stack_buffer)))) {
 | 
				
			||||||
    MDS_LOG(WARN, "fatil to assign to holder");
 | 
					    MDS_LOG(WARN, "fail to assign to holder");
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return ret;
 | 
					  return ret;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -686,16 +686,16 @@ int ObITabletMdsInterface::fill_virtual_info_by_complex_addr_(const ObTabletComp
 | 
				
			|||||||
  } else if (FALSE_IT(cur_virtual_info = &mds_node_info_array.at(mds_node_info_array.count() - 1))) {
 | 
					  } else if (FALSE_IT(cur_virtual_info = &mds_node_info_array.at(mds_node_info_array.count() - 1))) {
 | 
				
			||||||
  } else {
 | 
					  } else {
 | 
				
			||||||
    if (CLICK_FAIL(ObTabletMdsData::load_mds_dump_kv(allocator, addr, dump_kv))) {
 | 
					    if (CLICK_FAIL(ObTabletMdsData::load_mds_dump_kv(allocator, addr, dump_kv))) {
 | 
				
			||||||
      MDS_LOG_GET(WARN, "fatil to read tablet_status_addr");
 | 
					      MDS_LOG_GET(WARN, "fail to read tablet_status_addr");
 | 
				
			||||||
    } else if (nullptr == dump_kv || (nullptr != dump_kv && !dump_kv->is_valid())) {
 | 
					    } else if (nullptr == dump_kv || (nullptr != dump_kv && !dump_kv->is_valid())) {
 | 
				
			||||||
      ret = OB_ENTRY_NOT_EXIST;
 | 
					      ret = OB_ENTRY_NOT_EXIST;
 | 
				
			||||||
      MDS_LOG_GET(INFO, "dump kv not exist");
 | 
					      MDS_LOG_GET(INFO, "dump kv not exist");
 | 
				
			||||||
    } else if (CLICK_FAIL(obj_to_string_holder_(dump_kv->k_, cur_virtual_info->user_key_))) {
 | 
					    } else if (CLICK_FAIL(obj_to_string_holder_(dump_kv->k_, cur_virtual_info->user_key_))) {
 | 
				
			||||||
      MDS_LOG_GET(WARN, "fatil to fill string holder");
 | 
					      MDS_LOG_GET(WARN, "fail to fill string holder");
 | 
				
			||||||
    } else if (CLICK_FAIL(dump_kv->v_.convert_to_user_mds_node(user_mds_node, get_tablet_meta_().ls_id_, get_tablet_meta_().tablet_id_))) {
 | 
					    } else if (CLICK_FAIL(dump_kv->v_.convert_to_user_mds_node(user_mds_node, get_tablet_meta_().ls_id_, get_tablet_meta_().tablet_id_))) {
 | 
				
			||||||
      MDS_LOG_GET(WARN, "fatil to convert tablet_status_node");
 | 
					      MDS_LOG_GET(WARN, "fail to convert tablet_status_node");
 | 
				
			||||||
    } else if (CLICK_FAIL(user_mds_node.fill_virtual_info(*cur_virtual_info))) {
 | 
					    } else if (CLICK_FAIL(user_mds_node.fill_virtual_info(*cur_virtual_info))) {
 | 
				
			||||||
      MDS_LOG_GET(WARN, "fatil to fill virtual info");
 | 
					      MDS_LOG_GET(WARN, "fail to fill virtual info");
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      cur_virtual_info->ls_id_ = get_tablet_meta_().ls_id_;
 | 
					      cur_virtual_info->ls_id_ = get_tablet_meta_().ls_id_;
 | 
				
			||||||
      cur_virtual_info->tablet_id_ = get_tablet_meta_().tablet_id_;
 | 
					      cur_virtual_info->tablet_id_ = get_tablet_meta_().tablet_id_;
 | 
				
			||||||
@ -727,11 +727,11 @@ int ObITabletMdsInterface::fill_virtual_info_by_obj_(const T &obj,
 | 
				
			|||||||
  if (!obj.is_valid()) {
 | 
					  if (!obj.is_valid()) {
 | 
				
			||||||
    MDS_LOG_GET(INFO, "obj is not valid");
 | 
					    MDS_LOG_GET(INFO, "obj is not valid");
 | 
				
			||||||
  } else if (CLICK_FAIL(mds_node_info_array.push_back(mds::MdsNodeInfoForVirtualTable()))) {
 | 
					  } else if (CLICK_FAIL(mds_node_info_array.push_back(mds::MdsNodeInfoForVirtualTable()))) {
 | 
				
			||||||
    MDS_LOG_GET(WARN, "fatil to push_back");
 | 
					    MDS_LOG_GET(WARN, "fail to push_back");
 | 
				
			||||||
  } else if (FALSE_IT(cur_virtual_info = &mds_node_info_array.at(mds_node_info_array.count() - 1))) {
 | 
					  } else if (FALSE_IT(cur_virtual_info = &mds_node_info_array.at(mds_node_info_array.count() - 1))) {
 | 
				
			||||||
  } else {
 | 
					  } else {
 | 
				
			||||||
    if (CLICK_FAIL(obj_to_string_holder_(obj, cur_virtual_info->user_data_))) {
 | 
					    if (CLICK_FAIL(obj_to_string_holder_(obj, cur_virtual_info->user_data_))) {
 | 
				
			||||||
      MDS_LOG_GET(WARN, "fatil to fill string holder");
 | 
					      MDS_LOG_GET(WARN, "fail to fill string holder");
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      cur_virtual_info->ls_id_ = get_tablet_meta_().ls_id_;
 | 
					      cur_virtual_info->ls_id_ = get_tablet_meta_().ls_id_;
 | 
				
			||||||
      cur_virtual_info->tablet_id_ = get_tablet_meta_().tablet_id_;
 | 
					      cur_virtual_info->tablet_id_ = get_tablet_meta_().tablet_id_;
 | 
				
			||||||
@ -766,13 +766,13 @@ inline int ObITabletMdsInterface::fill_virtual_info(ObIArray<mds::MdsNodeInfoFor
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
  if (OB_FAIL(ret)) {
 | 
					  if (OB_FAIL(ret)) {
 | 
				
			||||||
  } else if (CLICK_FAIL(fill_virtual_info_by_obj_(seq_on_tablet, mds::NodePosition::DISK, mds_node_info_array))) {
 | 
					  } else if (CLICK_FAIL(fill_virtual_info_by_obj_(seq_on_tablet, mds::NodePosition::DISK, mds_node_info_array))) {
 | 
				
			||||||
    MDS_LOG_GET(WARN, "fatil to fill seq from disk");
 | 
					    MDS_LOG_GET(WARN, "fail to fill seq from disk");
 | 
				
			||||||
  } else if (CLICK_FAIL(fill_virtual_info_by_obj_(get_mds_data_().tablet_status_cache_, mds::NodePosition::TABLET, mds_node_info_array))) {
 | 
					  } else if (CLICK_FAIL(fill_virtual_info_by_obj_(get_mds_data_().tablet_status_cache_, mds::NodePosition::TABLET, mds_node_info_array))) {
 | 
				
			||||||
    MDS_LOG_GET(WARN, "fatil to fill tablet_status_ from cache");
 | 
					    MDS_LOG_GET(WARN, "fail to fill tablet_status_ from cache");
 | 
				
			||||||
  } else if (CLICK_FAIL(fill_virtual_info_by_complex_addr_<ObTabletCreateDeleteMdsUserData>(get_mds_data_().tablet_status_.committed_kv_, mds_node_info_array))) {
 | 
					  } else if (CLICK_FAIL(fill_virtual_info_by_complex_addr_<ObTabletCreateDeleteMdsUserData>(get_mds_data_().tablet_status_.committed_kv_, mds_node_info_array))) {
 | 
				
			||||||
    MDS_LOG_GET(WARN, "fatil to fill tablet_status_");
 | 
					    MDS_LOG_GET(WARN, "fail to fill tablet_status_");
 | 
				
			||||||
  } else if (CLICK_FAIL(fill_virtual_info_by_complex_addr_<ObTabletBindingMdsUserData>(get_mds_data_().aux_tablet_info_.committed_kv_, mds_node_info_array))) {
 | 
					  } else if (CLICK_FAIL(fill_virtual_info_by_complex_addr_<ObTabletBindingMdsUserData>(get_mds_data_().aux_tablet_info_.committed_kv_, mds_node_info_array))) {
 | 
				
			||||||
    MDS_LOG_GET(WARN, "fatil to fill aux_tablet_info_");
 | 
					    MDS_LOG_GET(WARN, "fail to fill aux_tablet_info_");
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return ret;
 | 
					  return ret;
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user