I will put together a test case this weekend. I intentionally sent
data that would get a SqlDateTimeOverflow exception
(DateTime.MinValue) and here is what RSB using RQ did...sorry no debug
line numbers but it is all within the RQ Receive function:
"The transaction has aborted."
"   at
System.Transactions.TransactionStatePromotedAborted.PromotedTransactionOutcome
(InternalTransaction tx)\r\n   at
System.Transactions.TransactionStatePromotedEnded.EndCommit
(InternalTransaction tx)\r\n   at
System.Transactions.CommittableTransaction.Commit()\r\n   at
System.Transactions.TransactionScope.InternalDispose()\r\n   at
System.Transactions.TransactionScope.Dispose()\r\n   at
Rhino.ServiceBus.RhinoQueues.RhinoQueuesTransport.ReceiveMessage()\r
\n   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
\r\n   at System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state)\r\n   at
System.Threading.ThreadHelper.ThreadStart()"

INNER EXCEPTION (from NHib)
========================
{"An exception occurred when executing batch queries"}
"   at System.Data.SqlTypes.SqlDateTime.FromTimeSpan(TimeSpan value)\r
\n   at System.Data.SqlTypes.SqlDateTime.FromDateTime(DateTime value)\r
\n   at System.Data.SqlClient.MetaType.FromDateTime(DateTime dateTime,
Byte cb)\r\n   at System.Data.SqlClient.TdsParser.WriteValue(Object
value, MetaType type, Byte scale, Int32 actualLength, Int32
encodingByteSize, Int32 offset, TdsParserStateObject stateObj)\r\n
at System.Data.SqlClient.TdsParser.TdsExecuteRPC(_SqlRPC[] rpcArray,
Int32 timeout, Boolean inSchema, SqlNotificationRequest
notificationRequest, TdsParserStateObject stateObj, Boolean
isCommandProc)\r\n   at
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior
cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean
async)\r\n   at System.Data.SqlClient.SqlCommand.RunExecuteReader
(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean
returnStream, String method, DbAsyncResult result)\r\n   at
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult
result, String methodName, Boolean sendToPipe)\r\n   at
System.Data.SqlClient.SqlCommand.ExecuteNonQuery()\r\n   at
System.Data.SqlClient.SqlCommand.ExecuteBatchRPCCommand()\r\n   at
System.Data.SqlClient.SqlCommandSet.ExecuteNonQuery()\r\n   at
NHibernate.AdoNet.SqlClientSqlCommandSet.ExecuteNonQuery()"




On May 28, 5:03 pm, Ayende Rahien <[email protected]> wrote:
> if you can create a test case, I would be interested in taking a look, I
> can't really figure out what is going on.Even a stack trace wold be great
>
> On Fri, May 29, 2009 at 12:42 AM, Mike Nichols 
> <[email protected]>wrote:
>
>
>
> > The problem I am having seems intermittent..I am going to do some more
> > testing tonight. But it appears to be inside the consumer that is
> > trying to write a bad date to sql server and then the transaction gets
> > aborted. The problem is, the try...catch is _inside_ the transaction
> > block in the receive so when the transaction throws then it doesn't
> > get caught. this would be resolved (  I think) if the try..catch was
> > around the transaction block.
>
> > On May 28, 4:04 pm, Ayende Rahien <[email protected]> wrote:
> > > thanks
>
> > > On Fri, May 29, 2009 at 12:02 AM, Corey Kaylor <[email protected]>
> > wrote:
> > > > It's in.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to