[Glass] Help understanding a RcReadSet commit conflict

Dale Henrichs via Glass glass at lists.gemtalksystems.com
Fri Jun 17 13:50:31 PDT 2016



On 6/17/16 1:40 PM, Mariano Martinez Peck wrote:
>
> On Fri, Jun 17, 2016 at 5:30 PM, Dale Henrichs 
> <dale.henrichs at gemtalksystems.com 
> <mailto:dale.henrichs at gemtalksystems.com>> wrote:
>
>
>
>     On 6/17/16 1:26 PM, Mariano Martinez Peck wrote:
>>
>>
>>     On Fri, Jun 17, 2016 at 5:10 PM, Dale Henrichs
>>     <dale.henrichs at gemtalksystems.com
>>     <mailto:dale.henrichs at gemtalksystems.com>> wrote:
>>
>>
>>
>>         On 6/17/16 12:56 PM, Mariano Martinez Peck wrote:
>>>         Hi Dale,
>>>
>>>         On Fri, Jun 17, 2016 at 4:20 PM, Dale Henrichs
>>>         <dale.henrichs at gemtalksystems.com
>>>         <mailto:dale.henrichs at gemtalksystems.com>> wrote:
>>>
>>>             Okay ... I'm interested in the TransactionError that is
>>>             not a TransactionError ... that is a bit surprising to
>>>             me and I'd be interested in addtional details ... don't
>>>             think that it's related to the current problem, but who
>>>             knows :)
>>>
>>>
>>>         Yes, but I don't know how to give more information. More below.
>>         Well, right now you are resuming a TransactionError and I
>>         would want to see the stack and the description of the actual
>>         error ... it might be related to the current problem ... if
>>         you are "ignoring a meaningful" it may have an impact of
>>         future commits.
>>>
>>     As far as I can understand from my own code hahahhaha there is no
>>     "actual error". *I do not #resume the TransactionError but
>>     instead I do a #pass*. Therefore the next error handler:
>>
>>     on:Error, Haltdo:[ :exc | selfabortToNewTransaction;
>>     handleException:exc. currentCommitConflicts ifNotNil:[
>>     selfcommitConflicts:currentCommitConflicts ].
>>     selfcommitToNewTransaction. exc return ]
>     No you are resuming a TransactionError when the commitResult is
>     success and I am very curious about this TransactionError:
>             [
>                 System commit.
>                 ] on: TransactionError do: [ :ex |
>                     "If we are using RC collections, we may be getting
>     a TransactionError but the commitResult could have been success.
>     So in that case
>                     we ignore the error."
>                     ((System transactionConflicts at: #commitResult) =
>     #success)
>                         ifTrue: [ ex resume ]
>
>
> Ahhh yes, if it was #success I do #resume.
> *However, just for the record note that transaction error that caused 
> the final error has #failure as #commitResult. So we are not talking 
> about the same TransactionError. But maybe... the original 
> TransactionError that we #pass may have somehow raised the next 
> #failure TransactionError ? That's what you have in mind?*
> *
> *
> Thanks!
>
Yes ... I can't be sure but I don't think you should be getting a 
TransactionError for a successful commit ... so that means something 
went wrong and _if_ this particular error was immediately preceeded by a 
"resumed TransactionError" then we might have a lot more information and 
perhaps we can get to the bottom of this ... I also don't think that you 
should get a TransactionError claiming that there were commit conflicts 
when there are no commit conflicts present in the transaction conflicts 
dictionary ...

Dale
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20160617/a75073cc/attachment.html>


More information about the Glass mailing list