all-things-risingwave

Is it worth bringing Deno support for the arrow-udf to access external APIs in JS UDF?

Gio Gutierrez is considering bringing Deno support for the arrow-udf to access external APIs like fetch, crypto, and cache in JS UDF. The current JS UDF lacks support for these standard web APIs, and Gio believes that using Deno could enhance the functionality and security of the UDF. However, there are concerns about the safety and stability of the system with external access. Will the maintainers accept this proposal?

Gi

Gio Gutierrez

Asked on Mar 07, 2024

  • The current JS UDF was designed for pure calculations using QuickJS, which restricts access to the outside world for security reasons.
  • Adding external API support could enhance the functionality of UDFs but may compromise system safety and stability.
  • Using Deno for UDF runtime is an interesting idea as it offers security features like V8 isolates and a permission model.
  • The RisingWave team is open to exploring the idea of using Deno for UDFs and extending language support.
  • Deploying UDFs externally through Apache Arrow allows access to external networks, with current support for Java and Python.
  • Gio's use case of bringing a graphql subscription from a third party into RisingWave using Deno showcases the potential benefits of external API access in UDFs.
Mar 08, 2024Edited by