Forum Discussion

Tieto_Deutschla's avatar
Tieto_Deutschla
Occasional Contributor
15 years ago

[SOLVED] Restarting shared Datasource does not work

Scenario:

Step 1:   Datasource   (2 rows in the table)
Step 2:   Calling webservice
Step 3:   Datasource loop

Datasource is configured with "Shared" and "Restart Shared"

Starting a Load test (1 Thread, 30 seconds, simple strategy) results in:
               
                            cnt
Datasource           75
webservice call       2
Datasource Loop    2


=>  soapUI takes only the two rows out of DB table but does not / fails to restart datasource.

Load Test Log shows 74 error messages:

TestStep [DataSource] result status is FAILED:  java.sql.SQLException:  Getrennte Verbindung    (translation: connection closed)

SoapUI 3.0.1 pro / Oracle10g (10.2.0.3)


BR,
Alexander Knauer

9 Replies

  • Tieto_Deutschla's avatar
    Tieto_Deutschla
    Occasional Contributor
    Update:

    I have tried same scenario  using  FirebirdSQL  instead of Oracel.

    Same behaviour / error:

                                cnt
    Datasource           75
    webservice call       2
    Datasource Loop    2

    TestStep [DataSource] result status is FAILED:  org.firebirdsql.jdbc.FBSQLException: Statement is closed.


    It seems that soapUI does not re-execute the SQL statement correctly when restarting the datasource!

    UPDATE:

    Error log:

    FirebirdSQL:

    org.firebirdsql.jdbc.FBSQLException: Statement is closed
    at org.firebirdsql.jdbc.AbstractStatement.execute(AbstractStatement.java:567)
    at com.eviware.soapui.impl.wsdl.teststeps.datasource.DBDataSource.load(SourceFile:104)
    at com.eviware.soapui.impl.wsdl.teststeps.WsdlDataSourceTestStep.next(SourceFile:478)
    at com.eviware.soapui.impl.wsdl.teststeps.WsdlDataSourceTestStep.run(SourceFile:135)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:197)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:128)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
    at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:137)
    at com.eviware.soapui.impl.wsdl.loadtest.WsdlLoadTestRunner$InternalTestCaseRunner.run(WsdlLoadTestRunner.java:516)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)




    Oracle:


    java.sql.SQLException: Getrennte Verbindung
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
    at oracle.jdbc.driver.OracleStatement.ensureOpen(OracleStatement.java:3521)
    at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1677)
    at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1662)
    at com.eviware.soapui.impl.wsdl.teststeps.datasource.DBDataSource.load(SourceFile:104)
    at com.eviware.soapui.impl.wsdl.teststeps.WsdlDataSourceTestStep.next(SourceFile:478)
    at com.eviware.soapui.impl.wsdl.teststeps.WsdlDataSourceTestStep.run(SourceFile:135)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:197)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:128)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
    at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:137)
    at com.eviware.soapui.impl.wsdl.loadtest.WsdlLoadTestRunner$InternalTestCaseRunner.run(WsdlLoadTestRunner.java:516)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
  • Tieto_Deutschla's avatar
    Tieto_Deutschla
    Occasional Contributor
    Same error with Microsoft SQL Server:

    com.microsoft.sqlserver.jdbc.SQLServerException: Die Verbindung wurde geschlossen.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:170)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed(SQLServerConnection.java:304)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.checkClosed(SQLServerStatement.java:904)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.execute(SQLServerStatement.java:657)
    at com.eviware.soapui.impl.wsdl.teststeps.datasource.DBDataSource.load(SourceFile:104)
    at com.eviware.soapui.impl.wsdl.teststeps.WsdlDataSourceTestStep.next(SourceFile:478)
    at com.eviware.soapui.impl.wsdl.teststeps.WsdlDataSourceTestStep.run(SourceFile:135)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runTestStep(WsdlTestCaseRunner.java:197)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:128)
    at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.internalRun(WsdlTestCaseRunner.java:39)
    at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:137)
    at com.eviware.soapui.impl.wsdl.loadtest.WsdlLoadTestRunner$InternalTestCaseRunner.run(WsdlLoadTestRunner.java:516)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)




    Die Verbindung wurde geschlossen.  =>  Translation:  The connection has been closed
  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    Hi,

    I can confirm this as a bug. We'll let you know as soon as we have solved it. In the meantime, since you are using one thread anyway, you can uncheck "Shared" and leave only "Restart shared". That way your load test will work.

    Regards,

    /Dragica
    eviware.com
  • Tieto_Deutschla's avatar
    Tieto_Deutschla
    Occasional Contributor
    Hello Dragica,

    thank you for information.  Hope it can be fixed quickly.

    Using one thread was just for test purposes.  For production load testing multiple threads are mandatory.

    BR,
    Alexander Knauer
  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    Hi Alexander,

    there is a new build coming out in about 30 minutes, can you give that a go to see if it works better?

    regards!

    /Ole
    eviware.com
  • Tieto_Deutschla's avatar
    Tieto_Deutschla
    Occasional Contributor
    Great, thanks for the quick work.

    Where can I find this build? on the nightly build page?

    Alex
  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    Hi Alex,

    yes.. it just finished.. it depends a bit on your setup how well this is going to work.. let us know!

    regards,

    /Ole
    eviware.com
  • Tieto_Deutschla's avatar
    Tieto_Deutschla
    Occasional Contributor
    Hi Ole,

    it looks quite good, test with  1 thread,  30 seconds, 2 records in database:

                                      cnt
    DataSource-Step:      49
    SOAP-Request Step:  98


    test with 2 threads, 30 seconds 2 records in database

                                      cnt
    DataSource-Step:      103
    SOAP-Request Step:  206

    test with 5 threads, 30 seconds 2 records in database

                                      cnt
    DataSource-Step:      270
    SOAP-Request Step:  540


    So I would say it is fixed    Thank you.

    Regards,
    Alex
  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    Hi Alex,

    great, thank you for testing and getting back to us.. and reporting the issue in the first place.. keep up the good work :-)

    regards!

    /Ole
    eviware.com