Giter VIP home page Giter VIP logo

Comments (6)

DavidSampson avatar DavidSampson commented on June 30, 2024 1

More generally, how does AskQL and AskVM plan to handle cases like this?

If there's a limit to "steps" (beta reductions if this is a lambda calculus evaluator) or something similar, and the code written in the front end is O(n) where n is, say, the number of entries in a table, then a working query may suddenly start failing, and the only change is that a new entry was added to the table. That seems like a lot of hassle for the front end developer -- you have to anticipate your query failing for reasons that are outside of your control.

If it's a time limit, then you have the same issue, except now it's even more non-deterministic, since server load will effect whether a query times out. It seems like that would be a testing nightmare.

from askql.

mhagmajer avatar mhagmajer commented on June 30, 2024 1

Thanks @DavidSampson for posting this! You have definitely spotted a bug and we're going to send a PR that solves it soon.

Speaking of this issue more broadly, every server indeed has different set of limited resources that it can devote to running a query (regardless of the query language). I agree that in case of AskQL this gets tricker, because more operations are possible - including endless loops, stack overflows, heap overflows - just to name a few. We're going to address it by a) adding more different kinds of limits you can set for the VM b) allowing programs to query the information about their current limits at runtime so that they have an option to check the limits and adapt their behaviour.

These limits will include the number of operations, stack size, time allotted, and heap size. They are deterministic, yet their respective behaviour may vary by the server - especially the time limit which is subject to other workload. We'll make sure that if AskVM returns an error, it will include all details possible on what limit has caused it, why, and what are the recommended steps for the developer. If there are other measures to help with development experience, we'll look into these as well.

Please treat this as introductory input in this important discussion, more will follow. Thanks again, @DavidSampson, for your participation and creating this issue!

from askql.

undomalum avatar undomalum commented on June 30, 2024

Thank you, David, for your contribution! We will definitely look into it. We'll keep you posted :)

from askql.

czerwinskilukasz1 avatar czerwinskilukasz1 commented on June 30, 2024

@mhagmajer , what's the update on this ticket?

from askql.

mhagmajer avatar mhagmajer commented on June 30, 2024

Marking this as a release blocker to support running playground safely

from askql.

czerwinskilukasz1 avatar czerwinskilukasz1 commented on June 30, 2024

@DavidSampson , thank you a million for posting this issue.
We created a PR which resolves it and would be thrilled if you could comment on our solution: #220

from askql.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.