Bug 1368402 - backport tracker : 15647 : osd: rados cppool omap to ec pool crashes osd
Summary: backport tracker : 15647 : osd: rados cppool omap to ec pool crashes osd
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Ceph Storage
Classification: Red Hat
Component: RADOS
Version: 1.3.2
Hardware: x86_64
OS: Linux
high
high
Target Milestone: rc
: 1.3.3
Assignee: Samuel Just
QA Contact: Vasishta
Bara Ancincova
URL:
Whiteboard:
Depends On:
Blocks: 1372735
TreeView+ depends on / blocked
 
Reported: 2016-08-19 09:54 UTC by Vikhyat Umrao
Modified: 2017-07-30 15:21 UTC (History)
8 users (show)

Fixed In Version: RHEL: ceph-0.94.8-1.el7cp Ubuntu: ceph_0.94.8-2redhat1trusty
Doc Type: Bug Fix
Doc Text:
.OSDs no longer crash when using "rados cppool" to copy an "omap" object The `omap` objects cannot be stored in an erasure-coded pool. Previously, copying the `omap` objects from a replicated pool to an erasure-coded pool by using the `rados cppool` command caused the OSD nodes to terminate unexpectedly. With this update, the OSD nodes return an error message instead of crashing in the described situation.
Clone Of:
Environment:
Last Closed: 2016-09-29 13:00:35 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Ceph Project Bug Tracker 15647 None None None 2016-08-19 09:54:21 UTC
Red Hat Product Errata RHSA-2016:1972 normal SHIPPED_LIVE Moderate: Red Hat Ceph Storage 1.3.3 security, bug fix, and enhancement update 2016-09-29 16:51:21 UTC

Description Vikhyat Umrao 2016-08-19 09:54:22 UTC
Description of problem:
backport tracker : 15647 : osd: rados cppool omap to ec pool crashes osd

Version-Release number of selected component (if applicable):
 ceph version  0.94.5-12.el7cp


osd/ReplicatedPG.cc: 6437: FAILED assert(cop->omap_header.length() == 0)

 ceph version 0.94.5-12.el7cp (b08a982b961058eae6ee7c6a0efd2666d0bb4b1a)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x85) [0xb08f35]
 2: (ReplicatedPG::_write_copy_chunk(boost::shared_ptr<ReplicatedPG::CopyOp>, PGBackend::PGTransaction*)+0x977) [0x8025b7]
 3: (ReplicatedPG::_build_finish_copy_transaction(boost::shared_ptr<ReplicatedPG::CopyOp>, PGBackend::PGTransaction*)+0xef) [0x80271f]
 4: (ReplicatedPG::process_copy_chunk(hobject_t, unsigned long, int)+0x44c) [0x83f54c]
 5: (C_Copyfrom::finish(int)+0xb1) [0x88e131]
 6: (Context::complete(int)+0x9) [0x683589]
 7: (Finisher::finisher_thread_entry()+0x168) [0xa2bda8]
 8: (()+0x7dc5) [0x7f4e844e6dc5]
 9: (clone()+0x6d) [0x7f4e82fc6ced]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.

Comment 2 Ken Dreyer (Red Hat) 2016-08-22 14:02:58 UTC
Are there any automated tests that check this issue (eg. in Teuthology)?

Comment 3 Vikhyat Umrao 2016-08-22 14:12:24 UTC
(In reply to Ken Dreyer (Red Hat) from comment #2)
> Are there any automated tests that check this issue (eg. in Teuthology)?

I am not sure about automated tests. May be Kefu will have more idea on this.

But it is very easy to test. I have tested with rados cppool.

- If we do cppool from a replicated pool to erasure pool.
OSDs were crashing with assert given in comment#0.

- After fix if we do cppool from a replicated pool to erasure pool. OSDs should not crash with assert given in comment#0.

Comment 4 Vikhyat Umrao 2016-08-22 14:15:36 UTC
Harish, Can we get qa_ack+ for this bug as test steps are already given.

Thanks for your help.

Comment 11 errata-xmlrpc 2016-09-29 13:00:35 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2016-1972.html


Note You need to log in before you can comment on or make changes to this bug.