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

dbms_alert test errors under high load #193

Closed
kav23alex opened this issue Sep 9, 2022 · 2 comments
Closed

dbms_alert test errors under high load #193

kav23alex opened this issue Sep 9, 2022 · 2 comments

Comments

@kav23alex
Copy link

Under very high load, dbms_alert* tests may fail due to timeouts.
We have applied a workaround in the form of increasing the timeouts for the dbms_alert tests
sed -i 's/\(sleep(\)/\110*/; s/\(waitany(\)/\110*/; s/\(waitone([^,]\+,\)/\110*/' */dbms_alert*

one example test error:

2022-07-12 14:23:23.351 MSK [10079] LOG:  statement: SELECT dbms_alert.signal('b1','Transaction still running');
2022-07-12 14:23:23.359 MSK [10077] LOG:  statement: COMMIT;
2022-07-12 14:23:23.359 MSK [10077] LOG:  statement: /* The signal is received after transaction completed.
         * After this the tds signal is received in session B indicating that the
         * signal is received only after commit.
         */
        SELECT dbms_alert.waitone('b1',20);
2022-07-12 14:23:43.361 MSK [10077] PANIC:  timeout in waitone
2022-07-12 14:23:43.361 MSK [10077] STATEMENT:  /* The signal is received after transaction completed.
         * After this the tds signal is received in session B indicating that the
         * signal is received only after commit.
         */
        SELECT dbms_alert.waitone('b1',20);
2022-07-12 14:23:48.604 MSK [9428] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-07-12 14:23:50.212 MSK [10079] LOG:  statement: SELECT dbms_alert.signal('b1','Transaction committed');

There are 27 seconds between sending the first and second 'b1' signals to session_B, so waitone('b1',20) in session_A times out.

timeouts have been reduced on commit df69815.
What about using advisory locks to synchronize sessions or just converting those tests to isolation tests?

@okbob
Copy link
Contributor

okbob commented Sep 9, 2022 via email

@okbob
Copy link
Contributor

okbob commented Jan 22, 2023

should be fixed by 072af84 please check

@okbob okbob closed this as completed Feb 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants