eBay / eBay/HomeStore

on_log_found to handle inline data or data size with 0

Open
#517 1 comment 0 reactions 1 assignee View on GitHub

@raakella1 is already working on this.

Since Aug 20, 2024.

good first issue Replication
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.