Wednesday, 2016-08-17

*** m_kazuhiro has joined #swift300:52
*** m_kazuhiro has quit IRC02:55
*** m_kazuhiro has joined #swift303:28
*** nikivi has joined #swift307:57
*** nikivi has quit IRC08:15
*** nikivi has joined #swift308:17
*** acoles_ is now known as acoles08:24
*** m_kazuhiro has quit IRC09:28
*** openstack has joined #swift310:19
*** nikivi has quit IRC13:13
*** nikivi has joined #swift313:59
*** openstackgerrit has quit IRC15:03
*** openstackgerrit has joined #swift315:04
*** acoles is now known as acoles_17:08
*** airdisa has joined #swift317:42
*** nikivi has quit IRC18:52
*** acoles_ is now known as acoles20:58
*** bill_az has joined #swift321:01
*** acoles is now known as acoles_22:33
kota_good morning23:01
timburkegood morning kota_!23:02
kota_hello timburke!23:02
kota_could we get started?23:03
timburkesure23:04
kota_ok23:04
kota_agenda is here https://wiki.openstack.org/wiki/Meetings/swift323:04
kota_I modified it in the last nignt but I don't have so much progerss since 2 weeks ago23:05
kota_becasue I was on vacation mostly.23:05
timburkevacations are good :)23:05
kota_timburke: do you have any updates or what is needed to discuss?23:06
kota_thanks23:06
timburkeas for my own progress, you saw https://review.openstack.org/#/c/350223/ before you left -- i could add a func test to demonstrate the 403 fairly easily, but it might be tricky to get one that properly demonstrates a 20023:06
patchbottimburke: patch 350223 - swift3 - Properly strip headers for request signing23:07
kota_ah23:08
kota_yeah23:08
timburkeon https://review.openstack.org/#/c/302475/ i've come up with an idea involving X-Backend-Etag-Is-At, but properly supporting conditional requests seems difficult23:09
patchbottimburke: patch 302475 - swift3 - Include '-' in multipart ETags23:09
kota_I didn't try it, but it *might* be true, some clients *may:* strip them by themselvs.23:09
timburkethe way i figure it, we should seek to emulate S3 as closely as possible, and rely on clients to notice and fix their bugs23:10
kota_with quick look for patch 30247523:12
patchbotkota_: https://review.openstack.org/#/c/302475/ - swift3 - Include '-' in multipart ETags23:12
kota_do we need version bump for supporting swift?23:12
kota_both backend-container-override and object-sysmeta-container-update-override is nebee since 2.3.0 (kilo)23:13
kota_but iirc we are now set the version >=2.1.023:14
kota_s/nebee/newbee/23:14
timburkehrm. yep, sure enough :-/23:14
kota_IMHO, if we need to bump it, it seems reasnable to reach the newest because we have some redandunt codes for backward compatibility.23:16
timburkeyeah, and at some point we'll surely need to23:16
timburkebut coupled with the difficulties i'm seeing in trying to make conditional requests work against SLOs with a custom etag, maybe it's not the best way23:17
timburkei'm just not sure how to address the difference between etag during bucket listing and during key GET, though23:18
kota_hmm23:18
timburkethe client-side validation is definitely an issue; we want a '-' in SLO etags at least during download. but then i'm not sure how to determine that the object is an SLO during listings23:20
kota_quick question23:21
kota_how does it works on S3 for conditional GET?23:21
timburkeas i recall, whatever the etag is on download, you can supply it in If-Match/If-None-Match headers on subsequent downloads and it will behave as expected23:22
kota_interesting23:24
timburkethey aren't supported on PUTs, which lead to https://github.com/openstack/swift3/commit/45cf2f123:24
kota_> it will behave as expected: the expected means "as multipart" or "as a single object"?23:25
timburkeeither. the server supplies an etag when you first download the object. later, you want to make sure you've got the latest copy of that object, but you've still got your old copy. so you send the same GET but with a `If-None-Match: <etag from server>`. if the object hasn't changed, the server responds with a 304 and you know you're up-to-date; otherwise, the server sends the current (new) content23:28
timburkeetags for normal objects are the md5 of their content, but that's only by convention/convenience. in general (for HTTP), they are opaque strings with no relation to the content23:30
kota_well23:31
kota_i also don't have so good idea for that but it seems reasnable to do like... 1. do conditional-GET anyway, 2. retry if it's SLO and the condition was mismatch?23:36
kota_hmmm....23:37
kota_probably, i need more deep dive though, my head seems still in vacation mode :/23:37
timburkei'm wondering how important it is to fix bug 1522578 at the same time; whether just tacking on the -N would be sufficient23:38
openstackbug 1522578 in Swift3 "Etag generation in swift3 does not match AWS S3" [Undecided,New] https://launchpad.net/bugs/152257823:38
timburkeat that point, handling conditional requests is fairly easy; just drop any -N in the headers on the way in and let SLO/the object server do its normal thing23:39
timburkeand it leaves on the problem of bucket listings23:39
timburkes/on/only/23:40
kota_gotcha23:41
kota_hmmm23:41
kota_-N, -N... so...23:41
timburkewhich may just be a difference we live with23:41
kota_-N is also appreared bucket listing at actual S3?23:42
kota_only in object metadata on GET/HEAD?23:42
timburkeiirc, S3 is consistent between bucket listings and GET/HEADs23:42
kota_ok23:43
kota_both23:43
timburkeyup :-( which was part of the inspiration for https://review.openstack.org/#/c/347538/23:43
patchbottimburke: patch 347538 - swift - Store SLO Etag and swift_bytes in sysmeta23:43
kota_alright, will look at that too23:45
timburkeif that lands, it would have the benefit of flagging SLOs in container listings for us23:46
kota_yeah, exactly.23:46
timburkeon swift3 reviews, https://review.openstack.org/#/c/345739/ is another interesting one, though a bit older. i'd be interested in your opinion on it when you get a chance23:47
patchbottimburke: patch 345739 - swift3 - Add support for more characters in header keys23:47
kota_love it23:49
timburkeand https://review.openstack.org/#/c/352755/ was a good catch but needs tests. i'll try to add some if charles doesn't get to it23:50
patchbottimburke: patch 352755 - swift3 - Fix 403 SignatureDoesNotMatch when use v4 signatur...23:50
kota_k23:51
kota_interesting23:52
kota_that docs for S3 in the patch clealy say "/examplebucket/myphoto.jpg, is the absolute path23:53
kota_in description for canonical URI23:53
kota_ah23:54
timburkewhen using a url like http://s3.amazonaws.com/examplebucket/myphoto.jpg23:54
kota_that patch is for virtual hosted-style23:54
kota_gotcha23:54
timburkeyep :-)23:54
kota_ok, good catch23:55
-kota_- GET /test.txt HTTP/1.123:55
-kota_- Host: examplebucket.s3.amazonaws.com23:55
kota_should be23:55
-kota_- GET23:55
-kota_- /test.txt23:55
kota_in the canonical string23:55
timburkeyep23:55
kota_sounds good catch and reasonable, so I think I could review quickly today.23:56
kota_starred23:57
timburkethanks23:57
kota_thanks for such a bunch of works, awesome!23:58
timburkeyeah! between this and versioning it's gonna be great!23:58
kota_absolutely23:59
timburkelooks like we're running out of time, though, and you wanted to bring up doing a release23:59
timburkei'm on board; a lot of good stuff has landed since 1.1023:59
kota_yeah23:59

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