The GitHub Actions job "Required Checks" on texera.git/backport/6426-reject-invalid-or-duplicate-dataset-rena-v1.2 has failed. Run started by GitHub user Yicong-Huang (triggered by Yicong-Huang).
Head commit for run: bdba9dfca7d572eb66d7d1f6eb9f78ddf7799d8e / Kunwoo (Chris) <[email protected]> fix(file-service): reject invalid or duplicate dataset renames (#6426) ### What changes were proposed in this PR? The dataset rename endpoint previously skipped both checks that dataset creation enforces: name validation and the per owner duplicate name check. A rename could therefore produce two datasets with the same `(owner, name)` pair, which breaks every lookup that resolves a dataset by `(owner email, dataset name)`. File uploads and workflow file reads fail with a `TooManyRowsException` for both datasets. This PR adds the missing guards to the backend rename endpoint, and a `UNIQUE (owner_uid, name)` constraint at the database level so that concurrent writes racing past the application-level check cannot reintroduce duplicates. The migration script `sql/updates/28.sql` deduplicates pre-existing duplicates before adding the constraint (the oldest dataset keeps its name, later ones get a `-<did>` suffix). The frontend rename input now applies the same name validation client-side and shows the detailed reason from the backend when a rename is rejected, instead of the generic "Update dataset name failed". Some additional changes: - `validateDatasetName` now also enforces the 128-character column limit - DEFAULT_DATASET_NAME changed from "Untitled dataset" to "Untitled-dataset", since the fallback name used for empty rename input must itself pass the new validation ### Any related issues, documentation, discussions? Closes #6424 ### How was this PR tested? https://github.com/user-attachments/assets/823bd44d-fef3-4aa0-b2c5-e6d27d359d9b ### Was this PR authored or co-authored using generative AI tooling? (backported from commit d1ac3a3eaf0d49d7eb57565f040844abed6a711b) Generated-by: Claude Code, Claude Fable 5 Report URL: https://github.com/apache/texera/actions/runs/30512265775 With regards, GitHub Actions via GitBox
