Bug 62934 - Add compatibility for JDBC drivers that do not support QueryTimeout
Summary: Add compatibility for JDBC drivers that do not support QueryTimeout
Status: RESOLVED FIXED
Alias: None
Product: JMeter
Classification: Unclassified
Component: Main (show other bugs)
Version: 2.13
Hardware: All All
: P2 enhancement (vote)
Target Milestone: JMETER_5.1
Assignee: JMeter issues mailing list
URL:
Keywords: FixedInTrunk
Depends on:
Blocks:
 
Reported: 2018-11-21 11:28 UTC by Jose Heitor
Modified: 2018-11-21 12:38 UTC (History)
1 user (show)



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jose Heitor 2018-11-21 11:28:31 UTC
[QUESTION]

How to disable JDBC request query timeout (for database drivers that do not support this feature...eg. Apache Ignite)?

[Sampler result]

Thread Name: Thread Group 1-1
Sample Start: 2018-11-20 14:41:38 SAST
Load time: 761
Connect Time: 761
Latency: 0
Size in bytes: 31
Sent bytes:0
Headers size in bytes: 0
Body size in bytes: 31
Sample Count: 1
Error Count: 1
Data type ("text"|"bin"|""): text
Response code: null 0
Response message: java.sql.SQLFeatureNotSupportedException: Query timeout is not supported.


[ANSWERS]

<bruno.fs.antunes@gmail.com>

Analysing source code on JMeter, (http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/AbstractJDBCTestElement.java?view=markup) , the timeout is always passed to the Driver.

As commented we should fill an issue in order to request that feature. I don't see we should not not have that kind of configuration; not setting and using defaults from drivers should be valid. In arguments for  timeout value should be >= 0; the 0 means there is no limit: https://docs.oracle.com/javase/10/docs/api/java/sql/Statement.html#setQueryTimeout(int)

In source code on Apache Ignite JDBC Driver (https://apacheignite-sql.readme.io/docs/jdbc-driver) we can see that setting a query timeout not supported: https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/jdbc2/JdbcStatement.java

====================================================

<shettyd@gmail.com>

Hi
as far as I can tell there isn't a way to do this (Short of downloading and
modifying the source code)- You will have to raise an enhancmeent  for
JMeter (https://jmeter.apache.org/issues.html )

AbstractJDBCTestElement.java in source code can be modified if you want to
use -1 or equivalent to represent no timeout and not call the timeout method
Comment 1 Philippe Mouawad 2018-11-21 12:38:00 UTC
Author: pmouawad
Date: Wed Nov 21 12:37:01 2018
New Revision: 1847095

URL: http://svn.apache.org/viewvc?rev=1847095&view=rev
Log:
Bug 62934 Add compatibility for JDBC drivers that do not support QueryTimeout 
Bugzilla Id: 62934

Modified:
    jmeter/trunk/src/protocol/jdbc/org/apache/jmeter/protocol/jdbc/AbstractJDBCTestElement.java
    jmeter/trunk/xdocs/changes.xml
    jmeter/trunk/xdocs/usermanual/component_reference.xml