Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Interchange: users

Authnet charges without orders

 

 

Interchange users RSS feed   Index | Next | Previous | View Threaded


paul at gishnetwork

Jun 21, 2011, 12:00 AM

Post #1 of 4 (268 views)
Permalink
Authnet charges without orders

Hi Guys, IC: 5.6.3

After 5 years of flawless service, a few days ago one of our IC's started
consistently failing to create orders that were charging successfully at
Authnet:

==========
Safe: Real-time charge failed. Reason: Authorizenet error: . Please call in
your order or try again.
> for(qw/
> charge_total_message
> pay_cert_total
> /)
> {
> delete $Scratch->{$_};
> }
> die errmsg(
> "Real-time charge failed. Reason: %s\n",
> errmsg($Session->{payment_error}),
> );
==========

Paypal and Offline orders were working fine so I did some research to see
what had changed on the serve to cause such an abrupt and consistent
problem. I realized the sites perl was updated 10 minutes before the
problems started to occur. The update was a minor one and remained in the
5.8.8 family I think - I didn't personally do it, and from what I
understand, it was not a yum style update.

This seemed like the most logical culprit so a consultant and I opted to
potentially bypass the whole issue and upgrade the whole shebang to 5.14.1.
The problems still occurred. At the time I was using LWP for transacting
with AuthNet. Both him and I had remembered the issues posted to the mail
list regarding potential problems, and since I was not between and rock and
a hard place, we opted to use wget.

Wget seemed to solve the issue. However, over the last 3 days, 2 more (out
of many good) transactions have been affected - where Authnet charges the
customer and IC errors and does not save anything. A vast improvement, but
still not the blissful worry free days of years past.

I believe IC is running in LOW, because I have not specific TRAFFIC. I have
been reading fiddling with TRAFFIC might help as well - for example, RPC
mode appears to have helped others. I notice no similarities with the failed
transactions.

My questions are does any of this sound familiar to someone? Why do the
traffic modes exist, and what constitutes needing High, or RPC? I'm willing
to throw switches and monitor things, I'd just like to understand a little
better what it is I am throwing. I am looking through the archives now, but
hopefully someone can chime in with some advice.

Does high traffic mean - amazon.com like? Is there some way to gauge what
settings I might need to use for TRAFFIC based on session or tmp size
increase? I suppose my main question would be are there any pitfalls with
setting the TRAFFIC too high, or are low traffic sites just fine under High
or RPC? Also, is TRAFFIC affected by the literal traffic for the physical
server (all sites), or just this instance of IC?

Anyone know if there has been any major improvements from 5.6.3 to the
current dev version that might resolve this issue, or at least handle
failure more gracefully? I'm thinking if someone tried solving similar
issues lately in Payment.pm or Order.pm, that would be nice to know - I feel
as if I don't want to upgrade to a dev version to try and solve such a
pronounced quick-onset problem. I really wish I was able to roll back to the
original perl I was using last week - but I don't know if that is still an
option at this point.

I feel as if I should mention this as well. Sometimes I see this:

Unable to send mail using /usr/sbin/sendmail
> To 'XXX [at] yahoo'
> ........

However, I believe the emails are in fact still sent. It doesn't happen too
often, but it does happen. I mention this because someone said RPC helped
with that too - and maybe that is another symptom saying that I am in need
of fiddling with TRAFFIC.

The only other thing I can think to mention is that most orders are going
through, and it looks as if I can still get valid Authnet errors in the logs
(AVS mismatch, etc). The only time I know it fails is when I see the brick
wall error: "Authorizenet error: . Please call in your order or try again."


Thank you very much for for your help

Paul


_______________________________________________
interchange-users mailing list
interchange-users [at] icdevgroup
http://www.icdevgroup.org/mailman/listinfo/interchange-users


jon at endpoint

Jun 21, 2011, 1:24 PM

Post #2 of 4 (258 views)
Permalink
Re: Authnet charges without orders [In reply to]

On Tue, 21 Jun 2011, Paul Jordan wrote:

> I realized the sites perl was updated 10 minutes before the problems
> started to occur. The update was a minor one and remained in the 5.8.8
> family I think - I didn't personally do it, and from what I understand,
> it was not a yum style update.

If it wasn't a packaged update with careful attention to compatibility,
it's possible some compile options changed, or different core module
versions were included, so that could've been the source of the problem.

