Skip to content

lake: add UDF docs - #23544

Open
awxxxxxx wants to merge 4 commits into
pingcap:release-8.5from
awxxxxxx:lake-publish-udf-docs
Open

lake: add UDF docs#23544
awxxxxxx wants to merge 4 commits into
pingcap:release-8.5from
awxxxxxx:lake-publish-udf-docs

Conversation

@awxxxxxx

@awxxxxxx awxxxxxx commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

What is changed, added or deleted? (Required)

This PR publishes TiDB Cloud Lake UDF (user-defined functions) documentation with minimal changes to existing pages:

  • adds a comprehensive guide for choosing among SQL, Python, JavaScript, WebAssembly, aggregate, table, and external UDFs;
  • exposes the External AI Functions guide and External Function CREATE FUNCTION reference in the Lake TOC;
  • preserves the existing External AI and command-page structure while using tidbcloudlake-udf and tidbcloudlake_udf in external Python examples;
  • updates external examples to use a public HTTPS endpoint and documents the tenant UDF server allowlist requirement;
  • fixes External Function management links.

The examples were validated against the published tidbcloudlake-udf v0.2.20 package and a staging Lake warehouse. SQL scalar/table UDFs and Python/JavaScript aggregate UDFs passed. External registration correctly returned Unallowed UDF server address for a hostname not yet added to the tenant allowlist.

Which TiDB version(s) do your changes apply to? (Required)

Tips for choosing the affected version(s):

By default, CHOOSE MASTER ONLY so your changes will be applied to the next TiDB major or minor releases. If your PR involves a product feature behavior change or a compatibility change, CHOOSE THE AFFECTED RELEASE BRANCH(ES) AND MASTER.

For details, see tips for choosing the affected versions.

  • master (the latest development version)
  • v8.5 (TiDB 8.5 versions)
  • v8.4 (TiDB 8.4 versions)
  • v8.3 (TiDB 8.3 versions)
  • v8.2 (TiDB 8.2 versions)
  • v8.1 (TiDB 8.1 versions)
  • v7.5 (TiDB 7.5 versions)
  • v7.1 (TiDB 7.1 versions)
  • v6.5 (TiDB 6.5 versions)

What is the related PR or file link(s)?

AI agent involvement

  • The changes in this PR were primarily made by an AI agent on behalf of the PR author.

Do your changes match any of the following descriptions?

  • Delete files
  • Change aliases
  • Need modification after applied to another branch
  • Might cause conflicts after applied to another branch

Summary by CodeRabbit

  • Documentation
    • Added a comprehensive guide for choosing and using TiDB Cloud Lake UDF types, including examples, deployment requirements, and best practices.
    • Updated the table of contents with UDF and External AI Function resources.
    • Updated External AI Function and SQL examples to use the current package and hosted HTTPS endpoint.
    • Corrected links for managing external functions with ALTER and DROP statements.

@ti-chi-bot ti-chi-bot Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 17, 2026
@ti-chi-bot

ti-chi-bot Bot commented Aug 17, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign hfxsd for approval. For more information see the Code Review Process.
Please ensure that each of them provides their approval before proceeding.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ti-chi-bot

ti-chi-bot Bot commented Aug 17, 2026

Copy link
Copy Markdown

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@ti-chi-bot ti-chi-bot Bot added the contribution This PR is from a community contributor. label Aug 17, 2026
@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Added a UDF type-selection guide for TiDB Cloud Lake. Updated external UDF examples to use the TiDB Cloud Lake SDK and HTTPS endpoints. Added and corrected related navigation links.

Changes

UDF documentation

Layer / File(s) Summary
UDF type-selection guide
tidb-cloud-lake/guides/choose-a-udf-type.md
Documents UDF execution models, selection criteria, creation examples, deployment requirements, performance considerations, and operational practices.
External UDF examples
tidb-cloud-lake/guides/external-ai-functions.md, tidb-cloud-lake/sql/create-function.md, tidb-cloud-lake/sql/alter-function-sql.md
Replaces the Databend SDK references with tidbcloudlake-udf and updates example endpoints to https://udf.example.com.
UDF documentation navigation
TOC-tidb-cloud-lake.md, tidb-cloud-lake/guides/choose-a-udf-type.md, tidb-cloud-lake/sql/external-function.md
Adds UDF and External AI Functions entries and updates External Function command links.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Merge Risk: 🟡 Moderate · up to 5151e

