Whenever possible, the Virtual DataPort query execution engine operates concurrently on data sources. This concurrency is implemented through a multithreading subsystem called Threads pool that can be configured from the Virtual DataPort administration tool. One configuration property that can be configured for the Thread pool is the timeout. The timeout indicates the maximum time allowed by the pool system for the execution of one of the threads. The default value is 43200000 milliseconds (i.e. 12 hours).
If there is a problem with a query not returning results and timing out instead, the issue can come from the configured thread timeout. Specifically if the thread timeout configuration is smaller than the configured query timeout.
To identify whether the problem is caused by a thread timeout, the query timing out can be executed from the VQL shell of the VDP administration tool. From there, the clause “TRACE” must append to the query (e.g. SELECT * FROM myview TRACE). After the query is finished, look at the execution trace. If the THREAD_TIMEOUT message is in the trace, then the error is caused by a thread timeout. The trace will also indicate where the timeout occurs (i.e. project or join or union, etc.)
To solve the issue, modify the thread timeout by opening Denodo Virtual DataPort Administration Tool and navigating to the menu Administration > Server configuration > Threads pool. After increasing the Thread Timeout value the Virtual DataPort server will have to be restarted.
Virtual DataPort Administration Guide: Threads Pool