Project

General

Profile

Actions

Feature #9953

closed

osd: efficient ObjectStore::Transaction encoding

Added by Sage Weil over 9 years ago. Updated over 9 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
% Done:

0%

Source:
other
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

Haomai and Dong proposed a vastly improved Transaction encoding during CDS. Video is here:

https://www.youtube.com/watch?v=8uYRDYdMywA&feature=youtu.be

Highlights:
- fixed-size struct for each op
- everything else is offset into a single bufferlist where variable-length bits accumulate
- very little data copying during encode/decode.

Comments from session:

http://pad.ceph.com/p/hammer-osd_transaction_encoding

 - use __le64, __le32 types
 - pointers directly into the bufferlist so there is no copy needed
 - need bufferlist method to ensure the next X bytes are contiguously allocated; reallocate (probably just) that section if necessary (#9954)


Files


Related issues 1 (0 open1 closed)

Blocked by Ceph - Feature #9954: buffer: method to ensure an extent is contiguousResolved

Actions
Actions

Also available in: Atom PDF