diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-08-17 15:25:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-17 15:25:47 +0200 |
commit | 8b37789be022664d56246b4f2ffded69d2c404ae (patch) | |
tree | 43e46fdc249acaf272a7a7e3a91763cc83c68d1f | |
parent | 748725984486ddc14eeeb54c71c3017e445ef5c2 (diff) | |
parent | 7104feb928e631cdc555cf0ddc01a60f049d7ac6 (diff) |
Merge pull request #6615 from vespa-engine/toregge/pass-file-name-to-attribute-vector-save-method
Pass file name to attribute vector save method
7 files changed, 13 insertions, 31 deletions
diff --git a/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp b/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp index 0a2f4973ce2..835e37d4114 100644 --- a/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp +++ b/searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp @@ -618,7 +618,7 @@ TEST("requireThatGidsCanBeSavedAndLoaded") TuneFileAttributes tuneFileAttributes; DummyFileHeaderContext fileHeaderContext; AttributeFileSaveTarget saveTarget(tuneFileAttributes, fileHeaderContext); - EXPECT_TRUE(dms1.saveAs("documentmetastore2", saveTarget)); + EXPECT_TRUE(dms1.save(saveTarget, "documentmetastore2")); DocumentMetaStore dms2(createBucketDB(), "documentmetastore2"); EXPECT_TRUE(dms2.load()); @@ -2037,9 +2037,9 @@ TEST("require that document sizes are saved") TuneFileAttributes tuneFileAttributes; DummyFileHeaderContext fileHeaderContext; AttributeFileSaveTarget saveTarget(tuneFileAttributes, fileHeaderContext); - EXPECT_TRUE(dms1.saveAs("documentmetastore3", saveTarget)); + EXPECT_TRUE(dms1.save(saveTarget, "documentmetastore3")); dms1.setTrackDocumentSizes(false); - EXPECT_TRUE(dms1.saveAs("documentmetastore4", saveTarget)); + EXPECT_TRUE(dms1.save(saveTarget, "documentmetastore4")); DocumentMetaStore dms3(createBucketDB(), "documentmetastore3"); EXPECT_TRUE(dms3.load()); diff --git a/searchcore/src/vespa/searchcore/proton/attribute/flushableattribute.cpp b/searchcore/src/vespa/searchcore/proton/attribute/flushableattribute.cpp index 6c2484eccdb..a33612a46e4 100644 --- a/searchcore/src/vespa/searchcore/proton/attribute/flushableattribute.cpp +++ b/searchcore/src/vespa/searchcore/proton/attribute/flushableattribute.cpp @@ -75,7 +75,7 @@ FlushableAttribute::Flusher::Flusher(FlushableAttribute & fattr, SerialNum syncT _saver = attr.initSave(_flushFile); if (!_saver) { // New style background save not available, use old style save. - attr.save(_saveTarget); + attr.save(_saveTarget, _flushFile); } } diff --git a/searchlib/src/tests/attribute/attribute_test.cpp b/searchlib/src/tests/attribute/attribute_test.cpp index 32ac836302a..5d0c4336a34 100644 --- a/searchlib/src/tests/attribute/attribute_test.cpp +++ b/searchlib/src/tests/attribute/attribute_test.cpp @@ -725,7 +725,7 @@ AttributeTest::testMemorySaver(const AttributePtr & a, const AttributePtr & b) LOG(info, "testMemorySaver: vector '%s'", a->getName().c_str()); AttributeMemorySaveTarget saveTarget; - EXPECT_TRUE(a->saveAs(b->getBaseFileName(), saveTarget)); + EXPECT_TRUE(a->save(saveTarget, b->getBaseFileName())); FastOS_StatInfo statInfo; vespalib::string datFile = vespalib::make_string("%s.dat", b->getBaseFileName().c_str()); EXPECT_TRUE(!FastOS_File::Stat(datFile.c_str(), &statInfo)); diff --git a/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp b/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp index 7fb915a6175..14a1f113f1d 100644 --- a/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp +++ b/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp @@ -566,7 +566,7 @@ MemAttr::SP EnumeratedSaveTest::saveMem(AttributeVector &v) { MemAttr::SP res(new MemAttr); - EXPECT_TRUE(v.save(*res)); + EXPECT_TRUE(v.save(*res, v.getBaseFileName())); return res; } @@ -577,7 +577,7 @@ EnumeratedSaveTest::checkMem(AttributeVector &v, const MemAttr &e, { MemAttr m; v.enableEnumeratedSave(enumerated); - EXPECT_TRUE(v.save(m)); + EXPECT_TRUE(v.save(m, v.getBaseFileName())); v.enableEnumeratedSave(false); ASSERT_TRUE(m == e); } @@ -597,7 +597,7 @@ EnumeratedSaveTest::saveBoth(AttributePtr v) search::AttributeMemorySaveTarget ms; search::TuneFileAttributes tune; search::index::DummyFileHeaderContext fileHeaderContext; - EXPECT_TRUE(v2->saveAs(basename + "_ee", ms)); + EXPECT_TRUE(v2->save(ms, basename + "_ee")); EXPECT_TRUE(ms.writeToFile(tune, fileHeaderContext)); } return saveMem(*v2); diff --git a/searchlib/src/vespa/searchlib/attribute/attributevector.cpp b/searchlib/src/vespa/searchlib/attribute/attributevector.cpp index 62b55964f32..f447a3b6bf9 100644 --- a/searchlib/src/vespa/searchlib/attribute/attributevector.cpp +++ b/searchlib/src/vespa/searchlib/attribute/attributevector.cpp @@ -390,29 +390,19 @@ AttributeVector::saveAs(vespalib::stringref baseFileName) } bool -AttributeVector::saveAs(vespalib::stringref baseFileName, - IAttributeSaveTarget & saveTarget) -{ - _baseFileName = baseFileName; - return save(saveTarget); -} - - -bool AttributeVector::save() { TuneFileAttributes tune; DummyFileHeaderContext fileHeaderContext; AttributeFileSaveTarget saveTarget(tune, fileHeaderContext); - return save(saveTarget); + return save(saveTarget, getBaseFileName()); } bool -AttributeVector::save(IAttributeSaveTarget &saveTarget) +AttributeVector::save(IAttributeSaveTarget &saveTarget, vespalib::stringref fileName) { commit(); - vespalib::string fileName = getBaseFileName(); // First check if new style save is available. std::unique_ptr<AttributeSaver> saver(onInitSave(fileName)); if (saver) { diff --git a/searchlib/src/vespa/searchlib/attribute/attributevector.h b/searchlib/src/vespa/searchlib/attribute/attributevector.h index 3182f64ad6f..a9964f209f8 100644 --- a/searchlib/src/vespa/searchlib/attribute/attributevector.h +++ b/searchlib/src/vespa/searchlib/attribute/attributevector.h @@ -439,17 +439,11 @@ public: */ bool saveAs(vespalib::stringref baseFileName); - /** - * Updates the base file name of this attribute vector and saves - * it using the given saveTarget - */ - bool saveAs(vespalib::stringref baseFileName, IAttributeSaveTarget &saveTarget); - /** Saves this attribute vector to file(s) **/ bool save(); - /** Saves this attribute vector using the given saveTarget **/ - bool save(IAttributeSaveTarget & saveTarget); + /** Saves this attribute vector using the given saveTarget and fileName **/ + bool save(IAttributeSaveTarget & saveTarget, vespalib::stringref fileName); attribute::AttributeHeader createAttributeHeader(vespalib::stringref fileName) const; diff --git a/searchlib/src/vespa/searchlib/attribute/sourceselector.cpp b/searchlib/src/vespa/searchlib/attribute/sourceselector.cpp index 70db6e87559..1b4e221d99e 100644 --- a/searchlib/src/vespa/searchlib/attribute/sourceselector.cpp +++ b/searchlib/src/vespa/searchlib/attribute/sourceselector.cpp @@ -59,9 +59,7 @@ SourceSelector::SaveInfo::SaveInfo(const vespalib::string & baseFileName, : _header(baseFileName, defaultSource, baseId, docIdLimit), _memSaver() { - vespalib::string attrName = sourceStore.getBaseFileName(); - sourceStore.saveAs(_header._baseFileName, _memSaver); - sourceStore.setBaseFileName(attrName); + sourceStore.save(_memSaver, _header._baseFileName); } bool |