datawave
datawave copied to clipboard
Composite query logic needs to be able to keep a query alive
We have a race condition when the composite query logic is configured to federate between a local and a remote system (at a minimum). The condition is when one side initializes/plans the query quickly, and the other side takes a long time. The result is if the delta is over 15 minutes for example, then the "quick" side will automatically close the query because no requests for that query were made. This results in the query failing because a next call cannot find the query id.
Several solutions here:
- simply increase the idle timeout on the remote system
- add a Query/id/ping endpoint that the composite query logic can call (controlled by a role)
- add the ability to increase the idle timeout on a query using a query parameter (controlled by a role)