The new documentation currently includes external UDF examples that can fail because of invalid syntax and omits required server deployment and tenant allowlist steps; one AI example also lacks a required Python dependency, and one link is broken. These issues can lead users to failed registrations or queries, so fixes are needed before merge.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely identifies the main change: adding UDF documentation for TiDB Cloud Lake.
Description check ✅ Passed The description covers the required change summary, affected version, references, AI involvement, and change-type checklist.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ti-chi-bot ti-chi-bot Bot added missing-translation-status This PR does not have translation status info. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Aug 17, 2026
@ti-chi-bot ti-chi-bot Bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Aug 17, 2026
@lilin90 lilin90 self-assigned this Aug 17, 2026
@lilin90 lilin90 added the translation/no-need No need to translate this PR. label Aug 17, 2026
@ti-chi-bot ti-chi-bot Bot removed the missing-translation-status This PR does not have translation status info. label Aug 17, 2026
@lilin90 lilin90 added the lake Related to TiDB Cloud Lake docs. label Aug 17, 2026
@lilin90 lilin90 changed the title lake: publish UDF documentation lake: add UDF docs Aug 17, 2026
@lilin90 lilin90 added the for-cloud-release This PR is related to TiDB Cloud release. label Aug 17, 2026
@lilin90
lilin90 requested review from sdojjy and a lite review from Copilot August 17, 2026 08:48

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds and surfaces TiDB Cloud Lake UDF documentation, including a new guide to help users choose among UDF types, and updates the External Function docs and examples to use the tidbcloudlake-udf package and public HTTPS endpoints.

Changes:

  • Adds a new “Choose a User-Defined Function Type” guide and links it from the Lake TOC.
  • Exposes the “External AI Functions” guide in the Lake TOC and updates Python examples to use tidbcloudlake-udf.
  • Updates External Function navigation and examples, including adding the CREATE FUNCTION reference entry.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
TOC-tidb-cloud-lake.md Adds TOC entries for External AI Functions, the UDF type selection guide, and External Function command references.
tidb-cloud-lake/sql/external-function.md Updates the External Function overview table to point at the correct command pages (and should align link text with actual SQL statements).
tidb-cloud-lake/sql/create-function.md Updates the external function end-to-end example to use tidbcloudlake-udf and a public HTTPS ADDRESS.
tidb-cloud-lake/sql/alter-function-sql.md Updates external function ADDRESS examples to a public HTTPS endpoint.
tidb-cloud-lake/guides/external-ai-functions.md Updates the external AI function example to use tidbcloudlake-udf.
tidb-cloud-lake/guides/choose-a-udf-type.md Adds a new guide explaining how to choose between SQL/script/WASM/aggregate/table/external UDF types and operational considerations.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tidb-cloud-lake/sql/external-function.md

