-
Notifications
You must be signed in to change notification settings - Fork 80
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
CSV download optimizations for larger files (formerly: "*doesn't work in release candidate") #1678
Comments
@mofojed can you look at this? The example in the description has no columns, so it is the most boring csv file ever, but even adding a column I am seeing a 404 at /ide/download/table-2021-12-09-142136.csv instead of a real download. |
@kosak did you test this with a table with any data? E.g:
Also what browser are you using? |
FF94 failed for this, but ff95 (latest, released 3 days ago) does not for me. It is definitely a bug to not handle a table with no columns correctly, but not a critical one. |
Okay, I reproduced this with Corey on a call, interestingly it does manifest in the same "Download Canceled" way as the no-column case. It can be seen with any large table (note that if it is too large you get a different error from the server), for example:
The download prompt will appear, but the download will fail. The issue is that JS's TableViewportSubscription.snapshot(rows, columns) doesnt actually use the rows and columns it is given, but returns the entire table. This seems to break the client due to a timeout of some kind. With a much larger table, you get a different error, the server refuses to send payloads that big (could be in the grpc server, could be in envoy, I didn't investigate). This will also be fixed by fixing TableViewportSubscription.snapshot. Options to fix:
|
Another consideration is that the UI should indicate up front the total row x col set that will be interesting, and snapshot that rather than the entire table. |
Relates to CSV download being limited in size in web. A "gradual" approach with optimization is appropriate -- API and JS work. |
Release notes https://github.com/deephaven/web-client-ui/releases/tag/v0.56.0 # [0.56.0](deephaven/web-client-ui@v0.55.0...v0.56.0) (2023-12-11) ### Bug Fixes * add right margin to <Button kind='inline'/> using icons ([#1664](deephaven/web-client-ui#1664)) ([fd8a6c6](deephaven/web-client-ui@fd8a6c6)) * adjust filter bar colour ([#1666](deephaven/web-client-ui#1666)) ([4c0200e](deephaven/web-client-ui@4c0200e)) * convert organize columns component to purecomponent ([#1653](deephaven/web-client-ui#1653)) ([8ddc114](deephaven/web-client-ui@8ddc114)), closes [#1650](deephaven/web-client-ui#1650) * Default to `Skip` operation instead of `Sum` operation ([#1648](deephaven/web-client-ui#1648)) ([6083173](deephaven/web-client-ui@6083173)), closes [#1355](deephaven/web-client-ui#1355) [#1355](deephaven/web-client-ui#1355) * Fix button snapshots ([#1655](deephaven/web-client-ui#1655)) ([c0cc966](deephaven/web-client-ui@c0cc966)) * popper blur in styleguide ([#1672](deephaven/web-client-ui#1672)) ([6fa2204](deephaven/web-client-ui@6fa2204)) * Unable to delete selected rows in some input tables ([#1678](deephaven/web-client-ui#1678)) ([1e71550](deephaven/web-client-ui@1e71550)), closes [#1677](deephaven/web-client-ui#1677) ### Features * Add embed-widget ([#1668](deephaven/web-client-ui#1668)) ([1b06675](deephaven/web-client-ui@1b06675)), closes [#1629](deephaven/web-client-ui#1629) * forward and back button for organize column search ([#1641](deephaven/web-client-ui#1641)) ([89f2be5](deephaven/web-client-ui@89f2be5)), closes [#1529](deephaven/web-client-ui#1529) * Tables that have names starting with underscore do not auto-launch from console ([#1656](deephaven/web-client-ui#1656)) ([21131fe](deephaven/web-client-ui@21131fe)), closes [#1549](deephaven/web-client-ui#1549) [#1410](deephaven/web-client-ui#1410) * theme fontawesome icon size wrapped in spectrum icons ([#1658](deephaven/web-client-ui#1658)) ([2aa8cef](deephaven/web-client-ui@2aa8cef)) * Theme Selector ([#1661](deephaven/web-client-ui#1661)) ([5e2be64](deephaven/web-client-ui@5e2be64)), closes [#1660](deephaven/web-client-ui#1660) * Theming - Bootstrap ([#1603](deephaven/web-client-ui#1603)) ([88bcae0](deephaven/web-client-ui@88bcae0)) * Theming - Inline svgs ([#1651](deephaven/web-client-ui#1651)) ([1e40d3e](deephaven/web-client-ui@1e40d3e)) * View cell contents in context menu ([#1657](deephaven/web-client-ui#1657)) ([90b7517](deephaven/web-client-ui@90b7517)), closes [#1605](deephaven/web-client-ui#1605) ### BREAKING CHANGES * Bootstrap color variables are now predominantly hsl based. SCSS will need to be updated accordingly. Theme providers are needed to load themes. * Tables assigned to variable beginning with "_" will not open automatically even if "Auto Launch Panels" is checked. Co-authored-by: deephaven-internal <deephaven-internal@users.noreply.github.com>
I install Deephaven per the instructions (except with VERSION = edge)
In the Python window, I type
In the TableOptions menu, I select "Download CSV", keep the defaults and select "Download".
It pauses for a moment and then says "Download Canceled" (see screenshot).
The text was updated successfully, but these errors were encountered: