write-write conflict

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
19 messages Options
Reply | Threaded
Open this post in threaded view
|

write-write conflict

SeanTAllen
Hi Dale,

Neither Hernan or I right now knows how to intepret this.
Basically, I executed some code to issue a refund via Chase Paymentech
which is run over Soap.
The refund went through and I went in gemtools to commit and got a
write-write conflict with the following info in the Write-Write:

anArray( SpSocket, SoapHttpClient, #'CrLf'->'')

Any ideas on that?
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

SeanTAllen
btw, Dale...

I'm pretty sure this is the source of those occassional errors we have
been seeing in our logs files
and as traffic is ramping up, will probably be getting more of.

On Fri, Apr 23, 2010 at 9:52 AM, Sean Allen <[hidden email]> wrote:

> Hi Dale,
>
> Neither Hernan or I right now knows how to intepret this.
> Basically, I executed some code to issue a refund via Chase Paymentech
> which is run over Soap.
> The refund went through and I went in gemtools to commit and got a
> write-write conflict with the following info in the Write-Write:
>
> anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
>
> Any ideas on that?
>
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

Dale
In reply to this post by SeanTAllen
Sean,

I'm under the weather today ... nasty little cold ... SOAP and commit conflicts would be something that is likely to be problem, since I haven't really tested it under concurrent loads ... the quick fix would be to find any state that is kept in class vars and store in the SessionTemps dictionary (there are a number of examples if you look for references) ... There should be no need to keep anything in a Gobal, other than for convenience...

Dale
----- "Sean Allen" <[hidden email]> wrote:

| Hi Dale,
|
| Neither Hernan or I right now knows how to intepret this.
| Basically, I executed some code to issue a refund via Chase
| Paymentech
| which is run over Soap.
| The refund went through and I went in gemtools to commit and got a
| write-write conflict with the following info in the Write-Write:
|
| anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
|
| Any ideas on that?
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

SeanTAllen
From that error,

should we be doing the same with the 6 SpSocket class vars as well?

On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
<[hidden email]> wrote:

> Sean,
>
> I'm under the weather today ... nasty little cold ... SOAP and commit conflicts would be something that is likely to be problem, since I haven't really tested it under concurrent loads ... the quick fix would be to find any state that is kept in class vars and store in the SessionTemps dictionary (there are a number of examples if you look for references) ... There should be no need to keep anything in a Gobal, other than for convenience...
>
> Dale
> ----- "Sean Allen" <[hidden email]> wrote:
>
> | Hi Dale,
> |
> | Neither Hernan or I right now knows how to intepret this.
> | Basically, I executed some code to issue a refund via Chase
> | Paymentech
> | which is run over Soap.
> | The refund went through and I went in gemtools to commit and got a
> | write-write conflict with the following info in the Write-Write:
> |
> | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
> |
> | Any ideas on that?
>
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

Dale
I'm more suspicious of SOAP since SPSocket is/has been used in Hyper and we've not seen write-write conflicts coming from that direction (not completely ruled out) ... You are looking for class vars class instance vars ... the SPSocket instance might be shared between vms, but it shouldn't be ....

Dale
----- "Sean Allen" <[hidden email]> wrote:

| From that error,
|
| should we be doing the same with the 6 SpSocket class vars as well?
|
| On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
| <[hidden email]> wrote:
| > Sean,
| >
| > I'm under the weather today ... nasty little cold ... SOAP and
| commit conflicts would be something that is likely to be problem,
| since I haven't really tested it under concurrent loads ... the quick
| fix would be to find any state that is kept in class vars and store in
| the SessionTemps dictionary (there are a number of examples if you
| look for references) ... There should be no need to keep anything in a
| Gobal, other than for convenience...
| >
| > Dale
| > ----- "Sean Allen" <[hidden email]> wrote:
| >
| > | Hi Dale,
| > |
| > | Neither Hernan or I right now knows how to intepret this.
| > | Basically, I executed some code to issue a refund via Chase
| > | Paymentech
| > | which is run over Soap.
| > | The refund went through and I went in gemtools to commit and got
| a
| > | write-write conflict with the following info in the Write-Write:
| > |
| > | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
| > |
| > | Any ideas on that?
| >
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

SeanTAllen
So we are looking for the CrLf class var that exists in the SoapHTTPClient?

How does one read that write/write error? I'm not real familiar with that.

On Fri, Apr 23, 2010 at 4:41 PM, Dale Henrichs
<[hidden email]> wrote:

> I'm more suspicious of SOAP since SPSocket is/has been used in Hyper and we've not seen write-write conflicts coming from that direction (not completely ruled out) ... You are looking for class vars class instance vars ... the SPSocket instance might be shared between vms, but it shouldn't be ....
>
> Dale
> ----- "Sean Allen" <[hidden email]> wrote:
>
> | From that error,
> |
> | should we be doing the same with the 6 SpSocket class vars as well?
> |
> | On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
> | <[hidden email]> wrote:
> | > Sean,
> | >
> | > I'm under the weather today ... nasty little cold ... SOAP and
> | commit conflicts would be something that is likely to be problem,
> | since I haven't really tested it under concurrent loads ... the quick
> | fix would be to find any state that is kept in class vars and store in
> | the SessionTemps dictionary (there are a number of examples if you
> | look for references) ... There should be no need to keep anything in a
> | Gobal, other than for convenience...
> | >
> | > Dale
> | > ----- "Sean Allen" <[hidden email]> wrote:
> | >
> | > | Hi Dale,
> | > |
> | > | Neither Hernan or I right now knows how to intepret this.
> | > | Basically, I executed some code to issue a refund via Chase
> | > | Paymentech
> | > | which is run over Soap.
> | > | The refund went through and I went in gemtools to commit and got
> | a
> | > | write-write conflict with the following info in the Write-Write:
> | > |
> | > | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
> | > |
> | > | Any ideas on that?
> | >
>
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

hernan.wilkinson
In reply to this post by Dale
Hi Dale,
 correct me if I'm wrong but I understand that there are three objects with conflicts, those are: the class SPSocket, the class SoapHTTPClient and the association #'CrLf'->''.
 If that is correct, why would you look only on the SoapHTTPClient? I mean, don't the three objects have a conflict?
 Is there a way to get more info about the conflict? (what vars are the conflict ones, etc?)

 Thanks,
 Hernan.
On Fri, Apr 23, 2010 at 5:41 PM, Dale Henrichs <[hidden email]> wrote:
I'm more suspicious of SOAP since SPSocket is/has been used in Hyper and we've not seen write-write conflicts coming from that direction (not completely ruled out) ... You are looking for class vars class instance vars ... the SPSocket instance might be shared between vms, but it shouldn't be ....

Dale
----- "Sean Allen" <[hidden email]> wrote:

| From that error,
|
| should we be doing the same with the 6 SpSocket class vars as well?
|
| On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
| <[hidden email]> wrote:
| > Sean,
| >
| > I'm under the weather today ... nasty little cold ... SOAP and
| commit conflicts would be something that is likely to be problem,
| since I haven't really tested it under concurrent loads ... the quick
| fix would be to find any state that is kept in class vars and store in
| the SessionTemps dictionary (there are a number of examples if you
| look for references) ... There should be no need to keep anything in a
| Gobal, other than for convenience...
| >
| > Dale
| > ----- "Sean Allen" <[hidden email]> wrote:
| >
| > | Hi Dale,
| > |
| > | Neither Hernan or I right now knows how to intepret this.
| > | Basically, I executed some code to issue a refund via Chase
| > | Paymentech
| > | which is run over Soap.
| > | The refund went through and I went in gemtools to commit and got
| a
| > | write-write conflict with the following info in the Write-Write:
| > |
| > | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
| > |
| > | Any ideas on that?
| >

Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

Dale
In reply to this post by SeanTAllen
Hernan,

Sorry for not getting back to you sooner, but I've been offline with a nasty cold ...

You _are_ getting conflicts in SPSocket, but I don't think that it is correct to share an instance of SPSocket, so the _real_ problem is finding out who is referencing the SPSocket a that is involved in the conflict

Looking at String referenced CrLF. Is only used as a class var in HTTPSocket and only set in HTTPSocket class>>initialize, so multiple gems are concurrently initializing HTTPSocket which is odd, but you should be able to track it down.

SoapHttpClient also has a class var call CrLF which is also only set during #initialize.

The SoapHttpClient conflict is probably caused by the fact that you must be sharing a SoapHttpClient instance between multiple gems ...

Just to be clear ... you could work around these conflicts by using SessionTemps, but you have to look closely at _why_ you are getting the conflicts and ask the question whether it is a good idea to persist the SoapHttpClient instance or not ... the instance itself should probably be in SessionTemps.

It looks like the SoapHttpClient holds onto an instance of a SPSocket as well, so 2 out of the 3 conflicts are very likely coming from the SoapHttpClient instance being shared...

Dale

----- "Hernan Wilkinson" <[hidden email]> wrote:

| Hi Dale,
|  correct me if I'm wrong but I understand that there are three objects
| with
| conflicts, those are: the class SPSocket, the class SoapHTTPClient and
| the
| association #'CrLf'->''.
|  If that is correct, why would you look only on the SoapHTTPClient? I
| mean,
| don't the three objects have a conflict?
|  Is there a way to get more info about the conflict? (what vars are
| the
| conflict ones, etc?)
|
|  Thanks,
|  Hernan.
| On Fri, Apr 23, 2010 at 5:41 PM, Dale Henrichs
| <[hidden email]>wrote:
|
| > I'm more suspicious of SOAP since SPSocket is/has been used in Hyper
| and
| > we've not seen write-write conflicts coming from that direction
| (not
| > completely ruled out) ... You are looking for class vars class
| instance vars
| > ... the SPSocket instance might be shared between vms, but it
| shouldn't be
| > ....
| >
| > Dale
| > ----- "Sean Allen" <[hidden email]> wrote:
| >
| > | From that error,
| > |
| > | should we be doing the same with the 6 SpSocket class vars as
| well?
| > |
| > | On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
| > | <[hidden email]> wrote:
| > | > Sean,
| > | >
| > | > I'm under the weather today ... nasty little cold ... SOAP and
| > | commit conflicts would be something that is likely to be problem,
| > | since I haven't really tested it under concurrent loads ... the
| quick
| > | fix would be to find any state that is kept in class vars and
| store in
| > | the SessionTemps dictionary (there are a number of examples if
| you
| > | look for references) ... There should be no need to keep anything
| in a
| > | Gobal, other than for convenience...
| > | >
| > | > Dale
| > | > ----- "Sean Allen" <[hidden email]> wrote:
| > | >
| > | > | Hi Dale,
| > | > |
| > | > | Neither Hernan or I right now knows how to intepret this.
| > | > | Basically, I executed some code to issue a refund via Chase
| > | > | Paymentech
| > | > | which is run over Soap.
| > | > | The refund went through and I went in gemtools to commit and
| got
| > | a
| > | > | write-write conflict with the following info in the
| Write-Write:
| > | > |
| > | > | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
| > | > |
| > | > | Any ideas on that?
| > | >
| >
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

SeanTAllen
Dale,

I've reviewed ourcode and all SoapHTTPClient using code never stores
instances in anything except local variables so I'm really not sure
how we would
be sharing an instance between multiple gem. I'm going to have to have
Hernan explain the 'multiple gems concurrently initializing' part.. as
I don't have enough
Gemstone knowledge to full understand how that would happen.

On Thu, Apr 29, 2010 at 2:53 PM, Dale Henrichs
<[hidden email]> wrote:

> Hernan,
>
> Sorry for not getting back to you sooner, but I've been offline with a nasty cold ...
>
> You _are_ getting conflicts in SPSocket, but I don't think that it is correct to share an instance of SPSocket, so the _real_ problem is finding out who is referencing the SPSocket a that is involved in the conflict
>
> Looking at String referenced CrLF. Is only used as a class var in HTTPSocket and only set in HTTPSocket class>>initialize, so multiple gems are concurrently initializing HTTPSocket which is odd, but you should be able to track it down.
>
> SoapHttpClient also has a class var call CrLF which is also only set during #initialize.
>
> The SoapHttpClient conflict is probably caused by the fact that you must be sharing a SoapHttpClient instance between multiple gems ...
>
> Just to be clear ... you could work around these conflicts by using SessionTemps, but you have to look closely at _why_ you are getting the conflicts and ask the question whether it is a good idea to persist the SoapHttpClient instance or not ... the instance itself should probably be in SessionTemps.
>
> It looks like the SoapHttpClient holds onto an instance of a SPSocket as well, so 2 out of the 3 conflicts are very likely coming from the SoapHttpClient instance being shared...
>
> Dale
>
> ----- "Hernan Wilkinson" <[hidden email]> wrote:
>
> | Hi Dale,
> |  correct me if I'm wrong but I understand that there are three objects
> | with
> | conflicts, those are: the class SPSocket, the class SoapHTTPClient and
> | the
> | association #'CrLf'->''.
> |  If that is correct, why would you look only on the SoapHTTPClient? I
> | mean,
> | don't the three objects have a conflict?
> |  Is there a way to get more info about the conflict? (what vars are
> | the
> | conflict ones, etc?)
> |
> |  Thanks,
> |  Hernan.
> | On Fri, Apr 23, 2010 at 5:41 PM, Dale Henrichs
> | <[hidden email]>wrote:
> |
> | > I'm more suspicious of SOAP since SPSocket is/has been used in Hyper
> | and
> | > we've not seen write-write conflicts coming from that direction
> | (not
> | > completely ruled out) ... You are looking for class vars class
> | instance vars
> | > ... the SPSocket instance might be shared between vms, but it
> | shouldn't be
> | > ....
> | >
> | > Dale
> | > ----- "Sean Allen" <[hidden email]> wrote:
> | >
> | > | From that error,
> | > |
> | > | should we be doing the same with the 6 SpSocket class vars as
> | well?
> | > |
> | > | On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
> | > | <[hidden email]> wrote:
> | > | > Sean,
> | > | >
> | > | > I'm under the weather today ... nasty little cold ... SOAP and
> | > | commit conflicts would be something that is likely to be problem,
> | > | since I haven't really tested it under concurrent loads ... the
> | quick
> | > | fix would be to find any state that is kept in class vars and
> | store in
> | > | the SessionTemps dictionary (there are a number of examples if
> | you
> | > | look for references) ... There should be no need to keep anything
> | in a
> | > | Gobal, other than for convenience...
> | > | >
> | > | > Dale
> | > | > ----- "Sean Allen" <[hidden email]> wrote:
> | > | >
> | > | > | Hi Dale,
> | > | > |
> | > | > | Neither Hernan or I right now knows how to intepret this.
> | > | > | Basically, I executed some code to issue a refund via Chase
> | > | > | Paymentech
> | > | > | which is run over Soap.
> | > | > | The refund went through and I went in gemtools to commit and
> | got
> | > | a
> | > | > | write-write conflict with the following info in the
> | Write-Write:
> | > | > |
> | > | > | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
> | > | > |
> | > | > | Any ideas on that?
> | > | >
> | >
>
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

Dale
Sean,

To be getting a write-write conflict on a SoapHTTPClient instance:

  1) that instance must have been persisted and is reachable from a
      persistent root

  2) the state of the instance must have been changed by two separate
     gems at virtually the same time...

These are facts implied by the existence of a write-write conflict ... to debug these situations you will have to work your way up the reference chain and Hernan should know how to do that ...

Dale
----- "Sean Allen" <[hidden email]> wrote:

| Dale,
|
| I've reviewed ourcode and all SoapHTTPClient using code never stores
| instances in anything except local variables so I'm really not sure
| how we would
| be sharing an instance between multiple gem. I'm going to have to
| have
| Hernan explain the 'multiple gems concurrently initializing' part..
| as
| I don't have enough
| Gemstone knowledge to full understand how that would happen.
|
| On Thu, Apr 29, 2010 at 2:53 PM, Dale Henrichs
| <[hidden email]> wrote:
| > Hernan,
| >
| > Sorry for not getting back to you sooner, but I've been offline with
| a nasty cold ...
| >
| > You _are_ getting conflicts in SPSocket, but I don't think that it
| is correct to share an instance of SPSocket, so the _real_ problem is
| finding out who is referencing the SPSocket a that is involved in the
| conflict
| >
| > Looking at String referenced CrLF. Is only used as a class var in
| HTTPSocket and only set in HTTPSocket class>>initialize, so multiple
| gems are concurrently initializing HTTPSocket which is odd, but you
| should be able to track it down.
| >
| > SoapHttpClient also has a class var call CrLF which is also only set
| during #initialize.
| >
| > The SoapHttpClient conflict is probably caused by the fact that you
| must be sharing a SoapHttpClient instance between multiple gems ...
| >
| > Just to be clear ... you could work around these conflicts by using
| SessionTemps, but you have to look closely at _why_ you are getting
| the conflicts and ask the question whether it is a good idea to
| persist the SoapHttpClient instance or not ... the instance itself
| should probably be in SessionTemps.
| >
| > It looks like the SoapHttpClient holds onto an instance of a
| SPSocket as well, so 2 out of the 3 conflicts are very likely coming
| from the SoapHttpClient instance being shared...
| >
| > Dale
| >
| > ----- "Hernan Wilkinson" <[hidden email]> wrote:
| >
| > | Hi Dale,
| > |  correct me if I'm wrong but I understand that there are three
| objects
| > | with
| > | conflicts, those are: the class SPSocket, the class SoapHTTPClient
| and
| > | the
| > | association #'CrLf'->''.
| > |  If that is correct, why would you look only on the
| SoapHTTPClient? I
| > | mean,
| > | don't the three objects have a conflict?
| > |  Is there a way to get more info about the conflict? (what vars
| are
| > | the
| > | conflict ones, etc?)
| > |
| > |  Thanks,
| > |  Hernan.
| > | On Fri, Apr 23, 2010 at 5:41 PM, Dale Henrichs
| > | <[hidden email]>wrote:
| > |
| > | > I'm more suspicious of SOAP since SPSocket is/has been used in
| Hyper
| > | and
| > | > we've not seen write-write conflicts coming from that direction
| > | (not
| > | > completely ruled out) ... You are looking for class vars class
| > | instance vars
| > | > ... the SPSocket instance might be shared between vms, but it
| > | shouldn't be
| > | > ....
| > | >
| > | > Dale
| > | > ----- "Sean Allen" <[hidden email]> wrote:
| > | >
| > | > | From that error,
| > | > |
| > | > | should we be doing the same with the 6 SpSocket class vars as
| > | well?
| > | > |
| > | > | On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
| > | > | <[hidden email]> wrote:
| > | > | > Sean,
| > | > | >
| > | > | > I'm under the weather today ... nasty little cold ... SOAP
| and
| > | > | commit conflicts would be something that is likely to be
| problem,
| > | > | since I haven't really tested it under concurrent loads ...
| the
| > | quick
| > | > | fix would be to find any state that is kept in class vars and
| > | store in
| > | > | the SessionTemps dictionary (there are a number of examples
| if
| > | you
| > | > | look for references) ... There should be no need to keep
| anything
| > | in a
| > | > | Gobal, other than for convenience...
| > | > | >
| > | > | > Dale
| > | > | > ----- "Sean Allen" <[hidden email]> wrote:
| > | > | >
| > | > | > | Hi Dale,
| > | > | > |
| > | > | > | Neither Hernan or I right now knows how to intepret this.
| > | > | > | Basically, I executed some code to issue a refund via
| Chase
| > | > | > | Paymentech
| > | > | > | which is run over Soap.
| > | > | > | The refund went through and I went in gemtools to commit
| and
| > | got
| > | > | a
| > | > | > | write-write conflict with the following info in the
| > | Write-Write:
| > | > | > |
| > | > | > | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
| > | > | > |
| > | > | > | Any ideas on that?
| > | > | >
| > | >
| >
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

