tanishqgandhi1908 opened a new pull request, #7764: URL: https://github.com/apache/texera/pull/7764
### What changes were proposed in this PR? Refactoring groundwork so model upload can reuse the dataset upload machinery. No new features, no new endpoints, and no change to dataset behavior. The multipart upload machinery in `DatasetResource` — session init, part upload, finish, abort, list, the one-shot upload and staged-file delete — is resource-agnostic apart from the columns it names. Model upload (#6498) needs the same machinery, so it moves behind a descriptor instead of being copied. `ResourceStorage` names a resource's LakeFS repository column plus its `*_upload_session` and `*_upload_session_part` tables, and `ResourceUploadService` holds the single implementation. `DatasetResource` keeps its endpoints and DTOs and delegates the logic through `ResourceStorage.Datasets`. The engine is the dataset implementation moved verbatim with its column references parameterized, and transactions keep their existing boundaries. The locking protocol (`FOR UPDATE NOWAIT`, SQLState 55P03 → 409), the part-size arithmetic and its overflow guards, ETag idempotency and the resume/restart rules are now defined once instead of being duplicated per resource. Third of several small PRs peeled off the model-upload branch; model upload itself follows separately. ### Any related issues, documentation, discussions? Part of #6494, groundwork for #6498. Stacked on #7760 (shared access and naming rules) and on the shared upload helpers PR, since the engine uses `ManagedResource` and `ResourceAccess`. The diff shows their commits until they merge. ### How was this PR tested? `sbt "FileService/test"` — 236 tests, 10 suites, 0 failures. This PR adds no tests: the existing dataset suites are the point, since they are what demonstrates the move changed nothing. scalafmt and scalafix clean. ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code (Claude Opus 5) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
