[Glass] jQuery session update

dario.trussardi@tiscali.it via Glass glass at lists.gemtalksystems.com
Tue Jun 20 12:50:45 PDT 2017


Ciao,

     i analyzed the object log.

     I note the error:

         The   warn        Commit failure - 
retrying                              13037  06/20/2017 17:03:41:028

     in the most cases follow this behavior:

         transcript  '1  Time: 21:01:34 CashBinSelection: 
brioches3'        13037  06/20/2017 21:01:34:428
         transcript  '2 Time: 21:01:34 BR VoceAttiva 
brioches3'             12991  06/20/2017 21:01:34:537
         warn        Commit failure - 
retrying                              13037  06/20/2017 21:01:34:584

     The warn Commit failure is generated by the gem ( 13037 ) which 
manage the first ajax ( the callback )

      but after the 2 ajax ( gem 12991)  which update the browser and 
create some other callback.

       As if the  commit of the  first gem 13037 is do too late.

        All test are do with only one web session open.

        Every consideration are welcome.

         Thanks,

             Dario

> Ciao,
>
>     i do some test about this problematic.pdate
>
>     As Esteban suggested i redefined the  anchor code with:
>
>      html anchor
>         onClick:
>             (html jQuery ajax
>                 callback: [
>                       each isDisabledSale
>                         ifFalse: [ self setupVoceAttiva: each ] ];
>                 onSuccess:
>                     (html jQuery ajax
>                         script: [ :s |
>                           s << (s jQuery: #'idVoceAttiva') load
>                             html: [ :h | self masterView 
> renderVoceAttivaOn: h ].
>                           s << (s jQuery: #'idCassaRiepilogo') load
>                             html: [ :h | self masterView 
> renderCashCartPlusDettailOn: h ].
>                           s
>                             <<
>                               ((html jQuery: #'dockcontainerR') find: 
> 'a.active')
>                             removeClass: 'active'.
>                           s
>                             <<
>                               (s jQuery this
>                                 addClass:
>                                   (each isDisabledSale
>                                     ifFalse: [ 'active' ]
>                                     ifTrue: [ 'disabled' ])) ]));
>
>     This code works fine and the browser is right update at any click 
> on the anchors.
>
>     But the object log sometime in a causal way, ( i don't understand 
> when and because )
>
>      report the errors:
>
>         warn        Commit failure - 
> retrying                              13037  06/20/2017 17:03:41:028
>         ...........................
>         ............................
>         warn        Commit failure - 
> retrying                              13037  06/20/2017 17:05:13:010
>         ...................................
>         .......................................
>         warn        Commit failure - 
> retrying                              12943  06/20/2017 17:32:43:166
>         ....................................
>         warn        Commit failure - 
> retrying                              12991  06/20/2017 17:32:44:849
>         ...................
>         .....................
>         warn        Commit failure - 
> retrying                              12943  06/20/2017 17:40:30:160
>
>     It's a normal behavior or are wrongs status - exceptions?
>
>     Thanks,
>
>         Dario
>>
>> Ciao,
>>
>> I port some seaside 3.1 application from Pharo to gemstone seaside 
>> 3.2.12 environment.
>>
>> I have the code:
>>
>>  html anchor
>>         onClick:
>>             (html jQuery ajax
>>                 callback: [
>>                   each isDisabledSale
>>                     ifFalse: [ self setupVoceAttiva: each ] ]);
>>         onClick:
>>             (html jQuery ajax
>>                 script: [ :s |
>>                   s << (s jQuery: #'idVoceAttiva') load
>>                     html: [ :h | self masterView renderVoceAttivaOn: 
>> h ] ]);
>>         onClick:
>>             (html jQuery this
>>                 addClass:
>>                   (each isDisabledSale
>>                     ifFalse: [ 'active' ]
>>                     ifTrue: [ 'disabled' ]));
>>
>>         with: [ self render6Item: each on: html ].
>>
>> All works fine into pharo.
>>
>> In gemstone  where i run 3 seasideFastCGI gem,
>>
>> when i click on the anchor sometime the object log report the error:
>>
>> warn        Commit failure - retrying
>>
>> Any click on the anchor  report two line:     the callback action  
>> and the browser update.
>>
>> The relative  object log is:
>>
>> 0)transcript  '1  Time: 20:27:43 CashBinSelection: redbull1'         
>> 13037  06/19/2017 20:27:43:112
>> 1)transcript  '2 Time: 20:27:43 BR VoceAttiva redbull1'              
>> 13037  06/19/2017 20:27:43:228
>>
>> 2)transcript  '1  Time: 20:27:43 CashBinSelection: redbull2'         
>> 12943  06/19/2017 20:27:43:985
>> 3)transcript  '2 Time: 20:27:44 BR VoceAttiva redbull2'              
>> 12943  06/19/2017 20:27:44:087
>>
>> 4) transcript  '1  Time: 20:27:45 CashBinSelection: latte+menta'      
>> 12991  06/19/2017 20:27:45:173
>> 5) warn        Commit failure - retrying                              
>> 13037  06/19/2017 20:27:45:179
>> 6)transcript  '2 Time: 20:27:45 BR VoceAttiva latte+menta'           
>> 12991  06/19/2017 20:27:45:339
>>
>> 7)transcript  '1  Time: 20:27:46 CashBinSelection: bevande3'         
>> 13037  06/19/2017 20:27:46:109
>> 8)transcript  '2 Time: 20:27:46 BR VoceAttiva bevande3'              
>> 13037  06/19/2017 20:27:46:213
>>
>> 9)transcript  '1  Time: 20:27:47 CashBinSelection: bevande1'         
>> 12943  06/19/2017 20:27:47:307
>> 10)transcript  '2 Time: 20:27:47 BR VoceAttiva bevande1'              
>> 12943  06/19/2017 20:27:47:427
>>
>> 11)transcript  '1  Time: 20:27:48 CashBinSelection: bevande2'         
>> 12991  06/19/2017 20:27:48:231
>> 12)transcript  '2 Time: 20:27:48 BR VoceAttiva bevande2'              
>> 12991  06/19/2017 20:27:48:340
>>
>> 13)transcript  '1  Time: 20:27:49 CashBinSelection: spremuta'         
>> 13037  06/19/2017 20:27:49:087
>> 14transcript  '2 Time: 20:27:49 BR VoceAttiva spremuta'              
>> 13037  06/19/2017 20:27:49:199
>>
>> 15)transcript  '1  Time: 20:27:51 CashBinSelection: succo1'           
>> 12943  06/19/2017 20:27:51:093
>> 16)transcript  '2 Time: 20:27:51 BR VoceAttiva succo1'                
>> 12943  06/19/2017 20:27:51:209
>>
>> 17)transcript  '2 Time: 20:27:52 BR VoceAttiva succo1'                
>> 13037  06/19/2017 20:27:52:342
>>
>> 18)transcript  '1  Time: 20:27:52 CashBinSelection: estathebicchi...  
>> 12991  06/19/2017 20:27:52:389
>>
>>     At line 5 i found the commit failure error in the 13037 gem
>>
>>     and at line 17 i have a relative ( asyncron ??) 13037 action.
>>
>>     But the next 18 line is a single line and the browser is not 
>> right update.
>>
>>     The ol commit failure is:
>>
>>         .             -> 3 Commit failure -
>>         retrying(13037)->aSymbolDictionary
>>         (class)@      -> WAObjectLogEntry
>>         (oop)@        -> 345077249
>>         (committed)@  -> true
>>         continuation@ -> nil
>>         label@        -> 'Commit failure - retrying'
>>         object@       -> aSymbolDictionary( #'RcReadSet'->anArray(
>>         aRcCollisionBucket( aWARcLastAccessEntry),
>>         aRcCollisionBucket( aWACallbackProcessingActionContinua...
>>         pid@          -> 13037
>>         priority@     -> 3
>>         request@      ->
>>         '/management?_s=0KodAEH078F0HqKr&_k=6PcQFw8uQOm_plZk&2773&_=1497895158422'
>>         resumed@      -> nil
>>         resumption@   -> nil
>>         stamp@        -> 2017-06-19T20:27:45.1792719364166+02:00
>>         tag@          -> nil
>>
>> the relative       -> #'WriteWrite_minusRcReadSet'
>>
>> is: .
>>
>>         -> anArray( aWAValueHolder contents:
>>         aWADTRCashBaseCartPlusView, aWAValueHolder contents:
>>         aWADTRCashBaseCassaComponent, aWATimingToolFilter, aW...
>>         ..           -> #'WriteWrite_minusRcReadSet'->anArray(
>>         aWAValueHolder contents: aWADTRCashBaseCartPlusView,
>>         aWAValueHolder contents: aWADTRCashBaseCassaComp...
>>         (class)@     -> Array
>>         (oop)@       -> 345074177
>>         (committed)@ -> true
>>         (size)@      -> 11
>>         1@           -> aWAValueHolder contents:
>>         aWADTRCashBaseCartPlusView
>>         2@           -> aWAValueHolder contents:
>>         aWADTRCashBaseCassaComponent
>>         3@           -> aWATimingToolFilter
>>         4@           -> aWAValueHolder contents: aWAToolDecoration
>>         5@           -> aWAValueHolder contents: aDTRLoginWebGstOrdOnLine
>>         6@           -> aWAValueHolder contents: false
>>         7@           -> aWAValueHolder contents: aWATimingToolFilter
>>         8@           -> aWAValueHolder contents: aDTRWASession
>>         9@           -> aWAValueHolder contents: aWADeprecatedToolFilter
>>         10@          -> aWACallbackProcessingActionContinuation
>>         11@          -> aWAValueHolder contents:
>>         aWADTRCashBinSelectionWidgetView
>>
>>     It's right to have two WAComponent subclass  aWA*View in this list?
>>
>>     Thanks for considerations,
>>
>>     Dario
>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20170620/1d578f8e/attachment-0001.html>


More information about the Glass mailing list