reqlog: don't divide by zero when longreq_log_freq_sec is 0 - #6174
reqlog: don't divide by zero when longreq_log_freq_sec is 0#6174markhannum wants to merge 1 commit into
Conversation
9917d3d to
32ff759
Compare
roborivers
left a comment
There was a problem hiding this comment.
Cbuild submission: Error ⚠.
Regression testing: Success ✓.
The first 10 failing tests are:
timepart_retro
unionpar_maxqueue
sc_resume_logicalsc_generated **quarantined**
sc_resume
sc_partial_datacopy
sc_partial_datacopy_logicalsc_generated **quarantined**
sc_datacopy_logicalsc_generated **quarantined**
sc_datacopy
idxexpr_alltypes
timepart_trunc_serialsc_generated
roborivers
left a comment
There was a problem hiding this comment.
Cbuild submission: Error ⚠.
Regression testing: Success ✓.
The first 10 failing tests are:
sc_constraints
sc_constraints_logicalsc_generated
timepart_retro
unionpar_maxqueue
sc_resume
sc_resume_logicalsc_generated **quarantined**
sc_partial_datacopy
sc_partial_datacopy_logicalsc_generated **quarantined**
sc_datacopy_logicalsc_generated **quarantined**
sc_datacopy
32ff759 to
1c7dc03
Compare
reqlog_long_running_clnt() uses the tunable as a modulus, but reqlog_log_all_longreqs() only rejected negatives, so setting it to 0 took the watchdog thread down with SIGFPE. Treat <= 0 as disabled. Adds longreq_freq_divzero.test. Signed-off-by: Mark Hannum <[email protected]>
1c7dc03 to
da1e30f
Compare
roborivers
left a comment
There was a problem hiding this comment.
Cbuild submission: Error ⚠.
Regression testing: Success ✓.
The first 10 failing tests are:
consumer_non_atomic_default_consumer_generated **quarantined**
sc_downgrade [timeout] **quarantined**
reco-ddlk-sql [timeout] **quarantined**
reqlog_long_running_clnt()usesgbl_longreq_log_freq_secas a modulus, butreqlog_log_all_longreqs()only rejected negatives. The tunable is runtime-settable and not READONLY, so setting it to 0 is an integer divide-by-zero in the watchdog thread: one slow query takes the node down.Treat
<= 0as disabled, matching thegbl_sql_time_thresholdcheck beside it.Test:
longreq_freq_divzero.