NHibernate persistence and TimoutEntity sql server table

I’ve read through the timeout manager post here:

and although it does cover what is happening at the transport level, I can’t seem to find anywhere that explicitly tells me what the data means in TimeoutEntity when using NHibernate persistence.

My assumption is the data in here represents saga timeouts that are in flights, and whatever polling process that runs to instantiate a saga once it’s timeout “fires” is polling this table in order to get that information.


Hi Michael

The TimeoutEntity data stores all the data related to any deferred messages. This could be Saga timeouts, or it could be delayed messages, recoverability messages, etc. Any messages that should be handled at a later time.

Your assumption is correct: this data is used by the TimeoutManager, which provides the mechanism for the NServiceBus satellite to query, trigger, and update the timeouts that are stored by the persistence.

If the transport you are using has support for native delayed delivery, then NServiceBus will disable the TimeoutManager of the persistence.

William, thanks for the information! We’re currently using MSMQ, so looks like we’re relying on the TimeoutManager.