```bash
pip install databend-udf
pip install tidbcloudlake-udf
Comment on lines 77 to +81
CREATE FUNCTION gcd AS (INT, INT)
RETURNS INT
LANGUAGE python
HANDLER = 'gcd'
ADDRESS = 'http://localhost:8815';
ADDRESS = 'https://udf.example.com';
Comment thread tidb-cloud-lake/guides/choose-a-udf-type.md
@ti-chi-bot

ti-chi-bot Bot commented Aug 17, 2026

Copy link
Copy Markdown

@sdojjy: adding LGTM is restricted to approvers and reviewers in OWNERS files.

Details

In response to this:

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@sdojjy
sdojjy marked this pull request as ready for review August 17, 2026 20:14
@ti-chi-bot ti-chi-bot Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 17, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: addeaf63-3c6c-4a46-a6c3-9da9ffd30949

📥 Commits

Reviewing files that changed from the base of the PR and between dd3daa5 and 5151ebe.

📒 Files selected for processing (6)
  • TOC-tidb-cloud-lake.md
  • tidb-cloud-lake/guides/choose-a-udf-type.md
  • tidb-cloud-lake/guides/external-ai-functions.md
  • tidb-cloud-lake/sql/alter-function-sql.md
  • tidb-cloud-lake/sql/create-function.md
  • tidb-cloud-lake/sql/external-function.md

Included review availability: Your plan includes up to 4 reviews per rolling hour; 3 remain after this review.

Comment thread tidb-cloud-lake/guides/choose-a-udf-type.md
Comment on lines +261 to +266
CREATE FUNCTION normalize_address(value VARCHAR)
RETURNS VARCHAR
LANGUAGE python
HANDLER = 'normalize_address'
ADDRESS = 'https://udf.example.com';
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- candidate files ---'
git ls-files | rg '(^|/)(choose-a-udf-type\.md|alter-function-sql\.md)$|function|udf'
printf '%s\n' '--- relevant syntax references and definitions ---'
rg -n -i -C 3 'CREATE FUNCTION|ALTER FUNCTION|LANGUAGE python|HANDLER|ADDRESS|AS \(' tidb-cloud-lake --glob '*.md' --glob '*.mdx' --glob '*.sql' | head -n 400

Repository: pingcap/docs

Length of output: 36730


🏁 Script executed:

#!/bin/bash
set -eu
printf '%s\n' '--- external function reference ---'
sed -n '1,220p' tidb-cloud-lake/sql/create-function.md
printf '%s\n' '--- alter function references ---'
sed -n '1,180p' tidb-cloud-lake/sql/alter-function.md
sed -n '1,120p' tidb-cloud-lake/sql/alter-function-sql.md
printf '%s\n' '--- guide examples ---'
sed -n '50,170p' tidb-cloud-lake/guides/choose-a-udf-type.md
sed -n '200,300p' tidb-cloud-lake/guides/choose-a-udf-type.md
printf '%s\n' '--- all external UDF grammar examples ---'
rg -n -i -C 5 'CREATE FUNCTION|ALTER FUNCTION' tidb-cloud-lake/sql tidb-cloud-lake/guides --glob '*.md' | rg -i -C 5 'LANGUAGE|HANDLER|ADDRESS|CREATE FUNCTION|ALTER FUNCTION' | head -n 500

Repository: pingcap/docs

Length of output: 42351


🌐 Web query:

TiDB Cloud Lake external UDF CREATE FUNCTION AS input_param_types HANDLER ADDRESS syntax

💡 Result:

In TiDB Cloud Lake, the syntax for creating an external user-defined function (UDF) that connects to an external UDF server uses the ADDRESS parameter [1]. The required syntax is as follows: CREATE FUNCTION function_name (input_param_types) RETURNS return_type LANGUAGE language_name HANDLER = 'handler_name' ADDRESS = 'udf_server_address'; Parameters: - function_name: The name of the function to be created [1]. - input_param_types: A comma-separated list of the input parameter data types (e.g., INT, VARCHAR) [1]. - return_type: The data type the function returns [1]. - LANGUAGE: The runtime language used (e.g., python) [1]. - HANDLER: The name of the specific handler function to call within the external code [1]. - ADDRESS: The network address (URL) of the external UDF server (e.g., 'http://0.0.0.0:8815') [1]. Note that while TiDB Cloud Lake supports various UDF types—including embedded Python/JavaScript functions (defined with AS $$... $$) [2][3] and SQL-based functions [4]—external functions configured with an ADDRESS parameter rely on an external server to execute the logic [1]. Ensure your environment permits connectivity to the specified address [5].

Citations:


🏁 Script executed:

#!/bin/bash
set -eu
for url in \
  'https://docs.pingcap.com/tidbcloudlake/create-function/' \
  'https://docs.pingcap.com/tidbcloudlake/alter-function-sql/'; do
  printf '\n--- %s ---\n' "$url"
  curl -L --fail --silent --show-error "$url" |
    sed 's/<[^>]*>/ /g' |
    tr -s '[:space:]' ' ' |
    grep -o -i -E '.{0,180}(CREATE FUNCTION|ALTER FUNCTION|HANDLER|ADDRESS|AS[[:space:]]*\().{0,260}' |
    head -n 20
done
printf '\n--- repository references to the external grammar ---\n'
rg -n -i -C 8 'external function|external UDF|AS \( *<input_param_types>|CREATE FUNCTION .*ADDRESS|ALTER FUNCTION .*ADDRESS' . --glob '!*.json' --glob '!*.yaml' --glob '!*.yml' | head -n 500

Repository: pingcap/docs

Length of output: 48938


🌐 Web query:

site:github.com/datafuselabs/databend CREATE FUNCTION ADDRESS HANDLER parser external function AS

💡 Result:

The syntax pattern CREATE FUNCTION ... HANDLER ... ADDRESS is specifically used in Databend, a cloud-native data warehouse, to define external User-Defined Functions (UDFs) that run on a remote server [1][2]. In Databend, this command registers a UDF that communicates with an external UDF server (often written in Python) to execute custom logic [1][2]. The syntax is structured as follows [1]: CREATE FUNCTION <udf_name> (<arg_type>,...) RETURNS <return_type> LANGUAGE HANDLER = '<handler_name>' ADDRESS = '<server_address>'; Key components of this syntax: - HANDLER: Specifies the name of the function or method to be called within the external service [1]. - ADDRESS: Defines the network location (URL/IP) of the external UDF server, which typically communicates with the Databend kernel using a protocol like Arrow Flight [1][2]. This functionality allows users to extend Databend's capabilities by offloading complex computations to dedicated external services [2].

Citations:


🏁 Script executed:

#!/bin/bash
set -eu
for endpoint in \
  'https://api.github.com/repos/datafuselabs/databend/pulls/12729' \
  'https://api.github.com/repos/datafuselabs/databend/pulls/12729/files?per_page=100'; do
  printf '\n--- %s ---\n' "$endpoint"
  curl -L --fail --silent --show-error \
    -H 'Accept: application/vnd.github+json' "$endpoint" |
    python3 -c '
import json, sys
data=json.load(sys.stdin)
if isinstance(data, list):
    for item in data:
        print("FILE:", item.get("filename"))
        patch=item.get("patch","")
        for line in patch.splitlines():
            if any(word in line.upper() for word in ("CREATE FUNCTION", "ALTER FUNCTION", "HANDLER", "ADDRESS")):
                print(line)
else:
    for key in ("title","html_url","state","merged_at","merge_commit_sha"):
        print(f"{key}: {data.get(key)}")
'
done

Repository: pingcap/docs

Length of output: 15001


🏁 Script executed:

#!/bin/bash
set -eu
base='https://raw.githubusercontent.com/databendlabs/databend/f06d9b311ec046f6702f42d5a9947f9b6e173b61'
for path in \
  'src/query/ast/src/parser/statement.rs' \
  'src/query/ast/src/ast/statements/udf.rs' \
  'tests/sqllogictests/suites/udf_server/udf_server_test' \
  'tests/udf-server/README.md'; do
  printf '\n--- %s ---\n' "$path"
  curl -L --fail --silent --show-error "$base/$path" |
    grep -n -i -C 5 -E 'CREATE FUNCTION|ALTER FUNCTION|RETURNS TABLE|return_type|udf_server|HANDLER|ADDRESS' |
    head -n 300
done

Repository: pingcap/docs

Length of output: 11994


🏁 Script executed:

#!/bin/bash
set -eu
url='https://raw.githubusercontent.com/databendlabs/databend/f06d9b311ec046f6702f42d5a9947f9b6e173b61/src/query/ast/src/parser/statement.rs'
content="$(curl -L --fail --silent --show-error "$url")"
printf '%s\n' '--- udf_arg_type definition and nearby parser rules ---'
printf '%s\n' "$content" |
  grep -n -i -C 20 -E 'udf_arg_type|udf_server|RETURNS TABLE|table.*return'
printf '%s\n' '--- published references to external table UDFs ---'
rg -n -i -C 5 'external table UDF|RETURNS TABLE.*LANGUAGE python|result_type.*token|table handler' tidb-cloud-lake --glob '*.md'

Repository: pingcap/docs

Length of output: 12478


Use positional types for external UDFs.

External UDFs do not use AS. Change the guide examples to (VARCHAR), not (value VARCHAR). The gcd CREATE FUNCTION and ALTER FUNCTION examples already use the correct form. RETURNS TABLE(...) is not valid external-function grammar; use a supported return type or document split_words as a SQL table UDF.

📍 Affects 2 files
  • tidb-cloud-lake/guides/choose-a-udf-type.md#L261-L266 (this comment)
  • tidb-cloud-lake/guides/choose-a-udf-type.md#L284-L289
  • tidb-cloud-lake/sql/alter-function-sql.md#L35-L38

Source: Path instructions

## How It Works

1. **Create AI Server**: Build your AI/ML server using Python and [databend-udf](https://pypi.org/project/databend-udf)
1. **Create AI Server**: Build your AI/ML server using Python and [`tidbcloudlake-udf`](https://pypi.org/project/tidbcloudlake-udf/)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -e
file="tidb-cloud-lake/guides/external-ai-functions.md"
printf '%s\n' '--- target excerpt ---'
sed -n '1,80p' "$file"
printf '%s\n' '--- dependency references ---'
rg -n -i 'sentence[-_ ]transformers|SentenceTransformer|tidbcloudlake-udf|requirements|pip install|dependencies' tidb-cloud-lake
printf '%s\n' '--- tracked nearby files ---'
git ls-files 'tidb-cloud-lake/*' | sed -n '1,120p'

Repository: pingcap/docs

Length of output: 21761


🏁 Script executed:

#!/bin/bash
set -e
python3 - <<'PY'
import json
import urllib.request

for name in ("tidbcloudlake-udf", "sentence-transformers"):
    url = f"https://pypi.org/pypi/{name}/json"
    with urllib.request.urlopen(url, timeout=10) as response:
        metadata = json.load(response)["info"]
    print(f"{name}: version={metadata['version']}")
    print(f"requires_dist={metadata.get('requires_dist') or []}")
PY

Repository: pingcap/docs

Length of output: 2436


🏁 Script executed:

#!/bin/bash
set -e
for name in tidbcloudlake-udf sentence-transformers; do
  curl --silent --show-error --insecure --fail "https://pypi.org/pypi/${name}/json" |
    python3 -c 'import json,sys; d=json.load(sys.stdin)["info"]; print("name=", d["name"]); print("version=", d["version"]); print("requires_dist=", d.get("requires_dist") or [])'
done

Repository: pingcap/docs

Length of output: 1233


Document the model dependency used by the example.

The example imports SentenceTransformer, but tidbcloudlake-udf does not install sentence-transformers. Add it to the setup instruction to prevent ModuleNotFoundError.

Committable replacement
-1. **Create AI Server**: Build your AI/ML server using Python and [`tidbcloudlake-udf`](https://pypi.org/project/tidbcloudlake-udf/)
+1. **Create AI Server**: Install [`tidbcloudlake-udf`](https://pypi.org/project/tidbcloudlake-udf/) and `sentence-transformers`, then build your AI/ML server using Python.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
1. **Create AI Server**: Build your AI/ML server using Python and [`tidbcloudlake-udf`](https://pypi.org/project/tidbcloudlake-udf/)
1. **Create AI Server**: Install [`tidbcloudlake-udf`](https://pypi.org/project/tidbcloudlake-udf/) and `sentence-transformers`, then build your AI/ML server using Python.

Source: Path instructions

LANGUAGE python
HANDLER = 'gcd'
ADDRESS = 'http://localhost:8815';
ADDRESS = 'https://udf.example.com';

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -e

printf '%s\n' '--- document outline ---'
ast-grep outline tidb-cloud-lake/sql/create-function.md --lang markdown 2>/dev/null || true

printf '%s\n' '--- document size ---'
wc -l tidb-cloud-lake/sql/create-function.md

printf '%s\n' '--- relevant document sections ---'
sed -n '1,150p' tidb-cloud-lake/sql/create-function.md

printf '%s\n' '--- related repository references ---'
rg -n -i --glob '*.md' --glob '*.mdx' \
  'UDFServer|udf\.example\.com|allowlist|allow list|hosted endpoint|CREATE FUNCTION|ADDRESS\s*=' . \
  | head -250

Repository: pingcap/docs

Length of output: 26590


🏁 Script executed:

#!/bin/bash
set -e

printf '%s\n' '--- external AI functions guide ---'
sed -n '1,90p' tidb-cloud-lake/guides/external-ai-functions.md

printf '%s\n' '--- UDF type guide deployment and registration ---'
sed -n '230,310p' tidb-cloud-lake/guides/choose-a-udf-type.md

printf '%s\n' '--- all UDF deployment/allowlist references ---'
rg -n -i -C 3 --glob 'tidb-cloud-lake/**/*.md' \
  'deploying and allowlisting|allowlist.*UDF|UDF.*allowlist|deploy.*server|server.*deploy' \
  | head -200

Repository: pingcap/docs

Length of output: 5326


Add deployment and allowlist prerequisites before registration.

Before CREATE FUNCTION, instruct readers to deploy the UDF Server at a public HTTPS endpoint and add its hostname to the tenant UDF server allowlist. The local UDFServer("0.0.0.0:8815") process cannot serve Cloud queries at https://udf.example.com.

Source: Path instructions

@ti-chi-bot ti-chi-bot Bot added the needs-1-more-lgtm Indicates a PR needs 1 more LGTM. label Aug 18, 2026
@ti-chi-bot

ti-chi-bot Bot commented Aug 18, 2026

Copy link
Copy Markdown

[LGTM Timeline notifier]

Timeline:

  • 2026-08-18 03:43:30.43107176 +0000 UTC m=+3709196.467166816: ☑️ agreed by lilin90.

@lilin90 lilin90 added the lgtm label Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contribution This PR is from a community contributor. for-cloud-release This PR is related to TiDB Cloud release. lake Related to TiDB Cloud Lake docs. lgtm needs-1-more-lgtm Indicates a PR needs 1 more LGTM. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. translation/no-need No need to translate this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants