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]

Reply via email to