Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
34bda76
[FLINK-39785][table] Honor source.sleep-* in TestValues watermark-pus…
fhueske Jul 8, 2026
c6fc527
[FLINK-39785][table] Add input-driven savepoint trigger to restore te…
fhueske Jul 15, 2026
a77d210
[FLINK-39785][table] Add LATERAL SNAPSHOT e2e and restore tests
fhueske Jul 9, 2026
f5aaf91
[FLINK-40158][table-planner] Support LATERAL SNAPSHOT join in batch m…
fhueske Jul 20, 2026
f2370b9
[FLINK-40079][table] Reject PTF calls with sys-args if they are disab…
fhueske Jul 20, 2026
baab138
[FLINK-40182][table] `ArrayToArrayCastRule` and `MapToMapAndMultisetT…
snuyanzin Jul 18, 2026
2de0eaf
[FLINK-40182][table] Optimize code generated by `CharVarCharTrimPadCa…
snuyanzin Jul 18, 2026
d1f08ab
[FLINK-40182][table] Optimize code generated by `RawToStringCastRule`
snuyanzin Jul 18, 2026
39c823a
[FLINK-40182][table] Optimize code generated by `ArrayToStringCastRule`
snuyanzin Jul 19, 2026
a0605af
[FLINK-40181][ci] Make spotless checking changes since last green bui…
snuyanzin Jul 20, 2026
36d42eb
[hotfix][ci] Add checkout step to fix Nightly trigger CI
raminqaf Jul 21, 2026
67a3291
[FLINK-38262][table] Add `CreateConnectionOperation` and converter
Shekharrajak Jul 21, 2026
695ccca
[FLINK-40101][runtime] Emit intermediate watermarks while firing timers
pnowojski Jul 8, 2026
8fd8d92
[FLINK-40131][docs] Document LATERAL SNAPSHOT join (#28737)
fhueske Jul 21, 2026
f16dd6e
[hotfix][ci] Bump checkout action to v7
snuyanzin Jul 21, 2026
db8a7f7
[FLINK-40097][historyserver] Lazily load archives to expose job overv…
chenzihao5 Jul 6, 2026
ae20292
[FLINK-40097][historyserver] Prioritize on-demand fetching for access…
chenzihao5 Jul 7, 2026
d866030
[FLINK-40097][docs] Document archive load modes of HistoryServer
chenzihao5 Jul 7, 2026
c762aa5
[FLINK-40205][table] PTF are failing in case of usage multiple `PARTI…
snuyanzin Jul 22, 2026
9c4a95c
[FLINK-40020][release] Generate reference data for state migration te…
alpinegizmo Jul 22, 2026
3e348d9
[hotfix] Fix compilation with jdk11
raminqaf Jul 22, 2026
1a45ad8
[hotfix][docs] Remove inconsistent parameter descriptions. (#28767)
RocMarshal Jul 22, 2026
aef4bb3
[FLINK-40219][table] Fix outputType computation of LateralSnapshotJoi…
fhueske Jul 22, 2026
ff3aadf
[FLINK-40220][Connector/JDBC] Update the branch name of JDBC connecto…
RocMarshal Jul 23, 2026
43a902a
[FLINK-40166][table] SQL query parsing fails if current catalog unrea…
dalelane Jul 23, 2026
11c6b47
[FLINK-39532][python] Fix race condition in Python AsyncScalarFunctio…
auroflow Apr 28, 2026
96a45c1
[FLINK-40217][core] Reject non-finite numbers in `VARIANT` JSON conve…
raminqaf Jul 22, 2026
c43754c
[FLINK-40217][table] Add `PARSE_JSON` and `TRY_PARSE_JSON` IT cases
raminqaf Jul 23, 2026
4e99512
[FLINK-40228][ci] Bump frontend-maven-plugin to 2.0.1
snuyanzin Jul 24, 2026
f9485ff
[FLINK-39770][tests][JUnit5 migration] Module: flink-state-processing…
spuru9 Jul 24, 2026
1ea8cb0
[FLINK-40167][table] Add EARLY_FIRE join hint surface and option vali…
weiqingy Jul 25, 2026
a856401
[FLINK-40168][table] Thread the EARLY_FIRE hint into the interval join
weiqingy Jul 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
65 changes: 65 additions & 0 deletions .github/actions/last_workflow_run/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
name: "Finds the most recent run of a workflow on a branch"
description: "Queries the GitHub Actions API for the most recent run of a given workflow on a given branch, optionally filtered by status, and exposes its head SHA and conclusion."
inputs:
workflow_id:
description: "Workflow file name, e.g. ci.yml"
required: true
branch:
description: "Branch name to query"
required: true
status:
description: "Optional run status filter, e.g. success. Leave empty to match any status."
required: false
default: ""
outputs:
sha:
description: "Head SHA of the matched run, or empty string if none found"
value: ${{ steps.resolve.outputs.sha }}
conclusion:
description: "Conclusion of the matched run, or empty string if none found"
value: ${{ steps.resolve.outputs.conclusion }}
runs:
using: "composite"
steps:
- name: "Query workflow runs"
id: resolve
uses: actions/github-script@v7
with:
script: |
const workflowId = "${{ inputs.workflow_id }}";
const branch = "${{ inputs.branch }}";
const status = "${{ inputs.status }}";

const params = {
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: workflowId,
branch: branch,
per_page: 1
};
if (status) {
params.status = status;
}

const { data } = await github.rest.actions.listWorkflowRuns(params);
const run = data.workflow_runs[0];

core.setOutput('sha', run?.head_sha ?? '');
core.setOutput('conclusion', run?.conclusion ?? '');
2 changes: 1 addition & 1 deletion .github/workflows/community-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
if: github.repository_owner == 'apache'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v7
- run: |
chmod +x ${{ github.workspace }}/.github/workflows/community-review.sh
- name: Run community review script to set labels
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs-legacy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
if: github.repository == 'apache/flink'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v7
with:
ref: ${{ inputs.branch }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
- release-1.20
- release-1.19
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v7
with:
ref: ${{ matrix.branch }}

Expand Down
26 changes: 15 additions & 11 deletions .github/workflows/nightly-trigger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,19 @@ jobs:
- release-1.20
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
with:
sparse-checkout: |
.github/actions/last_workflow_run

- name: "Resolve last nightly run"
id: last-nightly
uses: "./.github/actions/last_workflow_run"
with:
workflow_id: "nightly.yml"
branch: ${{ matrix.branch }}

- name: Trigger Workflow
uses: actions/github-script@v7
with:
Expand All @@ -55,17 +68,8 @@ jobs:

// Compare SHA from last nightly against current
// if it is same, then no need to run nightly for the same SHA again.
const { data: runsData } = await github.rest.actions.listWorkflowRuns({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: 'nightly.yml',
branch: branch,
per_page: 1
});

const lastRun = runsData.workflow_runs[0];
const lastBuiltSha = lastRun?.head_sha;
const lastConclusion = lastRun?.conclusion;
const lastBuiltSha = '${{ steps.last-nightly.outputs.sha }}' || undefined;
const lastConclusion = '${{ steps.last-nightly.outputs.conclusion }}' || undefined;

// Skip the scheduled run only if there are no new commits AND the
// previous nightly was green. If the last run failed/was cancelled,
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ jobs:
os_name: macos
steps:
- name: "Checkout the repository"
uses: actions/checkout@v5
uses: actions/checkout@v7
with:
fetch-depth: 0
persist-credentials: false
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/template.flink-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ jobs:
stringified-workflow-name: ${{ steps.workflow-prep-step.outputs.stringified_value }}
steps:
- name: "Flink Checkout"
uses: actions/checkout@v5
uses: actions/checkout@v7
with:
persist-credentials: false

Expand Down Expand Up @@ -145,7 +145,7 @@ jobs:

steps:
- name: "Flink Checkout"
uses: actions/checkout@v5
uses: actions/checkout@v7
with:
persist-credentials: false
sparse-checkout: |
Expand Down Expand Up @@ -220,7 +220,7 @@ jobs:

steps:
- name: "Flink Checkout"
uses: actions/checkout@v5
uses: actions/checkout@v7
with:
persist-credentials: false
sparse-checkout: |
Expand Down Expand Up @@ -370,7 +370,7 @@ jobs:

steps:
- name: "Flink Checkout"
uses: actions/checkout@v5
uses: actions/checkout@v7
with:
persist-credentials: false
sparse-checkout: |
Expand Down
31 changes: 24 additions & 7 deletions .github/workflows/template.pre-compile-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:

steps:
- name: "Flink Checkout"
uses: actions/checkout@v5
uses: actions/checkout@v7
with:
persist-credentials: false

Expand All @@ -59,16 +59,33 @@ jobs:
with:
jdk_version: ${{ inputs.jdk_version }}

- name: "Checkstyle"
uses: "./.github/actions/run_mvn"
- name: "Resolve last green commit for spotless ratchet"
id: last-green
uses: "./.github/actions/last_workflow_run"
with:
maven-parameters: "checkstyle:check -T1C"
workflow_id: "ci.yml"
branch: ${{ github.ref_name }}
status: "success"

- name: "Spotless"
if: (success() || failure())
- name: "Fetch last green commit"
if: steps.last-green.outputs.sha != ''
shell: bash
run: |
sha="${{ steps.last-green.outputs.sha }}"
if git -c safe.directory='*' fetch --depth=1 origin "${sha}" \
&& git -c safe.directory='*' cat-file -e "${sha}^{commit}"; then
echo "RATCHET_SHA=${sha}" >> "${GITHUB_ENV}"
echo "Ratcheting spotless from ${sha}"
else
echo "Could not fetch ${sha}; running full spotless check."
fi

- name: "Checkstyle & Spotless"
uses: "./.github/actions/run_mvn"
with:
maven-parameters: "spotless:check -T1C"
maven-parameters: >-
checkstyle:check spotless:check -T1C -fae
${{ env.RATCHET_SHA && format('-Dspotless.ratchetFrom={0}', env.RATCHET_SHA) || '' }}

- name: "License Headers"
if: (success() || failure())
Expand Down
18 changes: 18 additions & 0 deletions docs/content.zh/docs/deployment/advanced/historyserver.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,24 @@ HistoryServer 支持通过 `historyserver.archive.storage.type` 选择本地存
historyserver.archive.storage.type: ROCKSDB
```

**加载模式**

HistoryServer 支持两种加载模式,通过 `historyserver.archive.load.mode` 配置:

* `EAGER`(默认):通过周期性的后台刷新,自动、同步地将存档下载到本地存储。
* `LAZY`:存档会立即展示在 Web 界面上,底层数据则在后台异步拉取。如果某个存档在其后台下载完成之前被访问,系统会优先按需拉取该存档。

启用懒加载模式示例:

```yaml
historyserver.archive.load.mode: LAZY
```

在 `LAZY` 模式下,按需拉取使用两个线程池:

* `historyserver.lazy.fetch.executor.common.pool-size` —— 用于常规后台存档拉取的共享线程池的大小。
* `historyserver.lazy.fetch.executor.individual.pool-size` —— 专用于按需拉取单个存档(例如用户访问某个存档时)的高优先级线程池的大小。

## 日志集成

Flink 本身并不提供已完成作业的日志收集功能。
Expand Down
18 changes: 18 additions & 0 deletions docs/content.zh/docs/sql/functions/built-in-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,24 @@ JSON 函数使用符合 ISO/IEC TR 19075-6 SQL标准的 JSON 路径表达式。

{{< sql_functions_zh "bitmapagg" >}}

Table Functions
---------------

Table functions take zero, one, or more values as input and return multiple rows (a table) as the result. Most built-in table functions take a table as an input argument.
Table functions can be used in two ways: as stand-alone inputs, where they are invoked just once, or in a `LATERAL` context, where they are invoked for each row of an outer table.

| Function | Description |
|--------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `TUMBLE(data => TABLE t, ...)` | Assigns each row of the `data` table to a tumbling window specified by additional window columns (`window_start`, `window_end`, `window_time`). See [Window TVF]({{< ref "docs/sql/reference/queries/window-tvf" >}}#tumble) for the full list of arguments, semantics, and usage. |
| `HOP(data => TABLE t, ...)` | Assigns each row of the `data` table to a hopping window specified by additional window columns (`window_start`, `window_end`, `window_time`). See [Window TVF]({{< ref "docs/sql/reference/queries/window-tvf" >}}#hop) for the full list of arguments, semantics, and usage. |
| `CUMULATE(data => TABLE t, ...)` | Assigns each row of the `data` table to a cumulating window specified by additional window columns (`window_start`, `window_end`, `window_time`). See [Window TVF]({{< ref "docs/sql/reference/queries/window-tvf" >}}#cumulate) for the full list of arguments, semantics, and usage. |
| `SESSION(data => TABLE t, ...)` | Assigns each row of the `data` table to a session window specified by additional window columns (`window_start`, `window_end`, `window_time`). See [Window TVF]({{< ref "docs/sql/reference/queries/window-tvf" >}}#session) for the full list of arguments, semantics, and usage. |
| `FROM_CHANGELOG(input => TABLE t [, ...])` | Converts an append-only table with an explicit operation column into a dynamic table. See Changelog Conversion for the full list of arguments, semantics, and usage. |
| `TO_CHANGELOG(input => TABLE t [, ...])` | Converts a dynamic table into an append-only table with an explicit operation column. See Changelog Conversion for the full list of arguments, semantics, and usage. |
| `SNAPSHOT(input => TABLE t [, ...])` | Returns the current state of a dynamic table `t`. `SNAPSHOT` can only be used in a `LATERAL` context and not as a stand-alone table function. See [LATERAL SNAPSHOT join]({{< ref "docs/sql/reference/queries/joins" >}}#lateral-snapshot-join) for the full list of arguments, the join semantics, and usage. |

To implement your own table functions, see [user-defined table functions]({{< ref "docs/dev/table/functions/udfs" >}}#table-functions).

时间间隔单位和时间点单位标识符
---------------------------------------

Expand Down
Loading
Loading