On 02/06/2009, Shadar <[email protected]> wrote:
>
>  Hi Kenneth,
>
>  I had experienced the almost the exact same problem in the last two days. I
>  suspect  this is a JMeter bug and regression from 2.3.2, as the same test
>  scenario worked in 2.3.2. I posted this to the dev forum
>  
> http://www.nabble.com/Bug-report-for-JMeter-2.3.3-(regression-from-2.3.2)%3A-JDBC-error---org.postgresql.util.PSQLException%3A-This-statement-has-been-closed-td23818467.html
>  here .
>
>  By the way, in my case even a simple select (e.g. "select 1") fails with
>  this error, not only a prepared statement. Playing with the connection,
>  including setting pool size to 0, did not help.

I compared the JDBC code in 2.3.2 and 2.3.3, and could not see
anything relevant to this.

If you are sure that this is a regression - i.e. the identical JMX
file works in 2.3.2 but does not work in 2.3.3 - then please file a
Bugzilla issue (see website for details) with full details, and attach
the following:

JMX file
jmeter.log from 2.3.2 and 2.3.3

[Redact any sensitive information before attaching.]

>  -- Shaul ([email protected])
>
>
>
>
>  Kenneth Cox-2 wrote:
>  >
>  > I just started using JMeter-2.3.3 and set up a simple test plan with a
>  > postgres JDBC data source while reading the User Manual.  A simple test
>  > plan works with a Select Statement.  When I use a Prepared Select
>  > Statement instead, execution fails on the 2nd and subsequent queries with
>  > "This statement has been closed".
>  >
>  > Am I doing something obviously wrong or are Prepared Select Statements not
>  > working with jmeter-2.3.3 and postgres-8.3.7?
>  >
>  > I have read the Component Reference in the User Manual, and have googled
>  > "jmeter prepared select postgresql" and "jmeter
>  > org.postgresql.util.PSQLException: This statement has been closed."  to no
>  > avail.
>  >
>  > I have boiled the test plan down to one integer and the template1
>  > database, provided below.
>  >
>  > Thanks for any assistance,
>  > Ken
>  > --
>  > <?xml version="1.0" encoding="UTF-8"?>
>  > <jmeterTestPlan version="1.2" properties="2.1">
>  >     <hashTree>
>  >       <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test
>  > Plan" enabled="true">
>  >         <stringProp name="TestPlan.comments"></stringProp>
>  >         <boolProp name="TestPlan.functional_mode">true</boolProp>
>  >         <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
>  >         <elementProp name="TestPlan.user_defined_variables"
>  > elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments"
>  > testname="User Defined Variables" enabled="true">
>  >           <collectionProp name="Arguments.arguments"/>
>  >         </elementProp>
>  >         <stringProp name="TestPlan.user_define_classpath"></stringProp>
>  >       </TestPlan>
>  >       <hashTree>
>  >         <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup"
>  > testname="Thread Group" enabled="true">
>  >           <elementProp name="ThreadGroup.main_controller"
>  > elementType="LoopController" guiclass="LoopControlPanel"
>  > testclass="LoopController" testname="Loop Controller" enabled="true">
>  >             <boolProp
>  > name="LoopController.continue_forever">false</boolProp>
>  >             <stringProp name="LoopController.loops">2</stringProp>
>  >           </elementProp>
>  >           <stringProp name="ThreadGroup.num_threads">2</stringProp>
>  >           <stringProp name="ThreadGroup.ramp_time">0</stringProp>
>  >           <longProp name="ThreadGroup.start_time">1243879156000</longProp>
>  >           <longProp name="ThreadGroup.end_time">1243879156000</longProp>
>  >           <boolProp name="ThreadGroup.scheduler">false</boolProp>
>  >           <stringProp
>  > name="ThreadGroup.on_sample_error">continue</stringProp>
>  >           <stringProp name="ThreadGroup.duration"></stringProp>
>  >           <stringProp name="ThreadGroup.delay"></stringProp>
>  >         </ThreadGroup>
>  >         <hashTree>
>  >           <JDBCDataSource guiclass="TestBeanGUI"
>  > testclass="JDBCDataSource"
>  > testname="pool1 cfg" enabled="true">
>  >             <boolProp name="autocommit">true</boolProp>
>  >             <stringProp name="checkQuery">Select 1</stringProp>
>  >             <stringProp name="connectionAge">5000</stringProp>
>  >             <stringProp name="dataSource">pgpool1</stringProp>
>  >             <stringProp
>  > name="dbUrl">jdbc:postgresql://${dbhost}/${dbname}</stringProp>
>  >             <stringProp name="driver">org.postgresql.Driver</stringProp>
>  >             <boolProp name="keepAlive">true</boolProp>
>  >             <stringProp name="password"></stringProp>
>  >             <stringProp name="poolMax">4</stringProp>
>  >             <stringProp name="timeout">10000</stringProp>
>  >             <stringProp name="trimInterval">60000</stringProp>
>  >             <stringProp name="username">${dbuser}</stringProp>
>  >           </JDBCDataSource>
>  >           <hashTree/>
>  >           <JDBCSampler guiclass="TestBeanGUI" testclass="JDBCSampler"
>  > testname="JDBC Request" enabled="true">
>  >             <stringProp name="dataSource">pgpool1</stringProp>
>  >             <stringProp name="query">select ?</stringProp>
>  >             <stringProp name="queryArguments">1</stringProp>
>  >             <stringProp name="queryArgumentsTypes">INTEGER</stringProp>
>  >             <stringProp name="queryType">Prepared Select
>  > Statement</stringProp>
>  >             <stringProp name="variableNames"></stringProp>
>  >           </JDBCSampler>
>  >           <hashTree/>
>  >           <ResultCollector guiclass="TableVisualizer"
>  > testclass="ResultCollector" testname="View Results in Table"
>  > enabled="true">
>  >             <boolProp
>  > name="ResultCollector.error_logging">false</boolProp>
>  >             <objProp>
>  >               <name>saveConfig</name>
>  >               <value class="SampleSaveConfiguration">
>  >                 <time>true</time>
>  >                 <latency>true</latency>
>  >                 <timestamp>true</timestamp>
>  >                 <success>true</success>
>  >                 <label>true</label>
>  >                 <code>true</code>
>  >                 <message>true</message>
>  >                 <threadName>true</threadName>
>  >                 <dataType>true</dataType>
>  >                 <encoding>false</encoding>
>  >                 <assertions>true</assertions>
>  >                 <subresults>true</subresults>
>  >                 <responseData>false</responseData>
>  >                 <samplerData>false</samplerData>
>  >                 <xml>true</xml>
>  >                 <fieldNames>false</fieldNames>
>  >                 <responseHeaders>false</responseHeaders>
>  >                 <requestHeaders>false</requestHeaders>
>  >                 <responseDataOnError>false</responseDataOnError>
>  >
>  > 
> <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
>  >                 <assertionsResultsToSave>0</assertionsResultsToSave>
>  >                 <bytes>true</bytes>
>  >               </value>
>  >             </objProp>
>  >             <stringProp name="filename">/tmp/take1.log</stringProp>
>  >           </ResultCollector>
>  >           <hashTree/>
>  >         </hashTree>
>  >         <Arguments guiclass="ArgumentsPanel" testclass="Arguments"
>  > testname="User Defined Variables" enabled="true">
>  >           <collectionProp name="Arguments.arguments">
>  >             <elementProp name="dbhost" elementType="Argument">
>  >               <stringProp name="Argument.name">dbhost</stringProp>
>  >               <stringProp name="Argument.value">localhost</stringProp>
>  >               <stringProp name="Argument.metadata">=</stringProp>
>  >             </elementProp>
>  >             <elementProp name="dbname" elementType="Argument">
>  >               <stringProp name="Argument.name">dbname</stringProp>
>  >               <stringProp name="Argument.value">template1</stringProp>
>  >               <stringProp name="Argument.metadata">=</stringProp>
>  >             </elementProp>
>  >             <elementProp name="dbuser" elementType="Argument">
>  >               <stringProp name="Argument.name">dbuser</stringProp>
>  >               <stringProp name="Argument.value">postgres</stringProp>
>  >               <stringProp name="Argument.metadata">=</stringProp>
>  >             </elementProp>
>  >           </collectionProp>
>  >         </Arguments>
>  >         <hashTree/>
>  >       </hashTree>
>  >     </hashTree>
>  > </jmeterTestPlan>
>  >
>  > --
>  > Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
>  >
>  > ---------------------------------------------------------------------
>  > To unsubscribe, e-mail: [email protected]
>  > For additional commands, e-mail: [email protected]
>  >
>  >
>
> --
>  View this message in context: 
> http://www.nabble.com/jmeter-2.3.3-Prepared-Select-Statement-fails-with-%22This-statement-has-been-closed.%22-tp23821788p23831965.html
>  Sent from the JMeter - User mailing list archive at Nabble.com.
>
>
>
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail: [email protected]
>  For additional commands, e-mail: [email protected]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to