Skip to content
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

JS API: Failure to handle RowSets with large numbers of ranges #6177

Open
rcaudy opened this issue Oct 7, 2024 · 1 comment
Open

JS API: Failure to handle RowSets with large numbers of ranges #6177

rcaudy opened this issue Oct 7, 2024 · 1 comment
Assignees
Labels
bug Something isn't working core Core development tasks jsapi
Milestone

Comments

@rcaudy
Copy link
Member

rcaudy commented Oct 7, 2024

Test query:

input=emptyTable(1_000_000_000).view("A=ii").where("A % 2 == 0")
@rcaudy rcaudy added bug Something isn't working jsapi core Core development tasks labels Oct 7, 2024
@rcaudy rcaudy added this to the 0.37.0 milestone Oct 7, 2024
@niloc132
Copy link
Member

niloc132 commented Oct 8, 2024

It turns out that, in Chrome at least, JS fixed arrays are limited in size to something like 112,813,857 elements, rather than the advertised spec size of (2^32)-1, or 4,294,967,296. The limit should be higher, but the resizing logic has a bug that prevents it from hitting its actual max of 134,217,726.

https://issues.chromium.org/issues/42210629
nodejs/node#47928 (comment)

Automatically flattening viewports will get us past this issue, since this bug means that we can't track more than 100 million of anything on the client without resorting to wasm or typedarrays for everything.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working core Core development tasks jsapi
Projects
None yet
Development

No branches or pull requests

3 participants