@@ -26,7 +26,7 @@ use datafusion_app::extensions::DftSessionStateBuilder;
2626use datafusion_app:: local:: ExecutionContext ;
2727use log:: info;
2828use service:: FlightSqlServiceImpl ;
29- use std:: net:: SocketAddr ;
29+ use std:: net:: { IpAddr , Ipv4Addr , SocketAddr } ;
3030use std:: time:: Duration ;
3131use tokio:: net:: TcpListener ;
3232use tokio:: sync:: oneshot;
@@ -121,8 +121,8 @@ impl FlightSqlApp {
121121 pub async fn try_new (
122122 app_execution : AppExecution ,
123123 config : & AppConfig ,
124- addr : & str ,
125- metrics_addr : & str ,
124+ addr : SocketAddr ,
125+ metrics_addr : SocketAddr ,
126126 ) -> Result < Self > {
127127 info ! ( "Listening to FlightSQL on {addr}" ) ;
128128 let flightsql = service:: FlightSqlServiceImpl :: new ( app_execution) ;
@@ -132,7 +132,6 @@ impl FlightSqlApp {
132132 let ( tx, rx) = tokio:: sync:: oneshot:: channel ( ) ;
133133 let handle = create_server_handle ( config, flightsql, listener, rx) ?;
134134
135- let metrics_addr: SocketAddr = metrics_addr. parse ( ) ?;
136135 try_start_metrics_server ( metrics_addr) ?;
137136
138137 let app = Self {
@@ -192,43 +191,37 @@ pub async fn try_run(cli: DftArgs, config: AppConfig) -> Result<()> {
192191 let ( addr, metrics_addr) = if let Some ( cmd) = cli. command . clone ( ) {
193192 match cmd {
194193 Command :: ServeFlightSql {
195- port : Some ( port ) ,
196- metrics_port : Some ( metrics_port ) ,
194+ addr : Some ( addr ) ,
195+ metrics_addr : Some ( metrics_addr ) ,
197196 ..
198- } => (
199- format ! ( "localhost:{port}" ) ,
200- format ! ( "0.0.0.0:{metrics_port}" ) ,
201- ) ,
197+ } => ( addr, metrics_addr) ,
202198 Command :: ServeFlightSql {
203- port : Some ( port ) ,
204- metrics_port : None ,
199+ addr : Some ( addr ) ,
200+ metrics_addr : None ,
205201 ..
206- } => (
207- format ! ( "localhost:{port}" ) ,
208- config. flightsql_server . server_metrics_port . clone ( ) ,
209- ) ,
202+ } => ( addr, config. flightsql_server . server_metrics_addr ) ,
210203 Command :: ServeFlightSql {
211- port : None ,
212- metrics_port : Some ( metrics_port ) ,
204+ addr : None ,
205+ metrics_addr : Some ( metrics_addr ) ,
213206 ..
214207 } => (
215- DEFAULT_SERVER_ADDRESS . to_string ( ) ,
216- format ! ( "0.0.0.0:{metrics_port}" ) ,
208+ SocketAddr :: new ( IpAddr :: V4 ( Ipv4Addr :: new ( 127 , 0 , 0 , 1 ) ) , 50051 ) ,
209+ metrics_addr ,
217210 ) ,
218211
219212 _ => (
220- DEFAULT_SERVER_ADDRESS . to_string ( ) ,
221- config. flightsql_server . server_metrics_port . clone ( ) ,
213+ SocketAddr :: new ( IpAddr :: V4 ( Ipv4Addr :: new ( 127 , 0 , 0 , 1 ) ) , 50051 ) ,
214+ config. flightsql_server . server_metrics_addr ,
222215 ) ,
223216 }
224217 } else {
225218 (
226- DEFAULT_SERVER_ADDRESS . to_string ( ) ,
227- config. flightsql_server . server_metrics_port . clone ( ) ,
219+ SocketAddr :: new ( IpAddr :: V4 ( Ipv4Addr :: new ( 127 , 0 , 0 , 1 ) ) , 50051 ) ,
220+ config. flightsql_server . server_metrics_addr ,
228221 )
229222 } ;
230223
231- let app = FlightSqlApp :: try_new ( app_execution, & config, & addr, & metrics_addr) . await ?;
224+ let app = FlightSqlApp :: try_new ( app_execution, & config, addr, metrics_addr) . await ?;
232225 app. run ( ) . await ;
233226 Ok ( ( ) )
234227}
0 commit comments