HomeStore
HomeStore copied to clipboard
on_log_found to handle inline data or data size with 0
Issue with on_log_found where we have to handle case if data is inlined, sometimes test generates values with size 0. Saw this once while running on github. (gdb) p jentry $4 = { static JOURNAL_ENTRY_MAJOR = 1, static JOURNAL_ENTRY_MINOR = 1, major_version = 1, minor_version = 1, code = homestore::journal_type_t::HS_DATA_INLINED, server_id = 1203793269, dsn = 299, user_header_size = 16, key_size = 8, value_size = 0 } $1 = { m_base_buf = std::shared_ptrsisl::io_blob_safe (empty) = { get() = 0x0 }, m_view = { bytes_ = 0x0, size_ = 0, is_const_ = false } } (gdb) bt #0 __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:708 #1 0x0000555558f51caa in std::__copy_move<false, true, std::random_access_iterator_tag>::__copy_mhomestore::MultiBlkId::chain_blkid (__first=0x55555da05564, __last=0x55555da26c48, __result=0x7fffffffab9a) at /usr/include/c++/11/bits/stl_algobase.h:431 #2 0x0000555558f50f79 in std::__copy_move_a2<false, homestore::MultiBlkId::chain_blkid, homestore::MultiBlkId::chain_blkid*> (__first=0x55555da05564, __last=0x55555da26c48, __result=0x7fffffffab9a) at /usr/include/c++/11/bits/stl_algobase.h:495 #3 0x0000555558f506a2 in std::__copy_move_a1<false, homestore::MultiBlkId::chain_blkid*, homestore::MultiBlkId::chain_blkid*> (__first=0x55555da05564, __last=0x55555da26c48, __result=0x7fffffffab9a) at /usr/include/c++/11/bits/stl_algobase.h:522 #4 0x0000555558f4f89c in std::__copy_move_a<false, homestore::MultiBlkId::chain_blkid*, homestore::MultiBlkId::chain_blkid*> (__first=0x55555da05564, __last=0x55555da26c48, __result=0x7fffffffab9a) at /usr/include/c++/11/bits/stl_algobase.h:529 #5 0x0000555558f4f0bb in std::copy<homestore::MultiBlkId::chain_blkid*, homestore::MultiBlkId::chain_blkid*> (__first=0x55555da05564, __last=0x55555da26c48, __result=0x7fffffffab9a) at /usr/include/c++/11/bits/stl_algobase.h:620 #6 0x0000555558f4aa26 in homestore::MultiBlkId::deserialize (this=0x7fffffffab90, b=..., copy=true) at /home/runner/work/HomeStore/HomeStore/src/lib/blkalloc/blk.cpp:108 #7 0x00005555592310b4 in homestore::RaftReplDev::on_log_found (this=0x55555d8f9f70, lsn=302, buf=..., ctx=0x0) at /home/runner/work/HomeStore/HomeStore/src/lib/replication/repl_dev/raft_repl_dev.cpp:1170 #8 0x0000000000000000 in ?? ()