Project

General

Profile

Actions

Bug #65509

open

osd: remove outdated, incorrect truncate asserts in ECTransaction's generate_transactions

Added by Mark Nelson 14 days ago. Updated 13 days ago.

Status:
Fix Under Review
Priority:
High
Assignee:
-
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
squid,reef,quincy
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

User hit this:

    -2> 2024-04-15T21:04:27.546+0000 7f5590204700 20 osd.45 pg_epoch: 1765330 pg[27.51s0( v 1765323'86017025 lc 1764740'86016886 (1762776'86007016,1765323'86017025] local-lis/les=1765329/1765330 n=116000 ec=1429183/1419873 lis/c=1765329/1764739 les/c/f=1765330/1764740/0 sis=1765329) [45,NONE,374,672,635,457,268,579,336,604]p45(0) r=0 lpr=1765329 pi=[1764739,1765329)/2 crt=1765323'86017025 lcod 0'0 mlcod 0'0 active+undersized+degraded rops=2 m=91 mbc={0={(0+0)=31},1={(0+0)=31},2={(1+0)=31},3={(1+0)=31},4={(1+0)=31},5={(1+0)=31},6={(1+0)=31},7={(1+0)=31},8={(1+0)=31},9={(1+0)=31}}] generate_transactions:  truncate is 0,7340032
    -1> 2024-04-15T21:04:27.550+0000 7f5590204700 -1 /home/jenkins-build/build/workspace/ceph-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos8/DIST/centos8/MACHINE_SIZE/gigantic/release/17.2.7/rpm/el8/BUILD/ceph-17.2.7/src/osd/ECTransaction.cc: In function 'ECTransaction::generate_transactions(ECTransaction::WritePlan&, ceph::ErasureCodeInterfaceRef&, pg_t, const ECUtil::stripe_info_t&, const std::map<hobject_t, interval_map<long unsigned int, ceph::buffer::v15_2_0::list, bl_split_merge> >&, std::vector<pg_log_entry_t>&, std::map<hobject_t, interval_map<long unsigned int, ceph::buffer::v15_2_0::list, bl_split_merge> >*, std::map<shard_id_t, ceph::os::Transaction>*, std::set<hobject_t>*, std::set<hobject_t>*, DoutPrefixProvider*, ceph_release_t)::<lambda(std::pair<const hobject_t, PGTransaction::ObjectOperation>&)>' thread 7f5590204700 time 2024-04-15T21:04:27.549205+0000
/home/jenkins-build/build/workspace/ceph-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos8/DIST/centos8/MACHINE_SIZE/gigantic/release/17.2.7/rpm/el8/BUILD/ceph-17.2.7/src/osd/ECTransaction.cc: 208: FAILED ceph_assert(op.truncate->first == op.truncate->second)

Fix in the works.

Actions #1

Updated by Mark Nelson 14 days ago ยท Edited

Actions #2

Updated by Samuel Just 14 days ago

  • Priority changed from Normal to High
  • Backport set to squid,reef
Actions #3

Updated by Samuel Just 14 days ago

  • Subject changed from Assert in ECTransaction's generate_transactions to osd: remove outdated, incorrect truncate asserts in ECTransaction's generate_transactions
Actions #4

Updated by Samuel Just 14 days ago

  • Status changed from New to Fix Under Review
Actions #5

Updated by Radoslaw Zarzynski 13 days ago

  • Backport changed from squid,reef to squid,reef,quincy
Actions #6

Updated by Radoslaw Zarzynski 13 days ago

Per https://github.com/ceph/ceph/pull/56924#issuecomment-2061948862 a workaround exists:

(...) we could recover the cluster and stay healthy by forcibly disabling trim/discards from clients.

Actions

Also available in: Atom PDF