Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Name (Prefix table.exec.async-scalar)

Meaning

buffer-capacity

The number of outstanding requests the operator allows at once

timeout

The total time which can pass before the invocation (including retries) is considered timed out and task execution is failed

output-mode

Depending on whether the planner deems it possible to allow for the more performant unordered option.

retry-strategy

FIXED_DELAY is for a retry after a fixed amount of time

retry-delay

The time to wait between retries for the FIXED_DELAY strategy.  Could be the base delay time for a (not yet proposed) exponential backoff.

max-attempts

The maximum number of attempts while retrying.

...

  • Queries with ordering semantics:
    • e.g. SELECT func(f1) FROM Table ORDER BY f2;
      Here, we expect that the results of the query will be ordered by f2.  We wouldn't want to return results in the completion order from async function func.  
      We can solve it by either utilizing output-mode as outputting in ORDERED, and ensuring that we return the results in the input order, or by putting it into synchronous mode and ensuring ordering by doing one at a time.
  • Others?  Would be great to get feedback on other cases that should be considered.

For the first version of this functionality where the operator outputs only in ordered mode, synchronous mode may not need to be enabled.

Runtime Changes

Code Generation

...