Hi FDB Team,
Today a storage server in one of our FDB clusters running 6.3.25 with SQLite reported an internal error. Looking at the KeyvalueStoreSQLite.actor.cpp it looks like it was expecting more than 1 fragment during a Cursor getNext() call. But the root cause to this error is not clear to us.
We would really appreciate if you could help us to understand what may cause this error.
fdb status:
10.0.46.245:4501 ( 6% cpu; 7% machine; 0.000 Gbps; 6% disk IO; 4.3 GB / 8.0 GB RAM )
Last logged error: StorageServerFailed: internal_error at Fri Mar 17 07:35:52 2023
fdbmonitor log:
Time="1678695262.344335" Severity="10" LogGroup="foundationdb-cluster" Process="fdbmonitor": Started FoundationDB Process Monitor 6.3 (v6.3.25)
Time="1678695262.344583" Severity="10" LogGroup="foundationdb-cluster" Process="fdbmonitor": Watching conf file /var/dynamic-conf/fdbmonitor.conf
Time="1678695262.344598" Severity="10" LogGroup="foundationdb-cluster" Process="fdbmonitor": Watching conf dir /var/dynamic-conf/ (2)
Time="1678695262.344618" Severity="10" LogGroup="foundationdb-cluster" Process="fdbmonitor": Loading configuration /var/dynamic-conf/fdbmonitor.conf
Time="1678695262.344818" Severity="10" LogGroup="foundationdb-cluster" Process="fdbmonitor": Starting fdbserver.1
Time="1678695262.345167" Severity="10" LogGroup="foundationdb-cluster" Process="fdbserver.1": Launching /usr/bin/fdbserver (11) for fdbserver.1
Time="1678695262.417711" Severity="10" LogGroup="foundationdb-cluster" Process="fdbserver.1": FDBD joined cluster.
Time="1678695263.968410" Severity="10" LogGroup="foundationdb-cluster" Process="fdbmonitor": Could not remove inotify conf file watch, continuing...
Time="1678695263.968461" Severity="10" LogGroup="foundationdb-cluster" Process="fdbmonitor": Watching conf file /var/dynamic-conf/fdbmonitor.conf
Time="1678695263.968474" Severity="10" LogGroup="foundationdb-cluster" Process="fdbmonitor": Watching conf dir /var/dynamic-conf/ (4)
Time="1678695263.968483" Severity="10" LogGroup="foundationdb-cluster" Process="fdbmonitor": Loading configuration /var/dynamic-conf/fdbmonitor.conf
Time="1678695263.968617" Severity="10" LogGroup="foundationdb-cluster" Process="fdbmonitor": Updated configuration for fdbserver.1
Time="1679038552.040874" Severity="40" LogGroup="foundationdb-cluster" Process="fdbserver.1": Assertion fragments != 1 failed @ /home/foundationdb_ci/src/oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo/foundationdb/fdbserver/KeyValueStoreSQLite.actor.cpp 1076:
Time="1679038552.040915" Severity="40" LogGroup="foundationdb-cluster" Process="fdbserver.1": addr2line -e fdbserver.debug -p -C -f -i 0x25aef74 0xcc890d 0xcc91fc 0xcce387 0xb39b6c 0xb35e59 0x25a28a6 0x7f287b896190
error stacktrace:
addr2line -e fdbserver.debug.x86_64 -p -C -f -i 0x25aef74 0xcc890d 0xcc91fc 0xcce387 0xb39b6c 0xb35e59 0x25a28a6 0x7f287b896190
internal_error_impl(char const*, char const*, int) at /home/foundationdb_ci/src/oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo/foundationdb/flow/Error.cpp:66
RawCursor::DefragmentingReader::getNext() at /home/foundationdb_ci/src/oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo/foundationdb/fdbserver/KeyValueStoreSQLite.actor.cpp:1076
RawCursor::getRange(KeyRangeRef, int, int) at /home/foundationdb_ci/src/oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo/foundationdb/fdbserver/KeyValueStoreSQLite.actor.cpp:1173
KeyValueStoreSQLite::Reader::action(KeyValueStoreSQLite::Reader::ReadRangeAction&) at /home/foundationdb_ci/src/oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo/foundationdb/fdbserver/KeyValueStoreSQLite.actor.cpp:1698
(inlined by) TypedAction<KeyValueStoreSQLite::Reader, KeyValueStoreSQLite::Reader::ReadRangeAction>::operator()(IThreadPoolReceiver*) at /home/foundationdb_ci/src/oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo/foundationdb/flow/IThreadPool.h:76
yield(TaskPriority) at /home/foundationdb_ci/src/oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo/foundationdb/flow/flow.h:1043
(inlined by) WorkPool<Coroutine, ThreadUnsafeSpinLock, true>::Worker::run() at /home/foundationdb_ci/src/oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo/foundationdb/fdbserver/CoroFlow.actor.cpp:145
Coroutine::wrapRun() at /home/foundationdb_ci/src/oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo/foundationdb/fdbserver/CoroFlow.actor.cpp:82
(inlined by) Coroutine::entry(void*) at /home/foundationdb_ci/src/oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo/foundationdb/fdbserver/CoroFlow.actor.cpp:86
Coro_StartWithArg at /home/foundationdb_ci/src/oOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo/foundationdb/fdbrpc/libcoroutine/Coro.c:250
?? ??:0