SeanTAllen
Neither of those is the case.

When looking at code that wasn't immediately obvious, we found a point
where initialize was called again.
Most likely added accidentally during my pre super bowl by hand
refactoring of SoapClient to work in the
same image as Swazoo. Ok, actually Hernan found it. I was too busy
looking where a SoapHTTPClient
was being persisted to think of something so obvious. That deals with
2 of the 3 conflicts from that.
The SpSocket one we will have to look for.

On Thu, Apr 29, 2010 at 5:27 PM, Dale Henrichs
<[hidden email]> wrote:

> Sean,
>
> To be getting a write-write conflict on a SoapHTTPClient instance:
>
>  1) that instance must have been persisted and is reachable from a
>      persistent root
>
>  2) the state of the instance must have been changed by two separate
>     gems at virtually the same time...
>
> These are facts implied by the existence of a write-write conflict ... to debug these situations you will have to work your way up the reference chain and Hernan should know how to do that ...
>
> Dale
> ----- "Sean Allen" <[hidden email]> wrote:
>
> | Dale,
> |
> | I've reviewed ourcode and all SoapHTTPClient using code never stores
> | instances in anything except local variables so I'm really not sure
> | how we would
> | be sharing an instance between multiple gem. I'm going to have to
> | have
> | Hernan explain the 'multiple gems concurrently initializing' part..
> | as
> | I don't have enough
> | Gemstone knowledge to full understand how that would happen.
> |
> | On Thu, Apr 29, 2010 at 2:53 PM, Dale Henrichs
> | <[hidden email]> wrote:
> | > Hernan,
> | >
> | > Sorry for not getting back to you sooner, but I've been offline with
> | a nasty cold ...
> | >
> | > You _are_ getting conflicts in SPSocket, but I don't think that it
> | is correct to share an instance of SPSocket, so the _real_ problem is
> | finding out who is referencing the SPSocket a that is involved in the
> | conflict
> | >
> | > Looking at String referenced CrLF. Is only used as a class var in
> | HTTPSocket and only set in HTTPSocket class>>initialize, so multiple
> | gems are concurrently initializing HTTPSocket which is odd, but you
> | should be able to track it down.
> | >
> | > SoapHttpClient also has a class var call CrLF which is also only set
> | during #initialize.
> | >
> | > The SoapHttpClient conflict is probably caused by the fact that you
> | must be sharing a SoapHttpClient instance between multiple gems ...
> | >
> | > Just to be clear ... you could work around these conflicts by using
> | SessionTemps, but you have to look closely at _why_ you are getting
> | the conflicts and ask the question whether it is a good idea to
> | persist the SoapHttpClient instance or not ... the instance itself
> | should probably be in SessionTemps.
> | >
> | > It looks like the SoapHttpClient holds onto an instance of a
> | SPSocket as well, so 2 out of the 3 conflicts are very likely coming
> | from the SoapHttpClient instance being shared...
> | >
> | > Dale
> | >
> | > ----- "Hernan Wilkinson" <[hidden email]> wrote:
> | >
> | > | Hi Dale,
> | > |  correct me if I'm wrong but I understand that there are three
> | objects
> | > | with
> | > | conflicts, those are: the class SPSocket, the class SoapHTTPClient
> | and
> | > | the
> | > | association #'CrLf'->''.
> | > |  If that is correct, why would you look only on the
> | SoapHTTPClient? I
> | > | mean,
> | > | don't the three objects have a conflict?
> | > |  Is there a way to get more info about the conflict? (what vars
> | are
> | > | the
> | > | conflict ones, etc?)
> | > |
> | > |  Thanks,
> | > |  Hernan.
> | > | On Fri, Apr 23, 2010 at 5:41 PM, Dale Henrichs
> | > | <[hidden email]>wrote:
> | > |
> | > | > I'm more suspicious of SOAP since SPSocket is/has been used in
> | Hyper
> | > | and
> | > | > we've not seen write-write conflicts coming from that direction
> | > | (not
> | > | > completely ruled out) ... You are looking for class vars class
> | > | instance vars
> | > | > ... the SPSocket instance might be shared between vms, but it
> | > | shouldn't be
> | > | > ....
> | > | >
> | > | > Dale
> | > | > ----- "Sean Allen" <[hidden email]> wrote:
> | > | >
> | > | > | From that error,
> | > | > |
> | > | > | should we be doing the same with the 6 SpSocket class vars as
> | > | well?
> | > | > |
> | > | > | On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
> | > | > | <[hidden email]> wrote:
> | > | > | > Sean,
> | > | > | >
> | > | > | > I'm under the weather today ... nasty little cold ... SOAP
> | and
> | > | > | commit conflicts would be something that is likely to be
> | problem,
> | > | > | since I haven't really tested it under concurrent loads ...
> | the
> | > | quick
> | > | > | fix would be to find any state that is kept in class vars and
> | > | store in
> | > | > | the SessionTemps dictionary (there are a number of examples
> | if
> | > | you
> | > | > | look for references) ... There should be no need to keep
> | anything
> | > | in a
> | > | > | Gobal, other than for convenience...
> | > | > | >
> | > | > | > Dale
> | > | > | > ----- "Sean Allen" <[hidden email]> wrote:
> | > | > | >
> | > | > | > | Hi Dale,
> | > | > | > |
> | > | > | > | Neither Hernan or I right now knows how to intepret this.
> | > | > | > | Basically, I executed some code to issue a refund via
> | Chase
> | > | > | > | Paymentech
> | > | > | > | which is run over Soap.
> | > | > | > | The refund went through and I went in gemtools to commit
> | and
> | > | got
> | > | > | a
> | > | > | > | write-write conflict with the following info in the
> | > | Write-Write:
> | > | > | > |
> | > | > | > | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
> | > | > | > |
> | > | > | > | Any ideas on that?
> | > | > | >
> | > | >
> | >
>
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

Dale
Cool, I'm glad you are making progress ...

The commit conflict only occur under load (and the correct load), so they are difficult to test for ...

Let me know if I can be of more help...

Dale
----- "Sean Allen" <[hidden email]> wrote:

