on_log_found to handle inline data or data size with 0
@raakella1 is already working on this.
Since Aug 20, 2024.
- Dominant language
- C++
- Stars
- 29
- Forks
- 30
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 6
Description
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 ?? ()
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.