> I believe IC is running in LOW, because I have not specific TRAFFIC. I
> have been reading fiddling with TRAFFIC might help as well - for
> example, RPC mode appears to have helped others. I notice no
> similarities with the failed transactions.

What you're experiencing sounds like the old Perl signals problem which
comes up on the list every once in a while. It affects calls to
subprocesses (sendmail, wget) or anything else relying on signals (LWP).

You can reproduce it on your own by creating an ITL page with a loop that
sends an email a few hundred times, then write a shell script to hit that
page repeatedly and run it 4 or so times concurrently. You'll see errors
that you don't see when there's less load on the Interchange daemon.

There are two changes you need to make, which can be seen in this commit I
made back in 2006:

http://git.icdevgroup.org/?p=interchange.git;a=commitdiff;h=e1c6f77db1974777645d4120924ad01c6279b605

You must have PERL_SIGNALS=unsafe in the environment, and MaxServers 0.
Make sure to change it in the right server stanza for your traffic mode!
Or just change it in all of them. (There's little difference between
so-called low and high traffic modes, so no need to worry about that in
this case.) Then restart Interchange.

Whenever I've seen this problem, once I make the changes, I cannot make a
single email fail to send no matter how many I send, how fast.

In reality the MaxServers setting does not work very well to stop a
runaway server anyway, since both Apache and CGI processes stack up
whenever there's serious load. So I don't think you're giving up much
and in exchange your email, LWP, and wget problems stop.

HTH,
Jon

--
Jon Jensen
End Point Corporation
http://www.endpoint.com/

_______________________________________________
interchange-users mailing list
interchange-users [at] icdevgroup
http://www.icdevgroup.org/mailman/listinfo/interchange-users


paul at gishnetwork

Jun 22, 2011, 11:05 AM

Post #3 of 4 (252 views)
Permalink
Re: Authnet charges without orders [In reply to]

> There are two changes you need to make, which can be seen in this commit I
> made back in 2006:
>
> http://git.icdevgroup.org/?p=interchange.git;a=commitdiff;h=e1c6f77db1974777645d4120924ad01c6279b605
>
> You must have PERL_SIGNALS=unsafe in the environment, and MaxServers 0.
> Make sure to change it in the right server stanza for your traffic mode!
> Or just change it in all of them. (There's little difference between
> so-called low and high traffic modes, so no need to worry about that in
> this case.) Then restart Interchange.
>
> Whenever I've seen this problem, once I make the changes, I cannot make a
> single email fail to send no matter how many I send, how fast.
>
> In reality the MaxServers setting does not work very well to stop a
> runaway server anyway, since both Apache and CGI processes stack up
> whenever there's serious load. So I don't think you're giving up much
> and in exchange your email, LWP, and wget problems stop.
I wanted to say thanks Jon, I am still talking with my consultant about how to proceed - but I didn't want you to think I was ignoring your help. I actually think I am running with PERL_SIGNALS=unsafe - I say "think" because I use a special housekeeping system Kevin made to control everything and it appears like that is in there, but I want my consultant to double check for me. I'm also discussing the affects of MaxServers 0 because of an old post from Mike basically saying MaxServers 0 under anything but RPC leaves you open to DDoS... not that that is a huge concern for this site. Incidentally, I am moving slow/cautiously because since my post to the list, there has not been another occurance. However, there has been a few more of those "non descriptive" errors, but either the order eventually went through, or there was no ghost charges in Authnet - so as of right now I am treating that behavior as more clues to what is going on. Best, Paul


mike at perusion

Jun 23, 2011, 5:30 AM

Post #4 of 4 (254 views)
Permalink
Re: Authnet charges without orders [In reply to]

Quoting Paul Jordan (paul [at] gishnetwork):
> I'm also discussing the affects of
> MaxServers 0 because of an old post from Mike basically saying
> MaxServers 0 under anything but RPC leaves you open to DDoS... not that
> that is a huge concern for this site.

Listen to Jon. If you have a good amount of memory, it won't do you
that much good. I would follow his advice.

--
Mike Heins
Perusion -- Expert Interchange Consulting http://www.perusion.com/
phone +1.765.328.4479 <mike [at] perusion>

There comes a time when you should stop expecting other people to make
a big deal about your birthday. That time is age 12. -- Dave Barry

_______________________________________________
interchange-users mailing list
interchange-users [at] icdevgroup
http://www.icdevgroup.org/mailman/listinfo/interchange-users

Interchange users RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.