aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-11-18 14:30:35 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2019-11-18 14:30:35 +0000
commita65c5f165553d4b954151e671b770706a749b727 (patch)
tree6429f124ff8b109289fdb911d74cc2128a4c8393 /searchlib
parent24be87327ebbff702d113084b0ef87fd194c0ef4 (diff)
Specify UTC explicit
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/tests/docstore/document_store/document_store_test.cpp2
-rw-r--r--searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp10
-rw-r--r--searchlib/src/tests/util/bufferwriter/bm.cpp7
-rw-r--r--searchlib/src/vespa/searchlib/common/fileheadercontext.cpp18
-rw-r--r--searchlib/src/vespa/searchlib/docstore/documentstore.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/docstore/documentstore.h2
-rw-r--r--searchlib/src/vespa/searchlib/docstore/filechunk.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/docstore/filechunk.h24
-rw-r--r--searchlib/src/vespa/searchlib/docstore/idatastore.h2
-rw-r--r--searchlib/src/vespa/searchlib/docstore/idocumentstore.h2
-rw-r--r--searchlib/src/vespa/searchlib/docstore/logdatastore.cpp11
-rw-r--r--searchlib/src/vespa/searchlib/docstore/logdatastore.h2
-rw-r--r--searchlib/src/vespa/searchlib/docstore/writeablefilechunk.cpp8
-rw-r--r--searchlib/src/vespa/searchlib/docstore/writeablefilechunk.h4
-rw-r--r--searchlib/src/vespa/searchlib/util/filekit.cpp6
-rw-r--r--searchlib/src/vespa/searchlib/util/filekit.h2
16 files changed, 49 insertions, 55 deletions
diff --git a/searchlib/src/tests/docstore/document_store/document_store_test.cpp b/searchlib/src/tests/docstore/document_store/document_store_test.cpp
index 3597de0dcc5..6ea5176f4f3 100644
--- a/searchlib/src/tests/docstore/document_store/document_store_test.cpp
+++ b/searchlib/src/tests/docstore/document_store/document_store_test.cpp
@@ -27,7 +27,7 @@ struct NullDataStore : IDataStore {
size_t getDiskBloat() const override { return 0; }
uint64_t lastSyncToken() const override { return 0; }
uint64_t tentativeLastSyncToken() const override { return 0; }
- fastos::TimeStamp getLastFlushTime() const override { return fastos::TimeStamp(); }
+ fastos::UTCTimeStamp getLastFlushTime() const override { return fastos::UTCTimeStamp::ZERO; }
void accept(IDataStoreVisitor &, IDataStoreVisitorProgress &, bool) override { }
double getVisitCost() const override { return 1.0; }
DataStoreStorageStats getStorageStats() const override {
diff --git a/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp b/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp
index 35e21d133c2..4e2450dccc9 100644
--- a/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp
+++ b/searchlib/src/tests/docstore/logdatastore/logdatastore_test.cpp
@@ -757,21 +757,21 @@ TEST("requireThatSyncTokenIsUpdatedAfterFlush") {
TEST("requireThatFlushTimeIsAvailableAfterFlush") {
TmpDirectory testDir("flushtime");
- fastos::TimeStamp before(fastos::ClockSystem::now());
+ fastos::UTCTimeStamp before(fastos::ClockSystem::now());
DummyFileHeaderContext fileHeaderContext;
LogDataStore::Config config;
vespalib::ThreadStackExecutor executor(1, 128*1024);
MyTlSyncer tlSyncer;
LogDataStore store(executor, testDir.getDir(), config, GrowStrategy(),
TuneFileSummary(), fileHeaderContext, tlSyncer, nullptr);
- EXPECT_EQUAL(0, store.getLastFlushTime().time());
+ EXPECT_EQUAL(0, store.getLastFlushTime().timeSinceEpoch().time());
uint64_t flushToken = store.initFlush(5);
EXPECT_EQUAL(5u, flushToken);
store.flush(flushToken);
- fastos::TimeStamp after(fastos::ClockSystem::now());
+ fastos::UTCTimeStamp after(fastos::ClockSystem::now());
// the file name of the dat file is 'magic', using the clock instead of stating the file
- EXPECT_LESS_EQUAL(before.time(), store.getLastFlushTime().time());
- EXPECT_GREATER_EQUAL(after.time(), store.getLastFlushTime().time());
+ EXPECT_LESS_EQUAL(before, store.getLastFlushTime());
+ EXPECT_GREATER_EQUAL(after, store.getLastFlushTime());
}
diff --git a/searchlib/src/tests/util/bufferwriter/bm.cpp b/searchlib/src/tests/util/bufferwriter/bm.cpp
index b19a7390e9c..ac3cc3a09b1 100644
--- a/searchlib/src/tests/util/bufferwriter/bm.cpp
+++ b/searchlib/src/tests/util/bufferwriter/bm.cpp
@@ -11,8 +11,6 @@ LOG_SETUP("bufferwriter_bm");
using search::DrainingBufferWriter;
-double getTime() { return fastos::TimeStamp(fastos::ClockSystem::now()).sec(); }
-
constexpr size_t million = 1000000;
enum class WorkFuncDispatch
@@ -33,7 +31,7 @@ callWork(size_t size, WorkFuncDispatch dispatch)
foo.resize(size);
std::cout << "will write " << size << " elements of size " << sizeof(T) <<
std::endl;
- double before = getTime();
+ fastos::StopWatch stopWatch;
switch (dispatch) {
case WorkFuncDispatch::DIRECT:
work(foo, writer);
@@ -50,8 +48,7 @@ callWork(size_t size, WorkFuncDispatch dispatch)
default:
LOG_ABORT("should not be reached");
}
- double after = getTime();
- double delta = (after - before);
+ double delta = stopWatch.stop().elapsed();
double writeSpeed = writer.getBytesWritten() / delta;
EXPECT_GREATER(writeSpeed, 1000);
std::cout << "written is " << writer.getBytesWritten() << std::endl;
diff --git a/searchlib/src/vespa/searchlib/common/fileheadercontext.cpp b/searchlib/src/vespa/searchlib/common/fileheadercontext.cpp
index 4f29c3b7b87..5c23953b9b3 100644
--- a/searchlib/src/vespa/searchlib/common/fileheadercontext.cpp
+++ b/searchlib/src/vespa/searchlib/common/fileheadercontext.cpp
@@ -2,26 +2,23 @@
#include "fileheadercontext.h"
#include <vespa/vespalib/data/fileheader.h>
-#include <vespa/fastos/timestamp.h>
+#include <chrono>
+
+using namespace std::chrono;
namespace search::common {
using vespalib::GenericHeader;
-FileHeaderContext::FileHeaderContext()
-{
-}
+FileHeaderContext::FileHeaderContext() = default;
-FileHeaderContext::~FileHeaderContext()
-{
-}
+FileHeaderContext::~FileHeaderContext() = default;
void
FileHeaderContext::addCreateAndFreezeTime(GenericHeader &header)
{
typedef GenericHeader::Tag Tag;
- fastos::TimeStamp ts(fastos::ClockSystem::now());
- header.putTag(Tag("createTime", ts.us()));
+ header.putTag(Tag("createTime", duration_cast<microseconds>(system_clock::now().time_since_epoch()).count()));
header.putTag(Tag("freezeTime", 0));
}
@@ -31,8 +28,7 @@ FileHeaderContext::setFreezeTime(GenericHeader &header)
typedef GenericHeader::Tag Tag;
if (header.hasTag("freezeTime") &&
header.getTag("freezeTime").getType() == Tag::TYPE_INTEGER) {
- fastos::TimeStamp ts(fastos::ClockSystem::now());
- header.putTag(Tag("freezeTime", ts.us()));
+ header.putTag(Tag("freezeTime", duration_cast<microseconds>(system_clock::now().time_since_epoch()).count()));
}
}
diff --git a/searchlib/src/vespa/searchlib/docstore/documentstore.cpp b/searchlib/src/vespa/searchlib/docstore/documentstore.cpp
index e7efe3f366b..a180a303780 100644
--- a/searchlib/src/vespa/searchlib/docstore/documentstore.cpp
+++ b/searchlib/src/vespa/searchlib/docstore/documentstore.cpp
@@ -274,7 +274,7 @@ DocumentStore::tentativeLastSyncToken() const
return _backingStore.tentativeLastSyncToken();
}
-fastos::TimeStamp
+fastos::UTCTimeStamp
DocumentStore::getLastFlushTime() const
{
return _backingStore.getLastFlushTime();
diff --git a/searchlib/src/vespa/searchlib/docstore/documentstore.h b/searchlib/src/vespa/searchlib/docstore/documentstore.h
index a2b855deaf6..8bdba21f8d5 100644
--- a/searchlib/src/vespa/searchlib/docstore/documentstore.h
+++ b/searchlib/src/vespa/searchlib/docstore/documentstore.h
@@ -75,7 +75,7 @@ public:
void compact(uint64_t syncToken) override;
uint64_t lastSyncToken() const override;
uint64_t tentativeLastSyncToken() const override;
- fastos::TimeStamp getLastFlushTime() const override;
+ fastos::UTCTimeStamp getLastFlushTime() const override;
uint32_t getDocIdLimit() const override { return _backingStore.getDocIdLimit(); }
size_t memoryUsed() const override { return _backingStore.memoryUsed(); }
size_t getDiskFootprint() const override { return _backingStore.getDiskFootprint(); }
diff --git a/searchlib/src/vespa/searchlib/docstore/filechunk.cpp b/searchlib/src/vespa/searchlib/docstore/filechunk.cpp
index fecee481b77..94214ad7d84 100644
--- a/searchlib/src/vespa/searchlib/docstore/filechunk.cpp
+++ b/searchlib/src/vespa/searchlib/docstore/filechunk.cpp
@@ -293,7 +293,7 @@ FileChunk::getLastPersistedSerialNum() const
return _lastPersistedSerialNum;
}
-fastos::TimeStamp
+fastos::UTCTimeStamp
FileChunk::getModificationTime() const
{
return _modificationTime;
diff --git a/searchlib/src/vespa/searchlib/docstore/filechunk.h b/searchlib/src/vespa/searchlib/docstore/filechunk.h
index 9f09d535880..2e47f010fc3 100644
--- a/searchlib/src/vespa/searchlib/docstore/filechunk.h
+++ b/searchlib/src/vespa/searchlib/docstore/filechunk.h
@@ -159,7 +159,7 @@ public:
size_t getErasedBytes() const { return _erasedBytes; }
uint64_t getLastPersistedSerialNum() const;
uint32_t getDocIdLimit() const { return _docIdLimit; }
- virtual fastos::TimeStamp getModificationTime() const;
+ virtual fastos::UTCTimeStamp getModificationTime() const;
virtual bool frozen() const { return true; }
const vespalib::string & getName() const { return _name; }
void compact(const IGetLid & iGetLid);
@@ -239,17 +239,17 @@ protected:
static void writeDocIdLimit(vespalib::GenericHeader &header, uint32_t docIdLimit);
typedef vespalib::Array<ChunkInfo> ChunkInfoVector;
- const IBucketizer * _bucketizer;
- size_t _addedBytes;
- TuneFileSummary _tune;
- vespalib::string _dataFileName;
- vespalib::string _idxFileName;
- ChunkInfoVector _chunkInfo;
- uint32_t _dataHeaderLen;
- uint32_t _idxHeaderLen;
- uint64_t _lastPersistedSerialNum;
- uint32_t _docIdLimit; // Limit when the file was created. Stored in idx file header.
- fastos::TimeStamp _modificationTime;
+ const IBucketizer * _bucketizer;
+ size_t _addedBytes;
+ TuneFileSummary _tune;
+ vespalib::string _dataFileName;
+ vespalib::string _idxFileName;
+ ChunkInfoVector _chunkInfo;
+ uint32_t _dataHeaderLen;
+ uint32_t _idxHeaderLen;
+ uint64_t _lastPersistedSerialNum;
+ uint32_t _docIdLimit; // Limit when the file was created. Stored in idx file header.
+ fastos::UTCTimeStamp _modificationTime;
};
} // namespace search
diff --git a/searchlib/src/vespa/searchlib/docstore/idatastore.h b/searchlib/src/vespa/searchlib/docstore/idatastore.h
index e2d89fc160c..f0545ce1d9b 100644
--- a/searchlib/src/vespa/searchlib/docstore/idatastore.h
+++ b/searchlib/src/vespa/searchlib/docstore/idatastore.h
@@ -145,7 +145,7 @@ public:
* or 0 if no flush has been performed yet.
* @return Time of last flush.
**/
- virtual fastos::TimeStamp getLastFlushTime() const = 0;
+ virtual fastos::UTCTimeStamp getLastFlushTime() const = 0;
/**
* Visit all data found in data store.
diff --git a/searchlib/src/vespa/searchlib/docstore/idocumentstore.h b/searchlib/src/vespa/searchlib/docstore/idocumentstore.h
index cceae5d39ee..fc91d95b5a6 100644
--- a/searchlib/src/vespa/searchlib/docstore/idocumentstore.h
+++ b/searchlib/src/vespa/searchlib/docstore/idocumentstore.h
@@ -130,7 +130,7 @@ public:
* or 0 if no flush has been performed yet.
* @return Time of last flush.
**/
- virtual fastos::TimeStamp getLastFlushTime() const = 0;
+ virtual fastos::UTCTimeStamp getLastFlushTime() const = 0;
/**
* Get the number of entries (including removed IDs
diff --git a/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp b/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp
index e96628bdf4f..19b945ddd9c 100644
--- a/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp
+++ b/searchlib/src/vespa/searchlib/docstore/logdatastore.cpp
@@ -247,20 +247,21 @@ LogDataStore::tentativeLastSyncToken() const
return getActive(guard).getSerialNum();
}
-fastos::TimeStamp
+fastos::UTCTimeStamp
LogDataStore::getLastFlushTime() const
{
if (lastSyncToken() == 0) {
- return fastos::TimeStamp();
+ return fastos::UTCTimeStamp::ZERO;
}
LockGuard guard(_updateLock);
- fastos::TimeStamp timeStamp(getActive(guard).getModificationTime());
- if (timeStamp == 0) {
+ fastos::UTCTimeStamp timeStamp(getActive(guard).getModificationTime());
+ if (timeStamp == fastos::UTCTimeStamp::ZERO) {
const FileChunk * prev = getPrevActive(guard);
if (prev != nullptr) {
timeStamp = prev->getModificationTime();
}
}
+ // TODO Needs to change when we decide on Flush time reference
return timeStamp;
}
@@ -655,7 +656,7 @@ LogDataStore::createWritableFile(FileId fileId, SerialNum serialNum, NameId name
FileChunk::UP
LogDataStore::createWritableFile(FileId fileId, SerialNum serialNum)
{
- return createWritableFile(fileId, serialNum, NameId(fastos::ClockSystem::now()));
+ return createWritableFile(fileId, serialNum, NameId(fastos::ClockSystem::now().timeSinceEpoch()));
}
namespace {
diff --git a/searchlib/src/vespa/searchlib/docstore/logdatastore.h b/searchlib/src/vespa/searchlib/docstore/logdatastore.h
index 4ab747d115d..9ea1403fbe6 100644
--- a/searchlib/src/vespa/searchlib/docstore/logdatastore.h
+++ b/searchlib/src/vespa/searchlib/docstore/logdatastore.h
@@ -102,7 +102,7 @@ public:
size_t memoryMeta() const override;
uint64_t lastSyncToken() const override;
uint64_t tentativeLastSyncToken() const override;
- fastos::TimeStamp getLastFlushTime() const override;
+ fastos::UTCTimeStamp getLastFlushTime() const override;
size_t getDiskFootprint() const override;
size_t getDiskHeaderFootprint() const override;
size_t getDiskBloat() const override;
diff --git a/searchlib/src/vespa/searchlib/docstore/writeablefilechunk.cpp b/searchlib/src/vespa/searchlib/docstore/writeablefilechunk.cpp
index 50517cf09e2..d0fada0f498 100644
--- a/searchlib/src/vespa/searchlib/docstore/writeablefilechunk.cpp
+++ b/searchlib/src/vespa/searchlib/docstore/writeablefilechunk.cpp
@@ -524,7 +524,7 @@ WriteableFileChunk::fileWriter(const uint32_t firstChunkId)
}
}
-fastos::TimeStamp
+fastos::UTCTimeStamp
WriteableFileChunk::getModificationTime() const
{
LockGuard guard(_lock);
@@ -832,7 +832,7 @@ WriteableFileChunk::flushPendingChunks(uint64_t serialNum) {
if (frozen())
return;
uint64_t datFileLen = _dataFile.getSize();
- fastos::TimeStamp timeStamp(fastos::ClockSystem::now());
+ fastos::UTCTimeStamp timeStamp(fastos::ClockSystem::now());
if (needFlushPendingChunks(serialNum, datFileLen)) {
timeStamp = unconditionallyFlushPendingChunks(flushGuard, serialNum, datFileLen);
}
@@ -840,7 +840,7 @@ WriteableFileChunk::flushPendingChunks(uint64_t serialNum) {
_modificationTime = std::max(timeStamp, _modificationTime);
}
-fastos::TimeStamp
+fastos::UTCTimeStamp
WriteableFileChunk::unconditionallyFlushPendingChunks(const vespalib::LockGuard &flushGuard, uint64_t serialNum, uint64_t datFileLen)
{
(void) flushGuard;
@@ -870,7 +870,7 @@ WriteableFileChunk::unconditionallyFlushPendingChunks(const vespalib::LockGuard
os.write(os2.c_str(), os2.size());
}
}
- fastos::TimeStamp timeStamp(fastos::ClockSystem::now());
+ fastos::UTCTimeStamp timeStamp(fastos::ClockSystem::now());
auto idxFile = openIdx();
idxFile->SetPosition(idxFile->GetSize());
ssize_t wlen = idxFile->Write2(os.c_str(), os.size());
diff --git a/searchlib/src/vespa/searchlib/docstore/writeablefilechunk.h b/searchlib/src/vespa/searchlib/docstore/writeablefilechunk.h
index 2c300bc9035..927ce524850 100644
--- a/searchlib/src/vespa/searchlib/docstore/writeablefilechunk.h
+++ b/searchlib/src/vespa/searchlib/docstore/writeablefilechunk.h
@@ -57,7 +57,7 @@ public:
uint64_t getSerialNum() const { return _serialNum; }
void setSerialNum(uint64_t serialNum) { _serialNum = std::max(_serialNum, serialNum); }
- fastos::TimeStamp getModificationTime() const override;
+ fastos::UTCTimeStamp getModificationTime() const override;
void freeze();
size_t getDiskFootprint() const override;
size_t getMemoryFootprint() const override;
@@ -90,7 +90,7 @@ private:
void writeDataHeader(const common::FileHeaderContext &fileHeaderContext);
bool needFlushPendingChunks(uint64_t serialNum, uint64_t datFileLen);
bool needFlushPendingChunks(const vespalib::MonitorGuard & guard, uint64_t serialNum, uint64_t datFileLen);
- fastos::TimeStamp unconditionallyFlushPendingChunks(const vespalib::LockGuard & flushGuard, uint64_t serialNum, uint64_t datFileLen);
+ fastos::UTCTimeStamp unconditionallyFlushPendingChunks(const vespalib::LockGuard & flushGuard, uint64_t serialNum, uint64_t datFileLen);
static void insertChunks(ProcessedChunkMap & orderedChunks, ProcessedChunkQ & newChunks, const uint32_t nextChunkId);
static ProcessedChunkQ fetchNextChain(ProcessedChunkMap & orderedChunks, const uint32_t firstChunkId);
ChunkMeta computeChunkMeta(const vespalib::LockGuard & guard,
diff --git a/searchlib/src/vespa/searchlib/util/filekit.cpp b/searchlib/src/vespa/searchlib/util/filekit.cpp
index 7fc4ca8e7bb..9230b66867c 100644
--- a/searchlib/src/vespa/searchlib/util/filekit.cpp
+++ b/searchlib/src/vespa/searchlib/util/filekit.cpp
@@ -90,14 +90,14 @@ FileKit::removeStamp(const vespalib::string &name)
}
-fastos::TimeStamp
+fastos::UTCTimeStamp
FileKit::getModificationTime(const vespalib::string &name)
{
FastOS_StatInfo statInfo;
if (FastOS_File::Stat(name.c_str(), &statInfo)) {
- return fastos::TimeStamp(statInfo._modifiedTimeNS);
+ return fastos::UTCTimeStamp(statInfo._modifiedTimeNS);
}
- return fastos::TimeStamp();
+ return fastos::UTCTimeStamp();
}
diff --git a/searchlib/src/vespa/searchlib/util/filekit.h b/searchlib/src/vespa/searchlib/util/filekit.h
index 929412ee6d8..fc9d8cc84be 100644
--- a/searchlib/src/vespa/searchlib/util/filekit.h
+++ b/searchlib/src/vespa/searchlib/util/filekit.h
@@ -20,7 +20,7 @@ public:
* Returns the modification time of the given file/directory,
* or time stamp 0 if stating of file/directory fails.
**/
- static fastos::TimeStamp getModificationTime(const vespalib::string &name);
+ static fastos::UTCTimeStamp getModificationTime(const vespalib::string &name);
};
}