File tree Expand file tree Collapse file tree 8 files changed +31
-10
lines changed
pipelines/processors/transforms Expand file tree Collapse file tree 8 files changed +31
-10
lines changed Original file line number Diff line number Diff line change 1212// See the License for the specific language governing permissions and
1313// limitations under the License.
1414
15+ //! The compilation artefact of this crate cannot be cached, so to avoid long ci compilation times,
16+ //! you should avoid introducing this crate in the underlying crate.
17+
1518use std:: sync:: LazyLock ;
1619
1720use semver:: Version ;
@@ -52,6 +55,9 @@ pub static DATABEND_SEMVER: LazyLock<Version> = LazyLock::new(|| {
5255 Version :: parse ( semver) . unwrap_or_else ( |e| panic ! ( "Invalid semver: {:?}: {}" , semver, e) )
5356} ) ;
5457
58+ pub static UDF_CLIENT_USER_AGENT : LazyLock < String > =
59+ LazyLock :: new ( || format ! ( "databend-query/{}" , * DATABEND_SEMVER ) ) ;
60+
5561pub static DATABEND_COMMIT_VERSION : LazyLock < String > = LazyLock :: new ( || {
5662 let semver = DATABEND_GIT_SEMVER ;
5763 let git_sha = VERGEN_GIT_SHA ;
Original file line number Diff line number Diff line change @@ -28,7 +28,6 @@ databend-common-exception = { workspace = true }
2828databend-common-grpc = { workspace = true }
2929databend-common-hashtable = { workspace = true }
3030databend-common-io = { workspace = true }
31- databend-common-version = { workspace = true }
3231educe = { workspace = true }
3332either = { workspace = true }
3433enum-as-inner = { workspace = true }
Original file line number Diff line number Diff line change @@ -29,7 +29,6 @@ use databend_common_base::headers::HEADER_TENANT;
2929use databend_common_exception:: ErrorCode ;
3030use databend_common_exception:: Result ;
3131use databend_common_grpc:: DNSService ;
32- use databend_common_version:: DATABEND_SEMVER ;
3332use futures:: stream;
3433use futures:: StreamExt ;
3534use futures:: TryStreamExt ;
@@ -65,13 +64,14 @@ impl UDFFlightClient {
6564 addr : & str ,
6665 conn_timeout : u64 ,
6766 request_timeout : u64 ,
67+ user_agent : & str ,
6868 ) -> Result < Arc < Endpoint > > {
6969 let tls_config = ClientTlsConfig :: new ( ) . with_native_roots ( ) ;
7070 let endpoint = Endpoint :: from_shared ( addr. to_string ( ) )
7171 . map_err ( |err| {
7272 ErrorCode :: UDFServerConnectError ( format ! ( "Invalid UDF Server address: {err}" ) )
7373 } ) ?
74- . user_agent ( format ! ( "databend-query/{}" , * DATABEND_SEMVER ) )
74+ . user_agent ( user_agent )
7575 . map_err ( |err| {
7676 ErrorCode :: UDFServerConnectError ( format ! ( "Invalid UDF Client User Agent: {err}" ) )
7777 } ) ?
Original file line number Diff line number Diff line change @@ -41,6 +41,7 @@ use databend_common_metrics::external_server::record_running_requests_external_f
4141use databend_common_metrics:: external_server:: record_running_requests_external_start;
4242use databend_common_pipeline_transforms:: processors:: AsyncTransform ;
4343use databend_common_sql:: executor:: physical_plans:: UdfFunctionDesc ;
44+ use databend_common_version:: UDF_CLIENT_USER_AGENT ;
4445use tokio:: sync:: Semaphore ;
4546use tonic:: transport:: Endpoint ;
4647
@@ -81,8 +82,12 @@ impl TransformUdfServer {
8182 if endpoints. contains_key ( server_addr) {
8283 continue ;
8384 }
84- let endpoint =
85- UDFFlightClient :: build_endpoint ( server_addr, connect_timeout, request_timeout) ?;
85+ let endpoint = UDFFlightClient :: build_endpoint (
86+ server_addr,
87+ connect_timeout,
88+ request_timeout,
89+ UDF_CLIENT_USER_AGENT . as_str ( ) ,
90+ ) ?;
8691 endpoints. insert ( server_addr. clone ( ) , endpoint) ;
8792 }
8893 Ok ( endpoints)
Original file line number Diff line number Diff line change @@ -52,6 +52,7 @@ use databend_common_meta_app::schema::TableMeta;
5252use databend_common_pipeline_core:: Pipeline ;
5353use databend_common_pipeline_sources:: OneBlockSource ;
5454use databend_common_storages_factory:: Table ;
55+ use databend_common_version:: UDF_CLIENT_USER_AGENT ;
5556use url:: Url ;
5657
5758pub struct UdfEchoTable {
@@ -142,8 +143,12 @@ impl Table for UdfEchoTable {
142143 let connect_timeout = settings. get_external_server_connect_timeout_secs ( ) ?;
143144 let request_timeout = settings. get_external_server_request_timeout_secs ( ) ?;
144145
145- let endpoint =
146- UDFFlightClient :: build_endpoint ( & self . address , connect_timeout, request_timeout) ?;
146+ let endpoint = UDFFlightClient :: build_endpoint (
147+ & self . address ,
148+ connect_timeout,
149+ request_timeout,
150+ UDF_CLIENT_USER_AGENT . as_str ( ) ,
151+ ) ?;
147152 let mut client = UDFFlightClient :: connect ( endpoint, connect_timeout, 65536 )
148153 . await ?
149154 . with_tenant ( ctx. get_tenant ( ) . tenant_name ( ) ) ?
Original file line number Diff line number Diff line change @@ -30,6 +30,7 @@ databend-common-storage = { workspace = true }
3030databend-common-storages-result-cache = { workspace = true }
3131databend-common-storages-view = { workspace = true }
3232databend-common-users = { workspace = true }
33+ databend-common-version = { workspace = true }
3334databend-enterprise-data-mask-feature = { workspace = true }
3435databend-storages-common-cache = { workspace = true }
3536databend-storages-common-io = { workspace = true }
Original file line number Diff line number Diff line change @@ -32,6 +32,7 @@ use databend_common_meta_app::principal::UDFDefinition as PlanUDFDefinition;
3232use databend_common_meta_app:: principal:: UDFScript ;
3333use databend_common_meta_app:: principal:: UDFServer ;
3434use databend_common_meta_app:: principal:: UserDefinedFunction ;
35+ use databend_common_version:: UDF_CLIENT_USER_AGENT ;
3536
3637use crate :: normalize_identifier;
3738use crate :: optimizer:: ir:: SExpr ;
@@ -105,8 +106,12 @@ impl Binder {
105106 . get_settings ( )
106107 . get_external_server_request_batch_rows ( ) ? as usize ;
107108
108- let endpoint =
109- UDFFlightClient :: build_endpoint ( address, connect_timeout, request_timeout) ?;
109+ let endpoint = UDFFlightClient :: build_endpoint (
110+ address,
111+ connect_timeout,
112+ request_timeout,
113+ UDF_CLIENT_USER_AGENT . as_str ( ) ,
114+ ) ?;
110115
111116 let mut client = UDFFlightClient :: connect ( endpoint, connect_timeout, batch_rows)
112117 . await ?
You can’t perform that action at this time.
0 commit comments