Fix: Rpc connect error
This commit is contained in:
		
							
								
								
									
										2
									
								
								deps/oblib/src/lib/ob_define.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/oblib/src/lib/ob_define.h
									
									
									
									
										vendored
									
									
								
							| @ -174,6 +174,8 @@ const int64_t USER_RESOURCE_GROUP_START_ID = 10000; | ||||
| const int64_t USER_RESOURCE_GROUP_END_ID = 19999; | ||||
| const int64_t SYS_RESOURCE_GROUP_START_ID = 20000; | ||||
| const int64_t SYS_RESOURCE_GROUP_CNT = 21; //accord ObIOModule | ||||
| // The timeout provided to the storage layer will be reduced by 100ms | ||||
| const int64_t ESTIMATE_PS_RESERVE_TIME = 100 * 1000; | ||||
| OB_INLINE bool is_user_group(const int64_t group_id) | ||||
| { | ||||
|   return group_id >= USER_RESOURCE_GROUP_START_ID && group_id <= USER_RESOURCE_GROUP_END_ID; | ||||
|  | ||||
| @ -468,7 +468,6 @@ private: | ||||
| private: | ||||
|   DISALLOW_COPY_AND_ASSIGN(ObPhysicalPlanCtx); | ||||
| private: | ||||
|   static const int64_t ESTIMATE_PS_RESERVE_TIME = 100 * 1000; | ||||
|   static const int64_t ESTIMATE_TRANS_RESERVE_TIME = 70 * 1000; | ||||
|   //oracle calc time during running, not before running. | ||||
|   //oracle datetime func has two categories: sysdate/systimestamp, current_date/current_timestamp/localtimestamp | ||||
|  | ||||
| @ -19,7 +19,6 @@ | ||||
| #include "sql/ob_sql_context.h" | ||||
| #include "sql/executor/ob_executor_rpc_processor.h" | ||||
| #include "sql/executor/ob_remote_executor_processor.h" | ||||
|  | ||||
| using namespace oceanbase::common; | ||||
| namespace oceanbase | ||||
| { | ||||
| @ -207,7 +206,7 @@ void ObExecutorRpcImpl::deal_with_rpc_timeout_err(ObExecutorRpcCtx &rpc_ctx, | ||||
|                                                   const ObAddr &dist_server) const | ||||
| { | ||||
|   if (OB_TIMEOUT == err) { | ||||
|     int64_t timeout_timestamp = rpc_ctx.get_timeout_timestamp(); | ||||
|     int64_t timeout_timestamp = rpc_ctx.get_ps_timeout_timestamp(); | ||||
|     int64_t cur_timestamp = ::oceanbase::common::ObTimeUtility::current_time(); | ||||
|     if (timeout_timestamp - cur_timestamp > 0) { | ||||
|       LOG_DEBUG("rpc return OB_TIMEOUT, but it is actually not timeout, " | ||||
|  | ||||
| @ -23,7 +23,7 @@ | ||||
| #include "sql/executor/ob_task_info.h" | ||||
| #include "sql/executor/ob_slice_id.h" | ||||
| #include "sql/executor/ob_executor_rpc_proxy.h" | ||||
|  | ||||
| #include "lib/ob_define.h" | ||||
|  | ||||
| namespace oceanbase | ||||
| { | ||||
| @ -248,6 +248,9 @@ public: | ||||
|  | ||||
|   uint64_t get_rpc_tenant_id() const { return rpc_tenant_id_; } | ||||
|   inline int64_t get_timeout_timestamp() const { return timeout_timestamp_; } | ||||
|   // The timeout provided to the storage layer will be reduced by 100ms | ||||
|   // The timeout here needs to be aligned. | ||||
|   inline int64_t get_ps_timeout_timestamp() const { return timeout_timestamp_ - ESTIMATE_PS_RESERVE_TIME; } | ||||
|   // 等于INVALID_CLUSTER_VERSION说明是从远端的旧observer上序列化过来的 | ||||
|   inline bool min_cluster_version_is_valid() const | ||||
|   { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 yaojing624
					yaojing624