Send feedback on this topic.
Teradata.Client.Provider
Exceptions that are not Re-tryable
.NET Data Provider for Teradata > Developer's Guide > Working with the Data Provider Features > Asynchronous Support Overview > Exceptions that are not Re-tryable

The provider can throw a "session is active" exception when data of an in-lined LOB (TdDataReader.GetChars or TdDataReader.GetBytes) or deferred LOB (TdClob.Read or TdBlob.Read) is being read.  Unfortunately, when this exception is thrown the read operation will not be retry-able.

When the data of an in-lined or deferred LOB is being read, the provider may have to retrieve more data from Teradata. To retrieve additional data, the provider will send a Continue Message to Teradata. An exception will be thrown if the Continue Message is sent when the session is Active processing a command submitted by another asynchronous call. The Continue Message will not wait because the amount of time that it would take to process the command cannot be determined. In addition, once this exception is thrown the read operation will not be retry-able.

In the situation that an in-lined LOB is being retrieved and a "session is active" exception is thrown, the data of the LOB column in the current row will no longer be accessible. However, the data for any succeeding column or row can be accessed.  To retrieve the data contained in the LOB column where the exception was thrown, the query will have to be re-executed. Please refer to the section Working with Large Objects, Inline Mode for more information.

When a "session is active" has been thrown while reading the data of a deferred LOB, any other column of the current row or the columns of any succeeding row can be accessed.  To read the data of the LOB where the error occurred, the get operation (TdDataReader.GetTdClob or TdDataReader.GetTdBlob) must be called again to generate a new TdClob or TdBlob object.