in src/Apache.IoTDB/SessionPool.cs [1839:1889]
public async Task<SessionDataSet> ExecuteRawDataQuery(List<string> paths, long startTime, long endTime)
{
TSExecuteStatementResp resp;
TSStatus status;
var client = _clients.Take();
var req = new TSRawDataQueryReq(client.SessionId, paths, startTime, endTime, client.StatementId)
{
FetchSize = _fetchSize,
EnableRedirectQuery = false
};
try
{
resp = await client.ServiceClient.executeRawDataQueryAsync(req);
status = resp.Status;
}
catch (TException e)
{
_clients.Add(client);
await Open(_enableRpcCompression);
client = _clients.Take();
req.SessionId = client.SessionId;
req.StatementId = client.StatementId;
try
{
resp = await client.ServiceClient.executeRawDataQueryAsync(req);
status = resp.Status;
}
catch (TException ex)
{
_clients.Add(client);
throw new TException("Error occurs when executing raw data query", ex);
}
}
if (_utilFunctions.VerifySuccess(status, SuccessCode, RedirectRecommendCode) == -1)
{
_clients.Add(client);
throw new TException("execute raw data query failed", null);
}
_clients.Add(client);
var sessionDataset = new SessionDataSet("", resp, _clients, client.StatementId)
{
FetchSize = _fetchSize,
};
return sessionDataset;
}