Project

General

Profile

Actions

Bug #766

closed

slow bucket creation times

Added by Sage Weil about 13 years ago. Updated over 6 years ago.

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

0%

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

Description

may not still be a problem; just need to confirm. this is a monitor tuning thing.

Actions #1

Updated by Sage Weil about 13 years ago

  • Translation missing: en.field_position set to 2
Actions #2

Updated by Yehuda Sadeh about 13 years ago

It's confirmed. Bucket creation time can be slow. There is a problem with osd having to digest the new osdmap after each pool creation, which can hang the operations that follow the pool creation (currently it does setxattr on the user object in the users pool). One possible solution would be to not use pool per bucket, but to introduce pools namespace (which is a good idea anyway). We should probably also make it so that the osd handling of the osdmap doesn't hang everything.

Actions #3

Updated by Yehuda Sadeh about 13 years ago

It's much better now, though can still be somewhat slow.

Actions #4

Updated by Sage Weil about 13 years ago

  • Category set to radosgw
Actions #5

Updated by Sage Weil about 13 years ago

  • Project changed from 4 to Ceph
  • Category changed from radosgw to 22
Actions #6

Updated by Sage Weil about 13 years ago

  • Target version set to v0.27
  • Translation missing: en.field_position deleted (1)
  • Translation missing: en.field_position set to 540
Actions #7

Updated by Sage Weil about 13 years ago

  • Translation missing: en.field_story_points set to 3
  • Translation missing: en.field_position deleted (549)
  • Translation missing: en.field_position set to 334
Actions #8

Updated by Sage Weil about 13 years ago

  • Translation missing: en.field_story_points changed from 3 to 5
  • Translation missing: en.field_position deleted (334)
  • Translation missing: en.field_position set to 334
Actions #9

Updated by Sage Weil about 13 years ago

  • Translation missing: en.field_position deleted (333)
  • Translation missing: en.field_position set to 2
Actions #10

Updated by Sage Weil about 13 years ago

  • Translation missing: en.field_story_points changed from 5 to 2
  • Translation missing: en.field_position deleted (3)
  • Translation missing: en.field_position set to 3
Actions #11

Updated by Sage Weil about 13 years ago

  • Assignee set to Sage Weil
Actions #12

Updated by Sage Weil about 13 years ago

Two parts here. The first is the bucket creation, and goes like:

- bucket object .. create?  class op?
- bucket object setxattr
- mon pool create request
- mon subscribe, wait for updated osdmap
- tmap update on user object bucket list

The first two ops can be combined once the librados operations are ready.

The last one can go slow because it requires the new osdmap on the osds. Not sure if it's necessary...

Actions #13

Updated by Sage Weil about 13 years ago

  • Status changed from New to Resolved

Okay, it now looks like:

- osd op to update user object bucket list
- osd op to create bucket object
- monitor op to create the actual bucket

There is nothing after the mon op, so we don't have any issues with handle_osd_map (unless another map update races, but that's a general issue). I'm getting ~.5 second creates mostly. The slow part is the monitor create that does fsyncs on all monitors.

Resolving, yay!

Actions #14

Updated by John Spray over 6 years ago

  • Project changed from Ceph to rgw
  • Category deleted (22)
  • Target version deleted (v0.27)

Bulk reassign of radosgw category to RGW project.

Actions

Also available in: Atom PDF