| Neither of those is the case.
|
| When looking at code that wasn't immediately obvious, we found a
| point
| where initialize was called again.
| Most likely added accidentally during my pre super bowl by hand
| refactoring of SoapClient to work in the
| same image as Swazoo. Ok, actually Hernan found it. I was too busy
| looking where a SoapHTTPClient
| was being persisted to think of something so obvious. That deals with
| 2 of the 3 conflicts from that.
| The SpSocket one we will have to look for.
|
| On Thu, Apr 29, 2010 at 5:27 PM, Dale Henrichs
| <[hidden email]> wrote:
| > Sean,
| >
| > To be getting a write-write conflict on a SoapHTTPClient instance:
| >
| >  1) that instance must have been persisted and is reachable from a
| >      persistent root
| >
| >  2) the state of the instance must have been changed by two
| separate
| >     gems at virtually the same time...
| >
| > These are facts implied by the existence of a write-write conflict
| ... to debug these situations you will have to work your way up the
| reference chain and Hernan should know how to do that ...
| >
| > Dale
| > ----- "Sean Allen" <[hidden email]> wrote:
| >
| > | Dale,
| > |
| > | I've reviewed ourcode and all SoapHTTPClient using code never
| stores
| > | instances in anything except local variables so I'm really not
| sure
| > | how we would
| > | be sharing an instance between multiple gem. I'm going to have to
| > | have
| > | Hernan explain the 'multiple gems concurrently initializing'
| part..
| > | as
| > | I don't have enough
| > | Gemstone knowledge to full understand how that would happen.
| > |
| > | On Thu, Apr 29, 2010 at 2:53 PM, Dale Henrichs
| > | <[hidden email]> wrote:
| > | > Hernan,
| > | >
| > | > Sorry for not getting back to you sooner, but I've been offline
| with
| > | a nasty cold ...
| > | >
| > | > You _are_ getting conflicts in SPSocket, but I don't think that
| it
| > | is correct to share an instance of SPSocket, so the _real_ problem
| is
| > | finding out who is referencing the SPSocket a that is involved in
| the
| > | conflict
| > | >
| > | > Looking at String referenced CrLF. Is only used as a class var
| in
| > | HTTPSocket and only set in HTTPSocket class>>initialize, so
| multiple
| > | gems are concurrently initializing HTTPSocket which is odd, but
| you
| > | should be able to track it down.
| > | >
| > | > SoapHttpClient also has a class var call CrLF which is also only
| set
| > | during #initialize.
| > | >
| > | > The SoapHttpClient conflict is probably caused by the fact that
| you
| > | must be sharing a SoapHttpClient instance between multiple gems
| ...
| > | >
| > | > Just to be clear ... you could work around these conflicts by
| using
| > | SessionTemps, but you have to look closely at _why_ you are
| getting
| > | the conflicts and ask the question whether it is a good idea to
| > | persist the SoapHttpClient instance or not ... the instance
| itself
| > | should probably be in SessionTemps.
| > | >
| > | > It looks like the SoapHttpClient holds onto an instance of a
| > | SPSocket as well, so 2 out of the 3 conflicts are very likely
| coming
| > | from the SoapHttpClient instance being shared...
| > | >
| > | > Dale
| > | >
| > | > ----- "Hernan Wilkinson" <[hidden email]> wrote:
| > | >
| > | > | Hi Dale,
| > | > |  correct me if I'm wrong but I understand that there are
| three
| > | objects
| > | > | with
| > | > | conflicts, those are: the class SPSocket, the class
| SoapHTTPClient
| > | and
| > | > | the
| > | > | association #'CrLf'->''.
| > | > |  If that is correct, why would you look only on the
| > | SoapHTTPClient? I
| > | > | mean,
| > | > | don't the three objects have a conflict?
| > | > |  Is there a way to get more info about the conflict? (what
| vars
| > | are
| > | > | the
| > | > | conflict ones, etc?)
| > | > |
| > | > |  Thanks,
| > | > |  Hernan.
| > | > | On Fri, Apr 23, 2010 at 5:41 PM, Dale Henrichs
| > | > | <[hidden email]>wrote:
| > | > |
| > | > | > I'm more suspicious of SOAP since SPSocket is/has been used
| in
| > | Hyper
| > | > | and
| > | > | > we've not seen write-write conflicts coming from that
| direction
| > | > | (not
| > | > | > completely ruled out) ... You are looking for class vars
| class
| > | > | instance vars
| > | > | > ... the SPSocket instance might be shared between vms, but
| it
| > | > | shouldn't be
| > | > | > ....
| > | > | >
| > | > | > Dale
| > | > | > ----- "Sean Allen" <[hidden email]> wrote:
| > | > | >
| > | > | > | From that error,
| > | > | > |
| > | > | > | should we be doing the same with the 6 SpSocket class vars
| as
| > | > | well?
| > | > | > |
| > | > | > | On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
| > | > | > | <[hidden email]> wrote:
| > | > | > | > Sean,
| > | > | > | >
| > | > | > | > I'm under the weather today ... nasty little cold ...
| SOAP
| > | and
| > | > | > | commit conflicts would be something that is likely to be
| > | problem,
| > | > | > | since I haven't really tested it under concurrent loads
| ...
| > | the
| > | > | quick
| > | > | > | fix would be to find any state that is kept in class vars
| and
| > | > | store in
| > | > | > | the SessionTemps dictionary (there are a number of
| examples
| > | if
| > | > | you
| > | > | > | look for references) ... There should be no need to keep
| > | anything
| > | > | in a
| > | > | > | Gobal, other than for convenience...
| > | > | > | >
| > | > | > | > Dale
| > | > | > | > ----- "Sean Allen" <[hidden email]> wrote:
| > | > | > | >
| > | > | > | > | Hi Dale,
| > | > | > | > |
| > | > | > | > | Neither Hernan or I right now knows how to intepret
| this.
| > | > | > | > | Basically, I executed some code to issue a refund via
| > | Chase
| > | > | > | > | Paymentech
| > | > | > | > | which is run over Soap.
| > | > | > | > | The refund went through and I went in gemtools to
| commit
| > | and
| > | > | got
| > | > | > | a
| > | > | > | > | write-write conflict with the following info in the
| > | > | Write-Write:
| > | > | > | > |
| > | > | > | > | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
| > | > | > | > |
| > | > | > | > | Any ideas on that?
| > | > | > | >
| > | > | >
| > | >
| >
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

SeanTAllen
We found this one because I had a gemtools session open where I was
manually doing a refund
and I had it open long enough to trigger the issue.

On Thu, Apr 29, 2010 at 7:00 PM, Dale Henrichs
<[hidden email]> wrote:

> Cool, I'm glad you are making progress ...
>
> The commit conflict only occur under load (and the correct load), so they are difficult to test for ...
>
> Let me know if I can be of more help...
>
> Dale
> ----- "Sean Allen" <[hidden email]> wrote:
>
> | Neither of those is the case.
> |
> | When looking at code that wasn't immediately obvious, we found a
> | point
> | where initialize was called again.
> | Most likely added accidentally during my pre super bowl by hand
> | refactoring of SoapClient to work in the
> | same image as Swazoo. Ok, actually Hernan found it. I was too busy
> | looking where a SoapHTTPClient
> | was being persisted to think of something so obvious. That deals with
> | 2 of the 3 conflicts from that.
> | The SpSocket one we will have to look for.
> |
> | On Thu, Apr 29, 2010 at 5:27 PM, Dale Henrichs
> | <[hidden email]> wrote:
> | > Sean,
> | >
> | > To be getting a write-write conflict on a SoapHTTPClient instance:
> | >
> | >  1) that instance must have been persisted and is reachable from a
> | >      persistent root
> | >
> | >  2) the state of the instance must have been changed by two
> | separate
> | >     gems at virtually the same time...
> | >
> | > These are facts implied by the existence of a write-write conflict
> | ... to debug these situations you will have to work your way up the
> | reference chain and Hernan should know how to do that ...
> | >
> | > Dale
> | > ----- "Sean Allen" <[hidden email]> wrote:
> | >
> | > | Dale,
> | > |
> | > | I've reviewed ourcode and all SoapHTTPClient using code never
> | stores
> | > | instances in anything except local variables so I'm really not
> | sure
> | > | how we would
> | > | be sharing an instance between multiple gem. I'm going to have to
> | > | have
> | > | Hernan explain the 'multiple gems concurrently initializing'
> | part..
> | > | as
> | > | I don't have enough
> | > | Gemstone knowledge to full understand how that would happen.
> | > |
> | > | On Thu, Apr 29, 2010 at 2:53 PM, Dale Henrichs
> | > | <[hidden email]> wrote:
> | > | > Hernan,
> | > | >
> | > | > Sorry for not getting back to you sooner, but I've been offline
> | with
> | > | a nasty cold ...
> | > | >
> | > | > You _are_ getting conflicts in SPSocket, but I don't think that
> | it
> | > | is correct to share an instance of SPSocket, so the _real_ problem
> | is
> | > | finding out who is referencing the SPSocket a that is involved in
> | the
> | > | conflict
> | > | >
> | > | > Looking at String referenced CrLF. Is only used as a class var
> | in
> | > | HTTPSocket and only set in HTTPSocket class>>initialize, so
> | multiple
> | > | gems are concurrently initializing HTTPSocket which is odd, but
> | you
> | > | should be able to track it down.
> | > | >
> | > | > SoapHttpClient also has a class var call CrLF which is also only
> | set
> | > | during #initialize.
> | > | >
> | > | > The SoapHttpClient conflict is probably caused by the fact that
> | you
> | > | must be sharing a SoapHttpClient instance between multiple gems
> | ...
> | > | >
> | > | > Just to be clear ... you could work around these conflicts by
> | using
> | > | SessionTemps, but you have to look closely at _why_ you are
> | getting
> | > | the conflicts and ask the question whether it is a good idea to
> | > | persist the SoapHttpClient instance or not ... the instance
> | itself
> | > | should probably be in SessionTemps.
> | > | >
> | > | > It looks like the SoapHttpClient holds onto an instance of a
> | > | SPSocket as well, so 2 out of the 3 conflicts are very likely
> | coming
> | > | from the SoapHttpClient instance being shared...
> | > | >
> | > | > Dale
> | > | >
> | > | > ----- "Hernan Wilkinson" <[hidden email]> wrote:
> | > | >
> | > | > | Hi Dale,
> | > | > |  correct me if I'm wrong but I understand that there are
> | three
> | > | objects
> | > | > | with
> | > | > | conflicts, those are: the class SPSocket, the class
> | SoapHTTPClient
> | > | and
> | > | > | the
> | > | > | association #'CrLf'->''.
> | > | > |  If that is correct, why would you look only on the
> | > | SoapHTTPClient? I
> | > | > | mean,
> | > | > | don't the three objects have a conflict?
> | > | > |  Is there a way to get more info about the conflict? (what
> | vars
> | > | are
> | > | > | the
> | > | > | conflict ones, etc?)
> | > | > |
> | > | > |  Thanks,
> | > | > |  Hernan.
> | > | > | On Fri, Apr 23, 2010 at 5:41 PM, Dale Henrichs
> | > | > | <[hidden email]>wrote:
> | > | > |
> | > | > | > I'm more suspicious of SOAP since SPSocket is/has been used
> | in
> | > | Hyper
> | > | > | and
> | > | > | > we've not seen write-write conflicts coming from that
> | direction
> | > | > | (not
> | > | > | > completely ruled out) ... You are looking for class vars
> | class
> | > | > | instance vars
> | > | > | > ... the SPSocket instance might be shared between vms, but
> | it
> | > | > | shouldn't be
> | > | > | > ....
> | > | > | >
> | > | > | > Dale
> | > | > | > ----- "Sean Allen" <[hidden email]> wrote:
> | > | > | >
> | > | > | > | From that error,
> | > | > | > |
> | > | > | > | should we be doing the same with the 6 SpSocket class vars
> | as
> | > | > | well?
> | > | > | > |
> | > | > | > | On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
> | > | > | > | <[hidden email]> wrote:
> | > | > | > | > Sean,
> | > | > | > | >
> | > | > | > | > I'm under the weather today ... nasty little cold ...
> | SOAP
> | > | and
> | > | > | > | commit conflicts would be something that is likely to be
> | > | problem,
> | > | > | > | since I haven't really tested it under concurrent loads
> | ...
> | > | the
> | > | > | quick
> | > | > | > | fix would be to find any state that is kept in class vars
> | and
> | > | > | store in
> | > | > | > | the SessionTemps dictionary (there are a number of
> | examples
> | > | if
> | > | > | you
> | > | > | > | look for references) ... There should be no need to keep
> | > | anything
> | > | > | in a
> | > | > | > | Gobal, other than for convenience...
> | > | > | > | >
> | > | > | > | > Dale
> | > | > | > | > ----- "Sean Allen" <[hidden email]> wrote:
> | > | > | > | >
> | > | > | > | > | Hi Dale,
> | > | > | > | > |
> | > | > | > | > | Neither Hernan or I right now knows how to intepret
> | this.
> | > | > | > | > | Basically, I executed some code to issue a refund via
> | > | Chase
> | > | > | > | > | Paymentech
> | > | > | > | > | which is run over Soap.
> | > | > | > | > | The refund went through and I went in gemtools to
> | commit
> | > | and
> | > | > | got
> | > | > | > | a
> | > | > | > | > | write-write conflict with the following info in the
> | > | > | Write-Write:
> | > | > | > | > |
> | > | > | > | > | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
> | > | > | > | > |
> | > | > | > | > | Any ideas on that?
> | > | > | > | >
> | > | > | >
> | > | >
> | >
>
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

hernan.wilkinson
In reply to this post by Dale
Hi Dale,
 no problem... I answer back later too! :-)
 We found and issue on the SoapHttpClient code that cause the SoapHttpClient and CrLf association conflicts... but could not find why we got a conflict on the SPSocket... I'll let you know if we found something more. Thanks!

On Thu, Apr 29, 2010 at 3:53 PM, Dale Henrichs <[hidden email]> wrote:
Hernan,

Sorry for not getting back to you sooner, but I've been offline with a nasty cold ...

You _are_ getting conflicts in SPSocket, but I don't think that it is correct to share an instance of SPSocket, so the _real_ problem is finding out who is referencing the SPSocket a that is involved in the conflict

Looking at String referenced CrLF. Is only used as a class var in HTTPSocket and only set in HTTPSocket class>>initialize, so multiple gems are concurrently initializing HTTPSocket which is odd, but you should be able to track it down.

SoapHttpClient also has a class var call CrLF which is also only set during #initialize.

The SoapHttpClient conflict is probably caused by the fact that you must be sharing a SoapHttpClient instance between multiple gems ...

Just to be clear ... you could work around these conflicts by using SessionTemps, but you have to look closely at _why_ you are getting the conflicts and ask the question whether it is a good idea to persist the SoapHttpClient instance or not ... the instance itself should probably be in SessionTemps.

It looks like the SoapHttpClient holds onto an instance of a SPSocket as well, so 2 out of the 3 conflicts are very likely coming from the SoapHttpClient instance being shared...

Dale

----- "Hernan Wilkinson" <[hidden email]> wrote:

| Hi Dale,
|  correct me if I'm wrong but I understand that there are three objects
| with
| conflicts, those are: the class SPSocket, the class SoapHTTPClient and
| the
| association #'CrLf'->''.
|  If that is correct, why would you look only on the SoapHTTPClient? I
| mean,
| don't the three objects have a conflict?
|  Is there a way to get more info about the conflict? (what vars are
| the
| conflict ones, etc?)
|
|  Thanks,
|  Hernan.
| On Fri, Apr 23, 2010 at 5:41 PM, Dale Henrichs
| <[hidden email]>wrote:
|
| > I'm more suspicious of SOAP since SPSocket is/has been used in Hyper
| and
| > we've not seen write-write conflicts coming from that direction
| (not
| > completely ruled out) ... You are looking for class vars class
| instance vars
| > ... the SPSocket instance might be shared between vms, but it
| shouldn't be
| > ....
| >
| > Dale
| > ----- "Sean Allen" <[hidden email]> wrote:
| >
| > | From that error,
| > |
| > | should we be doing the same with the 6 SpSocket class vars as
| well?
| > |
| > | On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
| > | <[hidden email]> wrote:
| > | > Sean,
| > | >
| > | > I'm under the weather today ... nasty little cold ... SOAP and
| > | commit conflicts would be something that is likely to be problem,
| > | since I haven't really tested it under concurrent loads ... the
| quick
| > | fix would be to find any state that is kept in class vars and
| store in
| > | the SessionTemps dictionary (there are a number of examples if
| you
| > | look for references) ... There should be no need to keep anything
| in a
| > | Gobal, other than for convenience...
| > | >
| > | > Dale
| > | > ----- "Sean Allen" <[hidden email]> wrote:
| > | >
| > | > | Hi Dale,
| > | > |
| > | > | Neither Hernan or I right now knows how to intepret this.
| > | > | Basically, I executed some code to issue a refund via Chase
| > | > | Paymentech
| > | > | which is run over Soap.
| > | > | The refund went through and I went in gemtools to commit and
| got
| > | a
| > | > | write-write conflict with the following info in the
| Write-Write:
| > | > |
| > | > | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
| > | > |
| > | > | Any ideas on that?
| > | >
| >

Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

Dale
The SpSocket conflict just might be related to the SoapHttpClient sharing .... unless you are still seeing the occasional SpSocket conflict...

Dale
----- "Hernan Wilkinson" <[hidden email]> wrote:

