Thursday, 2017-04-20

honzaTrying to rebuild the undercloud and mirrors are down.  Giving up for now, will try again in the morning.00:00
honzathanks for the assistance!00:00
flwanghonza: good luck :)00:02
*** yanyanhu has joined #openstack-zaqar01:40
*** lhx__ has joined #openstack-zaqar01:44
*** zhurong has joined #openstack-zaqar02:10
openstackgerritMerged openstack/zaqar-ui master: Imported Translations from Zanata  https://review.openstack.org/45753902:17
openstackgerritMerged openstack/zaqar-ui master: Updated from global requirements  https://review.openstack.org/45773802:18
*** lhx__ has quit IRC02:36
*** shu-mutou has joined #openstack-zaqar03:00
*** zhurong has quit IRC03:21
*** zhurong has joined #openstack-zaqar03:28
*** zhurong has quit IRC03:31
openstackgerritMerged openstack/zaqar-ui master: Refresh test environment  https://review.openstack.org/45646404:29
*** zhurong has joined #openstack-zaqar04:31
*** nadya has joined #openstack-zaqar05:46
*** mpanetta has quit IRC05:47
*** nadya has quit IRC05:48
*** mpanetta has joined #openstack-zaqar05:48
*** zhurong has quit IRC06:12
*** rcernin has joined #openstack-zaqar06:28
*** pcaruana has joined #openstack-zaqar06:40
*** jtomasek has quit IRC06:45
*** tesseract has joined #openstack-zaqar06:56
*** zhurong has joined #openstack-zaqar07:12
*** jtomasek has joined #openstack-zaqar07:14
*** lhx__ has joined #openstack-zaqar07:26
*** yanyanhu has quit IRC07:38
*** lhx__ has quit IRC07:57
*** nadya has joined #openstack-zaqar08:05
*** yanyanhu has joined #openstack-zaqar08:06
*** nadya has quit IRC08:06
*** nadya has joined #openstack-zaqar08:07
*** shu-mutou is now known as shu-mutou-AWAY09:40
*** yanyanhu has quit IRC09:54
*** nadya has quit IRC10:01
*** mpanetta has quit IRC10:15
*** mpanetta has joined #openstack-zaqar10:16
*** zhurong has quit IRC10:19
*** nadya has joined #openstack-zaqar10:45
*** mpanetta_ has joined #openstack-zaqar10:56
*** mpanetta has quit IRC10:58
*** zhurong has joined #openstack-zaqar11:17
*** openstackgerrit has quit IRC11:32
*** lhx__ has joined #openstack-zaqar11:42
*** lhx__ has quit IRC11:50
*** lhx__ has joined #openstack-zaqar11:50
*** lhx__ has quit IRC12:56
*** lhx__ has joined #openstack-zaqar12:57
*** lhx__ has quit IRC13:00
*** lhx__ has joined #openstack-zaqar13:00
*** lhx__ has quit IRC13:03
*** ig0r_ has joined #openstack-zaqar13:34
*** mpanetta_ has quit IRC14:52
*** mpanetta has joined #openstack-zaqar14:53
*** rcernin has quit IRC15:01
*** pcaruana has quit IRC15:14
*** jtomasek_ has joined #openstack-zaqar15:27
*** jtomasek has quit IRC15:27
*** nadya has quit IRC15:29
*** ig0r_ has quit IRC16:01
*** zhurong has quit IRC16:11
*** tesseract has quit IRC16:34
*** rakhmerov has quit IRC17:14
*** jtomasek_ has quit IRC17:17
*** rakhmerov has joined #openstack-zaqar17:19
*** jtomasek has joined #openstack-zaqar17:22
*** ig0r_ has joined #openstack-zaqar17:25
*** nadya has joined #openstack-zaqar17:55
*** nadya has quit IRC18:01
flwangtherve: ping re the swift pooling patch21:48
*** rbrady has quit IRC21:49
flwangflaper87: any luck you're around?21:56
flwangkgriffs: and you?21:56
kgriffshi flwang, what's up?21:58
flwangkgriffs: i'm thinking adding quota for the message count (free messages) in a queue21:58
flwangbut I just realized it will absolutely impact the performance of posting21:59
flwangdo you have any comments for this?21:59
flwangsuggestion/advice/whatever :) thanks21:59
flwangbecause allow unlimited messages is unacceptable for a public cloud22:00
flwangkgriffs: how does rackspace handle this now?22:00
kgriffswe've only done basic rate limiting so I can only speak generally22:03
kgriffsWith performance, measuring is key, so I'd suggest starting with a naive proof of concept to measure the performance impact22:04
kgriffsThat will give you a baseline so you know how much you need to optimize22:04
kgriffsbeyond that, you'll want to pursue the usual performance engineering strategies, e.g.:22:05
kgriffs1. Chunk your I/O requests if you can. For example, add a message, update the counter, and return the counter value in a single request to the data store. Stored procedures / Redis Lua can help with this.22:06
kgriffs2. Avoid I/O if you can. Can you get away with not checking the quota on every request?22:06
flwang#2 is what i'm thinking, but i found it's hard22:07
flwangi'm thinking if i can use the pipeline to work around it22:07
flwangjust like the notification pipeline22:07
kgriffs3. Reduce the cost of I/O to handle the quota. Put the counter or whatever is a very fast data store close to the webheads. Doesn't have to be very durable (trade durability for speed)22:07
flwangafter posted the messages, tagged something22:07
kgriffsyeah, unfortunately there aren't any super easy solutions to this because you have to keep track of some state shared between the web heads, while minimizing performance impact.22:09
kgriffsYou might try handling the quota info locally to each web server by dividing a queue's quota by the number of web servers that could possible serve requests for that queue22:10
kgriffsbut that can be tricky as well... you need a way to be able dynamically calculate that number based on the quota and number of servers22:11
*** openstackgerrit has joined #openstack-zaqar22:11
openstackgerritMerged openstack/zaqar master: Fix failure when adding swift/redis as pool  https://review.openstack.org/45343922:11
flwangkgriffs: yep, i'm thinking save current message count in the queue infomation, because currently eachtime when we post messages, zaqar need to get the queue  info. so with that way, we won't introduce new call at least22:12
flwangand meanwhile, create a new pipeline just like the notifier, to calculate messages after post, but unfortunately, the way is not accurate, because the free message number is changing all the time22:13
flwanggiven message TTL22:13
openstackgerritMerged openstack/zaqar master: Remove enabled option for CORS  https://review.openstack.org/45109022:16
flwangkgriffs: btw, is rackspace using mongodb as the backend?22:18
flwangare you happy with that?22:18
kgriffsOK, sounds like you are on the right track. You might want to consider how hard of a quota you need. Can you get away with a less accurate quota? Would it still be good enough to meet your goal of putting in a quota in the first place? If you can guarantee a reasonable range, that may be sufficient, as long as you communicate to the customer the lower end of the range, if they go over it may or may not be a problem.22:20
flwangkgriffs: yep, that's what i'm thinking22:21
kgriffsre mongodb, that is what we launched on, yes.22:22
flwangbecause IMHO, a quota for messaging system is not to block the real usage of customer, but some bad hacking22:22
kgriffsin that case you definitely don't need to be super precise22:22
flwangso i don't think cloud provider will really care about another 10K messages if the quota is 100,00022:23
kgriffson the topic of data stores, it really comes down to durability, correctness, and latency22:23
flwangkgriffs: yep, it's not the same case like launching a server22:24
kgriffsDifferent workloads require different mixes of those three22:24
kgriffsif I want something super correct and durable and scalable I could use something based on Paxos or Raft (e.g., Riak, CockroachDB).22:25
kgriffsBut latency suffers22:25
flwangkgriffs: yep, you're right22:25
kgriffsIf I want to sacrifice some guarantee around deliverability or durability, I can scale and write things in parallel, thus reducing latency, improving availability22:26
flwangfor our cloud, the rough plan is using swift as the first pool and after we get a stable mongo cluster, then add it as the 2nd pool22:26
kgriffsoh, interesting22:26
flwangdo you think it's crazy?22:26
flwangbecause currently our mongo cluster is fully used by ceilometer22:27
kgriffsI spoke to the swift folks a few years back and they were really interested in Zaqar precisely because it would encourage people to stop using swift as a queue. :p22:27
flwangwe would like to upgrade to gnocchi and then release the mongodb22:27
flwangfor zaqar22:27
kgriffsgotcha22:27
flwangwhat do you mean 'stop using swift as a queue'?22:28
kgriffsbtw, you can sort of cheat like Google did with spanner and use highly accurate clocks (syncing to local atomic clocks) to enforce a total order across the messages, but even then there is a little bit of variance. Their solution? Dynamically slow down requests so they are outside the collision window.22:29
kgriffsflwang I guess people were basically uploading tiny objects as "messages" and then removing them... I guess it caused problems for them or something. You may want to follow up with them.22:30
flwangkgriffs: i see. but for now, we're not tagging the swift driver as a FIFO backend22:31
flwangso should be fine22:31
flwangkgriffs: yep, i read the google pub/sub design/architecture many many times22:31
flwangkgriffs: TBH, i was wondering the backend used by AWS SQS and Google's Pub/Sub22:32
flwangif you got a chance to redesign zaqar, what do you want to change?22:33
openstackgerritFeilong Wang proposed openstack/zaqar master: Support dead letter queue  https://review.openstack.org/33365723:54

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