Versions Compared

Key

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

...

Authors: Alberto Gomez (alberto.gomez@est.tech)

Status: Draft | Discussion | Active | Dropped | Superseded

Superseded by: N/A

...

The Java API for function execution does not allow to set a timeout to wait for the execution of a function. The Nevertheless, there is a possibility to set a specific timeout by using a system property when starting the client process.

Setting this timeout in the Java API has the effect of setting a read timeout in the socket. If the timeout expires during the execution of a function before data has been received, the connection is closed and if the number of retries is reached, the execute method throws an exception.

Setting the timeout in the native APIs (C++ and C#) has the effect of also setting a read timeout in the socket.

Nevertheless, how this timeout is set is not uniform across the different clients:

...

  • Add two new methods to the Execute class in the Java API including the timeout:
    • execute(String functionId, long timeout, TimeUnit unit)
    • execute(Function function, long timeout, TimeUnit unit);
  • Document the blocking behavior of the current Execution::execute() methods without timeout in the Java API.
  • Implement the Execution::execute() methods with timeout in both the server and the client.

The following JIRA addresses the changes:

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyGEODE-7049