Friday, 2022-11-04

opendevreviewMerged openstack/swift master: Move base CI job to jammy  https://review.opendev.org/c/openstack/swift/+/86354501:32
opendevreviewTim Burke proposed openstack/swift master: CI: Add py310 unit test job  https://review.opendev.org/c/openstack/swift/+/85094703:59
opendevreviewClay Gerrard proposed openstack/swift master: Delete s3api MPU segments when the manifest expires  https://review.opendev.org/c/openstack/swift/+/80070104:15
opendevreviewTim Burke proposed openstack/swift master: Preserve client-provided paths that start '//'  https://review.opendev.org/c/openstack/swift/+/86344104:21
opendevreviewAndre Aranha proposed openstack/swift stable/wallaby: CI: Add nslookup_target to FIPS jobs  https://review.opendev.org/c/openstack/swift/+/86362111:24
opendevreviewTim Burke proposed openstack/swift master: tests: Tolerate NoSuchBucket errors when cleaning up  https://review.opendev.org/c/openstack/swift/+/86367016:40
opendevreviewAlistair Coles proposed openstack/swift master: WIP: restructure cached shard ranges  https://review.opendev.org/c/openstack/swift/+/86356218:35
opendevreviewJianjian Huo proposed openstack/swift master: Proxy: add metrics related to backend error limiter.  https://review.opendev.org/c/openstack/swift/+/86344619:16
opendevreviewJianjian Huo proposed openstack/swift master: Proxy: add metrics related to backend error limiter.  https://review.opendev.org/c/openstack/swift/+/86344619:21
opendevreviewASHWIN A NAIR proposed openstack/swift master: Add support of Sigv4-streaming  https://review.opendev.org/c/openstack/swift/+/83675520:59
paladoxHi, i'm wondering if anyone can tell me how i can depool a node whilst the data staying available to load?21:21
paladoxi found https://mindmajix.com/openstack/removing-nodes-from-a-cluster21:23
paladoxwhich i used but our data isn't showing...21:23
timburke_paladox, what's the cluster topology like? how many disks, how many replicas?21:35
paladoxWe have a server per disk (hdd) and it's 5 (although we're removing two because the disk is too slow causing issues. We're going to setup two new servers to replace those two. Also replica is set at 1 because we don't have the disk space to store more then one copy. (Yeh i'm aware that comes with a risk of data loss). But i don't expect that if you drain that your data become inaccessible until it replicates?21:37
timburke_try setting request_node_count=5 in proxy-server.conf -- as long as the disk still has at least one assignment, it should work21:39
paladoxAh! Thanks, will try21:39
paladoxthat didn't fix it :/21:41
paladoxI've set the weight on the two servers to 0 to have its data drained21:42
timburke_i think you'll need to give 'em enough weight to get at least one assignment, unfortunately :-(21:42
paladoxoh, what would you suggest?21:43
timburke_add a little weight and rebalance -- right at the end, you might need to just tolerate the outage for that partition until replication can move the data off21:46
paladox0.25?21:47
timburke_FWIW there's a chain of patches that would help with the no-assignments case, but it's not there yet -- idea is to track the previous assignments in the ring and insert them into the handoffs list for GET/HEAD21:47
timburke_maybe? depends on the other weights in the ring21:47
paladoxah nice21:47
paladoxhttps://www.irccloud.com/pastebin/5SNvzUua/21:48
paladoxis how i have it currently21:48
timburke_alternatively, if you're willing to hack up some code, you could crib a bit from https://review.opendev.org/c/openstack/swift/+/740866/2/swift/common/ring/ring.py21:49
timburke_yeah, 0.25 might do it. might need to go a little higher -- could try 0.25, rebalance, then if it wasn't enough bump it up to 0.4 and try again21:51
paladoxok, thanks! And that'll drain the data as well, right?21:51
paladoxhttps://www.irccloud.com/pastebin/mvJF6Max/21:53
timburke_yeah, all of it except for that one partition. let replication run for a while, watch the disks drain to just the one part, then drop weight to 0 again and take the outage on 0.1% of the data for a bit21:53
timburke_you'll want to run `swift-ring-builder object.builder` again to check the number of assignments21:54
paladoxthanks! And thanks again for all the help :)21:54
paladoxThat'll be cool when you can set it to 0 and it won't cause any data to be inaccessible21:55
timburke_yeah -- the proxy part of the chain ends at https://review.opendev.org/c/openstack/swift/+/857758 -- i need to add some tests, though21:58
paladoxdata works now!22:01
timburke_🎉22:02
timburke_ fwiw, if/when you get the disk space for more than one replica, `swift-ring-builder object.builder set_replicas <replicas>` will be handy22:02
timburke_<replicas> can even be something like 1.1 so you can gradually increase it without lighting up everything all at once22:03
paladoxthanks!22:09

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!