Bug 120189
Summary: | c.a.kernel.Group#getContainedParties is broken since persistence test-qgen land | ||
---|---|---|---|
Product: | [Retired] Red Hat Web Application Framework | Reporter: | Daniel Berrangé <berrange> |
Component: | persistence | Assignee: | ccm-bugs-list |
Status: | CLOSED RAWHIDE | QA Contact: | Jon Orris <jorris> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | nightly | ||
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2004-04-07 09:06:10 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Daniel Berrangé
2004-04-06 17:00:50 UTC
I added a test case to GroupMemberTest in the KernelSuite at p4 42006. Is there an oracle version number for this? The SQL seems to run fine in my sqlplus. Yes, more investigation shows that it only affects certain oracle DBs. I have it failing on: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production Oracle9i Release 9.2.0.1.0 - Production But working on: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production Oracle9i Enterprise Edition Release 9.2.0.3.0 - Production Yes, it really does work & fail on different instances of 9.2.0.1.0, which is rather odd... That's what I was afraid of. Does someone with a metalink account want to search or loan me the account info so I can search? What versions of JDBC are you using on each of those installs? It's possible that the bug is in the JDBC driver and not oracle itself. You could also try executing the same query in sqlplus on each instance to see if we can reproduce it with no JDBC in the equation. I've searched on Metalink & it appears to be a bug fixed in 9.2.0.2.0. The work around for earlier versions of oracle is: alter session set "_PUSH_JOIN_UNION_VIEW" = false; We had this workaround present in 5.2 in the OracleConnectionPoolImpl class, but its missing from Rickshaw. The neccessary code appears to be present in c.a.util.jdbc.Connections: // XXX Use connection metadata to find out if this is the // bad oracle. Do we need to do this this often? //if (false) { // final PreparedStatement stmt = conn.prepareStatement // ("alter session set \"_push_join_union_view\" = false"); // stmt.execute(); //} We ought to be able to uncomment this & change 'if(false)' to DatabaseMetadata meta = conn.getMetaData(); if ("Oracle".equals(meta.getDatabaseProductName()) && (meta.getDatabaseProductVersion().indexOf("9.0.1") != -1 || meta.getDatabaseProductVersion().indexOf("9.2.0.1.0") != -1)) { .... } Ah, interesting. I believe when we originally encountered the bug it resulted in an 0600 rather than the syntax error. I'll submit a fix. This should be fixed as of @42010. It occurs to me that the fact that the newly added test passes for me doesn't mean much since my version of oracle doesn't have the bug, so we should probably verify this fix on the same db that is known to exhibit the problem. I've verified this fixes the problem on our unpatched Oracle DB, so marking it RAWHIDE. |