Wednesday, 2020-03-04

*** rcernin has quit IRC02:02
*** threestrands has joined #openstack-swift02:06
*** gyee has quit IRC02:09
*** diablo_rojo has quit IRC02:48
*** rcernin has joined #openstack-swift02:52
kota_hello world03:24
kota_mattoliverau: working at home is sometime hard to be online constantly because of interruption by kids :/03:26
*** psachin has joined #openstack-swift03:33
*** diablo_rojo has joined #openstack-swift05:04
zaitcevHow's Mutsuru05:06
zaitcevYou tweeted he's got sick a few days ago05:06
*** evrardjp has quit IRC05:35
*** evrardjp has joined #openstack-swift05:35
kota_zaitcev: thx zaitcev. he've been well.06:07
kota_He got FLU and i received FLU from him :/06:08
kota_so we were at home for a while.06:08
openstackgerritMerged openstack/swift stable/train: tests: Use timedelta to adjust dates, not string manipulations  https://review.opendev.org/71090106:15
*** diablo_rojo has quit IRC06:17
*** threestrands has quit IRC06:34
*** threestrands has joined #openstack-swift06:35
*** threestrands has quit IRC06:36
*** threestrands has joined #openstack-swift06:36
*** threestrands has quit IRC06:37
*** threestrands has joined #openstack-swift06:38
*** threestrands has quit IRC06:39
*** zaitcev has quit IRC06:55
*** zaitcev has joined #openstack-swift07:12
*** ChanServ sets mode: +v zaitcev07:12
openstackgerritMerged openstack/swift master: Use float consistently for proxy timeout settings  https://review.opendev.org/71047507:29
openstackgerritMerged openstack/swift master: Fix up some Content-Type handling in account/container listings  https://review.opendev.org/53302707:45
*** tesseract has joined #openstack-swift08:09
*** rpittau|afk is now known as rpittau08:16
*** rdejoux has quit IRC08:20
*** rdejoux has joined #openstack-swift08:47
*** tkajinam has quit IRC09:30
alecuyerDHE: didn't notice you were using ZFS before, are your top-level vdevs single disks, or do you have mirror/raidz ? Really interested to hear about your setup if that's something you can share09:56
*** ccamacho has quit IRC10:02
*** ccamacho has joined #openstack-swift10:58
DHEalecuyer: I'm migrating from ZFS to Swift because it's a better fit. the current array is 13 vdevs of 10-disks raidz2 plus a pair of SSDs for metadata/special allocation classes...10:59
DHEthe intention is to do: zfs create pool/swift1 -o mountpoint=/srv/node/zfs1   # and slowly expand until it makes sense to nuke the pool and format each disk like a normal swift cluster11:00
DHEhowever today (unless you use the git version of zfs) any time an O_TMPFILE file is hardlinked into the filesystem, it's accompanied by an effective `zpool sync` which just killed performance so I had to disable that entirely11:01
*** rcernin has quit IRC11:08
*** rpittau is now known as rpittau|bbl11:32
*** psachin has quit IRC11:33
*** psachin has joined #openstack-swift11:37
*** psachin has quit IRC11:49
*** openstackstatus has joined #openstack-swift11:51
*** ChanServ sets mode: +v openstackstatus11:51
*** mvkr has quit IRC11:58
*** jvisser has joined #openstack-swift12:17
*** mvkr has joined #openstack-swift12:19
*** zaitcev has quit IRC13:03
*** jvisser has quit IRC13:16
*** jvisser has joined #openstack-swift13:17
*** jvisser has quit IRC13:25
*** jvisser has joined #openstack-swift13:37
*** rpittau|bbl is now known as rpittau13:44
alecuyerDHE: yes the metadata allocation class is great. One issue we found tho, is if you're going to be having one HDD = one ZFS pool, when the disk dies, you can't get rid of the zpool until you reboot. (maybe you can leave it be for a while and use another name for the replacement pool?).  Have you had any issue with memory/CPU usage?14:00
*** psachin has joined #openstack-swift14:16
DHEalecuyer: we're not doing one disk per pool. yeah ZFS has a fit when the pool dies. I'm using the same pool storing my existing data and adding a swift dataset as I migrate. "swift" dataset grows, old dataset shrinks14:17
DHEalthough I'm going to be adding multiple swift datasets because per-"device" locks in the swift replicator are clearly a bottleneck and having tens of thousands of partitions on a single device is really really bad14:17
DHEthe pool can take it, but swift locking can't14:17
*** ccamacho has quit IRC14:18
alecuyerThat's right, good point :)14:19
*** ccamacho has joined #openstack-swift14:20
*** ccamacho has quit IRC14:20
*** ccamacho has joined #openstack-swift14:23
*** psachin has quit IRC15:00
DHEyeah. for ZFS I would make larger redundant pools, and then add multiple datasets depending on what size of disk you want to simulate. but ultimately I'm moving away from ZFS so this is just a stopgap while I move half a petabyte of data around15:31
*** psachin has joined #openstack-swift15:41
alecuyeroh moving away.. I understood you were moving to. but thanks for the feedback!15:52
*** psachin has quit IRC15:56
*** psachin has joined #openstack-swift16:05
*** gyee has joined #openstack-swift16:40
*** psachin has quit IRC16:53
*** rdejoux has quit IRC17:12
*** openstackgerrit has quit IRC17:20
*** evrardjp has quit IRC17:35
*** evrardjp has joined #openstack-swift17:35
*** rpittau is now known as rpittau|afk17:44
*** zaitcev has joined #openstack-swift18:00
*** ChanServ sets mode: +v zaitcev18:00
*** diablo_rojo has joined #openstack-swift18:11
*** guimaluf has joined #openstack-swift18:38
*** tesseract has quit IRC18:55
guimalufhi timburke & clayg any ideas on the O_TMPFILE issue?19:17
timburkeguimaluf, so the new volume worked on the old server, and the old volume didn't work on the new server, is that right?19:25
timburkemakes it seem like an issue with the filesystem... but then i don't have a good explanation for why it *used to* work, pre-upgrade...19:26
guimaluftimburke, no. old and new volume worked on new server. old and new volume didn't work in the old server. I think is this. but I'll recheck19:26
timburkeok! starts to make more sense :-)19:26
timburkehave you compared the mount options? sorry, i'm kinda grasping at straws19:27
guimaluftimburke, that's what I'm trying to discover :/ what was left on this upgraded server that mess with the filesystem19:27
guimaluftimburke, don't worry. every recheck worth it. but yeah, I'm using the same mount options. I'll redo the volume swappping between servers just to ensure. if you have any advice on things to look for, please let me know :)19:28
timburkedoes the write checker work on the root drive? the amount of metadata should be small enough that the fs shouldn't need to be xfs, just support xattrs19:30
zaitcevrledisez: is there anything I can do to entice you to look at https://review.opendev.org/706653 versus https://review.opendev.org/212824 ?19:32
patchbotpatch 706653 - swift - Let developers/operators add watchers to object au... - 4 patch sets19:32
patchbotpatch 212824 - swift - Let developers/operators add watchers to object audit - 21 patch sets19:32
guimaluftimburke, hmmm no. I can't write on ext4... same error19:32
guimalufsame mode19:32
zaitcevrledisez: you made a comment "I prefer the process to crash than to not do what the operator think it is doing. At least if the process is not running, the operator has a chance to see it in his monitoring", so I thought you'd like it when I dropped the separate process, because that one can be behind a queue and silently hang.19:33
zaitcevtimburke: I'm making another go at xattr in /tmp: https://www.spinics.net/lists/linux-mm/msg203569.html19:35
timburkeguimaluf, (sanity checking) but it *does* work on the new server, right?19:35
timburkezaitcev, that seems remarkably small -- they should go merge it! ;-)19:36
guimaluftimburke, nice check! yes it does. its fails with: `AttributeError: 'NoneType' object has no attribute 'warning'` but the data is there with the metadata.19:39
timburke:-( i was hoping i wouldn't have to muck with loggers much... sorry, i was being expedient passing that None to DiskFileManager19:41
guimaluftimburke, nothing to sorry about! :D is just an unrelated warning.. the core of its function is working ;)19:43
guimaluftimburke, so yes. repro-script can write both ext4 and xfs in the new-server. but can't in both FS in the old server19:43
timburkemakes me wonder a bit about what the warning was. i think you could just replace the None with logging.getLogger()19:43
zaitcevThere's almost a complete fake logger in unit tests, BTW. I saw it when I expanded it a little for Dark Data.19:43
zaitcevVery easy to steal. FYI19:44
guimaluftimburke, could you point me auto the meaning of this mode=0o100000?19:50
guimalufauto == out  hehehe19:50
timburkeso 100000 says it's regular file, then *all the chmod bits* are zero, so no (non-root) user -- not even the owner -- is allowed to read, write, or execute19:53
timburkei'm fairly certain that's leading to the EACCES error on put(), but then i still don't have an explanation for why the write() succeeds!19:54
zaitcevIt only looks at r/w bits in the fd. Permissions are checked at open and then it just rolls using those bits, I think.19:54
zaitcevThis can be tested by open, chmod, write, I suppose...19:55
guimaluftimburke, but where does this come from ? is this from the inode mode? that's what I'm confuse off19:56
timburkezaitcev, yeah -- i suppose we could try adding a `os.fchmod(dfw._fd, 0o600 | os.fstat(dfw._fd).st_mode)` right inside the create() context manager19:57
timburkeguimaluf, me too -- i have all the same questions :-/19:57
guimaluftimburke, nice! I'll search for it and share with you ;)19:58
guimaluftimburke, yes. this mode is related with the file inode stat. reading over inodes now hahaha20:13
*** jvisser has quit IRC20:51
timburkealmost meeting time!20:54
kota_morning20:57
mattoliveraumorning21:00
*** rdejoux has joined #openstack-swift21:20
*** jvisser has joined #openstack-swift21:22
*** openstackgerrit has joined #openstack-swift21:38
openstackgerritClay Gerrard proposed openstack/swift master: wip: asyc concurrent ecfragfetcher  https://review.opendev.org/71134221:38
zaitcevtadaa21:38
zaitcevasyc?21:39
alecuyerwow thats quite a change :)21:39
zaitcev600+ in just obj controller21:40
timburkeseems like it's mostly from cloning/tweaking ResumingGetter, yeah?21:41
claygtimburke: yes very much so, hopefully the line count will go down when I can get that stitched back together21:42
timburkeoh, looks like after Victoria, we'll have Wallaby: http://lists.openstack.org/pipermail/openstack-discuss/2020-March/013006.html21:42
openstackgerritRomain LE DISEZ proposed openstack/swift master: Replace all "with Chunk*Timeout" by a watchdog  https://review.opendev.org/69765321:43
alecuyeroh wrt to LOSF, forgot to mention that, if the key value store lives on SSDs, it may be possible to use SMR drives, for some use cases21:47
openstackgerritMerged openstack/swift stable/stein: tests: Use timedelta to adjust dates, not string manipulations  https://review.opendev.org/71090221:47
mattoliverausounds very Australian, Victoraa (state in Oz) and now Wallaby :)21:47
*** jvisser has quit IRC22:20
*** rcernin has joined #openstack-swift22:39
guimaluftimburke, I have no f*king clue on what's happening... couldn't find anything related to o_tmpfile mode 000, etc. I give up... if that happens in production I'll keep the volume and destroy the instance, create a new one and attach the old volume to it...22:46
timburkeseems reasonable -- sorry i couldn't be more help!22:47
guimaluftimburke, you were incredible helpful :) no words to thanks your attention and support22:52
*** tkajinam has joined #openstack-swift22:59
seongsoochoHi ~ Does recon middleware count quarantine only suffix directory (not count of quarantined objects/container db/account db) ??23:01
seongsoochohttps://github.com/openstack/swift/blame/master/swift/common/middleware/recon.py#L27923:01
seongsoochoI had confusion over the result of swift-recon. The swift-recon report to me that there are 2 quarantined objects, but actually there are more than 2 quarantined objects.23:01
timburkeseongsoocho, are they whole suffixe dirs instead? makes me think of alecuyer's https://review.opendev.org/#/c/653748/23:03
patchbotpatch 653748 - swift - Fix quarantine when object path is not a directory (MERGED) - 2 patch sets23:03
seongsoochotimburke:  I think the object quarantine was done seperately (same suffix). The whole suffix dirs are not quarantined at the same time.23:06
seongsoochoIf the 2 objects are quarantined with same suffix, the recon middleware report there are 1 object in quarantined directory.23:08
timburkeoh, interesting... i guess i need to play with quarantining some more..23:10
seongsoochoYes.  In the code, the recon middleware seems to only counting suffix directory.  And I don't know why `linkcount - 2` does it.23:12
timburkewell, it seems to expect the layout to be like <dev>/quarantined/objects[-N]/<hash>, in which case the link count would be the number of hash dirs quarantined +2 (one as a self-ref for the directory, one for the parent)23:15
timburkethat's why i was thinking about alecuyer's change -- we used to (mistakenly) quarantine whole suffix dirs if there was fs corruption such that a hash dir wasn't actually a dir23:16
seongsoochooh.. ok..  The most of quarantined objects created in ocata version (in my cluster). So the layout is '<dev/quarantined/objects/<suffix>/<hash>' . I will test it on train version.23:20
timburkekeep in mind that even after upgrading, any old quarantines will hang around with their old layout23:21
timburkeone thing you might want to do is check the quarantined suffix dir and look for the should-be-a-dir-but-actually-is-a-file condition that we know would trip it23:22
timburkea little more info: https://bugs.launchpad.net/swift/+bug/182741223:23
openstackLaunchpad bug 1827412 in OpenStack Object Storage (swift) "Swift may quarantine all objects within a suffix if a single one is invalid" [Undecided,Fix released]23:23
seongsoochotimburke:  Thanks for the info. I'll check some more.23:27
*** threestrands has joined #openstack-swift23:28
*** guimaluf has quit IRC23:46

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!