Author: kpvdr
Date: Wed Jan 15 22:33:26 2014
New Revision: 1558592
URL: http://svn.apache.org/r1558592
Log:
QPID-5484 [linearstore] Poor performance relative to legacystore. Partial fix:
The use of /dev/random exhausts the kernel's supply of non-deterministic random
data, and calls to read from it block until enough is available. It has been
determined that /dev/urandom is good enough for this use-case (Journal serial
numbers), and does not suffer from blocking.
Modified:
qpid/trunk/qpid/cpp/src/qpid/linearstore/ISSUES
qpid/trunk/qpid/cpp/src/qpid/linearstore/journal/JournalFile.cpp
Modified: qpid/trunk/qpid/cpp/src/qpid/linearstore/ISSUES
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/linearstore/ISSUES?rev=1558592&r1=1558591&r2=1558592&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/linearstore/ISSUES (original)
+++ qpid/trunk/qpid/cpp/src/qpid/linearstore/ISSUES Wed Jan 15 22:33:26 2014
@@ -40,12 +40,15 @@ Current/pending:
5464 - [linearstore] Incompletely created journal files accumulate
in EFP
5479 1053701 [linearstore] Using recovered store results in
"JERR_JNLF_FILEOFFSOVFL: Attempted to increase submitted offset past file size.
(JournalFile::submittedDblkCount)" error message
5480 1053749 [linearstore] Recovery of store failure with
"JERR_MAP_NOTFOUND: Key not found in map." error message
- - 1035843 Slow performance for producers
+ 5484 1035843 Slow performance for producers
- 1036026 [LinearStore] Qpid linear store unable to create durable
queue - framing-error: Queue <q-name>: create() failed: jexception 0x0000
UNABLE TO REPRODUCE - but Frantizek has additional info
- 1039522 Qpid crashes while recovering from linear store around
apid::linearstore::journal::JournalFile::getFqFileName() including
enq_rec::decode() threw JERR_JREC_BAD_RECTAIL
+ * Possible dup of 1039525
+ * May be fixed by QPID-5483 - waiting for needinfo
- 1039525 Qpid crashes while recovering from linear store around
apid::linearstore::journal::jexception::format including enq_rec::decode()
threw JERR_JREC_BAD_REC_TAIL
* Possible dup of 1039522
+ * May be fixed by QPID-5483 - waiting for needinfo
Fixed/closed:
=============
@@ -73,6 +76,10 @@ NO-JIRA - Added missing Apache co
svn r.1556892 2014-01-09: Proposed fix
5473 1051924 [linearstore] Recovery of journal in which last logical file
contains truncated record causes crash
svn r.1557620 2014-01-12: Proposed fix
+ 5483 - [linearstore] Recovery of journal with partly written record
fails with "JERR_JREC_BADRECTAIL: Invalid data record tail" error message
+ svn r.1558589 2014-01-15: Proposed fix
+ * May be linked to RHBZ 1039522 - waiting for needinfo
+ * May be linked to RHBZ 1039525 - waiting for needinfo
Future:
=======
Modified: qpid/trunk/qpid/cpp/src/qpid/linearstore/journal/JournalFile.cpp
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/linearstore/journal/JournalFile.cpp?rev=1558592&r1=1558591&r2=1558592&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/linearstore/journal/JournalFile.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/linearstore/journal/JournalFile.cpp Wed Jan 15
22:33:26 2014
@@ -279,7 +279,7 @@ const std::string JournalFile::getFileNa
//static
uint64_t JournalFile::getRandom64() {
- int randomData = ::open("/dev/random", O_RDONLY);
+ int randomData = ::open("/dev/urandom", O_RDONLY);
if (randomData < 0) {
throw jexception(); // TODO: Complete exception details
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]