Author: kpvdr
Date: 2008-05-20 15:13:03 -0400 (Tue, 20 May 2008)
New Revision: 2070
Modified:
store/trunk/cpp/lib/jrnl/jcntl.cpp
Log:
Fix for BZ444593: "_st_read.increasing_interval_delayed_read test fails
intermittently with RHM_IORES_RCINVALID on qpid-test4". On slow and busy disk
systems, the wait loop can exhaust its wait count prematurely and throw an
RHM_IORES_RCINVALID while the disk is trying to catch up on previous writes and for the
initial file header read of the read synchronization to take place. The wait period was
increased from 2ms to 5ms and the count from 50 to 500 (based on observations made on some
slow disk systems).
Modified: store/trunk/cpp/lib/jrnl/jcntl.cpp
===================================================================
--- store/trunk/cpp/lib/jrnl/jcntl.cpp 2008-05-20 16:10:15 UTC (rev 2069)
+++ store/trunk/cpp/lib/jrnl/jcntl.cpp 2008-05-20 19:13:03 UTC (rev 2070)
@@ -312,8 +312,8 @@
return _rmgr.discard(dtokp);
} */
-#define MAX_RCINVALID_CNT 50
-#define RCINVALID_SLEEP_TIME_MS 2
+#define MAX_RCINVALID_CNT 500
+#define RCINVALID_SLEEP_TIME_MS 5
iores
jcntl::read_data_record(void** const datapp, std::size_t& dsize, void** const xidpp,
std::size_t& xidsize,
bool& transient, bool& external, data_tok* const dtokp)