Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

frequently ORA-01013 errors #915

Closed
tkleiber opened this issue Apr 11, 2019 · 9 comments
Closed

frequently ORA-01013 errors #915

tkleiber opened this issue Apr 11, 2019 · 9 comments
Milestone

Comments

@tkleiber
Copy link

@tkleiber tkleiber commented Apr 11, 2019

With the new versions I get frequently follwing errors, which I did not see 3.1.3 before.

`
/data/utPLSQL-cli/bin/utplsql run /@:/--color --path=,****--failure-exit-code=0 --timeout=240 --format=ut_documentation_reporter -o=ut_documentation_reporter_db.log -s --format=ut_xunit_reporter -o=ut_xunit_reporter.xml --format=ut_coverage_html_reporter -o=ut_coverage_html_reporter.html
Picked up _JAVA_OPTIONS: -Duser.language=en

########## utPLSQL cli ###########
# #
# utPLSQL-cli 3.1.6.local #
# utPLSQL-java-api 3.1.6.411 #
# Java-Version: 1.8.0_66 #
# ORACLE_HOME: null #
# NLS_LANG: null #
# #
# Thanks for testing! #
# #
##################################

Use connection string jdbc:oracle:thin:/@:/****
Successfully connected to database. UtPLSQL core: v3.1.6.2735
Oracle-Version: 11.2.0.4.0
java.sql.SQLTimeoutException: ORA-01013: Benutzer hat Abbruch des aktuellen Vorgangs angefordert
ORA-06512: in "UT3.UT_OUTPUT_TABLE_BUFFER", Zeile 198
ORA-06512: in "UT3.UT_OUTPUT_TABLE_BUFFER", Zeile 24
ORA-06512: in "UT3.UT_OUTPUT_REPORTER_BASE", Zeile 27
ORA-06512: in "UT3.UT_XUNIT_REPORTER", Zeile 21
ORA-06512: in Zeile 1
ORA-06512: in Zeile 1

at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:446)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1052)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:537)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:255)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:610)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:249)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:82)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:924)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1136)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3640)
at oracle.jdbc.driver.T4CCallableStatement.executeInternal(T4CCallableStatement.java:1318)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3752)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4242)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1079)
at org.utplsql.api.outputBuffer.OutputBufferProvider.hasOutput(OutputBufferProvider.java:67)
at org.utplsql.api.outputBuffer.OutputBufferProvider.getCompatibleOutputBuffer(OutputBufferProvider.java:33)
at org.utplsql.api.compatibility.CompatibilityProxy.getOutputBuffer(CompatibilityProxy.java:169)
at org.utplsql.api.reporter.DefaultReporter.initOutputBuffer(DefaultReporter.java:21)
at org.utplsql.api.reporter.Reporter.init(Reporter.java:51)
at org.utplsql.cli.ReporterManager.initReporters(ReporterManager.java:90)
at org.utplsql.cli.RunCommand.initReporters(RunCommand.java:296)
at org.utplsql.cli.RunCommand.doRun(RunCommand.java:157)
at org.utplsql.cli.RunCommand.run(RunCommand.java:216)
at org.utplsql.cli.Cli.runWithExitCode(Cli.java:42)
at org.utplsql.cli.Cli.main(Cli.java:14)

Caused by: Error : 1013, Position : 0, Sql = declare l_result int;begin begin execute immediate ' begin :x := case ' || dbms_assert.simple_sql_name( :1 ) || '() is of (ut_output_reporter_base) when true then 1 else 0 end; end;' using out l_result; end; :2 := l_result;end;, OriginalSql = declare l_result int;begin begin execute immediate ' begin :x := case ' || dbms_assert.simple_sql_name( ? ) || '() is of (ut_output_reporter_base) when true then 1 else 0 end; end;' using out l_result; end; ? := l_result;end;, Error Msg = ORA-01013: Benutzer hat Abbruch des aktuellen Vorgangs angefordert
ORA-06512: in "UT3.UT_OUTPUT_TABLE_BUFFER", Zeile 198
ORA-06512: in "UT3.UT_OUTPUT_TABLE_BUFFER", Zeile 24
ORA-06512: in "UT3.UT_OUTPUT_REPORTER_BASE", Zeile 27
ORA-06512: in "UT3.UT_XUNIT_REPORTER", Zeile 21
ORA-06512: in Zeile 1
ORA-06512: in Zeile 1

at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498)
... 25 more

`

@pesse
Copy link
Member

@pesse pesse commented Apr 11, 2019

Hi @tkleiber , thanks for reporting.
Does cli abort with this error or is it "just" part of the output?
Can you provoke this behavior with -d parameter set and provide the log (you can reach out to me via slack or email in private if you prefer to)

Loading

@tkleiber
Copy link
Author

@tkleiber tkleiber commented Apr 11, 2019

It aborts!
Have to duplicate the calling code from a jenkins library before I can add the switch, needs some minutes!

Loading

@tkleiber
Copy link
Author

@tkleiber tkleiber commented Apr 11, 2019

After a quick look at the error stack I see the following line:
ORA-06512: in "UT3.UT_OUTPUT_TABLE_BUFFER", Zeile 198
There I found:

delete from ut_output_buffer_tmp t
 where t.output_id
    in (select i.output_id from ut_output_buffer_info_tmp i where i.start_date <= l_max_retention_date);

delete from ut_output_buffer_info_tmp i where i.start_date <= l_max_retention_date;
commit;

After truncating the underlying table UT_OUTPUT_BUFFER_TMP$ (2.316.776 rows) now the cli jobs starts again.

The second underlying UT3.UT_OUTPUT_BUFFER_INFO_TMP$ (36 rows) cannot be truncated because of foreign keys.

Loading

@pesse
Copy link
Member

@pesse pesse commented Apr 11, 2019

Would you open an issue in the main utPLSQL project, because this is not related to cli?
Great finding - I wonder if we need some different cleanup method @jgebal in case of large amounts of results

Loading

@tkleiber
Copy link
Author

@tkleiber tkleiber commented May 2, 2019

Loading

@pesse pesse transferred this issue from utPLSQL/utPLSQL-cli May 10, 2019
@pesse
Copy link
Member

@pesse pesse commented May 10, 2019

Done. Thanks for the tip - learned something new today :)

Loading

@jgebal
Copy link
Member

@jgebal jgebal commented May 10, 2019

Hi @tkleiber,
Would you be able to install utPLSQL 3.1.7-develop (from our develop branch)?
There were following fixes done to the output buffer table after 3.1.6:

  1. separated clob buffer table from varchar2 buffer table. varchar2 is default for most reporters (as it used to be)
  2. clob buffer table has it's storage changed to enable in-row storage for small clob data (up to 4k)

With those two improvements, you should not see the timeout anymore.
One thing to consider though would be why did you end up with polluted buffer. It seems that your previous runs were not finishing cleanly and the data was not flushed from the buffer.

From what I remember, your schema is quite big and the coverage reports were quite heavy which would fit to the number of rows left in buffer.

Loading

@jgebal jgebal added this to the v3.1.7 milestone May 10, 2019
@tkleiber
Copy link
Author

@tkleiber tkleiber commented May 13, 2019

Have installed v3.1.7.29.28-develop. Will see if the error goes away in the next days, as it was not reproducible at will.

Sometimes I see before follwoing error in cli call too, but not in the direct call before the error happens:

Finished in 1363,215123 seconds
1407 tests, 57 failed, 181 errored, 5 disabled, 1 warning(s)
Timeout while waiting for reporters to finish for 240 minutes

Loading

@tkleiber
Copy link
Author

@tkleiber tkleiber commented May 23, 2019

In the last 10 days nether the ORA-1013 nor the Timeout error happens with v3.1.7.29.28-develop!

Loading

@tkleiber tkleiber closed this May 23, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants