Version 5.1.7 custom build with TSL plugin commit:
commit 9ad8d02386d4a6a5efecf898df80f2747695c627 (HEAD, tag: 5.1.7)
Configuration
- 3 node cluster with double ssd configuration.
/usr/sbin/fdbserver --cluster_file /etc/foundationdb/fdb.cluster --datadir /var/lib/foundationdb/data/4500 --listen_address public --logdir /var/log/foundationdb --public_address auto:4500 --tls_certificate_file /etc/foundationdb/fdb.pem --tls_key_file /etc/foundationdb/fdb-key.pem --tls_plugin /usr/lib/foundationdb/plugins/libFDBLibTLS.so
Application
- Golang application.
Cluster
Worked for about 10h under almost write load (30% CPU and 4GB memory). And suddenly failed with OOM errors in the logs (but there is a lot free memory). Started restarting infinitely without success:
...
<Event Severity="10" Time="1527763249.658725" Type="GenerationRegReadRequest" Machine="192.168.1.1:4500" ID="0000000000000000" From="192.168.1.2:4500:tls" K="fdb_test_cluster:6KSAuefFw2PtTjwhomsLUdG4wQPeV123" logGroup="default"/>
...
<Event Severity="40" Time="1527763249.937558" Type="OutOfMemory" Machine="192.168.1.1:4500" ID="0000000000000000" Message="Out of memory" logGroup="default" Backtrace="addr2line -e fdbserver.debug -p -C -f -i 0x136d55c 0x136c54a 0x1357019 0x135705c 0x13570d9 0x13239f5 0x13243b1 0x130a555 0x1307ee7 0x85ba6a 0x928187 0x9282db 0x930a52 0x629807 0x62b01f 0x6307e7 0x53fa52 0x53cf39 0x12b43f6 0x7fca32bbd000"/>
Strerr out
FDBD joined cluster.
ERROR: Out of memory
Stack traces
$ addr2line -e fdbserver.debug -p -C -f -i 0x136d55c 0x136c54a 0x1357019 0x135705c 0x13570d9 0x13239f5 0x13243b1 0x130a555 0x1307ee7 0x85ba6a 0x928187 0x9282db 0
x928410 0x92b4e6 0x92b576 0x9312e3 0x6288dc 0x62afed 0x6307e7 0x53fa52 0x53cf39 0x12b43f6 0x7fbd26b27000
operator+<char, std::char_traits<char>, std::allocator<char> > at /usr/include/c++/4.9/bits/basic_string.h:2424
(inlined by) TraceEvent::backtrace(std::string) at /tmp/foundationdb/tmp/build/foundationdb/flow/Trace.cpp:871
std::string::_M_rep() const at /usr/include/c++/4.9/bits/basic_string.h:301
(inlined by) ~basic_string at /usr/include/c++/4.9/bits/basic_string.h:547
(inlined by) TraceEvent::~TraceEvent() at /tmp/foundationdb/tmp/build/foundationdb/flow/Trace.cpp:905
criticalError at /tmp/foundationdb/tmp/build/foundationdb/flow/Platform.cpp:2310
platform::outOfMemory() at /tmp/foundationdb/tmp/build/foundationdb/flow/Platform.cpp:2295
allocate(unsigned long, bool) at /tmp/foundationdb/tmp/build/foundationdb/flow/Platform.cpp:1511
FastAllocator<4096>::getMagazine() at /tmp/foundationdb/tmp/build/foundationdb/flow/FastAlloc.cpp:366
FastAllocator<4096>::allocate() at /tmp/foundationdb/tmp/build/foundationdb/flow/FastAlloc.cpp:221
EvictablePageCache::allocate(EvictablePage*) at /tmp/foundationdb/tmp/build/foundationdb/fdbrpc/AsyncFileCached.actor.h:72
(inlined by) AFCPage::AFCPage(AsyncFileCached*, long) at /tmp/foundationdb/tmp/build/foundationdb/fdbrpc/AsyncFileCached.actor.h:448
insert<std::pair<long int, AFCPage*>, void> at /usr/include/c++/4.9/bits/hashtable_policy.h:911 (discriminator 3)
(inlined by) insert<std::pair<long int, AFCPage*>, void> at /usr/include/c++/4.9/bits/unordered_map.h:400 (discriminator 3)
(inlined by) AsyncFileCached::readZeroCopy(void**, int*, long) at /tmp/foundationdb/tmp/build/foundationdb/fdbrpc/AsyncFileCached.actor.cpp:153 (discriminator 3)
asyncReadZeroCopy at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/VFSAsync.cpp:137
readDbPage at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/sqlite/sqlite3.amalgamation.c:31950
sqlite3PagerAcquire at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/sqlite/sqlite3.amalgamation.c:34179
btreeGetPage at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/sqlite/btree.c:1567
getAndInitPage at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/sqlite/btree.c:1620
moveToChild at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/sqlite/btree.c:4188
sqlite3BtreeMovetoUnpacked at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/sqlite/btree.c:4709
RawCursor::moveTo(StringRef, bool) at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/KeyValueStoreSQLite.actor.cpp:1168
RawCursor::getRange(KeyRangeRef, int, int) at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/KeyValueStoreSQLite.actor.cpp:1089
KeyValueStoreSQLite::Reader::action(KeyValueStoreSQLite::Reader::ReadRangeAction&) at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/KeyValueStoreSQLite.actor.cpp:1546
(inlined by) TypedAction<KeyValueStoreSQLite::Reader, KeyValueStoreSQLite::Reader::ReadRangeAction>::operator()(IThreadPoolReceiver*) at /tmp/foundationdb/tmp/build/foundationdb/./flow/IThreadPool.h:74
yield at /tmp/foundationdb/tmp/build/foundationdb/./flow/flow.h:948
(inlined by) WorkPool<Coroutine, ThreadUnsafeSpinLock, true>::Worker::run() at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/CoroFlow.actor.cpp:150
Coroutine::entry(void*) at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/CoroFlow.actor.cpp:107
Coro_StartWithArg at /tmp/foundationdb/tmp/build/foundationdb/fdbrpc/libcoroutine/Coro.c:288
?? ??:0
addr2line -e fdbserver.debug -p -C -f -i 0x136d55c 0x136c54a 0x1357019 0x135705c 0x13570d9 0x1320f25 0x13218b1 0x4715a5 0x4777ba 0x136d233 0x136d58b 0x136c54a 0x1357019 0x135705c 0x13570d9 0x1320f25 0x13218b1 0x4715a5 0x4777ba 0x136d233 0x136d58b 0x136c54a 0x1357019 0x135705c 0x13570d9 0x1320f25 0x13218b1 0x4715a5 0x4777ba 0x136d233 0x136d58b 0x136c54a 0x1357019 0x135705c 0x13570d9 0x1320f25 0x13218b1 0x4715a5 0x5b3750 0x123f162 0x81859d 0x81a305 0x47a9e8 0xa2b925 0xa2ba62 0xa28558 0xa27c18
operator+<char, std::char_traits<char>, std::allocator<char> > at /usr/include/c++/4.9/bits/basic_string.h:2424
(inlined by) TraceEvent::backtrace(std::string) at /tmp/foundationdb/tmp/build/foundationdb/flow/Trace.cpp:871
std::string::_M_rep() const at /usr/include/c++/4.9/bits/basic_string.h:301
(inlined by) ~basic_string at /usr/include/c++/4.9/bits/basic_string.h:547
(inlined by) TraceEvent::~TraceEvent() at /tmp/foundationdb/tmp/build/foundationdb/flow/Trace.cpp:905
criticalError at /tmp/foundationdb/tmp/build/foundationdb/flow/Platform.cpp:2310
platform::outOfMemory() at /tmp/foundationdb/tmp/build/foundationdb/flow/Platform.cpp:2295
allocate(unsigned long, bool) at /tmp/foundationdb/tmp/build/foundationdb/flow/Platform.cpp:1511
FastAllocator<512>::getMagazine() at /tmp/foundationdb/tmp/build/foundationdb/flow/FastAlloc.cpp:366
FastAllocator<512>::allocate() at /tmp/foundationdb/tmp/build/foundationdb/flow/FastAlloc.cpp:221
ArenaBlock::create(int, Reference<ArenaBlock>&) at /tmp/foundationdb/tmp/build/foundationdb/./flow/Arena.h:227 (discriminator 1)
Arena at /tmp/foundationdb/tmp/build/foundationdb/./flow/Arena.h:288
(inlined by) Standalone<StringRef>::Standalone(StringRef const&) at /tmp/foundationdb/tmp/build/foundationdb/./flow/Arena.h:339
TraceEvent::detail(char const*, char const*) at /tmp/foundationdb/tmp/build/foundationdb/flow/Trace.cpp:721
std::string::_M_rep() const at /usr/include/c++/4.9/bits/basic_string.h:301
(inlined by) ~basic_string at /usr/include/c++/4.9/bits/basic_string.h:547
(inlined by) TraceEvent::backtrace(std::string) at /tmp/foundationdb/tmp/build/foundationdb/flow/Trace.cpp:871
std::string::_M_rep() const at /usr/include/c++/4.9/bits/basic_string.h:301
(inlined by) ~basic_string at /usr/include/c++/4.9/bits/basic_string.h:547
(inlined by) TraceEvent::~TraceEvent() at /tmp/foundationdb/tmp/build/foundationdb/flow/Trace.cpp:905
criticalError at /tmp/foundationdb/tmp/build/foundationdb/flow/Platform.cpp:2310
platform::outOfMemory() at /tmp/foundationdb/tmp/build/foundationdb/flow/Platform.cpp:2295
allocate(unsigned long, bool) at /tmp/foundationdb/tmp/build/foundationdb/flow/Platform.cpp:1511
FastAllocator<512>::getMagazine() at /tmp/foundationdb/tmp/build/foundationdb/flow/FastAlloc.cpp:366
FastAllocator<512>::allocate() at /tmp/foundationdb/tmp/build/foundationdb/flow/FastAlloc.cpp:221
ArenaBlock::create(int, Reference<ArenaBlock>&) at /tmp/foundationdb/tmp/build/foundationdb/./flow/Arena.h:227 (discriminator 1)
Arena at /tmp/foundationdb/tmp/build/foundationdb/./flow/Arena.h:288
(inlined by) Standalone<StringRef>::Standalone(StringRef const&) at /tmp/foundationdb/tmp/build/foundationdb/./flow/Arena.h:339
TraceEvent::detail(char const*, char const*) at /tmp/foundationdb/tmp/build/foundationdb/flow/Trace.cpp:721
std::string::_M_rep() const at /usr/include/c++/4.9/bits/basic_string.h:301
(inlined by) ~basic_string at /usr/include/c++/4.9/bits/basic_string.h:547
(inlined by) TraceEvent::backtrace(std::string) at /tmp/foundationdb/tmp/build/foundationdb/flow/Trace.cpp:871
std::string::_M_rep() const at /usr/include/c++/4.9/bits/basic_string.h:301
(inlined by) ~basic_string at /usr/include/c++/4.9/bits/basic_string.h:547
(inlined by) TraceEvent::~TraceEvent() at /tmp/foundationdb/tmp/build/foundationdb/flow/Trace.cpp:905
criticalError at /tmp/foundationdb/tmp/build/foundationdb/flow/Platform.cpp:2310
platform::outOfMemory() at /tmp/foundationdb/tmp/build/foundationdb/flow/Platform.cpp:2295
allocate(unsigned long, bool) at /tmp/foundationdb/tmp/build/foundationdb/flow/Platform.cpp:1511
FastAllocator<512>::getMagazine() at /tmp/foundationdb/tmp/build/foundationdb/flow/FastAlloc.cpp:366
FastAllocator<512>::allocate() at /tmp/foundationdb/tmp/build/foundationdb/flow/FastAlloc.cpp:221
ArenaBlock::create(int, Reference<ArenaBlock>&) at /tmp/foundationdb/tmp/build/foundationdb/./flow/Arena.h:227 (discriminator 1)
Arena at /tmp/foundationdb/tmp/build/foundationdb/./flow/Arena.h:288
(inlined by) Standalone<StringRef>::Standalone(StringRef const&) at /tmp/foundationdb/tmp/build/foundationdb/./flow/Arena.h:339
TraceEvent::detail(char const*, char const*) at /tmp/foundationdb/tmp/build/foundationdb/flow/Trace.cpp:721
std::string::_M_rep() const at /usr/include/c++/4.9/bits/basic_string.h:301
(inlined by) ~basic_string at /usr/include/c++/4.9/bits/basic_string.h:547
(inlined by) TraceEvent::backtrace(std::string) at /tmp/foundationdb/tmp/build/foundationdb/flow/Trace.cpp:871
std::string::_M_rep() const at /usr/include/c++/4.9/bits/basic_string.h:301
(inlined by) ~basic_string at /usr/include/c++/4.9/bits/basic_string.h:547
(inlined by) TraceEvent::~TraceEvent() at /tmp/foundationdb/tmp/build/foundationdb/flow/Trace.cpp:905
criticalError at /tmp/foundationdb/tmp/build/foundationdb/flow/Platform.cpp:2310
platform::outOfMemory() at /tmp/foundationdb/tmp/build/foundationdb/flow/Platform.cpp:2295
allocate(unsigned long, bool) at /tmp/foundationdb/tmp/build/foundationdb/flow/Platform.cpp:1511
FastAllocator<512>::getMagazine() at /tmp/foundationdb/tmp/build/foundationdb/flow/FastAlloc.cpp:366
FastAllocator<512>::allocate() at /tmp/foundationdb/tmp/build/foundationdb/flow/FastAlloc.cpp:221
ArenaBlock::create(int, Reference<ArenaBlock>&) at /tmp/foundationdb/tmp/build/foundationdb/./flow/Arena.h:227 (discriminator 1)
Arena::Arena(unsigned long) at /tmp/foundationdb/tmp/build/foundationdb/./flow/Arena.h:289
operator new [] at /tmp/foundationdb/tmp/build/foundationdb/./flow/Arena.h:312
(inlined by) StringRef at /tmp/foundationdb/tmp/build/foundationdb/./flow/Arena.h:397
(inlined by) Standalone at /tmp/foundationdb/tmp/build/foundationdb/./flow/Arena.h:339
(inlined by) sendPacket at /tmp/foundationdb/tmp/build/foundationdb/fdbrpc/FlowTransport.actor.cpp:829
getReply<TLogRejoinRequest> at /tmp/foundationdb/tmp/build/foundationdb/./fdbrpc/fdbrpc.h:237
(inlined by) a_body1loopBody1cont1 at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/TLogServer.actor.cpp:1126
(inlined by) a_body1loopBody1 at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/TLogServer.actor.g.cpp:5850
a_body1loopHead1 at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/TLogServer.actor.g.cpp:5805
(inlined by) a_body1loopBody1cont6 at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/TLogServer.actor.g.cpp:5975
(inlined by) a_body1loopBody1cont7 at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/TLogServer.actor.g.cpp:5981
(inlined by) a_body1loopBody1cont8 at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/TLogServer.actor.g.cpp:5987
(inlined by) a_body1loopBody1cont1when2 at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/TLogServer.actor.g.cpp:6007
(inlined by) a_callback_fire at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/TLogServer.actor.g.cpp:6048
(inlined by) fire at /tmp/foundationdb/tmp/build/foundationdb/./flow/flow.h:928
void SAV<Void>::send<Void>(Void&&) at /tmp/foundationdb/tmp/build/foundationdb/./flow/flow.h:381
~Promise at /tmp/foundationdb/tmp/build/foundationdb/./flow/flow.h:720
(inlined by) AsyncVar<ServerDBInfo>::setUnconditional(ServerDBInfo const&) at /tmp/foundationdb/tmp/build/foundationdb/flow/genericactors.actor.h:657
(inlined by) AsyncVar<ServerDBInfo>::set(ServerDBInfo const&) at /tmp/foundationdb/tmp/build/foundationdb/flow/genericactors.actor.h:651
(inlined by) a_body1loopBody1when1 at /tmp/foundationdb/tmp/build/foundationdb/fdbserver/worker.actor.cpp:471
fire at /tmp/foundationdb/tmp/build/foundationdb/./flow/flow.h:928 (discriminator 2)
SAV<ServerDBInfo>::finishSendAndDelPromiseRef() at /tmp/foundationdb/tmp/build/foundationdb/./flow/flow.h:413
(inlined by) a_body1cont2 at /tmp/foundationdb/tmp/build/foundationdb/flow/genericactors.actor.g.h:10023
(inlined by) a_body1when1 at /tmp/foundationdb/tmp/build/foundationdb/flow/genericactors.actor.g.h:10030
(inlined by) a_callback_fire at /tmp/foundationdb/tmp/build/foundationdb/flow/genericactors.actor.g.h:10044
(inlined by) fire at /tmp/foundationdb/tmp/build/foundationdb/./flow/flow.h:928
SAV<ServerDBInfo>::finishSendAndDelPromiseRef() at /tmp/foundationdb/tmp/build/foundationdb/./flow/flow.h:413
(inlined by) a_body1cont2 at /tmp/foundationdb/tmp/build/foundationdb/fdbrpc/genericactors.actor.g.h:864
(inlined by) a_body1when1 at /tmp/foundationdb/tmp/build/foundationdb/fdbrpc/genericactors.actor.g.h:871
(inlined by) a_callback_fire at /tmp/foundationdb/tmp/build/foundationdb/fdbrpc/genericactors.actor.g.h:885
(inlined by) fire at /tmp/foundationdb/tmp/build/foundationdb/./flow/flow.h:928