mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-10-13 15:32:36 +00:00
docs: record beta2 secure-fs test portability fix
Signed-off-by: discord9 <discord9@163.com>
This commit is contained in:
@@ -4,10 +4,10 @@
|
||||
|
||||
- Release base: `2f5e97850e55d86c0ed9eff1719994c88b4450a0`
|
||||
- Aggregate branch: `work/release-v1.2-beta2-complete`
|
||||
- Aggregate head: `6f150e01cd4221d4c62c5f7082f6d318b3110e00`
|
||||
- Aggregate commits: 48 (the prior 47-commit aggregate history plus the #8751 dependency-closure carrier)
|
||||
- CI evidence: Historical [GitHub Actions run 32341712112](https://github.com/GreptimeTeam/greptimedb/actions/runs/32341712112), whose actual head SHA was `b5c38fbfc15053f42d4c1d843204bbdd52cb4a00`, failed on the superseded-base aggregate: Clippy, Check Unused Dependencies, and Check (ubuntu-latest) failed; SQLness, Compatibility Test, binary builds, Rustfmt, license, and fuzz passed; `test` was skipped downstream because Clippy and Check Unused Dependencies failed, while `coverage` was skipped independently because this was a `workflow_dispatch` run and coverage runs only for `merge_group`. The later [Release run 32462587383](https://github.com/GreptimeTeam/greptimedb/actions/runs/32462587383) was triggered at the pre-#8751 head `81fd630955f16b9c45811539aa8434b47d5a875b`: its Windows job `96713326607` failed in the composite Windows-artifact step, while the overall run was subsequently cancelled and dependent jobs were cancelled. This Windows result is evidence of that run's job outcome, not a diagnosis of #8751 and not final CI for the refreshed head. No final CI result is claimed for `2f5e97850e55d86c0ed9eff1719994c88b4450a0..6f150e01cd4221d4c62c5f7082f6d318b3110e00`.
|
||||
- `release/v1.2` was fast-forwarded to the aggregate head `6f150e01cd4221d4c62c5f7082f6d318b3110e00`; the range remains linear with zero merge commits.
|
||||
- Aggregate head: `cb52adcbf798d3d2f009874f46dc5d476073bd8c`
|
||||
- Aggregate commits: 49 (the prior 48-commit aggregate history plus the #8752 secure_fs test-portability follow-up)
|
||||
- CI evidence: Historical [GitHub Actions run 32341712112](https://github.com/GreptimeTeam/greptimedb/actions/runs/32341712112), whose actual head SHA was `b5c38fbfc15053f42d4c1d843204bbdd52cb4a00`, failed on the superseded-base aggregate: Clippy, Check Unused Dependencies, and Check (ubuntu-latest) failed; SQLness, Compatibility Test, binary builds, Rustfmt, license, and fuzz passed; `test` was skipped downstream because Clippy and Check Unused Dependencies failed, while `coverage` was skipped independently because this was a `workflow_dispatch` run and coverage runs only for `merge_group`. The later [Release run 32462587383](https://github.com/GreptimeTeam/greptimedb/actions/runs/32462587383) was triggered at the pre-#8751 head `81fd630955f16b9c45811539aa8434b47d5a875b`: its Windows job `96713326607` failed in the composite Windows-artifact step, while the overall run was subsequently cancelled and dependent jobs were cancelled. The refreshed Release run [32466550985](https://github.com/GreptimeTeam/greptimedb/actions/runs/32466550985) Windows job `96725255397` also failed. These Windows results are evidence of job outcomes, not a diagnosis and not final CI success for the refreshed head. Final-head tag-push [Release run 32470573285](https://github.com/GreptimeTeam/greptimedb/actions/runs/32470573285) has started at `cb52adcbf798d3d2f009874f46dc5d476073bd8c`; no final CI result is claimed yet for `2f5e97850e55d86c0ed9eff1719994c88b4450a0..cb52adcbf798d3d2f009874f46dc5d476073bd8c`.
|
||||
- `release/v1.2` was fast-forwarded to the aggregate head `cb52adcbf798d3d2f009874f46dc5d476073bd8c`; the range remains linear with zero merge commits.
|
||||
|
||||
## How to read the artifacts
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
## Scope
|
||||
|
||||
The review scope has 36 public Issue-requested PR relationships: the original 31 plus #8825, #8921, #8895, #8901, and #8902. The current Issue body contains the original 31 requests, while the public comments add #8825, #8921, #8895, and #8901; [comment 5366438434](https://github.com/GreptimeTeam/greptimedb/issues/8892#issuecomment-5366438434), posted by `discord9` at `2026-08-21T07:12:57Z`, publicly requests #8902. Official PR #8921 is now in the release base `2f5e97850e55d86c0ed9eff1719994c88b4450a0`, so it is base-present and is not represented as an aggregate carrier. #8672 and #8699 remain base-present as well. The other public Issue-requested PRs are represented by backport mappings; #8825 remains carried by `d18430b874f9c8054747dbf688585cd7d2988e3e`, and #8902 is carried by the final pre-version carrier `40e02ff6b62ad3445f7035e437bd9e322c8af31b`, followed by the non-PR version identity commit `81fd630955f16b9c45811539aa8434b47d5a875b`. The dependency closure adds exactly three provenance relationships: full #8734, a release-compatible slice of #8392, and #8751 (upstream merge b70daafc77c87806afd00521c368545a60e5f574), for 39 total provenance relationships. The patch-ID verdict contains 14 exact stable patch-ID relationships—#8777, #8832, #8787, #8849, #8859, #8889, #8833, #8600, #8808, #8709, #8522, #8739, #8772, and #8901—and 21 adapted relationships, including the production-only partial #8751 carrier.
|
||||
The review scope has 36 public Issue-requested PR relationships: the original 31 plus #8825, #8921, #8895, #8901, and #8902. The current Issue body contains the original 31 requests, while the public comments add #8825, #8921, #8895, and #8901; [comment 5366438434](https://github.com/GreptimeTeam/greptimedb/issues/8892#issuecomment-5366438434), posted by `discord9` at `2026-08-21T07:12:57Z`, publicly requests #8902. Official PR #8921 is now in the release base `2f5e97850e55d86c0ed9eff1719994c88b4450a0`, so it is base-present and is not represented as an aggregate carrier. #8672 and #8699 remain base-present as well. The other public Issue-requested PRs are represented by backport mappings; #8825 remains carried by `d18430b874f9c8054747dbf688585cd7d2988e3e`, and #8902 is carried by the final pre-version carrier `40e02ff6b62ad3445f7035e437bd9e322c8af31b`, followed by the non-PR version identity commit `81fd630955f16b9c45811539aa8434b47d5a875b`. The dependency closure/follow-up adds exactly four provenance relationships: full #8734, a release-compatible slice of #8392, #8751, and test-only #8752 (upstream merge 4e43c279ff29e9071394f85b90b874906115d29f), for 40 total provenance relationships. The patch-ID verdict contains 14 exact stable patch-ID relationships—#8777, #8832, #8787, #8849, #8859, #8889, #8833, #8600, #8808, #8709, #8522, #8739, #8772, and #8901—and 22 adapted relationships, including the production-only partial #8751 carrier and the test-only #8752 follow-up.
|
||||
|
||||
## Mapping classes
|
||||
|
||||
@@ -38,7 +38,7 @@ The review scope has 36 public Issue-requested PR relationships: the original 31
|
||||
|
||||
## Dependency closure: upstream #8751 required by #8734
|
||||
|
||||
Upstream PR [#8751](https://github.com/GreptimeTeam/greptimedb/pull/8751), merge `b70daafc77c87806afd00521c368545a60e5f574`, is recorded as a dependency-closure relationship required by upstream [#8734](https://github.com/GreptimeTeam/greptimedb/pull/8734). The aggregate carrier is `6f150e01cd4221d4c62c5f7082f6d318b3110e00`, and the release-base parent remains `2f5e97850e55d86c0ed9eff1719994c88b4450a0`.
|
||||
Upstream PR [#8751](https://github.com/GreptimeTeam/greptimedb/pull/8751), merge `b70daafc77c87806afd00521c368545a60e5f574`, is recorded as a dependency-closure relationship required by upstream [#8734](https://github.com/GreptimeTeam/greptimedb/pull/8734). The aggregate carrier is `cb52adcbf798d3d2f009874f46dc5d476073bd8c`, and the release-base parent remains `2f5e97850e55d86c0ed9eff1719994c88b4450a0`.
|
||||
|
||||
The upstream PR has two hunks: a production cleanup in `src/common/meta/src/ddl/drop_table.rs` and a rollback regression-test hunk in `src/common/meta/src/ddl/tests/drop_table.rs`. The regression test was already present through the existing #8734 backport sequence, so the refreshed aggregate carrier contains only the production hunk. This is a production-only partial upstream carrier; its stable patch ID is therefore not equal to the full upstream patch, and `patch-id-verdict.tsv` classifies #8751 as **adapted**, not exact. The raw comparison is [`range-diffs/pr-8751.txt`](range-diffs/pr-8751.txt).
|
||||
|
||||
@@ -54,10 +54,16 @@ These are local before/after verification records; they do not overstate the can
|
||||
|
||||
PR #8824 is accepted by explicit release-owner direction in this backport session. Public artifacts do not identify a named approver or date; Issue comment [5352919911](https://github.com/GreptimeTeam/greptimedb/issues/8892#issuecomment-5352919911) is the public record of the accepted exception, not evidence of independent third-party approval. It changes native-histogram persisted Struct children in place (`UInt32/UInt64` fields to `Int32/Int64`, including `count_u64`/`zero_count_u64` becoming `count_i64`/`zero_count_i64`) without a migration, downgrade, or mixed-version compatibility layer. This is an accepted release risk based on the feature being believed unused, not a compatibility guarantee.
|
||||
|
||||
## Final rebased range, appended #8902, and dependency closure #8751
|
||||
## Final rebased range, appended #8902, dependency closure #8751, and test-only #8752 follow-up
|
||||
|
||||
The final review range is `2f5e97850e55d86c0ed9eff1719994c88b4450a0..6f150e01cd4221d4c62c5f7082f6d318b3110e00`, a linear 48-commit range. The superseded beta2 base `8eeff8b4417e6fb675a66cecbdba40060322785c` and endpoint `b7fdcb89568dc707c323f8c0a3b9413ec4e889ab` are historical provenance only; all active aggregate carrier fields in the TSV indexes are remapped to the rebased commits. Official #8921 is the release-base commit `2f5e97850e55d86c0ed9eff1719994c88b4450a0`, not a duplicate aggregate carrier.
|
||||
The final review range is `2f5e97850e55d86c0ed9eff1719994c88b4450a0..cb52adcbf798d3d2f009874f46dc5d476073bd8c`, a linear 49-commit range. The superseded beta2 base `8eeff8b4417e6fb675a66cecbdba40060322785c` and endpoint `b7fdcb89568dc707c323f8c0a3b9413ec4e889ab` are historical provenance only; all active aggregate carrier fields in the TSV indexes are remapped to the rebased commits. Official #8921 is the release-base commit `2f5e97850e55d86c0ed9eff1719994c88b4450a0`, not a duplicate aggregate carrier.
|
||||
|
||||
The three selected PRs #8672, #8699, and #8921 are base-present; the other selected PRs have aggregate provenance. Thus the machine-readable indexes contain exactly 36 public Issue-requested PR rows plus exactly the three closure rows (#8734, #8392, and #8751): 39 unique provenance relationships.
|
||||
The three selected PRs #8672, #8699, and #8921 are base-present; the other selected PRs have aggregate provenance. Thus the machine-readable indexes contain exactly 36 public Issue-requested PR rows plus exactly the four closure/follow-up rows (#8734, #8392, #8751, and #8752): 40 unique provenance relationships.
|
||||
|
||||
PR #8902 is carried by pre-version commit `40e02ff6b62ad3445f7035e437bd9e322c8af31b`; the final version identity is recorded by non-PR release-extra commit `6f150e01cd4221d4c62c5f7082f6d318b3110e00`; its readable decision is [Dictionary group-by fast path](decisions/dictionary-groupby-fast-path.md), and its raw patch comparison is [#8902](range-diffs/pr-8902.txt).
|
||||
PR #8902 is carried by pre-version commit `40e02ff6b62ad3445f7035e437bd9e322c8af31b`; the final version identity is recorded by non-PR release-extra commit `cb52adcbf798d3d2f009874f46dc5d476073bd8c`; its readable decision is [Dictionary group-by fast path](decisions/dictionary-groupby-fast-path.md), and its raw patch comparison is [#8902](range-diffs/pr-8902.txt).
|
||||
|
||||
## Test-only follow-up: upstream #8752 and secure_fs portability
|
||||
|
||||
Upstream PR [#8752](https://github.com/GreptimeTeam/greptimedb/pull/8752), merge `4e43c279ff29e9071394f85b90b874906115d29f`, is appended as a test-only dependency-closure/follow-up relationship for the #8735/#8708 `secure_fs` behavior chain. The target parent lacked the #8735 context, so this carrier is adapted to the beta2 parent; the resulting test body matches final main. Carrier `cb52adcbf798d3d2f009874f46dc5d476073bd8c` changes only `src/object-store/src/secure_fs.rs`, preserving the portable call/path checks while gating the strong `is_none()` assertion to non-Windows. See [`range-diffs/pr-8752.txt`](range-diffs/pr-8752.txt).
|
||||
|
||||
Oracle review: **APPROVE**. Focused Main verification passed 20/20 without retry, log SHA `fc831f2b2d51c79e8b1fbc6267e8fe8bac90d06c746e1136067e9bcbcbec40df`; fixer focused verification and full object-store verification each passed 20/20 without retry. No native Windows post-fix run has been performed yet, and no final CI success is claimed. Release run [32466550985](https://github.com/GreptimeTeam/greptimedb/actions/runs/32466550985) Windows job `96725255397` failed; this is recorded as a failure only and is not treated as final refreshed-head CI success.
|
||||
|
||||
@@ -46,3 +46,4 @@ fed5c80d7e94bd2c8ab1f7ddac8ab205d993156d d7f1233f775d54380318d6ad9ff62504a7cbcff
|
||||
40e02ff6b62ad3445f7035e437bd9e322c8af31b d99b0df374eec0329ac3f430e40b80a1e6c6963c; 1a91c76c615afec71239b84af7787a0505bef914 (absorbed) 8c3fca20ce058fd569d436c38bc96e41fc1adbca fix(query): restore columnar group-by for dictionary-encoded tags
|
||||
81fd630955f16b9c45811539aa8434b47d5a875b 9469fd7d7cb138515cd72d18861dd00b9dc2b74b chore: bump version to 1.2.0-beta.2
|
||||
6f150e01cd4221d4c62c5f7082f6d318b3110e00 b70daafc77c87806afd00521c368545a60e5f574 1ef6788196f8233a3d2ab7183216271210049f9a fix(meta): release region guards after drop rollback (#8751)
|
||||
cb52adcbf798d3d2f009874f46dc5d476073bd8c 4e43c279ff29e9071394f85b90b874906115d29f b035a8aaf23c7482a38a3129cba1792f29c69276 fix(object-store): make removed-entry lister test portable (#8752)
|
||||
|
||||
|
@@ -46,3 +46,4 @@ fed5c80d7e94bd2c8ab1f7ddac8ab205d993156d feat: add JSON2 storage layout settings
|
||||
40e02ff6b62ad3445f7035e437bd9e322c8af31b fix(query): restore columnar group-by for dictionary-encoded tags
|
||||
81fd630955f16b9c45811539aa8434b47d5a875b chore: bump version to 1.2.0-beta.2
|
||||
6f150e01cd4221d4c62c5f7082f6d318b3110e00 fix(meta): release region guards after drop rollback (#8751)
|
||||
cb52adcbf798d3d2f009874f46dc5d476073bd8c fix(object-store): make removed-entry lister test portable (#8752)
|
||||
|
||||
|
@@ -21750,6 +21750,41 @@ index 020bf0409..d62bf8369 100644
|
||||
+ result.sender.send(Ok(0));
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/object-store/src/secure_fs.rs b/src/object-store/src/secure_fs.rs
|
||||
index cb58f6b2a..d793dee6e 100644
|
||||
--- a/src/object-store/src/secure_fs.rs
|
||||
+++ b/src/object-store/src/secure_fs.rs
|
||||
@@ -622,6 +622,14 @@ mod tests {
|
||||
assert!(operator.list("file/").await.unwrap().is_empty());
|
||||
}
|
||||
|
||||
+ // On Windows, `std::fs::DirEntry` is a snapshot taken by
|
||||
+ // `FindFirstFileW`: `file_type()` and `metadata()` keep returning the
|
||||
+ // cached data even after the file is removed, so `read_list_entry`
|
||||
+ // may return `Some` with the stale entry. On platforms where metadata
|
||||
+ // is fetched from the live filesystem (e.g. Unix `lstat` returns
|
||||
+ // `ENOENT` after removal), `read_list_entry` returns `None` instead.
|
||||
+ // The strong assertion is Unix-specific; the portable part still
|
||||
+ // verifies the call succeeds and yields the expected path.
|
||||
#[test]
|
||||
fn test_lister_skips_entry_removed_during_iteration() {
|
||||
let temp_dir = create_temp_dir("secure_fs_lister_removed_entry");
|
||||
@@ -632,7 +640,14 @@ mod tests {
|
||||
let entry = read_dir.next().unwrap().unwrap();
|
||||
std::fs::remove_file(path).unwrap();
|
||||
|
||||
- assert!(read_list_entry(entry, "").unwrap().is_none());
|
||||
+ let result = read_list_entry(entry, "").unwrap();
|
||||
+
|
||||
+ if let Some(entry) = &result {
|
||||
+ assert_eq!("removed", entry.path());
|
||||
+ }
|
||||
+
|
||||
+ #[cfg(not(windows))]
|
||||
+ assert!(result.is_none());
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
diff --git a/src/operator/Cargo.toml b/src/operator/Cargo.toml
|
||||
index bd34e21ed..087ea461f 100644
|
||||
--- a/src/operator/Cargo.toml
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
**Start here.** This is the canonical, priority-ordered index of behavior that was
|
||||
reconstructed, sliced, folded, or adapted for v1.2.0-beta.2. The aggregate head
|
||||
is [`6f150e01cd4`](https://github.com/GreptimeTeam/greptimedb/commit/6f150e01cd4221d4c62c5f7082f6d318b3110e00);
|
||||
is [`6f150e01cd4`](https://github.com/GreptimeTeam/greptimedb/commit/cb52adcbf798d3d2f009874f46dc5d476073bd8c);
|
||||
links to the shipping commits below are immutable commit links.
|
||||
|
||||
A range-diff is an audit of the *difference between two patches*, not the full
|
||||
@@ -11,9 +11,9 @@ not edited.
|
||||
|
||||
## Canonical CI status
|
||||
|
||||
The recorded historical [GitHub Actions run 32341712112](https://github.com/GreptimeTeam/greptimedb/actions/runs/32341712112), whose actual head SHA was `b5c38fbfc15053f42d4c1d843204bbdd52cb4a00`, failed on the superseded-base aggregate: Clippy, Check Unused Dependencies, and Check (ubuntu-latest) failed; SQLness, Compatibility Test, binary builds, Rustfmt, license, and fuzz passed; `test` was skipped downstream because Clippy and Check Unused Dependencies failed, while `coverage` was skipped independently because this was a `workflow_dispatch` run and coverage runs only for `merge_group`. The later [Release run 32462587383](https://github.com/GreptimeTeam/greptimedb/actions/runs/32462587383) ran at pre-#8751 head `81fd630955f16b9c45811539aa8434b47d5a875b`; Windows job `96713326607` failed in the composite Windows-artifact step, and the overall run was subsequently cancelled with dependent jobs cancelled. This is Windows job evidence, not a root-cause attribution to #8751 and not final CI for the refreshed head.
|
||||
The recorded historical [GitHub Actions run 32341712112](https://github.com/GreptimeTeam/greptimedb/actions/runs/32341712112), whose actual head SHA was `b5c38fbfc15053f42d4c1d843204bbdd52cb4a00`, failed on the superseded-base aggregate: Clippy, Check Unused Dependencies, and Check (ubuntu-latest) failed; SQLness, Compatibility Test, binary builds, Rustfmt, license, and fuzz passed; `test` was skipped downstream because Clippy and Check Unused Dependencies failed, while `coverage` was skipped independently because this was a `workflow_dispatch` run and coverage runs only for `merge_group`. The later [Release run 32462587383](https://github.com/GreptimeTeam/greptimedb/actions/runs/32462587383) ran at pre-#8751 head `81fd630955f16b9c45811539aa8434b47d5a875b`; Windows job `96713326607` failed in the composite Windows-artifact step, and the overall run was subsequently cancelled with dependent jobs cancelled. The refreshed [Release run 32466550985](https://github.com/GreptimeTeam/greptimedb/actions/runs/32466550985) Windows job `96725255397` also failed. These are Windows job outcomes, not root-cause attribution and not final CI success for the refreshed head. Final-head tag-push [Release run 32470573285](https://github.com/GreptimeTeam/greptimedb/actions/runs/32470573285) has started at `cb52adcbf798d3d2f009874f46dc5d476073bd8c`; no final result is claimed yet.
|
||||
|
||||
Recorded local before/after verification is: before #8751, Main 4/4 failed; after #8751, Main 20/20 passed with no retry (log SHA `fa9ae951fa78dce66c7b0aedc81cd172c9fc898445712162c616c99aeb7000d8`), and common-meta 546/546 passed with no retry (log SHA `84b54cdff1767a2c0e0683e59a955472eacabc769871c5d893940f07d932a79a`). No final CI result is claimed for the refreshed range `2f5e97850e55d86c0ed9eff1719994c88b4450a0..6f150e01cd4221d4c62c5f7082f6d318b3110e00`; these are recorded local verification results only.
|
||||
Recorded local before/after verification is: before #8751, Main 4/4 failed; after #8751, Main 20/20 passed with no retry (log SHA `fa9ae951fa78dce66c7b0aedc81cd172c9fc898445712162c616c99aeb7000d8`), and common-meta 546/546 passed with no retry (log SHA `84b54cdff1767a2c0e0683e59a955472eacabc769871c5d893940f07d932a79a`). For #8752, focused Main passed 20/20 without retry (log SHA `fc831f2b2d51c79e8b1fbc6267e8fe8bac90d06c746e1136067e9bcbcbec40df`); fixer focused and full object-store verification each recorded 20/20 without retry. No final CI result is claimed for the refreshed range `2f5e97850e55d86c0ed9eff1719994c88b4450a0..cb52adcbf798d3d2f009874f46dc5d476073bd8c`; these are recorded local verification results only.
|
||||
|
||||
## 1. BLOCKING / compatibility decisions
|
||||
|
||||
@@ -64,8 +64,14 @@ Exact entries with nearby context can be reviewed from [dependency and baseline
|
||||
|
||||
## Final provenance scope
|
||||
|
||||
The final review records 36 public Issue-requested PR relationships: the original 31 plus #8825, #8921, #8895, #8901, and #8902. Three selected PRs—#8672, #8699, and #8921—are base-present. The dependency closure adds exactly three relationships: full #8734, the release-compatible slice of #8392, and #8751 (upstream merge `b70daafc77c87806afd00521c368545a60e5f574`). The indexes therefore contain 39 unique PR provenance relationships total; the non-PR version identity commit is recorded separately in the aggregate provenance ledger. The patch-ID verdict contains 14 exact stable patch-ID relationships and 21 adapted relationships; its exact list includes #8901. The #8895 and #8901 mappings and complete upstream ranges are covered in [JSON2 merge/layout coverage](json2-mergescan.md) and [`manual-deltas.md`](../manual-deltas.md).
|
||||
The final review records 36 public Issue-requested PR relationships: the original 31 plus #8825, #8921, #8895, #8901, and #8902. Three selected PRs—#8672, #8699, and #8921—are base-present. The dependency closure/follow-up adds exactly four relationships: full #8734, the release-compatible slice of #8392, #8751, and test-only #8752 (upstream merge `4e43c279ff29e9071394f85b90b874906115d29f`). The indexes therefore contain 40 unique PR provenance relationships total; the non-PR version identity commit is recorded separately in the aggregate provenance ledger. The patch-ID verdict contains 14 exact stable patch-ID relationships and 22 adapted relationships; its exact list includes #8901. The #8895 and #8901 mappings and complete upstream ranges are covered in [JSON2 merge/layout coverage](json2-mergescan.md) and [`manual-deltas.md`](../manual-deltas.md).
|
||||
|
||||
## Recorded verification context
|
||||
|
||||
See the [canonical CI status](#canonical-ci-status) above. Aggregate history and range-diffs are linked evidence; this index makes no claim of tests beyond those recorded in the existing artifacts.
|
||||
|
||||
## Test-only follow-up: #8752 secure_fs portability
|
||||
|
||||
Upstream [#8752](https://github.com/GreptimeTeam/greptimedb/pull/8752), merge `4e43c279ff29e9071394f85b90b874906115d29f`, is recorded as a test-only dependency-closure/follow-up relationship for the #8735/#8708 secure_fs behavior chain. The target parent lacked #8735 context; the adapted carrier `cb52adcbf798d3d2f009874f46dc5d476073bd8c` retains the final-main test body, with portable call/path checks and the stronger `is_none()` assertion only on non-Windows. It is the 40th relationship. Raw evidence is [`pr-8752.txt`](../range-diffs/pr-8752.txt).
|
||||
|
||||
Oracle: **APPROVE**. Focused Main
|
||||
@@ -8,7 +8,7 @@ Immutable upstream patches: [#8734](https://github.com/GreptimeTeam/greptimedb/c
|
||||
|
||||
## Resulting backport patch — what ships
|
||||
|
||||
Carriers are [#8734](https://github.com/GreptimeTeam/greptimedb/commit/e9ad585975022b206275afb2735ac480869bcd33), [#8834](https://github.com/GreptimeTeam/greptimedb/commit/5d059c84bd2f7ecb724d5a84501196d57f27481a), [#8835](https://github.com/GreptimeTeam/greptimedb/commit/22174d32dadf9ea58073b15c72828db9927969c6), and [#8852](https://github.com/GreptimeTeam/greptimedb/commit/2927fa339ec677fb632a8940bcd0d43eea78881a). The #8825 carrier is [d18430b874f9c8054747dbf688585cd7d2988e3e](https://github.com/GreptimeTeam/greptimedb/commit/d18430b874f9c8054747dbf688585cd7d2988e3e), the final aggregate head is `6f150e01cd4221d4c62c5f7082f6d318b3110e00` (with `40e02ff6b62ad3445f7035e437bd9e322c8af31b` as the pre-version carrier). Rolling extras [legacy fallback](https://github.com/GreptimeTeam/greptimedb/commit/46edabe916a10c2cafe816b8fe01f0d5da8fffc8) and [single conversion](https://github.com/GreptimeTeam/greptimedb/commit/e61a6df6b2b110badd5755f68010b6439d69ac84) complete compatibility. The narrow test adaptations [9bf878f5](https://github.com/GreptimeTeam/greptimedb/commit/9bf878f562518d30a412138ad4244d7d8e7867e6) and [6595b5d7b](https://github.com/GreptimeTeam/greptimedb/commit/6595b5d7bf1f59587bf89676d420db7371cdc459) are retained and not reverted.
|
||||
Carriers are [#8734](https://github.com/GreptimeTeam/greptimedb/commit/e9ad585975022b206275afb2735ac480869bcd33), [#8834](https://github.com/GreptimeTeam/greptimedb/commit/5d059c84bd2f7ecb724d5a84501196d57f27481a), [#8835](https://github.com/GreptimeTeam/greptimedb/commit/22174d32dadf9ea58073b15c72828db9927969c6), and [#8852](https://github.com/GreptimeTeam/greptimedb/commit/2927fa339ec677fb632a8940bcd0d43eea78881a). The #8825 carrier is [d18430b874f9c8054747dbf688585cd7d2988e3e](https://github.com/GreptimeTeam/greptimedb/commit/d18430b874f9c8054747dbf688585cd7d2988e3e), the final aggregate head is `cb52adcbf798d3d2f009874f46dc5d476073bd8c` (with `40e02ff6b62ad3445f7035e437bd9e322c8af31b` as the pre-version carrier). Rolling extras [legacy fallback](https://github.com/GreptimeTeam/greptimedb/commit/46edabe916a10c2cafe816b8fe01f0d5da8fffc8) and [single conversion](https://github.com/GreptimeTeam/greptimedb/commit/e61a6df6b2b110badd5755f68010b6439d69ac84) complete compatibility. The narrow test adaptations [9bf878f5](https://github.com/GreptimeTeam/greptimedb/commit/9bf878f562518d30a412138ad4244d7d8e7867e6) and [6595b5d7b](https://github.com/GreptimeTeam/greptimedb/commit/6595b5d7bf1f59587bf89676d420db7371cdc459) are retained and not reverted.
|
||||
|
||||
## PR #8825 mapping and exact conflict resolution
|
||||
|
||||
|
||||
@@ -47,4 +47,4 @@ The explicit Issue-requested JSON2 layout PRs are also represented in the machin
|
||||
- **#8895**: upstream merge `d7f1233f775d54380318d6ad9ff62504a7cbcff1`, head `6b8645bf584a04b45828c7e8d0fb19418db70d2e`, complete upstream range `0a6a22033e3ebb4d6c7243874d840558a9eb7216^..6b8645bf584a04b45828c7e8d0fb19418db70d2e`, aggregate carrier `fed5c80d7e94bd2c8ab1f7ddac8ab205d993156d`. The carrier folds the two upstream commits, retains JSON2 DDL/layout settings, and omits the upstream-only >=v1.3.0 compatibility case; it is `adapted`.
|
||||
- **#8901**: upstream merge `b96ea86a621e7283e77e4e37dd4e3ec8dfc44f73`, head `b450abd46e473a07cb1b42a9c7c62d0b0d551e17`, complete upstream range `6e637fbe58f36643fea40f38d5ff352fe00254f9^..b450abd46e473a07cb1b42a9c7c62d0b0d551e17`, aggregate carrier `5a642091cd2b6185fbe6a08d6f76d8295955152f`. The carrier folds the three upstream commits and is `exact` by stable patch ID.
|
||||
|
||||
These are part of the 36 public Issue-requested PR relationships: the original 31 plus #8825, #8921, #8895, #8901, and #8902. Together with base-present #8672/#8699/#8921 and the three closure relationships (#8734 full, #8392 release-compatible slice, and #8751), the review contains 39 provenance relationships.
|
||||
These are part of the 36 public Issue-requested PR relationships: the original 31 plus #8825, #8921, #8895, #8901, and #8902. Together with base-present #8672/#8699/#8921 and the four closure/follow-up relationships (#8734 full, #8392 release-compatible slice, #8751, and #8752), the review contains 40 provenance relationships.
|
||||
|
||||
@@ -76,14 +76,14 @@ The canonical reviewer index is [`decisions/README.md`](decisions/README.md). Th
|
||||
### Other Query adaptations
|
||||
- #8659 differs because it is replayed on release protocol/server APIs.
|
||||
- #8898 is the dashboard version update only, adapted to the release file state.
|
||||
- The 14 exact stable patch-ID relationships are #8777, #8832, #8787, #8849, #8859, #8889, #8833, #8600, #8808, #8709, #8522, #8739, #8772, and #8901. The remaining 21 verdicts are adapted, including the production-only partial #8751 carrier.
|
||||
- The 14 exact stable patch-ID relationships are #8777, #8832, #8787, #8849, #8859, #8889, #8833, #8600, #8808, #8709, #8522, #8739, #8772, and #8901. The remaining 22 verdicts are adapted, including the production-only partial #8751 carrier and the test-only #8752 follow-up.
|
||||
|
||||
## Platform / Event
|
||||
|
||||
### #8825 — adapted
|
||||
- Upstream PR head: `bf947141753a9ea554aa1ca31637fdd3ad1429f3`; merge: `60c7bbcaf30a0e65ad7fa2b2b8ad0c1199a662b1`.
|
||||
- Requested by WenyXu in [Issue #8892 comment 5353700059](https://github.com/GreptimeTeam/greptimedb/issues/8892#issuecomment-5353700059).
|
||||
- Aggregate carrier: `d18430b874f9c8054747dbf688585cd7d2988e3e`; final aggregate head: `6f150e01cd4221d4c62c5f7082f6d318b3110e00` (the pre-version carrier remains `40e02ff6b62ad3445f7035e437bd9e322c8af31b`).
|
||||
- Aggregate carrier: `d18430b874f9c8054747dbf688585cd7d2988e3e`; final aggregate head: `cb52adcbf798d3d2f009874f46dc5d476073bd8c` (the pre-version carrier remains `40e02ff6b62ad3445f7035e437bd9e322c8af31b`).
|
||||
- Adds shared `common_base::protocol::Channel`, re-exports it as `session::context::Channel`, and retains stable wire values/names and `Unknown` behavior. Session dialect mapping remains through the `dialect_for_channel` helper; common-meta derives protocol names from shared `Channel`.
|
||||
- Semantic conflict resolution is explicit: shared mapping replaces `common_session::channel_protocol`, but the aggregate preserves the old-frontend fallback for omitted protobuf `event_context` and exactly-once protobuf → `PersistentEventContext` → `ProcedureEventInput` conversion. Actor/event JSON and protobuf schemas are unchanged.
|
||||
- Narrow test adaptations `9bf878f5` and `6595b5d7b` are retained and not reverted.
|
||||
@@ -153,7 +153,7 @@ The canonical reviewer index is [`decisions/README.md`](decisions/README.md). Th
|
||||
|
||||
## Final provenance scope
|
||||
|
||||
The final review records 36 public Issue-requested PR relationships: the original 31 plus #8825, #8921, #8895, #8901, and #8902. Of those, #8672, #8699, and #8921 are base-present. The dependency closure contributes exactly three additional relationships—full #8734, the release-compatible slice of #8392, and #8751—for 39 unique provenance relationships total.
|
||||
The final review records 36 public Issue-requested PR relationships: the original 31 plus #8825, #8921, #8895, #8901, and #8902. Of those, #8672, #8699, and #8921 are base-present. The dependency closure/follow-up contributes exactly four additional relationships—full #8734, the release-compatible slice of #8392, #8751, and test-only #8752—for 40 unique provenance relationships total.
|
||||
|
||||
|
||||
### #8751 — adapted, dependency closure required by #8734
|
||||
@@ -166,3 +166,9 @@ The final review records 36 public Issue-requested PR relationships: the origina
|
||||
### Release and local verification evidence
|
||||
- Release run [32462587383](https://github.com/GreptimeTeam/greptimedb/actions/runs/32462587383) used the pre-#8751 head `81fd630955f16b9c45811539aa8434b47d5a875b`. Windows job `96713326607` failed in the composite Windows-artifact step; the overall run was later cancelled, so this is not final CI for the refreshed head and is not attributed to #8751 without further evidence.
|
||||
- Recorded local before/after results: Main before #8751 4/4 failed; Main after #8751 20/20 passed without retry, log SHA `fa9ae951fa78dce66c7b0aedc81cd172c9fc898445712162c616c99aeb7000d8`; common-meta after #8751 546/546 passed without retry, log SHA `84b54cdff1767a2c0e0683e59a955472eacabc769871c5d893940f07d932a79a`.
|
||||
|
||||
### #8752 — adapted test-only secure_fs follow-up / dependency closure
|
||||
- Upstream merge: `4e43c279ff29e9071394f85b90b874906115d29f`; aggregate carrier: `cb52adcbf798d3d2f009874f46dc5d476073bd8c`.
|
||||
- This is the #8735/#8708 secure_fs behavior follow-up. The target parent lacks #8735 context, so the carrier is adapted to the release parent; the resulting `test_lister_skips_entry_removed_during_iteration` body matches final main and keeps the portable path assertion while gating `is_none()` to non-Windows.
|
||||
- It is test-only and adds the 40th provenance relationship. Raw evidence: [`range-diffs/pr-8752.txt`](range-diffs/pr-8752.txt).
|
||||
- Oracle: APPROVE. Focused Main 20/20 no-retry log SHA `fc831f2b2d51c79e8b1fbc6267e8fe8bac90d06c746e1136067e9bcbcbec40df`; fixer focused and full object-store 20/20 no-retry passes. No native Windows post-fix run yet; no final CI success claimed. Release run `32466550985`, Windows job `96725255397`, failed.
|
||||
|
||||
@@ -33,3 +33,4 @@
|
||||
8895 d7f1233f775d54380318d6ad9ff62504a7cbcff1 fed5c80d7e94bd2c8ab1f7ddac8ab205d993156d adapted e26d83fb1aab2ee25d7e9d74ba1c42a163507c0d ba5de162f5dd269aa0081d8d97492c578fc37d05
|
||||
8901 b96ea86a621e7283e77e4e37dd4e3ec8dfc44f73 5a642091cd2b6185fbe6a08d6f76d8295955152f exact a1011136c44b4f6f2520683739fbd845257c0a0e a1011136c44b4f6f2520683739fbd845257c0a0e
|
||||
8751 b70daafc77c87806afd00521c368545a60e5f574 6f150e01cd4221d4c62c5f7082f6d318b3110e00 adapted 4d065c99ef5f69e5a801dc261eb19a432748d760 1ef6788196f8233a3d2ab7183216271210049f9a
|
||||
8752 4e43c279ff29e9071394f85b90b874906115d29f cb52adcbf798d3d2f009874f46dc5d476073bd8c adapted b035a8aaf23c7482a38a3129cba1792f29c69276 9c6c01e5a43cffd7e8a70bd96722c80703a1bea8
|
||||
|
||||
|
@@ -0,0 +1,39 @@
|
||||
1: 4e43c279f ! 1: cb52adcbf fix(object-store): fix unused import on Windows after #8735 (#8752)
|
||||
@@ Metadata
|
||||
Author: discord9 <discord9@163.com>
|
||||
|
||||
## Commit message ##
|
||||
- fix(object-store): fix unused import on Windows after #8735 (#8752)
|
||||
+ fix(object-store): make removed-entry lister test portable (#8752)
|
||||
|
||||
- fix(object-store): make removed-entry lister test portable
|
||||
-
|
||||
- On Windows, DirEntry is a FindFirstFileW snapshot: file_type() and
|
||||
- metadata() keep returning cached data after the file is removed, so
|
||||
- read_list_entry() may yield the stale entry instead of None. The strong
|
||||
- assertion is Unix-specific; keep the portable checks (call succeeds,
|
||||
- path is correct) on all platforms and gate only the is_none() assertion.
|
||||
-
|
||||
- Signed-off-by: discord9 <55937128+discord9@users.noreply.github.com>
|
||||
+ (cherry picked from commit 4e43c279ff29e9071394f85b90b874906115d29f)
|
||||
+ Signed-off-by: discord9 <discord9@163.com>
|
||||
|
||||
## src/object-store/src/secure_fs.rs ##
|
||||
@@ src/object-store/src/secure_fs.rs: mod tests {
|
||||
- // On Windows, `std::fs::DirEntry` is a snapshot taken by
|
||||
- // `FindFirstFileW`: `file_type()` and `metadata()` keep returning the
|
||||
- // cached data even after the file is removed, so `read_list_entry`
|
||||
-- // cannot observe the deletion and returns `Some` instead of `None`.
|
||||
-- // This test only applies to platforms where metadata is fetched from
|
||||
-- // the live filesystem (e.g. Unix `lstat` returns `ENOENT` after
|
||||
-- // removal, which `read_list_entry` turns into `None`).
|
||||
-- #[cfg(not(windows))]
|
||||
+ assert!(operator.list("file/").await.unwrap().is_empty());
|
||||
+ }
|
||||
+
|
||||
++ // On Windows, `std::fs::DirEntry` is a snapshot taken by
|
||||
++ // `FindFirstFileW`: `file_type()` and `metadata()` keep returning the
|
||||
++ // cached data even after the file is removed, so `read_list_entry`
|
||||
+ // may return `Some` with the stale entry. On platforms where metadata
|
||||
+ // is fetched from the live filesystem (e.g. Unix `lstat` returns
|
||||
+ // `ENOENT` after removal), `read_list_entry` returns `None` instead.
|
||||
@@ -13,7 +13,7 @@
|
||||
- Aggregate carrier: `d18430b874f9c8054747dbf688585cd7d2988e3e`
|
||||
- Aggregate carrier parent: `6595b5d7bf1f59587bf89676d420db7371cdc459`
|
||||
- Aggregate carrier link: [d18430b874f9c8054747dbf688585cd7d2988e3e](https://github.com/GreptimeTeam/greptimedb/commit/d18430b874f9c8054747dbf688585cd7d2988e3e)
|
||||
- Aggregate final head: `6f150e01cd4221d4c62c5f7082f6d318b3110e00` (pre-version carrier: `40e02ff6b62ad3445f7035e437bd9e322c8af31b`)
|
||||
- Aggregate final head: `cb52adcbf798d3d2f009874f46dc5d476073bd8c` (pre-version carrier: `40e02ff6b62ad3445f7035e437bd9e322c8af31b`)
|
||||
- Narrow release test adaptations retained before the carrier: `9bf878f562518d30a412138ad4244d7d8e7867e6`, `6595b5d7bf1f59587bf89676d420db7371cdc459`.
|
||||
|
||||
## Why no range-diff is recorded
|
||||
|
||||
@@ -37,3 +37,4 @@
|
||||
8895 d7f1233f775d54380318d6ad9ff62504a7cbcff1 MERGED https://github.com/GreptimeTeam/greptimedb/pull/8895 refactor(json2): support JSON2 storage layout settings in DDL
|
||||
8901 b96ea86a621e7283e77e4e37dd4e3ec8dfc44f73 MERGED https://github.com/GreptimeTeam/greptimedb/pull/8901 refactor(json2): add JSON2 v2 physical layout primitives
|
||||
8751 b70daafc77c87806afd00521c368545a60e5f574 MERGED https://github.com/GreptimeTeam/greptimedb/pull/8751 fix(meta): release region guards after drop rollback
|
||||
8752 4e43c279ff29e9071394f85b90b874906115d29f MERGED https://github.com/GreptimeTeam/greptimedb/pull/8752 fix(object-store): fix unused import on Windows after #8735 (#8752)
|
||||
|
||||
|
Reference in New Issue
Block a user