You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Rony M Sunny (JIRA)" <ji...@apache.org> on 2010/06/07 15:53:47 UTC
[jira] Created: (DBCP-336) Incorect data from data base if
connection pool size is minimum (say 1 to 3 )
Incorect data from data base if connection pool size is minimum (say 1 to 3 )
-----------------------------------------------------------------------------
Key: DBCP-336
URL: https://issues.apache.org/jira/browse/DBCP-336
Project: Commons Dbcp
Issue Type: Bug
Affects Versions: 1.4
Environment: java on linux and sql server 2005 db on windows
Reporter: Rony M Sunny
Environment:
I have a sp which return data from data base according to a criteria and i put a sleep of 700 millisecond on sp .
The connection pool configuration is very minimum compared to data accessing thread, then from multiple java thread i tried to access data for a time period of 30- 60 minute, also i put a query execution time out of 1 second,
The result is that
Some thread have not get any data from db as there is not much available connection to db in pool and can see it from the exception log , it is OK.
But the problem is that after some period time (take 30 - 60 min) data retrieved by threads are incorrect, means data retrieved is, query result of some other thread.
My connection pool configuration is here
-----------------------------------------------------------
<property name="maxIdle" value="3" description=""/>
<property name="poolInitialSize" value="1" description=""/>
<property name="testOnBorrow" value="true" description=""/>
<property name="maxStmts" value="10" description=""/>
<property name="validationQuery" value="SELECT 1" description=""/>
<property name="password" value="*****" description=""/>
<property name="url" value="jdbc:microsoft:sqlserver://192.168.29.222:1433; DatabaseName=marketsummary" description=""/>
<property name="testOnReturn" value="true" description=""/>
<property name="maxActive" value="3" description=""/>
<property name="userId" value="***" description=""/>
<property name="minIdle" value="3" description="String"/>
<property name="maxWait" value="1000" description=""/>
<property name="driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" description=""/>
----------------------------------------------------------
Please look in to this
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (DBCP-336) Incorect data from data base if
connection pool size is minimum (say 1 to 3 )
Posted by "Mark Thomas (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DBCP-336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Thomas resolved DBCP-336.
------------------------------
Resolution: Invalid
You appear to have a threading issue in your application. This is not the correct place to get help. Please use the users mailing list.
> Incorect data from data base if connection pool size is minimum (say 1 to 3 )
> -----------------------------------------------------------------------------
>
> Key: DBCP-336
> URL: https://issues.apache.org/jira/browse/DBCP-336
> Project: Commons Dbcp
> Issue Type: Bug
> Affects Versions: 1.4
> Environment: java on linux and sql server 2005 db on windows
> Reporter: Rony M Sunny
> Attachments: dbcpconnectionpooltest.zip
>
>
> Environment:
> I have a sp which return data from data base according to a criteria and i put a sleep of 700 millisecond on sp .
> The connection pool configuration is very minimum compared to data accessing thread, then from multiple java thread i tried to access data for a time period of 30- 60 minute, also i put a query execution time out of 1 second,
> The result is that
> Some thread have not get any data from db as there is not much available connection to db in pool and can see it from the exception log , it is OK.
> But the problem is that after some period time (take 30 - 60 min) data retrieved by threads are incorrect, means data retrieved is, query result of some other thread.
>
> My connection pool configuration is here
> -----------------------------------------------------------
> <property name="maxIdle" value="3" description=""/>
> <property name="poolInitialSize" value="1" description=""/>
> <property name="testOnBorrow" value="true" description=""/>
> <property name="maxStmts" value="10" description=""/>
> <property name="validationQuery" value="SELECT 1" description=""/>
> <property name="password" value="*****" description=""/>
> <property name="url" value="jdbc:microsoft:sqlserver://192.168.29.222:1433; DatabaseName=marketsummary" description=""/>
> <property name="testOnReturn" value="true" description=""/>
> <property name="maxActive" value="3" description=""/>
> <property name="userId" value="***" description=""/>
> <property name="minIdle" value="3" description="String"/>
> <property name="maxWait" value="1000" description=""/>
> <property name="driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" description=""/>
> ----------------------------------------------------------
> Please look in to this
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (DBCP-336) Incorect data from data base if
connection pool size is minimum (say 1 to 3 )
Posted by "Rony M Sunny (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DBCP-336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rony M Sunny updated DBCP-336:
------------------------------
Attachment: SQLException.log
Dear Mark
I am very sorry to come with this issue and waisting your time,
The issue is due to the jdbc driver which i am using
"com.microsoft.jdbc.sqlserver.SQLServerDriver" now i migrate to new
driver "com.microsoft.sqlserver.jdbc.SQLServerDriver" and issue was
solved.
With old driver an exception
- java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for
JDBC]The operation was cancelled at the user's request. -
occurs and after that incorrect data is getting from DB. I am
attaching that log with this mail.
Thanks very much for your support and again sorry for the
inconvenience from my side.
Regards
Rony M Sunny
2010-06-09 14:36:06,149 DEBUG DBTest:59 - Got correct result requessted scrip [26] reply [[26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26]]
2010-06-09 14:36:06,149 DEBUG DBTest:59 - Got correct result requessted scrip [23] reply [[23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23]]
2010-06-09 14:36:06,164 DEBUG DBTest:59 - Got correct result requessted scrip [27] reply [[27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27]]
2010-06-09 14:36:06,164 DEBUG DBTest:59 - Got correct result requessted scrip [22] reply [[22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22]]
2010-06-09 14:36:06,180 ERROR ConnectionPool:147 - [12] Error in request data
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]The operation was cancelled at the user's request.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.postImplExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at com.git.dbcp.ConnectionPool.requestData(ConnectionPool.java:141)
at com.git.dbcp.DBTest$1.run(DBTest.java:51)
at java.lang.Thread.run(Thread.java:619)
2010-06-09 14:36:06,211 WARN DBTest:57 - [13] ******** Got in correct data from pool requessted scrip [24] reply [[28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28]]
2010-06-09 14:36:06,211 DEBUG DBTest:59 - Got correct result requessted scrip [29] reply [[29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29]]
2010-06-09 14:36:06,211 DEBUG DBTest:59 - Got correct result requessted scrip [25] reply [[25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25]]
2010-06-09 14:36:06,211 WARN DBTest:57 - [14] ******** Got in correct data from pool requessted scrip [30] reply [[24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24]]
2010-06-09 14:36:06,274 WARN DBTest:57 - [23] ******** Got in correct data from pool requessted scrip [24] reply [[25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25]]
> Incorect data from data base if connection pool size is minimum (say 1 to 3 )
> -----------------------------------------------------------------------------
>
> Key: DBCP-336
> URL: https://issues.apache.org/jira/browse/DBCP-336
> Project: Commons Dbcp
> Issue Type: Bug
> Affects Versions: 1.4
> Environment: java on linux and sql server 2005 db on windows
> Reporter: Rony M Sunny
> Attachments: dbcpconnectionpooltest.zip, SQLException.log
>
>
> Environment:
> I have a sp which return data from data base according to a criteria and i put a sleep of 700 millisecond on sp .
> The connection pool configuration is very minimum compared to data accessing thread, then from multiple java thread i tried to access data for a time period of 30- 60 minute, also i put a query execution time out of 1 second,
> The result is that
> Some thread have not get any data from db as there is not much available connection to db in pool and can see it from the exception log , it is OK.
> But the problem is that after some period time (take 30 - 60 min) data retrieved by threads are incorrect, means data retrieved is, query result of some other thread.
>
> My connection pool configuration is here
> -----------------------------------------------------------
> <property name="maxIdle" value="3" description=""/>
> <property name="poolInitialSize" value="1" description=""/>
> <property name="testOnBorrow" value="true" description=""/>
> <property name="maxStmts" value="10" description=""/>
> <property name="validationQuery" value="SELECT 1" description=""/>
> <property name="password" value="*****" description=""/>
> <property name="url" value="jdbc:microsoft:sqlserver://192.168.29.222:1433; DatabaseName=marketsummary" description=""/>
> <property name="testOnReturn" value="true" description=""/>
> <property name="maxActive" value="3" description=""/>
> <property name="userId" value="***" description=""/>
> <property name="minIdle" value="3" description="String"/>
> <property name="maxWait" value="1000" description=""/>
> <property name="driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" description=""/>
> ----------------------------------------------------------
> Please look in to this
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (DBCP-336) Incorect data from data base if
connection pool size is minimum (say 1 to 3 )
Posted by "Rony M Sunny (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DBCP-336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rony M Sunny updated DBCP-336:
------------------------------
Attachment: dbcpconnectionpooltest.zip
I am attaching a sample code which reproduce above mentioned bug (Incorrect data from DBCP connection pool)
> Incorect data from data base if connection pool size is minimum (say 1 to 3 )
> -----------------------------------------------------------------------------
>
> Key: DBCP-336
> URL: https://issues.apache.org/jira/browse/DBCP-336
> Project: Commons Dbcp
> Issue Type: Bug
> Affects Versions: 1.4
> Environment: java on linux and sql server 2005 db on windows
> Reporter: Rony M Sunny
> Attachments: dbcpconnectionpooltest.zip
>
>
> Environment:
> I have a sp which return data from data base according to a criteria and i put a sleep of 700 millisecond on sp .
> The connection pool configuration is very minimum compared to data accessing thread, then from multiple java thread i tried to access data for a time period of 30- 60 minute, also i put a query execution time out of 1 second,
> The result is that
> Some thread have not get any data from db as there is not much available connection to db in pool and can see it from the exception log , it is OK.
> But the problem is that after some period time (take 30 - 60 min) data retrieved by threads are incorrect, means data retrieved is, query result of some other thread.
>
> My connection pool configuration is here
> -----------------------------------------------------------
> <property name="maxIdle" value="3" description=""/>
> <property name="poolInitialSize" value="1" description=""/>
> <property name="testOnBorrow" value="true" description=""/>
> <property name="maxStmts" value="10" description=""/>
> <property name="validationQuery" value="SELECT 1" description=""/>
> <property name="password" value="*****" description=""/>
> <property name="url" value="jdbc:microsoft:sqlserver://192.168.29.222:1433; DatabaseName=marketsummary" description=""/>
> <property name="testOnReturn" value="true" description=""/>
> <property name="maxActive" value="3" description=""/>
> <property name="userId" value="***" description=""/>
> <property name="minIdle" value="3" description="String"/>
> <property name="maxWait" value="1000" description=""/>
> <property name="driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" description=""/>
> ----------------------------------------------------------
> Please look in to this
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (DBCP-336) Incorect data from data base if
connection pool size is minimum (say 1 to 3 )
Posted by "Phil Steitz (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DBCP-336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Phil Steitz closed DBCP-336.
----------------------------
> Incorect data from data base if connection pool size is minimum (say 1 to 3 )
> -----------------------------------------------------------------------------
>
> Key: DBCP-336
> URL: https://issues.apache.org/jira/browse/DBCP-336
> Project: Commons Dbcp
> Issue Type: Bug
> Affects Versions: 1.4
> Environment: java on linux and sql server 2005 db on windows
> Reporter: Rony M Sunny
> Attachments: dbcpconnectionpooltest.zip, SQLException.log
>
>
> Environment:
> I have a sp which return data from data base according to a criteria and i put a sleep of 700 millisecond on sp .
> The connection pool configuration is very minimum compared to data accessing thread, then from multiple java thread i tried to access data for a time period of 30- 60 minute, also i put a query execution time out of 1 second,
> The result is that
> Some thread have not get any data from db as there is not much available connection to db in pool and can see it from the exception log , it is OK.
> But the problem is that after some period time (take 30 - 60 min) data retrieved by threads are incorrect, means data retrieved is, query result of some other thread.
>
> My connection pool configuration is here
> -----------------------------------------------------------
> <property name="maxIdle" value="3" description=""/>
> <property name="poolInitialSize" value="1" description=""/>
> <property name="testOnBorrow" value="true" description=""/>
> <property name="maxStmts" value="10" description=""/>
> <property name="validationQuery" value="SELECT 1" description=""/>
> <property name="password" value="*****" description=""/>
> <property name="url" value="jdbc:microsoft:sqlserver://192.168.29.222:1433; DatabaseName=marketsummary" description=""/>
> <property name="testOnReturn" value="true" description=""/>
> <property name="maxActive" value="3" description=""/>
> <property name="userId" value="***" description=""/>
> <property name="minIdle" value="3" description="String"/>
> <property name="maxWait" value="1000" description=""/>
> <property name="driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" description=""/>
> ----------------------------------------------------------
> Please look in to this
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.