Bug 332685 - test: SessionBeanHA test does not test EclipseLink query retry, need RAC testing
Summary: test: SessionBeanHA test does not test EclipseLink query retry, need RAC testing
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Eclipselink (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 454799
  Show dependency tree
 
Reported: 2010-12-15 15:38 EST by James Sutherland CLA
Modified: 2022-06-09 10:08 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description James Sutherland CLA 2010-12-15 15:38:16 EST
EclipseLink has query retry support, transaction retry support, and the ability to detect and reject dead connections from it own "internal" connection pool.

This support does not work with external connectin pooling (JEE DataSource) to the same degree.  We can detect a dead connection on execution or a query or start of a transaction, but we will just return it to the pool, and get it back again unless the DataSource supports some sort of dead connection handling.  Most DataSource support testing a connection before giving it out (GridLink). A JTA DataSource must give out the same connection once bound to the transaction.

So, our query retry can only work with a non-JTA DataSource that has connection testing enabled.  Query retry cannot work with JTA, and transaction retry cannot work with JTA.

Our SessionBeanHA test uses a JTA DataSource, so should not be working.  The reason it works is that the RAC node failure occurs before the connection is given from the pool, and not during the execution of the query.

To fix the test to test query retry the failure should occur durring the execution of the query.  To cause this the number of objects should be increaed to 2,000 instead of 2, and the sleep decreased.

This should cause a failure in JTA, please include this failure in this bug.

To fix this failure a non-JTA DataSource should be define in the persistence.xml.  As well we should test the trnasaction retry in a non-JTA DataSource.
Comment 1 James Sutherland CLA 2010-12-15 15:41:01 EST
We also need to test our new partitioning support with an Oracle RAC.

The JPA PartitioningTests are setup to run on a RAC if Oracle is used and the hard-coded "penguin" server is used.  The hard-coded service name must be made into a test property, and these tests need to be run as part of our RAC testing.

A new suite using UCP, and GridLink will also need to be tested.
Comment 2 Eclipse Webmaster CLA 2022-06-09 10:08:44 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink