aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-08-17 15:25:47 +0200
committerGitHub <noreply@github.com>2018-08-17 15:25:47 +0200
commit8b37789be022664d56246b4f2ffded69d2c404ae (patch)
tree43e46fdc249acaf272a7a7e3a91763cc83c68d1f
parent748725984486ddc14eeeb54c71c3017e445ef5c2 (diff)
parent7104feb928e631cdc555cf0ddc01a60f049d7ac6 (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
-rw-r--r--searchcore/src/tests/proton/documentmetastore/documentmetastore_test.cpp6
-rw-r--r--searchcore/src/vespa/searchcore/proton/attribute/flushableattribute.cpp2
-rw-r--r--searchlib/src/tests/attribute/attribute_test.cpp2
-rw-r--r--searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp6
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributevector.cpp14
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attributevector.h10
-rw-r--r--searchlib/src/vespa/searchlib/attribute/sourceselector.cpp4
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