mirror of
https://github.com/privacore/open-source-search-engine.git
synced 2025-07-11 02:16:07 -04:00
Better encapsulation of RdbBase
This commit is contained in:
14
Msg3.cpp
14
Msg3.cpp
@ -274,17 +274,17 @@ bool Msg3::readList ( rdbid_t rdbId,
|
||||
"net: msg3: "
|
||||
"c=%" PRId32" hmf=%" PRId32" sfn=%" PRId32" msfn=%" PRId32" nf=%" PRId32" db=%s.",
|
||||
(int32_t)compensateForMerge,(int32_t)base->hasMergeFile(),
|
||||
(int32_t)startFileNum,(int32_t)base->m_mergeStartFileNum-1,
|
||||
(int32_t)startFileNum,(int32_t)base->mergeStartFileNum()-1,
|
||||
(int32_t)numFiles,base->m_dbname);
|
||||
int32_t pre = -10;
|
||||
if ( compensateForMerge && base->hasMergeFile() ) {
|
||||
if ( startFileNum >= base->m_mergeStartFileNum - 1 &&
|
||||
if ( startFileNum >= base->mergeStartFileNum() - 1 &&
|
||||
(startFileNum > 0 || numFiles != -1) ) {
|
||||
// now also include the file being merged into, but only
|
||||
// if we are reading from a file being merged...
|
||||
if ( startFileNum < base->m_mergeStartFileNum +
|
||||
base->m_numFilesToMerge - 1 )
|
||||
pre = base->m_mergeStartFileNum - 1;
|
||||
if ( startFileNum < base->mergeStartFileNum() +
|
||||
base->numFilesToMerge() - 1 )
|
||||
pre = base->mergeStartFileNum() - 1;
|
||||
if ( g_conf.m_logDebugQuery )
|
||||
log(LOG_DEBUG,
|
||||
"net: msg3: startFileNum from %" PRId32" to %" PRId32" (mfn=%" PRId32")",
|
||||
@ -293,9 +293,9 @@ bool Msg3::readList ( rdbid_t rdbId,
|
||||
startFileNum++;
|
||||
}
|
||||
// adjust num files if we need to, as well
|
||||
if ( startFileNum < base->m_mergeStartFileNum - 1 &&
|
||||
if ( startFileNum < base->mergeStartFileNum() - 1 &&
|
||||
numFiles != -1 &&
|
||||
startFileNum + numFiles - 1 >= base->m_mergeStartFileNum - 1 ) {
|
||||
startFileNum + numFiles - 1 >= base->mergeStartFileNum() - 1 ) {
|
||||
if ( g_conf.m_logDebugQuery )
|
||||
log(LOG_DEBUG,"net: msg3: numFiles up one.");
|
||||
// if merge file was inserted before us, inc our file number
|
||||
|
16
RdbBase.h
16
RdbBase.h
@ -230,6 +230,10 @@ class RdbBase {
|
||||
|
||||
void forceNextMerge() { m_nextMergeForced = true; }
|
||||
|
||||
//msg3 needs to know so it can compensate for ongoing merges
|
||||
int32_t mergeStartFileNum() const { return m_mergeStartFileNum; }
|
||||
int32_t numFilesToMerge() const { return m_numFilesToMerge; }
|
||||
|
||||
private:
|
||||
bool parseFilename( const char* filename, int32_t *p_fileId, int32_t *p_fileId2,
|
||||
int32_t *p_mergeNum, int32_t *p_endMergeFileId );
|
||||
@ -291,12 +295,6 @@ public:
|
||||
|
||||
int32_t m_maxTreeMem ; // max mem tree can use, dump at 90% of this
|
||||
|
||||
int32_t m_minToMergeArg;
|
||||
int32_t m_minToMerge; // need at least this many files b4 merging
|
||||
int32_t m_absMaxFiles;
|
||||
int32_t m_numFilesToMerge ;
|
||||
int32_t m_mergeStartFileNum ;
|
||||
|
||||
private:
|
||||
static void unlinkDoneWrapper(void *state);
|
||||
void unlinkDone();
|
||||
@ -304,6 +302,12 @@ private:
|
||||
static void checkThreadsAgainWrapper(int /*fd*/, void *state);
|
||||
void renameDone();
|
||||
|
||||
int32_t m_minToMergeArg;
|
||||
int32_t m_minToMerge; // need at least this many files b4 merging
|
||||
int32_t m_absMaxFiles;
|
||||
int32_t m_numFilesToMerge ;
|
||||
int32_t m_mergeStartFileNum ;
|
||||
|
||||
// should our next merge in waiting force itself?
|
||||
bool m_nextMergeForced;
|
||||
|
||||
|
Reference in New Issue
Block a user