Timeout does not stop blocked query execution
In run_queries the timeout logic cancels the Future but the surrounding ThreadPoolExecutor context manager still calls shutdown(wait=True) when leaving the with block. Because Python threads cannot be forcefully terminated, a hung execute_query keeps running and the context exit waits for it to finish, so the CLI remains blocked for the full query duration (or indefinitely) even though a TIMEOUT status is recorded. This defeats the --timeout option when a SPARQL request stalls or the server is unavailable. Consider shutting down the executor with wait=False, reusing a long-lived executor, or moving the execution to a separate process that can be terminated.
Useful? React with 👍 / 👎.
Originally posted by @chatgpt-codex-connector[bot] in #129 (comment)
In
run_queriesthe timeout logic cancels theFuturebut the surroundingThreadPoolExecutorcontext manager still callsshutdown(wait=True)when leaving thewithblock. Because Python threads cannot be forcefully terminated, a hungexecute_querykeeps running and the context exit waits for it to finish, so the CLI remains blocked for the full query duration (or indefinitely) even though a TIMEOUT status is recorded. This defeats the--timeoutoption when a SPARQL request stalls or the server is unavailable. Consider shutting down the executor withwait=False, reusing a long-lived executor, or moving the execution to a separate process that can be terminated.Useful? React with 👍 / 👎.
Originally posted by @chatgpt-codex-connector[bot] in #129 (comment)