| Hi Dale,
|  no problem... I answer back later too! :-)
|  We found and issue on the SoapHttpClient code that cause the
| SoapHttpClient
| and CrLf association conflicts... but could not find why we got a
| conflict
| on the SPSocket... I'll let you know if we found something more.
| Thanks!
|
| On Thu, Apr 29, 2010 at 3:53 PM, Dale Henrichs
| <[hidden email]>wrote:
|
| > Hernan,
| >
| > Sorry for not getting back to you sooner, but I've been offline with
| a
| > nasty cold ...
| >
| > You _are_ getting conflicts in SPSocket, but I don't think that it
| is
| > correct to share an instance of SPSocket, so the _real_ problem is
| finding
| > out who is referencing the SPSocket a that is involved in the
| conflict
| >
| > Looking at String referenced CrLF. Is only used as a class var in
| > HTTPSocket and only set in HTTPSocket class>>initialize, so multiple
| gems
| > are concurrently initializing HTTPSocket which is odd, but you
| should be
| > able to track it down.
| >
| > SoapHttpClient also has a class var call CrLF which is also only set
| during
| > #initialize.
| >
| > The SoapHttpClient conflict is probably caused by the fact that you
| must be
| > sharing a SoapHttpClient instance between multiple gems ...
| >
| > Just to be clear ... you could work around these conflicts by using
| > SessionTemps, but you have to look closely at _why_ you are getting
| the
| > conflicts and ask the question whether it is a good idea to persist
| the
| > SoapHttpClient instance or not ... the instance itself should
| probably be in
| > SessionTemps.
| >
| > It looks like the SoapHttpClient holds onto an instance of a
| SPSocket as
| > well, so 2 out of the 3 conflicts are very likely coming from the
| > SoapHttpClient instance being shared...
| >
| > Dale
| >
| > ----- "Hernan Wilkinson" <[hidden email]> wrote:
| >
| > | Hi Dale,
| > |  correct me if I'm wrong but I understand that there are three
| objects
| > | with
| > | conflicts, those are: the class SPSocket, the class SoapHTTPClient
| and
| > | the
| > | association #'CrLf'->''.
| > |  If that is correct, why would you look only on the
| SoapHTTPClient? I
| > | mean,
| > | don't the three objects have a conflict?
| > |  Is there a way to get more info about the conflict? (what vars
| are
| > | the
| > | conflict ones, etc?)
| > |
| > |  Thanks,
| > |  Hernan.
| > | On Fri, Apr 23, 2010 at 5:41 PM, Dale Henrichs
| > | <[hidden email]>wrote:
| > |
| > | > I'm more suspicious of SOAP since SPSocket is/has been used in
| Hyper
| > | and
| > | > we've not seen write-write conflicts coming from that direction
| > | (not
| > | > completely ruled out) ... You are looking for class vars class
| > | instance vars
| > | > ... the SPSocket instance might be shared between vms, but it
| > | shouldn't be
| > | > ....
| > | >
| > | > Dale
| > | > ----- "Sean Allen" <[hidden email]> wrote:
| > | >
| > | > | From that error,
| > | > |
| > | > | should we be doing the same with the 6 SpSocket class vars as
| > | well?
| > | > |
| > | > | On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
| > | > | <[hidden email]> wrote:
| > | > | > Sean,
| > | > | >
| > | > | > I'm under the weather today ... nasty little cold ... SOAP
| and
| > | > | commit conflicts would be something that is likely to be
| problem,
| > | > | since I haven't really tested it under concurrent loads ...
| the
| > | quick
| > | > | fix would be to find any state that is kept in class vars and
| > | store in
| > | > | the SessionTemps dictionary (there are a number of examples
| if
| > | you
| > | > | look for references) ... There should be no need to keep
| anything
| > | in a
| > | > | Gobal, other than for convenience...
| > | > | >
| > | > | > Dale
| > | > | > ----- "Sean Allen" <[hidden email]> wrote:
| > | > | >
| > | > | > | Hi Dale,
| > | > | > |
| > | > | > | Neither Hernan or I right now knows how to intepret this.
| > | > | > | Basically, I executed some code to issue a refund via
| Chase
| > | > | > | Paymentech
| > | > | > | which is run over Soap.
| > | > | > | The refund went through and I went in gemtools to commit
| and
| > | got
| > | > | a
| > | > | > | write-write conflict with the following info in the
| > | Write-Write:
| > | > | > |
| > | > | > | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
| > | > | > |
| > | > | > | Any ideas on that?
| > | > | >
| > | >
| >
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

hernan.wilkinson
hmm.. I tought about that but there is no reference to a SPSocket from a class var or class instance var of SoapHttpSocket. Is there other reason you are thinking that could be generating the conflict?

On Mon, May 3, 2010 at 2:19 PM, Dale Henrichs <[hidden email]> wrote:
The SpSocket conflict just might be related to the SoapHttpClient sharing .... unless you are still seeing the occasional SpSocket conflict...

Dale
----- "Hernan Wilkinson" <[hidden email]> wrote:

| Hi Dale,
|  no problem... I answer back later too! :-)
|  We found and issue on the SoapHttpClient code that cause the
| SoapHttpClient
| and CrLf association conflicts... but could not find why we got a
| conflict
| on the SPSocket... I'll let you know if we found something more.
| Thanks!
|
| On Thu, Apr 29, 2010 at 3:53 PM, Dale Henrichs
| <[hidden email]>wrote:
|
| > Hernan,
| >
| > Sorry for not getting back to you sooner, but I've been offline with
| a
| > nasty cold ...
| >
| > You _are_ getting conflicts in SPSocket, but I don't think that it
| is
| > correct to share an instance of SPSocket, so the _real_ problem is
| finding
| > out who is referencing the SPSocket a that is involved in the
| conflict
| >
| > Looking at String referenced CrLF. Is only used as a class var in
| > HTTPSocket and only set in HTTPSocket class>>initialize, so multiple
| gems
| > are concurrently initializing HTTPSocket which is odd, but you
| should be
| > able to track it down.
| >
| > SoapHttpClient also has a class var call CrLF which is also only set
| during
| > #initialize.
| >
| > The SoapHttpClient conflict is probably caused by the fact that you
| must be
| > sharing a SoapHttpClient instance between multiple gems ...
| >
| > Just to be clear ... you could work around these conflicts by using
| > SessionTemps, but you have to look closely at _why_ you are getting
| the
| > conflicts and ask the question whether it is a good idea to persist
| the
| > SoapHttpClient instance or not ... the instance itself should
| probably be in
| > SessionTemps.
| >
| > It looks like the SoapHttpClient holds onto an instance of a
| SPSocket as
| > well, so 2 out of the 3 conflicts are very likely coming from the
| > SoapHttpClient instance being shared...
| >
| > Dale
| >
| > ----- "Hernan Wilkinson" <[hidden email]> wrote:
| >
| > | Hi Dale,
| > |  correct me if I'm wrong but I understand that there are three
| objects
| > | with
| > | conflicts, those are: the class SPSocket, the class SoapHTTPClient
| and
| > | the
| > | association #'CrLf'->''.
| > |  If that is correct, why would you look only on the
| SoapHTTPClient? I
| > | mean,
| > | don't the three objects have a conflict?
| > |  Is there a way to get more info about the conflict? (what vars
| are
| > | the
| > | conflict ones, etc?)
| > |
| > |  Thanks,
| > |  Hernan.
| > | On Fri, Apr 23, 2010 at 5:41 PM, Dale Henrichs
| > | <[hidden email]>wrote:
| > |
| > | > I'm more suspicious of SOAP since SPSocket is/has been used in
| Hyper
| > | and
| > | > we've not seen write-write conflicts coming from that direction
| > | (not
| > | > completely ruled out) ... You are looking for class vars class
| > | instance vars
| > | > ... the SPSocket instance might be shared between vms, but it
| > | shouldn't be
| > | > ....
| > | >
| > | > Dale
| > | > ----- "Sean Allen" <[hidden email]> wrote:
| > | >
| > | > | From that error,
| > | > |
| > | > | should we be doing the same with the 6 SpSocket class vars as
| > | well?
| > | > |
| > | > | On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
| > | > | <[hidden email]> wrote:
| > | > | > Sean,
| > | > | >
| > | > | > I'm under the weather today ... nasty little cold ... SOAP
| and
| > | > | commit conflicts would be something that is likely to be
| problem,
| > | > | since I haven't really tested it under concurrent loads ...
| the
| > | quick
| > | > | fix would be to find any state that is kept in class vars and
| > | store in
| > | > | the SessionTemps dictionary (there are a number of examples
| if
| > | you
| > | > | look for references) ... There should be no need to keep
| anything
| > | in a
| > | > | Gobal, other than for convenience...
| > | > | >
| > | > | > Dale
| > | > | > ----- "Sean Allen" <[hidden email]> wrote:
| > | > | >
| > | > | > | Hi Dale,
| > | > | > |
| > | > | > | Neither Hernan or I right now knows how to intepret this.
| > | > | > | Basically, I executed some code to issue a refund via
| Chase
| > | > | > | Paymentech
| > | > | > | which is run over Soap.
| > | > | > | The refund went through and I went in gemtools to commit
| and
| > | got
| > | > | a
| > | > | > | write-write conflict with the following info in the
| > | Write-Write:
| > | > | > |
| > | > | > | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
| > | > | > |
| > | > | > | Any ideas on that?
| > | > | >
| > | >
| >

Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

Dale
I thought that that the SoapHttpClient had a socket instance variable so if the SoapHttpClient was shared, the socket would be shared too and could lead to conflicts...

Dale
----- "Hernan Wilkinson" <[hidden email]> wrote:

