webassembly_udf_input_split_memory_ratio
Fracción de la memoria lineal de una instancia de WebAssembly UDF que puede ocupar la entrada serializada de una llamada. Debe ser como mínimo 0 y como máximo 1; el valor predeterminado reserva la otra mitad para que el guest mantenga su propio conjunto de trabajo junto al búfer de entrada. El margen por debajo de 1 es lo que hace seguro el batching: los datos del guest, la pila y el allocator comparten esa memoria y son invisibles para el host. Una proporción cercana a 1 no les deja espacio, por lo que una llamada dimensionada según ella puede seguir fallando dentro del allocator del guest. Es de solo lectura paraABI BUFFERED_V1 y dimensiona las llamadas solo mientras webassembly_udf_max_input_block_size sea 0; un tamaño de bloque distinto de cero limita las filas por llamada.
Un batch nunca se reduce por debajo de una sola fila, por lo que una fila cuyo tamaño serializado supera el presupuesto se pasa por sí sola, y una demasiado grande para la memoria lineal del módulo falla dentro del allocator del guest.
Establézcalo en 0 para dejar la entrada sin dividir: todo el bloque del pipeline se pasa en una llamada.
webassembly_udf_max_fuel
Límite de fuel por ejecución de cada instancia de WebAssembly UDF. Cada instrucción de WebAssembly consume cierta cantidad de fuel. El valor se escala en 1024 antes de pasarse al entorno de ejecución, por lo quewebassembly_udf_max_fuel = 1 corresponde a aproximadamente 1024 unidades de fuel. Establézcalo en 0 para no tener ningún límite finito. Se aplica solo a las funciones cuyo ajuste por función webassembly_udf_enable_fuel es true, que es el valor predeterminado.
webassembly_udf_max_input_block_size
Número máximo de filas que se pasan a una WebAssembly UDF en una única llamada. Un valor distinto de cero limita las filas por llamada y se aplica a todas las ABI. Establézcalo en 0 para dimensionar las llamadas según su entrada serializada. Esto se aplica únicamente aABI BUFFERED_V1, la única ABI que serializa un bloque de entrada completo en la memoria del guest: sus bloques se dividen de modo que la entrada de una llamada se mantenga dentro del valor de webassembly_udf_input_split_memory_ratio de la memoria lineal del módulo. ROW_DIRECT pasa sus argumentos como valores de WebAssembly y ASSEMBLYSCRIPT construye un objeto por fila, por lo que ninguna de las dos tiene una entrada serializada con la que dimensionar una llamada, y 0 deja intacto su bloque del pipeline.