1
0
Fork 0

move doCompact into PhysicalColletion

This commit is contained in:
Jan Christoph Uhde 2017-02-20 10:53:11 +01:00
parent f3a1f128ee
commit 071137adf6
10 changed files with 17 additions and 15 deletions

View File

@ -1422,7 +1422,7 @@ int ClusterInfo::setCollectionPropertiesCoordinator(
copy.add(key, entry.value); copy.add(key, entry.value);
} }
} }
copy.add("doCompact", VPackValue(info->doCompact())); copy.add("doCompact", VPackValue(info->getPhysical()->doCompact()));
copy.add("journalSize", VPackValue(info->getPhysical()->journalSize())); copy.add("journalSize", VPackValue(info->getPhysical()->journalSize()));
copy.add("waitForSync", VPackValue(info->waitForSync())); copy.add("waitForSync", VPackValue(info->waitForSync()));
copy.add("indexBuckets", VPackValue(info->indexBuckets())); copy.add("indexBuckets", VPackValue(info->indexBuckets()));

View File

@ -599,7 +599,7 @@ static void JS_GetCollectionInfoClusterInfo(
result->Set(TRI_V8_ASCII_STRING("deleted"), result->Set(TRI_V8_ASCII_STRING("deleted"),
v8::Boolean::New(isolate, ci->deleted())); v8::Boolean::New(isolate, ci->deleted()));
result->Set(TRI_V8_ASCII_STRING("doCompact"), result->Set(TRI_V8_ASCII_STRING("doCompact"),
v8::Boolean::New(isolate, ci->doCompact())); v8::Boolean::New(isolate, ci->getPhysical()->doCompact()));
result->Set(TRI_V8_ASCII_STRING("isSystem"), result->Set(TRI_V8_ASCII_STRING("isSystem"),
v8::Boolean::New(isolate, ci->isSystem())); v8::Boolean::New(isolate, ci->isSystem()));
result->Set(TRI_V8_ASCII_STRING("isVolatile"), result->Set(TRI_V8_ASCII_STRING("isVolatile"),

View File

@ -118,6 +118,7 @@ int MMFilesCollection::updateProperties(VPackSlice const& slice, bool doSync){
_journalSize = Helper::getNumericValue<TRI_voc_size_t>(slice, "maximalSize", _journalSize = Helper::getNumericValue<TRI_voc_size_t>(slice, "maximalSize",
_journalSize); _journalSize);
} }
_doCompact = Helper::getBooleanValue(slice, "doCompact", _doCompact);
return TRI_ERROR_NO_ERROR; return TRI_ERROR_NO_ERROR;
} }
@ -372,7 +373,9 @@ MMFilesCollection::MMFilesCollection(LogicalCollection* collection, VPackSlice c
// journalSize. paramters.json uses maximalSize // journalSize. paramters.json uses maximalSize
Helper::readNumericValue<TRI_voc_size_t>(info, "journalSize", Helper::readNumericValue<TRI_voc_size_t>(info, "journalSize",
TRI_JOURNAL_DEFAULT_SIZE))), TRI_JOURNAL_DEFAULT_SIZE))),
_useSecondaryIndexes(true) { _useSecondaryIndexes(true),
_doCompact(Helper::readBooleanValue(info, "doCompact", true))
{
setCompactionStatus("compaction not yet started"); setCompactionStatus("compaction not yet started");
} }
@ -389,6 +392,7 @@ MMFilesCollection::MMFilesCollection(LogicalCollection* logical, PhysicalCollect
_lastCompactionStamp = mmfiles._lastCompactionStamp; _lastCompactionStamp = mmfiles._lastCompactionStamp;
_journalSize = mmfiles._journalSize; _journalSize = mmfiles._journalSize;
_path = mmfiles._path; _path = mmfiles._path;
_doCompact = mmfiles._doCompact;
setCompactionStatus("compaction not yet started"); setCompactionStatus("compaction not yet started");
// not copied // not copied

View File

@ -204,6 +204,9 @@ class MMFilesCollection final : public PhysicalCollection {
int iterateMarkersOnLoad(arangodb::transaction::Methods* trx) override; int iterateMarkersOnLoad(arangodb::transaction::Methods* trx) override;
bool isFullyCollected() const override; bool isFullyCollected() const override;
bool doCompact() const override { return _doCompact; }
int64_t uncollectedLogfileEntries() const { int64_t uncollectedLogfileEntries() const {
return _uncollectedLogfileEntries.load(); return _uncollectedLogfileEntries.load();
@ -461,6 +464,7 @@ class MMFilesCollection final : public PhysicalCollection {
// whether or not secondary indexes should be filled // whether or not secondary indexes should be filled
bool _useSecondaryIndexes; bool _useSecondaryIndexes;
bool _doCompact;
}; };

View File

@ -871,7 +871,7 @@ void MMFilesCompactorThread::run() {
return; return;
} }
bool doCompact = collection->doCompact(); bool doCompact = collection->getPhysical()->doCompact();
// for document collection, compactify datafiles // for document collection, compactify datafiles
if (collection->status() == TRI_VOC_COL_STATUS_LOADED && doCompact) { if (collection->status() == TRI_VOC_COL_STATUS_LOADED && doCompact) {

View File

@ -1258,7 +1258,7 @@ int RestReplicationHandler::createCollection(VPackSlice const& slice,
TRI_ASSERT(col != nullptr); TRI_ASSERT(col != nullptr);
/* Temporary ASSERTS to prove correctness of new constructor */ /* Temporary ASSERTS to prove correctness of new constructor */
TRI_ASSERT(col->doCompact() == TRI_ASSERT(col->getPhysical()->doCompact() ==
arangodb::basics::VelocyPackHelper::getBooleanValue( arangodb::basics::VelocyPackHelper::getBooleanValue(
slice, "doCompact", true)); slice, "doCompact", true));
TRI_ASSERT( TRI_ASSERT(

View File

@ -1328,7 +1328,7 @@ static void JS_PropertiesVocbaseCol(
TRI_GET_GLOBAL_STRING(IsVolatileKey); TRI_GET_GLOBAL_STRING(IsVolatileKey);
TRI_GET_GLOBAL_STRING(JournalSizeKey); TRI_GET_GLOBAL_STRING(JournalSizeKey);
TRI_GET_GLOBAL_STRING(WaitForSyncKey); TRI_GET_GLOBAL_STRING(WaitForSyncKey);
result->Set(DoCompactKey, v8::Boolean::New(isolate, info->doCompact())); result->Set(DoCompactKey, v8::Boolean::New(isolate, info->getPhysical()->doCompact()));
result->Set(IsSystemKey, v8::Boolean::New(isolate, info->isSystem())); result->Set(IsSystemKey, v8::Boolean::New(isolate, info->isSystem()));
result->Set(IsVolatileKey, v8::Boolean::New(isolate, info->isVolatile())); result->Set(IsVolatileKey, v8::Boolean::New(isolate, info->isVolatile()));
result->Set(JournalSizeKey, v8::Number::New(isolate, static_cast<double>(info->getPhysical()->journalSize()))); result->Set(JournalSizeKey, v8::Number::New(isolate, static_cast<double>(info->getPhysical()->journalSize())));
@ -1457,7 +1457,7 @@ static void JS_PropertiesVocbaseCol(
TRI_GET_GLOBAL_STRING(IsSystemKey); TRI_GET_GLOBAL_STRING(IsSystemKey);
TRI_GET_GLOBAL_STRING(IsVolatileKey); TRI_GET_GLOBAL_STRING(IsVolatileKey);
TRI_GET_GLOBAL_STRING(JournalSizeKey); TRI_GET_GLOBAL_STRING(JournalSizeKey);
result->Set(DoCompactKey, v8::Boolean::New(isolate, collection->doCompact())); result->Set(DoCompactKey, v8::Boolean::New(isolate, collection->getPhysical()->doCompact()));
result->Set(IsSystemKey, v8::Boolean::New(isolate, collection->isSystem())); result->Set(IsSystemKey, v8::Boolean::New(isolate, collection->isSystem()));
result->Set(IsVolatileKey, result->Set(IsVolatileKey,
v8::Boolean::New(isolate, collection->isVolatile())); v8::Boolean::New(isolate, collection->isVolatile()));

View File

@ -153,7 +153,6 @@ LogicalCollection::LogicalCollection(LogicalCollection const& other)
_status(other.status()), _status(other.status()),
_isLocal(false), _isLocal(false),
_isDeleted(other._isDeleted), _isDeleted(other._isDeleted),
_doCompact(other.doCompact()),
_isSystem(other.isSystem()), _isSystem(other.isSystem()),
_isVolatile(other.isVolatile()), _isVolatile(other.isVolatile()),
_waitForSync(other.waitForSync()), _waitForSync(other.waitForSync()),
@ -203,7 +202,6 @@ LogicalCollection::LogicalCollection(TRI_vocbase_t* vocbase,
info, "status", TRI_VOC_COL_STATUS_CORRUPTED)), info, "status", TRI_VOC_COL_STATUS_CORRUPTED)),
_isLocal(!ServerState::instance()->isCoordinator()), _isLocal(!ServerState::instance()->isCoordinator()),
_isDeleted(Helper::readBooleanValue(info, "deleted", false)), _isDeleted(Helper::readBooleanValue(info, "deleted", false)),
_doCompact(Helper::readBooleanValue(info, "doCompact", true)),
_isSystem(IsSystemName(_name) && _isSystem(IsSystemName(_name) &&
Helper::readBooleanValue(info, "isSystem", false)), Helper::readBooleanValue(info, "isSystem", false)),
_isVolatile(Helper::readBooleanValue(info, "isVolatile", false)), _isVolatile(Helper::readBooleanValue(info, "isVolatile", false)),
@ -633,8 +631,6 @@ bool LogicalCollection::isLocal() const { return _isLocal; }
bool LogicalCollection::deleted() const { return _isDeleted; } bool LogicalCollection::deleted() const { return _isDeleted; }
bool LogicalCollection::doCompact() const { return _doCompact; }
bool LogicalCollection::isSystem() const { return _isSystem; } bool LogicalCollection::isSystem() const { return _isSystem; }
bool LogicalCollection::isVolatile() const { return _isVolatile; } bool LogicalCollection::isVolatile() const { return _isVolatile; }
@ -709,7 +705,7 @@ void LogicalCollection::getPropertiesVPack(VPackBuilder& result, bool translateC
result.add("type", VPackValue(static_cast<int>(_type))); result.add("type", VPackValue(static_cast<int>(_type)));
result.add("status", VPackValue(_status)); result.add("status", VPackValue(_status));
result.add("deleted", VPackValue(_isDeleted)); result.add("deleted", VPackValue(_isDeleted));
result.add("doCompact", VPackValue(_doCompact)); result.add("doCompact", VPackValue(getPhysical()->doCompact()));
result.add("isSystem", VPackValue(_isSystem)); result.add("isSystem", VPackValue(_isSystem));
result.add("isVolatile", VPackValue(_isVolatile)); result.add("isVolatile", VPackValue(_isVolatile));
result.add("waitForSync", VPackValue(_waitForSync)); result.add("waitForSync", VPackValue(_waitForSync));
@ -1047,7 +1043,6 @@ int LogicalCollection::updateProperties(VPackSlice const& slice, bool doSync) {
} }
// end of validation // end of validation
_doCompact = Helper::getBooleanValue(slice, "doCompact", _doCompact);
_waitForSync = Helper::getBooleanValue(slice, "waitForSync", _waitForSync); _waitForSync = Helper::getBooleanValue(slice, "waitForSync", _waitForSync);
getPhysical()->updateProperties(slice,doSync); getPhysical()->updateProperties(slice,doSync);
_indexBuckets = _indexBuckets =

View File

@ -162,7 +162,6 @@ class LogicalCollection {
TRI_voc_rid_t revision() const; TRI_voc_rid_t revision() const;
bool isLocal() const; bool isLocal() const;
bool deleted() const; bool deleted() const;
bool doCompact() const;
bool isSystem() const; bool isSystem() const;
bool isVolatile() const; bool isVolatile() const;
bool waitForSync() const; bool waitForSync() const;
@ -385,7 +384,6 @@ private:
// SECTION: Properties // SECTION: Properties
bool _isLocal; bool _isLocal;
bool _isDeleted; bool _isDeleted;
bool _doCompact;
bool const _isSystem; bool const _isSystem;
bool const _isVolatile; bool const _isVolatile;
bool _waitForSync; bool _waitForSync;

View File

@ -95,6 +95,7 @@ class PhysicalCollection {
virtual uint8_t const* lookupRevisionVPackConditional(TRI_voc_rid_t revisionId, TRI_voc_tick_t maxTick, bool excludeWal) const = 0; virtual uint8_t const* lookupRevisionVPackConditional(TRI_voc_rid_t revisionId, TRI_voc_tick_t maxTick, bool excludeWal) const = 0;
virtual bool isFullyCollected() const = 0; virtual bool isFullyCollected() const = 0;
virtual bool doCompact() const = 0;
//////////////////////////////////// ////////////////////////////////////
// -- SECTION Indexes -- // -- SECTION Indexes --