| hmm.. I tought about that but there is no reference to a SPSocket from
| a
| class var or class instance var of SoapHttpSocket. Is there other
| reason you
| are thinking that could be generating the conflict?
|
| On Mon, May 3, 2010 at 2:19 PM, Dale Henrichs
| <[hidden email]>wrote:
|
| > The SpSocket conflict just might be related to the SoapHttpClient
| sharing
| > .... unless you are still seeing the occasional SpSocket
| conflict...
| >
| > Dale
| > ----- "Hernan Wilkinson" <[hidden email]> wrote:
| >
| > | Hi Dale,
| > |  no problem... I answer back later too! :-)
| > |  We found and issue on the SoapHttpClient code that cause the
| > | SoapHttpClient
| > | and CrLf association conflicts... but could not find why we got a
| > | conflict
| > | on the SPSocket... I'll let you know if we found something more.
| > | Thanks!
| > |
| > | On Thu, Apr 29, 2010 at 3:53 PM, Dale Henrichs
| > | <[hidden email]>wrote:
| > |
| > | > Hernan,
| > | >
| > | > Sorry for not getting back to you sooner, but I've been offline
| with
| > | a
| > | > nasty cold ...
| > | >
| > | > You _are_ getting conflicts in SPSocket, but I don't think that
| it
| > | is
| > | > correct to share an instance of SPSocket, so the _real_ problem
| is
| > | finding
| > | > out who is referencing the SPSocket a that is involved in the
| > | conflict
| > | >
| > | > Looking at String referenced CrLF. Is only used as a class var
| in
| > | > HTTPSocket and only set in HTTPSocket class>>initialize, so
| multiple
| > | gems
| > | > are concurrently initializing HTTPSocket which is odd, but you
| > | should be
| > | > able to track it down.
| > | >
| > | > SoapHttpClient also has a class var call CrLF which is also only
| set
| > | during
| > | > #initialize.
| > | >
| > | > The SoapHttpClient conflict is probably caused by the fact that
| you
| > | must be
| > | > sharing a SoapHttpClient instance between multiple gems ...
| > | >
| > | > Just to be clear ... you could work around these conflicts by
| using
| > | > SessionTemps, but you have to look closely at _why_ you are
| getting
| > | the
| > | > conflicts and ask the question whether it is a good idea to
| persist
| > | the
| > | > SoapHttpClient instance or not ... the instance itself should
| > | probably be in
| > | > SessionTemps.
| > | >
| > | > It looks like the SoapHttpClient holds onto an instance of a
| > | SPSocket as
| > | > well, so 2 out of the 3 conflicts are very likely coming from
| the
| > | > SoapHttpClient instance being shared...
| > | >
| > | > Dale
| > | >
| > | > ----- "Hernan Wilkinson" <[hidden email]> wrote:
| > | >
| > | > | Hi Dale,
| > | > |  correct me if I'm wrong but I understand that there are
| three
| > | objects
| > | > | with
| > | > | conflicts, those are: the class SPSocket, the class
| SoapHTTPClient
| > | and
| > | > | the
| > | > | association #'CrLf'->''.
| > | > |  If that is correct, why would you look only on the
| > | SoapHTTPClient? I
| > | > | mean,
| > | > | don't the three objects have a conflict?
| > | > |  Is there a way to get more info about the conflict? (what
| vars
| > | are
| > | > | the
| > | > | conflict ones, etc?)
| > | > |
| > | > |  Thanks,
| > | > |  Hernan.
| > | > | On Fri, Apr 23, 2010 at 5:41 PM, Dale Henrichs
| > | > | <[hidden email]>wrote:
| > | > |
| > | > | > I'm more suspicious of SOAP since SPSocket is/has been used
| in
| > | Hyper
| > | > | and
| > | > | > we've not seen write-write conflicts coming from that
| direction
| > | > | (not
| > | > | > completely ruled out) ... You are looking for class vars
| class
| > | > | instance vars
| > | > | > ... the SPSocket instance might be shared between vms, but
| it
| > | > | shouldn't be
| > | > | > ....
| > | > | >
| > | > | > Dale
| > | > | > ----- "Sean Allen" <[hidden email]> wrote:
| > | > | >
| > | > | > | From that error,
| > | > | > |
| > | > | > | should we be doing the same with the 6 SpSocket class vars
| as
| > | > | well?
| > | > | > |
| > | > | > | On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
| > | > | > | <[hidden email]> wrote:
| > | > | > | > Sean,
| > | > | > | >
| > | > | > | > I'm under the weather today ... nasty little cold ...
| SOAP
| > | and
| > | > | > | commit conflicts would be something that is likely to be
| > | problem,
| > | > | > | since I haven't really tested it under concurrent loads
| ...
| > | the
| > | > | quick
| > | > | > | fix would be to find any state that is kept in class vars
| and
| > | > | store in
| > | > | > | the SessionTemps dictionary (there are a number of
| examples
| > | if
| > | > | you
| > | > | > | look for references) ... There should be no need to keep
| > | anything
| > | > | in a
| > | > | > | Gobal, other than for convenience...
| > | > | > | >
| > | > | > | > Dale
| > | > | > | > ----- "Sean Allen" <[hidden email]> wrote:
| > | > | > | >
| > | > | > | > | Hi Dale,
| > | > | > | > |
| > | > | > | > | Neither Hernan or I right now knows how to intepret
| this.
| > | > | > | > | Basically, I executed some code to issue a refund via
| > | Chase
| > | > | > | > | Paymentech
| > | > | > | > | which is run over Soap.
| > | > | > | > | The refund went through and I went in gemtools to
| commit
| > | and
| > | > | got
| > | > | > | a
| > | > | > | > | write-write conflict with the following info in the
| > | > | Write-Write:
| > | > | > | > |
| > | > | > | > | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
| > | > | > | > |
| > | > | > | > | Any ideas on that?
| > | > | > | >
| > | > | >
| > | >
| >
Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

hernan.wilkinson
no, that is not happening from what I could see...

On Tue, May 4, 2010 at 2:12 PM, Dale Henrichs <[hidden email]> wrote:
I thought that that the SoapHttpClient had a socket instance variable so if the SoapHttpClient was shared, the socket would be shared too and could lead to conflicts...

Dale
----- "Hernan Wilkinson" <[hidden email]> wrote:

| hmm.. I tought about that but there is no reference to a SPSocket from
| a
| class var or class instance var of SoapHttpSocket. Is there other
| reason you
| are thinking that could be generating the conflict?
|
| On Mon, May 3, 2010 at 2:19 PM, Dale Henrichs
| <[hidden email]>wrote:
|
| > The SpSocket conflict just might be related to the SoapHttpClient
| sharing
| > .... unless you are still seeing the occasional SpSocket
| conflict...
| >
| > Dale
| > ----- "Hernan Wilkinson" <[hidden email]> wrote:
| >
| > | Hi Dale,
| > |  no problem... I answer back later too! :-)
| > |  We found and issue on the SoapHttpClient code that cause the
| > | SoapHttpClient
| > | and CrLf association conflicts... but could not find why we got a
| > | conflict
| > | on the SPSocket... I'll let you know if we found something more.
| > | Thanks!
| > |
| > | On Thu, Apr 29, 2010 at 3:53 PM, Dale Henrichs
| > | <[hidden email]>wrote:
| > |
| > | > Hernan,
| > | >
| > | > Sorry for not getting back to you sooner, but I've been offline
| with
| > | a
| > | > nasty cold ...
| > | >
| > | > You _are_ getting conflicts in SPSocket, but I don't think that
| it
| > | is
| > | > correct to share an instance of SPSocket, so the _real_ problem
| is
| > | finding
| > | > out who is referencing the SPSocket a that is involved in the
| > | conflict
| > | >
| > | > Looking at String referenced CrLF. Is only used as a class var
| in
| > | > HTTPSocket and only set in HTTPSocket class>>initialize, so
| multiple
| > | gems
| > | > are concurrently initializing HTTPSocket which is odd, but you
| > | should be
| > | > able to track it down.
| > | >
| > | > SoapHttpClient also has a class var call CrLF which is also only
| set
| > | during
| > | > #initialize.
| > | >
| > | > The SoapHttpClient conflict is probably caused by the fact that
| you
| > | must be
| > | > sharing a SoapHttpClient instance between multiple gems ...
| > | >
| > | > Just to be clear ... you could work around these conflicts by
| using
| > | > SessionTemps, but you have to look closely at _why_ you are
| getting
| > | the
| > | > conflicts and ask the question whether it is a good idea to
| persist
| > | the
| > | > SoapHttpClient instance or not ... the instance itself should
| > | probably be in
| > | > SessionTemps.
| > | >
| > | > It looks like the SoapHttpClient holds onto an instance of a
| > | SPSocket as
| > | > well, so 2 out of the 3 conflicts are very likely coming from
| the
| > | > SoapHttpClient instance being shared...
| > | >
| > | > Dale
| > | >
| > | > ----- "Hernan Wilkinson" <[hidden email]> wrote:
| > | >
| > | > | Hi Dale,
| > | > |  correct me if I'm wrong but I understand that there are
| three
| > | objects
| > | > | with
| > | > | conflicts, those are: the class SPSocket, the class
| SoapHTTPClient
| > | and
| > | > | the
| > | > | association #'CrLf'->''.
| > | > |  If that is correct, why would you look only on the
| > | SoapHTTPClient? I
| > | > | mean,
| > | > | don't the three objects have a conflict?
| > | > |  Is there a way to get more info about the conflict? (what
| vars
| > | are
| > | > | the
| > | > | conflict ones, etc?)
| > | > |
| > | > |  Thanks,
| > | > |  Hernan.
| > | > | On Fri, Apr 23, 2010 at 5:41 PM, Dale Henrichs
| > | > | <[hidden email]>wrote:
| > | > |
| > | > | > I'm more suspicious of SOAP since SPSocket is/has been used
| in
| > | Hyper
| > | > | and
| > | > | > we've not seen write-write conflicts coming from that
| direction
| > | > | (not
| > | > | > completely ruled out) ... You are looking for class vars
| class
| > | > | instance vars
| > | > | > ... the SPSocket instance might be shared between vms, but
| it
| > | > | shouldn't be
| > | > | > ....
| > | > | >
| > | > | > Dale
| > | > | > ----- "Sean Allen" <[hidden email]> wrote:
| > | > | >
| > | > | > | From that error,
| > | > | > |
| > | > | > | should we be doing the same with the 6 SpSocket class vars
| as
| > | > | well?
| > | > | > |
| > | > | > | On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
| > | > | > | <[hidden email]> wrote:
| > | > | > | > Sean,
| > | > | > | >
| > | > | > | > I'm under the weather today ... nasty little cold ...
| SOAP
| > | and
| > | > | > | commit conflicts would be something that is likely to be
| > | problem,
| > | > | > | since I haven't really tested it under concurrent loads
| ...
| > | the
| > | > | quick
| > | > | > | fix would be to find any state that is kept in class vars
| and
| > | > | store in
| > | > | > | the SessionTemps dictionary (there are a number of
| examples
| > | if
| > | > | you
| > | > | > | look for references) ... There should be no need to keep
| > | anything
| > | > | in a
| > | > | > | Gobal, other than for convenience...
| > | > | > | >
| > | > | > | > Dale
| > | > | > | > ----- "Sean Allen" <[hidden email]> wrote:
| > | > | > | >
| > | > | > | > | Hi Dale,
| > | > | > | > |
| > | > | > | > | Neither Hernan or I right now knows how to intepret
| this.
| > | > | > | > | Basically, I executed some code to issue a refund via
| > | Chase
| > | > | > | > | Paymentech
| > | > | > | > | which is run over Soap.
| > | > | > | > | The refund went through and I went in gemtools to
| commit
| > | and
| > | > | got
| > | > | > | a
| > | > | > | > | write-write conflict with the following info in the
| > | > | Write-Write:
| > | > | > | > |
| > | > | > | > | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
| > | > | > | > |
| > | > | > | > | Any ideas on that?
| > | > | > | >
| > | > | >
| > | >
| >

