Solved

J2EE troubleshotting, repeated executions of business logic..

Posted on 2004-09-20
7
222 Views
Last Modified: 2013-11-24
OC4J 9.0.4.0.0 (ejb2.0), Oracle9i, Swing client for a three tier setup...

- Problem has gotten worse over time, with code that have not been altered
- Problem persists in persistence(pun intented), we experience double insertions of data, for no apparent reason
- Business logic that should prevent this kind of behavior is not present or not executed
- User presses button once, 99% of the time only one set of inserts happen, sometimes two (few oocassions more, one time 130!!), swing client will act like 'hanging'
- Timestamp comparrision in one case revealed that there were 5 seconds between the dupes (equals 5 second client hang?)

hypothesis ; connections/operations succeed but return a false state, thus the application layer(JDBC driver?) repeats the task ? Other than that, a far fetched idea about a flawed connection pool in OC4J for transaction handling (wich does not explain the entire scenario) i am kinda blank on this one..
Of course the problem is non repeatable in 'safe envoriment' ... only happens in wild (read : production !!!!!)

Have ANYONE seens something like this before ? Im on the verge of blaming the hardware here .. nic's routers whatever ... i cant see what else ..
Funny thing is, that this HAS worked flawless for like 6mo's .. then suddenly... and in decreasing intervals...

Ideas ?

0
Comment
Question by:CyTG
  • 3
7 Comments
 
LVL 35

Expert Comment

by:TimYates
ID: 12103221
I'd start by comparing every library on both the production machine and the dev machine...  You may find that there are 2 different versions of something low level...
0
 
LVL 35

Expert Comment

by:TimYates
ID: 12103233
Then I'd check that the database is not running out of ids/diskspace/log space, and see if there are any errors in any of the log files it may generate...
0
 
LVL 7

Expert Comment

by:bvanderveen
ID: 12105017
How long has it been since you've shut down your app server.  Sorry for a MS-like "solution", but I am wondering if some cache or other issues may have built up in you containers.
0
 
LVL 1

Author Comment

by:CyTG
ID: 12111186
TimYates -> i have copied the entire installation from production (oc4j) to ensure the exact same setup in the test envoriment .... still not repeatable. The database is supposedly doing fine, no warnings/errors in the logs ...

bvanderveen -> actually we've begun rebooting both database and application server each night .. problem persists(pun intented again)

Thanks for the suggestions though ! :o)

Regards.
0
 
LVL 35

Accepted Solution

by:
TimYates earned 500 total points
ID: 12111229
Are they both running the exact same versions of java...

I guess it's because the production site is getting used more than the development site...

What happens if you set up a JMeter task to hit your development site for a few hours...do you get the same bug exhibiting itself?

http://jakarta.apache.org/jmeter/
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
json example 39 130
github account with ecipse 1 42
How to increase Spring boot/Tomcat max file upload size 2 16
expectj telnet failing 5 19
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…

930 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now