Tuesday, 2016-08-09

*** tonytan4ever has quit IRC00:41
*** toddjohn has joined #openstack-mistral00:42
*** enykeev has quit IRC00:49
*** enykeev has joined #openstack-mistral00:50
*** Ephur has quit IRC00:55
*** cheneydc has joined #openstack-mistral01:06
*** bobh has joined #openstack-mistral01:14
*** chlong has joined #openstack-mistral01:27
*** toddjohn has quit IRC01:29
*** tonytan4ever has joined #openstack-mistral01:42
*** tonytan4ever has quit IRC01:47
*** bobh has quit IRC02:43
*** Ephur has joined #openstack-mistral02:55
*** cheneydc has quit IRC03:16
*** bobh has joined #openstack-mistral03:47
*** Ephur has quit IRC03:59
*** Ephur has joined #openstack-mistral03:59
*** Ephur has quit IRC04:00
*** bobh has quit IRC04:03
openstackgerritRenat Akhmerov proposed openstack/mistral: Towards non-locking model: make 'with-items' work w/o locks  https://review.openstack.org/35238604:20
*** jaosorior has joined #openstack-mistral05:21
*** jtomasek_ has joined #openstack-mistral05:26
*** jtomasek_ is now known as jtomasek05:37
*** janki has joined #openstack-mistral05:42
*** brian_price has quit IRC05:51
*** Ravikiran_K has joined #openstack-mistral06:05
*** rbrady has quit IRC06:07
*** chlong is now known as chlong|mtg06:32
*** mgershen has joined #openstack-mistral07:06
*** jpich has joined #openstack-mistral07:29
*** sshnaidm|afk has quit IRC07:32
*** rbrady has joined #openstack-mistral07:34
*** shardy has joined #openstack-mistral07:54
*** sshnaidm|afk has joined #openstack-mistral08:11
*** sshnaidm|afk is now known as sshnaidm08:11
*** jaosorior is now known as jaosorior_brb08:49
*** brunograz has joined #openstack-mistral08:51
rakhmerovhparekh: hi, here?09:08
hparekhrakhmerov, yeah hi09:09
rakhmerovI have a quick question about WSGI server that you recently added09:09
rakhmerovfor API09:09
hparekhyes09:09
rakhmerovso, do you know exactly how it works? It creates multiple independent Python processes, right?09:10
*** chlong|mtg has quit IRC09:10
rakhmerovas far as I can tell by seeing "ps ax | grep mistral09:10
rakhmerov result09:10
hparekhyes09:10
hparekhdepends on cpu cores09:10
rakhmerovyeah09:10
rakhmerovI'm observing a strange thing actually09:11
hparekhwhat is it ?09:11
rakhmerovI see that some objects are shared between those processes09:11
rakhmerovat least they have same ids09:11
rakhmerovI use id() function to see their identity09:11
rakhmerovbut their state is different in every process, of course09:12
rakhmerovhow is that possible?09:12
rakhmerovis it a normal Python behavior or these API processes are related somehow?09:12
rakhmerovjust trying to understand why this is happenning...09:12
hparekhrakhmerov, not sure what is happening here09:19
rakhmerovok09:19
rakhmerovddeja: hi09:25
rakhmerovyou here?09:25
ddejarakhmerov: hi09:25
rakhmerovis there a way in o.m to send a message in broadcast mode?09:25
ddejalike, to everyone09:26
ddeja?09:26
rakhmerovso that it is received by all listeners09:26
rakhmerovyes09:26
rakhmerovI need it badly :)09:26
ddejanot 100% sure, but it should be possible09:26
rakhmerovok09:26
rakhmerovdo you know where to look?09:27
ddejalet me look into code09:27
openstackgerritMerged openstack/mistral: Towards non-locking model: adapt 'join' tasks to work w/o locks  https://review.openstack.org/35172709:27
rakhmerovok, thanks09:28
openstackgerritMerged openstack/python-mistralclient: Add error message when OS_USERNAME or OS_PASSWORD not provided  https://review.openstack.org/34814209:28
rakhmerovI realized that I made a serious mistake with spec caching09:28
rakhmerovwhat to fix it asap09:28
ddejarakhmerov: look at this http://docs.openstack.org/developer/oslo.messaging/target.html09:33
ddejathis http://docs.openstack.org/developer/oslo.messaging/server.html09:33
ddejaand this http://docs.openstack.org/developer/oslo.messaging/rpcclient.html09:33
ddejabasicalyy, we want servers to listne to targets that only have topic specified09:33
rakhmerovyes09:34
ddejaalso, target have to set 'fanaout' flag to true09:34
rakhmerovooh, ok09:34
rakhmerovthanks a lot09:34
rakhmerovwill be thinking further... :)09:34
ddejano problem, just need a minute to find out how oslo hanlde it, I'm more pure rabbit guy ;)09:35
rakhmerovyeah09:35
rakhmerovI'm also wondering if it'll be possible to implement a similar thing in pure rabbit09:35
rakhmerovI guess it's even simpler09:35
ddejasure09:35
rakhmerovbtw, this is another task for you :)09:35
ddejait is the same pattern09:35
rakhmerovto have such method on RPCClient :)09:36
ddejajust set fanaout==true nd it is all working09:36
rakhmerovit can be called just broadcast()09:36
rakhmerovI guess I'll fix my problem the other way because it's urgent but moving forward we can add this method on RPCClient09:37
rakhmerovwhat do you think?09:37
ddejagive me a minute, I'm looking into code base...09:37
rakhmerovsure09:38
rakhmerovcan you create a BP pls?09:38
ddejarakhmerov: I'm not sure if we want to procede this way09:39
ddejabasically, it is possible right now to do broadcast messages using komub driver09:40
rakhmerovgreat )09:40
rakhmerovyou're not sure about what exactly?09:40
ddejawell, OK, it is possible in the code base, it is not exposed to user09:41
ddejaI'm not sure if we want to add new method 'broadcast'09:41
ddejabecouse if the messages goes directly to one consumer or to all consumers depends on pre-configuration of the connection objects09:42
*** jaosorior_brb is now known as jaosorior09:42
ddejawe would rather have to connection objects stored in the memory and use the one that fit the case (direct message vs fanout message)09:43
ddejaI can start a blueprint for this09:44
rakhmerovoh, I see09:45
rakhmerovok09:45
*** chlong|mtg has joined #openstack-mistral09:47
*** sshnaidm is now known as sshnaidm|lnch10:39
*** Ravikiran_K has quit IRC10:59
*** sshnaidm|lnch is now known as sshnaidm11:25
*** jaosorior has quit IRC11:27
*** jaosorior has joined #openstack-mistral11:28
ddejarakhmerov: Hi, I was reviewing your latest change that makes 'with-items' working without locks11:32
rakhmerovok11:32
ddejaunfortunately, it looks like it breaks things11:32
ddejaI've pasted my tested workflow - it goes into success, but task2 and task3 never run11:33
rakhmerovhm..11:34
rakhmerovdoes it work with the previous version?11:34
ddejayes11:34
ddejawell, let me double check11:34
rakhmerovyes, please11:35
ddejabecouse it might be previous patch that broke things...11:35
rakhmerovI wonder if a problem was introduced by the patch11:35
rakhmerovit might have been 'join' patch11:35
rakhmerovthat is already merged btw11:35
ddejaOh, it started working now...11:37
ddejadon't know what happend11:38
ddejanevermind11:38
rakhmerovplease try several times11:38
rakhmerovit might some concurrent problem that still exists11:38
rakhmerovit's possible11:38
rakhmerovtry 10 times :)11:38
ddejait looks like it working now, I might have my master branch in some older state11:39
ddejamy bad, sorry11:39
ddeja+2, +W11:41
rakhmerov:)11:42
rakhmerovthanks a lot!!11:42
*** dprince has joined #openstack-mistral11:43
rakhmerovddeja: I really wanna ask you review something that I'm about to merge, it will fix a SUPER nasty bug11:43
rakhmerovwhich was introduced by me11:43
ddejaok11:43
rakhmerov(I hope I won't get too many rotten tomatos.. )11:43
ddejarakhmerov: is this already in review?11:45
rakhmerovno, soon11:45
rakhmerovfinishing it up..11:45
ddejaok11:45
ddejarakhmerov: the blueprint you asked https://blueprints.launchpad.net/mistral/+spec/mistral-broadcast-messages11:48
rakhmerovok, great!11:48
*** dprince has quit IRC11:56
*** dprince has joined #openstack-mistral11:56
*** sshnaidm is now known as sshnaidm|afk11:56
openstackgerritRenat Akhmerov proposed openstack/mistral: Fix specification caching mechanism  https://review.openstack.org/35286912:02
rakhmerovddeja: https://review.openstack.org/#/c/352869/12:02
rakhmerovneed to wait if the gates pass12:03
rakhmerovbut you can take a look at the problem and see if the solution is valid conceptually12:03
* ddeja is looking12:03
*** sshnaidm|afk is now known as sshnaidm12:33
*** sshnaidm has quit IRC12:35
openstackgerritRenat Akhmerov proposed openstack/mistral: Fix specification caching mechanism  https://review.openstack.org/35286912:37
*** bobh has joined #openstack-mistral12:39
*** toddjohn has joined #openstack-mistral12:40
*** toddjohn has quit IRC12:45
*** catintheroof has joined #openstack-mistral12:46
ddejarakhmerov: Renat, I'm not sure what is the problem that you are solving... basically, you have added cache based on wf_ex insted of workflow, but how it helps?12:49
*** toddjohn has joined #openstack-mistral12:49
rakhmerovddeja: ok, let me explain12:49
rakhmerovit's a little bit mindtwisting..12:49
rakhmerovso, the problem was: cache instantiated on every Mistral instance, right?12:50
rakhmerovwell, it's not a problem yet by itself..12:50
*** bobh has quit IRC12:50
ddejayou mean, we have 3 engines and every have own cache?12:50
rakhmerovyes12:50
rakhmerovthe problem was in workflow update operation12:50
rakhmerovimagine that we already have some cached values on those instances12:51
rakhmerovnow we're making WF update12:51
ddejaoh, that is why you wanted boradcast message12:51
rakhmerovthe WF definition is now different12:51
rakhmerovddeja: yes, exactly, but I thought more and found a simpler solution12:51
ddejaok12:52
rakhmerovso two options: 1) use RPC to invalidate cache on all instances12:52
rakhmerov2) use smarter keys for getting cached values so that on cache key misses cache would be updated with a fresh value12:52
ddejaok, I see - we make a spec for each execution12:52
rakhmerovyeah, this is even slightly a different problem12:53
ddejawhich is better, because imagine what may happen if cached spec change during wf execution12:53
rakhmerovgive me a sec pls...12:53
ddejasure12:53
rakhmerovso, caching based on execution id is a must have anyway12:55
rakhmerovbecause, during the workflow execution lifecycle the spec should remain the same12:56
rakhmerovotherwise, if we update WF definition in parallel we'll break currently running executions12:56
rakhmerovthis the 1st level where we need to cache12:56
rakhmerovthe 2nd: caching based on WF definition id12:57
rakhmerovit's needed when we start a new WF12:57
rakhmerovinstead of building a spec again we can use a different cache to get a value from it12:58
rakhmerovbut12:58
*** sshnaidm has joined #openstack-mistral12:58
rakhmerovfor this type of caching only WF definition id is not enough12:58
rakhmerovfor the problem I mentioned above: distributed invalidation is required12:59
ddejayup12:59
rakhmerovsolution: use WF definition id and 'updated_at' field12:59
ddejasmart12:59
rakhmerovso that if 'updated_at' is changed it will be a cache miss12:59
rakhmerovand it will load a fresh value from DB13:00
rakhmerovcool, hah? :)13:00
rakhmerovno RPC is required13:00
ddejait is good, since it should not be used for synchronisation13:00
ddejaonly the DB13:00
rakhmerovyes13:00
ddejayeah, I like it - elegant idea13:01
rakhmerovso I fixed two problems: 1) caching during execution lifecycle 2) Automatic invalidation13:01
rakhmerovyeah, so any old cache values are evicted by LRU algo13:02
ddejarakhmerov: OK, waiting for Jenkins but for me it looks OK13:02
rakhmerovddeja: one 'partial_join' test fails once in a while, I did investigation ant it seems like the reason is SQlight13:03
rakhmerovbecause it's really bad at transactional stuff13:03
ddejayup13:03
rakhmerovI'll do more investigation though anyway..13:04
*** toddjohn has quit IRC13:11
openstackgerritRenat Akhmerov proposed openstack/mistral: Fix specification caching mechanism  https://review.openstack.org/35286913:17
openstackgerritRenat Akhmerov proposed openstack/mistral: Towards non-locking model: remove pessimistic locks  https://review.openstack.org/35289513:17
*** jpeeler has joined #openstack-mistral13:19
*** toddjohn has joined #openstack-mistral13:50
*** rbrady has quit IRC13:58
*** rbrady has joined #openstack-mistral13:58
*** jistr is now known as jistr|debug14:00
*** tonytan4ever has joined #openstack-mistral14:05
*** rrecio has joined #openstack-mistral14:06
*** rrecio_ has joined #openstack-mistral14:07
*** bobh has joined #openstack-mistral14:09
*** bobh has quit IRC14:10
*** bobh has joined #openstack-mistral14:10
*** rrecio has quit IRC14:11
*** vishwanathj has joined #openstack-mistral14:13
rakhmerovddeja: I found a bug with 'join'14:21
rakhmerovthat's why 'partial_join' keeps failing14:21
rakhmerovtill then, my patches won't be passing stabily14:21
rakhmerovI'll send a separate fix since it's not directly related to them14:22
*** janki has quit IRC14:33
*** catintheroof has quit IRC14:47
*** catintheroof has joined #openstack-mistral14:48
*** brian_price has joined #openstack-mistral14:52
*** catintheroof has quit IRC14:53
*** tonytan4ever has quit IRC14:56
*** tonytan4ever has joined #openstack-mistral14:57
*** jistr|debug is now known as jistr15:23
*** catintheroof has joined #openstack-mistral15:25
*** Ephur has joined #openstack-mistral15:37
*** gokrokve has joined #openstack-mistral15:58
*** dprince has quit IRC16:04
*** dprince has joined #openstack-mistral16:05
*** toddjohn has quit IRC16:12
*** toddjohn has joined #openstack-mistral16:13
*** jpich has quit IRC16:15
*** toddjohn has quit IRC16:17
*** toddjohn has joined #openstack-mistral16:34
*** dprince has quit IRC16:42
*** dprince has joined #openstack-mistral16:43
*** dprince has quit IRC16:54
*** vishwanathj has quit IRC17:00
*** gokrokve has quit IRC17:02
*** vishwanathj has joined #openstack-mistral17:21
*** tonytan4ever has quit IRC17:28
*** dprince has joined #openstack-mistral17:32
*** jaosorior has quit IRC17:50
*** tonytan4ever has joined #openstack-mistral18:05
*** toddjohn has quit IRC18:12
*** toddjohn has joined #openstack-mistral18:13
*** toddjohn has quit IRC18:13
*** toddjohn has joined #openstack-mistral18:14
*** toddjohn has quit IRC18:36
*** toddjohn has joined #openstack-mistral18:37
*** toddjohn has quit IRC18:38
*** toddjohn has joined #openstack-mistral18:39
openstackgerritRenat Akhmerov proposed openstack/mistral: Fix workflow and join completion logic  https://review.openstack.org/35306318:45
*** shardy is now known as shardy_afk18:58
*** catintheroof has quit IRC19:12
*** bobh has quit IRC19:35
*** bobh has joined #openstack-mistral19:36
*** bobh__ has joined #openstack-mistral19:37
*** bobh has quit IRC19:41
*** gyee has joined #openstack-mistral20:37
*** dprince has quit IRC20:37
*** shardy_afk is now known as shardy20:55
*** Ephur_ has joined #openstack-mistral20:58
*** Ephur has quit IRC21:02
*** Ephur_ has quit IRC21:06
*** shardy has quit IRC21:38
*** toddjohn has quit IRC21:54
*** rbrady has quit IRC21:57
*** rbrady has joined #openstack-mistral21:58
*** bobh__ has quit IRC22:00
*** rbrady has quit IRC22:01
*** tonytan4ever has quit IRC22:26
*** tonytan4ever has joined #openstack-mistral22:28
*** toddjohn has joined #openstack-mistral22:35
*** toddjohn has quit IRC22:40
*** toddjohn has joined #openstack-mistral22:41
*** rrecio_ has quit IRC23:18
*** bobh has joined #openstack-mistral23:27
*** bobh has quit IRC23:50

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