For timeouts on client-to-server query RPCs in certain cases, any partial results that are found by the Content Engine are first returned to the client, along with an internal indicator in the continuation string that indicates that the timeout occurred. When the client then requests the following page, the server immediately throws the exception when it receives the request.
For a nonpaged search, any partial results that are found by the Content Engine are also first returned. The timeout error is not thrown until the client iterates past the last record in the partial result set, and the server receives the request for the next record.
The cases where partial results can be returned include searches that timeout during CBR, searches that process many rows due to security filtering, searches that fetch many rows for a large rowset, and while counting ahead of the first page in a search that requests result counting.
The server behavior of returning partial results before it throws the timeout error does not apply to these cases (the timeout error is thrown immediately):