Bermuda triangle coughs up requests hours later

Posted on 2003-03-18
Medium Priority
Last Modified: 2010-04-20
I have a problem whereby a request is being sent from a browser and received by the server, which is good, but then the same request is being received by the server again anywhere between a few minutes and several hours later.

I have also had one case of a request being received 3 times. It only happens intermittently, maybe 1 in 3000 requests. I have client side javascript checking that the button is only pressed once and I have included a request parameter that shows what time the button was pressed in hours, minutes and milliseconds. This timestamp shows that the button was pressed only once for each duplicate request (or multiple times within the same millisecond).

The webserver is weblogic 5.1.

Beats me!
Question by:BugBlatter
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 27

Accepted Solution

BigRat earned 400 total points
ID: 8173600
Normally a request is only sent after a connection has been made. The connection established port and IP address, A common problem is the way service providers just drop packets (as if they'd never seen them) (you use less resources dropping the packet than NAKing it) which causes other service providers to use alternate routes. Packets can literally hang around for hours.

One problem is socket reuse address. This stops socket resources in the protocol stack going into linger states waiting for proper closure. It does mean however that the port can get out-of-date packets presented to it if such have been circulating the system. Many TCP/IP stacks don't make a fuss about closing connections - by sending the relevant transport close packets - if they get an error on trying to close (because the SP has dropped the packet) they just ignore it and drop their socket. The effect is your server sits there with CLOSE or FIN_WAIT socket states. So if you have this on turn it off.

A common trick for critical database update is before starting the actual processing you throw out an HTML header (like your top of screen logo) and flush it out of the stack. If you get an I/O error on this operation you drop the remainder of the request.

Lastly you can avoid many problems regarding duplicate update if you use spinners. Each <FORM> has a hidden numeric field containing a database spinner. You need to keep a list of spinners processed but the advantage is that you execute the code only once. The alternative of using database primary keys (when numeric) suffers from  double possibly invalid update and also security problems.


Featured Post

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A web service (http://en.wikipedia.org/wiki/Web_service) is a software related technology that facilitates machine-to-machine interaction over a network. This article helps beginners in creating and consuming a web service using the ColdFusion Ma…
In our day to day coding, how many times have we come across a necessity to check whether a URL is a broken link or not? For those of you that answered countless and are using ColdFusion like myself, then this article is for you.  It will show yo…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…
Monitoring a network: how to monitor network services and why? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the philosophy behind service monitoring and why a handshake validation is critical in network monitoring. Software utilized …
Suggested Courses

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question