Project

General

Profile

Actions

Bug #46325

closed

A pool at size 3 should have a min_size 2

Added by David Zafman almost 4 years ago. Updated over 3 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
David Zafman
Category:
-
Target version:
-
% Done:

0%

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

Description

The get_osd_pool_default_min_size() calculation of size - size/2 for the min_size should special case size 3 and just return 2.

Actions #1

Updated by David Zafman over 3 years ago

  • Status changed from New to In Progress
  • Pull request ID set to 36731
  • Component(RADOS) OSD added
Actions #2

Updated by David Zafman over 3 years ago

  • Backport set to octopus
Actions #3

Updated by Neha Ojha over 3 years ago

  • Status changed from In Progress to Won't Fix

On a vstart cluster after removing "osd_pool_default_min_size = 1" from vstart.sh

./bin/ceph osd pool create foo
pool 'foo' created
./bin/ceph osd dump
pool 2 'foo' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode on last_change 23 flags hashpspool stripe_width 0
./bin/ceph osd pool set foo size 5
pool 2 'foo' replicated size 5 min_size 3 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode on last_change 24 flags hashpspool stripe_width 0

Actions #4

Updated by David Zafman over 3 years ago

I booted vstart without this change using my other pull request:

commit 61828658e147fc1cb4ba92b66c6930279529ed75 (HEAD -> wip-39012, backup/wip-39012)
MDS=0 MON=1 MGR=1 OSD=3 ../src/vstart.sh -l -d -n -o "--osd_pool_default_min_size=0" 

ceph osd pool create test ...
ceph osd dump

pool 1 'device_health_metrics' replicated size 3 min_size 1 crush_rule 0 object_hash rjenkins pg_num 1 pgp_num 1 autoscale_mode on last_change 10 flags hashpspool stripe_width 0 pg_num_min 1 application mgr_devicehealth
pool 2 'test' replicated size 3 min_size 1 crush_rule 0 object_hash rjenkins pg_num 1 pgp_num 1 autoscale_mode on last_change 23 flags hashpspool stripe_width 0
max_osd 3
Actions #5

Updated by Vikhyat Umrao over 3 years ago

This is from `octopus` - `15.2.4`.

# ceph --admin-daemon /var/run/ceph/0dbc6220-cb6a-11ea-9694-b083fee95e35/ceph-mon.dell-per630-13.asok config show | grep min_size
    "bluefs_log_compact_min_size": "16777216",
    "bluestore_extent_map_shard_min_size": "150",
    "journal_align_min_size": "65536",
    "osd_allow_recovery_below_min_size": "true",
    "osd_heartbeat_min_size": "2000",
    "osd_hit_set_min_size": "1000",
    "osd_pool_default_min_size": "0",

[root@dell-per630-13 ~]# ceph osd pool create test 8
pool 'test' created

[root@dell-per630-13 ~]# ceph osd pool ls detail
pool 1 'device_health_metrics' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 1 pgp_num 1 autoscale_mode on last_change 13 flags hashpspool stripe_width 0 pg_num_min 1 application mgr_devicehealth
pool 2 '.rgw.root' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode on last_change 43 flags hashpspool stripe_width 0 application rgw
pool 3 'us-east.rgw.log' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode on last_change 47 flags hashpspool stripe_width 0 application rgw
pool 4 'us-east.rgw.control' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode on last_change 48 flags hashpspool stripe_width 0 application rgw
pool 5 'us-east.rgw.meta' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 8 pgp_num 8 autoscale_mode on last_change 162 lfor 0/162/160 flags hashpspool stripe_width 0 pg_autoscale_bias 4 pg_num_min 8 application rgw

pool 6 'test' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 8 pgp_num 8 autoscale_mode on last_change 431 flags hashpspool stripe_width 0

It works and that has been the case in L and N also.

Actions #6

Updated by David Zafman over 3 years ago

  • Status changed from Won't Fix to Rejected

My testing using vstart is wrong because somehow the config osd_pool_default_min_size == 1 even though I specified that it be 0.

Actions

Also available in: Atom PDF