| Summary: | "This is already a proxy session" exception on WLS 10.3.3 after explicitly rolling back the user transaction | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Pechkurov Andrey <a.pechkurov> | ||||||||
| Component: | Eclipselink | Assignee: | Nobody - feel free to take it <nobody> | ||||||||
| Status: | CLOSED FIXED | QA Contact: | |||||||||
| Severity: | normal | ||||||||||
| Priority: | P3 | CC: | andrei.ilitchev, eclipselink.orm-inbox | ||||||||
| Version: | unspecified | ||||||||||
| Target Milestone: | --- | ||||||||||
| Hardware: | PC | ||||||||||
| OS: | Windows XP | ||||||||||
| Whiteboard: | |||||||||||
| Attachments: |
|
||||||||||
|
Description
Pechkurov Andrey
Created attachment 177662 [details]
stacktrace
stacktrace
Created attachment 178193 [details]
patch with two disabled tests
The core problem is in WLS and it will be fixed in WLS 10.3.4.
The current patch
1) Adds debug output to connection customizer;
2) Adds a check for already opened proxy session - that should work around some (but not all!) problems: the connection released into poll without clearing its proxy session will have its old proxy session closed before starting a new one. That should fix the problem reported by the bug filer (see ProxyAuthenticationServerTestSuite.testFlushRollback);
3) Added two commented out non-Eclipselink tests: testJtaDataSource and testNonJtaDataSource that illustrate the core (WLS) problem. The tests should be uncommented when the core bug is fixed in WLS 10.3.4.
All what's left here is to wait until the core WLS bug is fixed, then uncomment the tests and close the bug.
Forgot to mention that the patch also includes change to WebLogicPlatform - it determines the version of WLS and clears statement cache only if it's required for proxy session support - which is before WLS 10.3.4. Checked the patch into both trunk (2.2) and 2.1.2 Uncommented testJtaDataSource and testNonJtaDataSource: they now run only on WLS 10.3.4, which now automatically closes proxy session before retuning connection to the pool. Moreover, it clears cached statements when open or close proxy session. Created attachment 180364 [details]
In WebLogicPlatform use getReleaseBuildVersion instead of getBuildVersion
In case no patch was applied to WLS both getBuildVersion and getReleaseBuildVersion return the same output that looks like:
WebLogic Server 10.3.3.0 Fri Apr 9 00:05:28 PDT 2010 1321401
If the patch has been applied then getReleaseBuildVersion still returns the same as without patch, but getBuildVersion returns only patch info, like:
WebLogic Server Temporary Patch for 10063883, 10173996 Tue Oct 05 11:53:05 PDT 2010
Switched form using getBuildVersion to getReleaseBuildVersion to always get the release version and therefore be able to compare versions correctly (see prev. postings).
Checked the patch into both trunk (2.2) and 2.1.2 The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink |