-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move export to HTTP #3221
Move export to HTTP #3221
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left some comments.
I have one question: how about the downloading to the local? Is the download done in the frontend by concatenating pages?
core/amber/src/main/scala/edu/uci/ics/texera/web/resource/ResultExportResource.scala
Outdated
Show resolved
Hide resolved
core/amber/src/main/scala/edu/uci/ics/texera/web/resource/ResultExportResource.scala
Outdated
Show resolved
Hide resolved
core/amber/src/main/scala/edu/uci/ics/texera/web/resource/ResultExportResource.scala
Outdated
Show resolved
Hide resolved
Download to local is currently disabled (although its logic is still on frontend), however, professor asked me to make small contributions at a time. So in this PR, I just moved export to HTTP. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left some comments.
Make sure you keep the PR description updated.
core/amber/src/main/scala/edu/uci/ics/texera/web/resource/ResultResource.scala
Show resolved
Hide resolved
...mber/src/main/scala/edu/uci/ics/texera/web/model/websocket/request/ResultExportRequest.scala
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Left a minor
This PR is part of the effort to move download functionality from front end to backend.
New endpoint: /export/result
Previously,
ResultExportService
was called fromWorkflowWebsocketResource
, with this PR, it is now called from a new endpoint defined inResultExportResource
. To unify export to dataset and export to local (download), we need to have an endpoint to remove front end from the process. Currently front end fetch all the result and then send them to the user but the goal is to use this new endpoint to stream result directly from backend to user.Current behavior
The new endpoint only provides export to dataset currently. In code, it supports multiple formats but in front end, we only allow two formats: CSV and Arrow (for binary files). This limitation is based on the previous implementation and might be revised.
Future work
There are four main TODOs left in this PR:
rowIndex
andcolumnIndex
in frontend because already available in backend2025-01-18.10-34-04.mp4