| Summary: | ODBC access to teiid does not scale concurrent connections | ||
|---|---|---|---|
| Product: | [JBoss] JBoss Enterprise SOA Platform 5 | Reporter: | Pavel Macik <pmacik> |
| Component: | EDS | Assignee: | Van Halbert <vhalbert> |
| Status: | CLOSED WONTFIX | QA Contact: | |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 5.1.0.CR1 | CC: | vhalbert |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| URL: | http://jira.jboss.org/jira/browse/SOA-2923 | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2011-10-07 08:38:05 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
The problem with using the JDBC-ODBC bridge is, it does not support concurrent access from different threads. The JDBC-ODBC Bridge uses synchronized method. Labels: Added: ODBC |
project_key: SOA To reproduce: 1.) unzip eds-qs.zip into ${SOA-P}/jboss-as/samples/quickstarts/ directory 2.) copy/move ${EDS-QS}/build.properties-example to ${EDS-QS}/build.properties 3.) the QS deploys a VDB with 2 Oracle10g datasources (you can configure (via build.properties) both to the same DB instance) 4.) copy ${EDS-QS}/lib/ojdbc14.jar to ${SOA-P}/server/${profile}/lib directory (Oracle JDBC driver) 5.) configure ${SOA-P}/server/${profile}/conf/props/teiid-security-users.properties: insert ${teiid-user}=${teiid-password} line (with particular teiid user and password values) 6.) configure ${SOA-P}/server/${profile}/deploy/teiid/teiid-jboss-beans.xml: RuntimeEngineDeployer->maxThreads=256 JdbcSocketConfiguration->maxSocketThreads=256 OdbcSocketConfiguration->maxSocketThreads=256 5.) start the server up 6.) using JDBC with following configuration send following SQL: ODBC driver installed according to https://docspace.corp.redhat.com/docs/DOC-56222. To access teiid use JDK's JDBC-ODBC bridge. JDBC: - URL: jdbc:odbc:DRIVER={PostgreSQL64};DATABASE=perf;SERVER=${soa-p bind address};PORT=35432;Uid=${teiid-user};Pwd=${teiid-password} - driver: sun.jdbc.odbc.JdbcOdbcDriver - username/password: none SQL: select * from perf.long.persons where person_id < 2000 Running with 1, 5, 50 and 200 concurrent connections the query processing speed is as follows: 1: 5.28 qps 5: 5.23 qps 50: 5.25 qps 200: 5.21 qps