1616 */
1717use std:: sync:: atomic:: AtomicBool ;
1818use std:: sync:: atomic:: Ordering ;
19- use std:: time:: Duration ;
2019
2120use cheetah_string:: CheetahString ;
2221use rocketmq_common:: common:: FAQUrl ;
@@ -85,29 +84,26 @@ impl ClientRequestProcessor {
8584 request : & mut RemotingCommand ,
8685 ) -> rocketmq_error:: RocketMQResult < Option < RemotingCommand > > {
8786 let request_header = request. decode_command_custom_header :: < GetRouteInfoRequestHeader > ( ) ?;
87+ let wait_seconds = self
88+ . name_server_runtime_inner
89+ . name_server_config ( )
90+ . wait_seconds_for_service as u64 ;
91+ let elapsed_millis =
92+ TimeUtils :: get_current_millis ( ) . saturating_sub ( self . startup_time_millis ) ;
8893 let namesrv_ready = self . need_check_namesrv_ready . load ( Ordering :: Relaxed )
89- && TimeUtils :: get_current_millis ( ) - self . startup_time_millis
90- >= Duration :: from_secs (
91- self . name_server_runtime_inner
92- . name_server_config ( )
93- . wait_seconds_for_service as u64 ,
94- )
95- . as_millis ( ) as u64 ;
96- if self
94+ && elapsed_millis >= wait_seconds * 1000 ;
95+
96+ let need_wait_for_service = self
9797 . name_server_runtime_inner
9898 . name_server_config ( )
99- . need_wait_for_service
100- && !namesrv_ready
101- {
102- warn ! (
103- "name remoting_server not ready. request code {} " ,
104- request. code( )
105- ) ;
99+ . need_wait_for_service ;
100+ if need_wait_for_service && !namesrv_ready {
101+ warn ! ( "name server not ready. request code {} " , request. code( ) ) ;
106102 return Ok ( Some (
107103 RemotingCommand :: create_response_command_with_code (
108104 RemotingSysResponseCode :: SystemError ,
109105 )
110- . set_remark ( "name remoting_server not ready" ) ,
106+ . set_remark ( "name server not ready" ) ,
111107 ) ) ;
112108 }
113109 match self
@@ -118,7 +114,7 @@ impl ClientRequestProcessor {
118114 None => Ok ( Some (
119115 RemotingCommand :: create_response_command_with_code ( ResponseCode :: TopicNotExist )
120116 . set_remark ( format ! (
121- "No topic route info in name remoting_server for the topic:{}{}" ,
117+ "No topic route info in name server for the topic:{}{}" ,
122118 request_header. topic,
123119 FAQUrl :: suggest_todo( FAQUrl :: APPLY_TOPIC_URL )
124120 ) ) ,
@@ -143,15 +139,7 @@ impl ClientRequestProcessor {
143139 ) ;
144140 topic_route_data. order_topic_conf = order_topic_config;
145141 } ;
146- /*let standard_json_only = request_header.accept_standard_json_only.unwrap_or(false);
147- let content = if request.version() >= RocketMqVersion::into(RocketMqVersion::V494)
148- || standard_json_only
149- {
150- //topic_route_data.encode()
151- topic_route_data.encode()
152- } else {
153- topic_route_data.encode()
154- };*/
142+ //Rust only support standard JSON serialization
155143 let content = topic_route_data. encode ( ) ?;
156144 Ok ( Some (
157145 RemotingCommand :: create_response_command_with_code ( ResponseCode :: Success )
0 commit comments