Reply | Threaded
Open this post in threaded view
|

Re: write-write conflict

Dale
Then the other place that uses SpSocket would probably have to be swazoo itself ...

Dale
----- "Hernan Wilkinson" <[hidden email]> wrote:

| no, that is not happening from what I could see...
|
| On Tue, May 4, 2010 at 2:12 PM, Dale Henrichs
| <[hidden email]>wrote:
|
| > I thought that that the SoapHttpClient had a socket instance
| variable so if
| > the SoapHttpClient was shared, the socket would be shared too and
| could lead
| > to conflicts...
| >
| > Dale
| > ----- "Hernan Wilkinson" <[hidden email]> wrote:
| >
| > | hmm.. I tought about that but there is no reference to a SPSocket
| from
| > | a
| > | class var or class instance var of SoapHttpSocket. Is there other
| > | reason you
| > | are thinking that could be generating the conflict?
| > |
| > | On Mon, May 3, 2010 at 2:19 PM, Dale Henrichs
| > | <[hidden email]>wrote:
| > |
| > | > The SpSocket conflict just might be related to the
| SoapHttpClient
| > | sharing
| > | > .... unless you are still seeing the occasional SpSocket
| > | conflict...
| > | >
| > | > Dale
| > | > ----- "Hernan Wilkinson" <[hidden email]> wrote:
| > | >
| > | > | Hi Dale,
| > | > |  no problem... I answer back later too! :-)
| > | > |  We found and issue on the SoapHttpClient code that cause the
| > | > | SoapHttpClient
| > | > | and CrLf association conflicts... but could not find why we
| got a
| > | > | conflict
| > | > | on the SPSocket... I'll let you know if we found something
| more.
| > | > | Thanks!
| > | > |
| > | > | On Thu, Apr 29, 2010 at 3:53 PM, Dale Henrichs
| > | > | <[hidden email]>wrote:
| > | > |
| > | > | > Hernan,
| > | > | >
| > | > | > Sorry for not getting back to you sooner, but I've been
| offline
| > | with
| > | > | a
| > | > | > nasty cold ...
| > | > | >
| > | > | > You _are_ getting conflicts in SPSocket, but I don't think
| that
| > | it
| > | > | is
| > | > | > correct to share an instance of SPSocket, so the _real_
| problem
| > | is
| > | > | finding
| > | > | > out who is referencing the SPSocket a that is involved in
| the
| > | > | conflict
| > | > | >
| > | > | > Looking at String referenced CrLF. Is only used as a class
| var
| > | in
| > | > | > HTTPSocket and only set in HTTPSocket class>>initialize, so
| > | multiple
| > | > | gems
| > | > | > are concurrently initializing HTTPSocket which is odd, but
| you
| > | > | should be
| > | > | > able to track it down.
| > | > | >
| > | > | > SoapHttpClient also has a class var call CrLF which is also
| only
| > | set
| > | > | during
| > | > | > #initialize.
| > | > | >
| > | > | > The SoapHttpClient conflict is probably caused by the fact
| that
| > | you
| > | > | must be
| > | > | > sharing a SoapHttpClient instance between multiple gems ...
| > | > | >
| > | > | > Just to be clear ... you could work around these conflicts
| by
| > | using
| > | > | > SessionTemps, but you have to look closely at _why_ you are
| > | getting
| > | > | the
| > | > | > conflicts and ask the question whether it is a good idea to
| > | persist
| > | > | the
| > | > | > SoapHttpClient instance or not ... the instance itself
| should
| > | > | probably be in
| > | > | > SessionTemps.
| > | > | >
| > | > | > It looks like the SoapHttpClient holds onto an instance of
| a
| > | > | SPSocket as
| > | > | > well, so 2 out of the 3 conflicts are very likely coming
| from
| > | the
| > | > | > SoapHttpClient instance being shared...
| > | > | >
| > | > | > Dale
| > | > | >
| > | > | > ----- "Hernan Wilkinson" <[hidden email]>
| wrote:
| > | > | >
| > | > | > | Hi Dale,
| > | > | > |  correct me if I'm wrong but I understand that there are
| > | three
| > | > | objects
| > | > | > | with
| > | > | > | conflicts, those are: the class SPSocket, the class
| > | SoapHTTPClient
| > | > | and
| > | > | > | the
| > | > | > | association #'CrLf'->''.
| > | > | > |  If that is correct, why would you look only on the
| > | > | SoapHTTPClient? I
| > | > | > | mean,
| > | > | > | don't the three objects have a conflict?
| > | > | > |  Is there a way to get more info about the conflict?
| (what
| > | vars
| > | > | are
| > | > | > | the
| > | > | > | conflict ones, etc?)
| > | > | > |
| > | > | > |  Thanks,
| > | > | > |  Hernan.
| > | > | > | On Fri, Apr 23, 2010 at 5:41 PM, Dale Henrichs
| > | > | > | <[hidden email]>wrote:
| > | > | > |
| > | > | > | > I'm more suspicious of SOAP since SPSocket is/has been
| used
| > | in
| > | > | Hyper
| > | > | > | and
| > | > | > | > we've not seen write-write conflicts coming from that
| > | direction
| > | > | > | (not
| > | > | > | > completely ruled out) ... You are looking for class
| vars
| > | class
| > | > | > | instance vars
| > | > | > | > ... the SPSocket instance might be shared between vms,
| but
| > | it
| > | > | > | shouldn't be
| > | > | > | > ....
| > | > | > | >
| > | > | > | > Dale
| > | > | > | > ----- "Sean Allen" <[hidden email]> wrote:
| > | > | > | >
| > | > | > | > | From that error,
| > | > | > | > |
| > | > | > | > | should we be doing the same with the 6 SpSocket class
| vars
| > | as
| > | > | > | well?
| > | > | > | > |
| > | > | > | > | On Fri, Apr 23, 2010 at 3:27 PM, Dale Henrichs
| > | > | > | > | <[hidden email]> wrote:
| > | > | > | > | > Sean,
| > | > | > | > | >
| > | > | > | > | > I'm under the weather today ... nasty little cold
| ...
| > | SOAP
| > | > | and
| > | > | > | > | commit conflicts would be something that is likely to
| be
| > | > | problem,
| > | > | > | > | since I haven't really tested it under concurrent
| loads
| > | ...
| > | > | the
| > | > | > | quick
| > | > | > | > | fix would be to find any state that is kept in class
| vars
| > | and
| > | > | > | store in
| > | > | > | > | the SessionTemps dictionary (there are a number of
| > | examples
| > | > | if
| > | > | > | you
| > | > | > | > | look for references) ... There should be no need to
| keep
| > | > | anything
| > | > | > | in a
| > | > | > | > | Gobal, other than for convenience...
| > | > | > | > | >
| > | > | > | > | > Dale
| > | > | > | > | > ----- "Sean Allen" <[hidden email]>
| wrote:
| > | > | > | > | >
| > | > | > | > | > | Hi Dale,
| > | > | > | > | > |
| > | > | > | > | > | Neither Hernan or I right now knows how to
| intepret
| > | this.
| > | > | > | > | > | Basically, I executed some code to issue a refund
| via
| > | > | Chase
| > | > | > | > | > | Paymentech
| > | > | > | > | > | which is run over Soap.
| > | > | > | > | > | The refund went through and I went in gemtools to
| > | commit
| > | > | and
| > | > | > | got
| > | > | > | > | a
| > | > | > | > | > | write-write conflict with the following info in
| the
| > | > | > | Write-Write:
| > | > | > | > | > |
| > | > | > | > | > | anArray( SpSocket, SoapHttpClient, #'CrLf'->'')
| > | > | > | > | > |
| > | > | > | > | > | Any ideas on that?
| > | > | > | > | >
| > | > | > | >
| > | > | >
| > | >
| >