Tuesday, 2016-07-26

kota_morning01:29
kota_takashi: if you are available, please ping me to talk about something I'd make sure.01:30
*** mattoliverau has quit IRC02:58
*** matt6434 has joined #openstack-storlets03:06
*** matt6434 is now known as mattoliverau03:30
*** takashi has joined #openstack-storlets04:06
takashihello04:06
takashikota_: ping04:07
takashido we have next weekly meeting today? or tommorow?04:07
kota_hi, takashi04:07
takashihi, kota_04:07
kota_no idea for now04:07
takashikota_: ok04:08
kota_do you have a time?04:11
kota_takashi04:11
takashikota_: yes04:13
kota_ok, wait04:13
takashiwaiting :-)04:24
kota_ah, sorry, I pingged to messenger04:24
kota_it sems you're absent in messenger04:24
kota_ok, let's talk here04:24
kota_so04:24
takashikota_: looking04:24
kota_https://github.com/openstack/storlets/blob/master/Engine/swift/storlet_gateway/gateways/docker/runtime.py#L707-L71504:24
kota_I'm curious the code above because I didn't get understood for the dead lock case04:25
kota_and more, AFAIK, eventlet.spawn_n doesn't resucue such a situation but... does it work actually?04:26
takashikota_: ok04:26
takashiyou mean, eventlet doesn't work for socket io?04:27
kota_no04:27
kota_eventlet.spawn_n will return the thread instance to run04:27
kota_and we need to make a call like thead.run()04:28
kota_for the execution, right?04:28
takashihttp://eventlet.net/doc/modules/greenthread.html04:29
takashiit seems that we don't need to execute run in spawn_n case04:29
takashiactually it works04:29
kota_ah, it will run if the context would be switched?04:30
takashikota_: yes04:30
-kota_- >>> import eventlet04:30
-kota_- >>> def test()04:30
-kota_- File "<stdin>", line 104:30
-kota_- def test()04:30
-kota_- ^04:30
-kota_- SyntaxError: invalid syntax04:30
-kota_- >>> def test():04:30
-kota_- ... print 'hoge'04:31
-kota_- ...04:31
-kota_- >>> eventlet.spawn_n(test)04:31
-kota_- <greenlet.greenlet object at 0x7fa51dee1870>04:31
-kota_- >>> eventlet.sleep()04:31
-kota_- hoge04:31
kota_gotcha, this works.04:31
takashieventlet.swapn returns thread instance, which should be run, but swapn_n immediately spawn green thread, and returns greenlet object to get return value04:31
takashis/swapn/spawn/04:31
kota_ok, it will happen if non-blocking IO waiting something04:32
kota_it seems probably... read_metadata?04:33
kota_so I'm bit confused because it expects to use eventlet non-blocking IO but in other place, we call a bunch of os calls like os.read.04:34
kota_in outside of eventlet thread...04:34
kota_but, ok. it seems to work anyway, FWIW.04:35
kota_thanks!04:35
takashikota_: if storlet application performes streaming processing, it expect recieving data from swift at the same time it is sending data to swift04:38
takashikota_: in that case, if we continue to send body from swift side to container side without reading any response, at some point storlet inside container stucks because it can't send data back to swift04:39
kota_so it's curious04:40
kota_storlet handler attempts to send it (maybe in buffer?)04:41
kota_if container doesn't drain anything, that does not finish?04:42
takashikota_: it will wait until read content is ready with timeout04:43
takashis/it/storlet_handler04:44
kota_read?04:44
kota_I'm missing something04:44
takashis/read content/read metadata/04:44
takashihttps://github.com/openstack/storlets/blob/master/Engine/swift/storlet_gateway/gateways/docker/runtime.py#L67304:44
kota_can i make sure the protocol?04:45
takashiafter lauching write thread, storlet_handler will wait until it gets ready for read metadata from fd04:45
kota_yes04:45
kota_my question is why writing thread halt while writing data if the reader at container doesn't anything?04:46
kota_(or the reader at container might be in just sending metadata...though)04:47
kota_ah,04:48
kota_the protocol deson't define the case like04:48
kota_doesn't04:48
kota_when, we should read metadata and whether client can send back the metadata *before* closing the recieving write buffer.04:49
kota_that seems a problem04:50
kota_because...04:50
kota_if a huge object was feeded to a storlet app which does nothing (no read or slow read) and just send back the metadata.04:51
kota_what's happen actually?04:51
kota_it eat the huge memory bytes?04:52
takashilet me make sure04:52
kota_ok04:53
kota_and, IMO, we should figure out around the eventlet call because04:53
kota_regading with the eventlet behavior,04:53
takashias we discussed, sending contents from storlet_handler to container is executed in the new eventlet thread04:53
kota_we don't ensure the data sending right now unless we know eventlet hub behavior deepely04:54
takashiand recieving contents from container is executed in the main thread(?), which is the different thread from sending one.04:54
kota_it's a problem for maintainance04:54
kota_i think, it should be obviously in the same  i/o context swiftch for read/write and then, we got the final response of read, it should kill all coroutines in the thread, right?04:55
takashikota_: yes04:56
takashikota_: so problem is, we do nothing about writing thread after we launch it, right?04:56
takashiwe need to manage it lifecycle.04:56
kota_takashi: yes, i think.04:56
takashis/it/its/04:56
takashiok, ok. I got it.04:57
takashikota_: and totally agree with you04:57
kota_takashi: thanks for talking :-)04:57
takashikota_: if you try to fix that, you should be careful about the place where you wait that process04:58
kota_yes04:58
takashikota_: because reading body is handled by iterator, outside gateway module04:59
kota_maybe, i can do that, because I recently figure out the event let hub impl for another purpose ;-)04:59
takashikota_: ok :-)04:59
takashikota_: np. thank you for bringing it up.05:00
openstackgerritMerged openstack/storlets: Add small docs to understand  https://review.openstack.org/34585305:10
takashi I often saw curios test failures in gate job, especially in merge job :-(05:29
takashipreviously I often saw some failures in docker pull, but recently some interruption of test execution happens in some case ...05:31
kota_wooo06:05
kota_takashi: https://review.openstack.org/#/c/331938/06:06
patchbotkota_: patch 331938 - storlets - Set -eu for setup scripts explicitly06:06
kota_this might make us easy to find the reason06:06
kota_it makes the gate to halt when something wrong happen in the setup06:07
takashikota_: looking06:07
kota_a bunch of falures will move us into fog far from the actuall reason06:07
kota_the lack point of it is we cannot set -eu for swift-intall unless we change the ibeem setup tools not to swift-init stop for clean environment.06:08
takashithere are also some problems about the log of daemon_factory06:09
kota_swift-init all stop for clean environment will return 1 (error exit code) and it makes the gate failure :/06:09
takashicurrently we don't have any way to change log setting of daemon_factory, and it always generates log to syslog local006:09
kota_might be06:10
takashiI'm curious wheather that behavior is very acceptable for everyone06:11
takashithat behavior of swift-init06:11
takashifor example, when we try to us pssh to launch all processes in multiple nodes, 'swift-init all' returns non 0 value, and ends up with error in pssh06:12
takashiwe can avoid that error with explicitly give the process names to launch, but it is a little bit bother06:14
kota_it seems like, swift-init all status -> if all servers running, it returns 0 otherwise 106:17
kota_so that, "status" first and if no expected server running, do "start" seems reasonable.06:18
takashikota_: ok06:27
*** takashi has quit IRC07:01
*** takashi has joined #openstack-storlets07:43
openstackgerritKota Tsuyuzaki proposed openstack/storlets: Add unittests and cleanup codes  https://review.openstack.org/34661408:26
openstackgerritKota Tsuyuzaki proposed openstack/storlets: Add unittests and cleanup codes  https://review.openstack.org/34661408:29
openstackgerritAkihito Takai proposed openstack/storlets: Fix COPY request  https://review.openstack.org/34722510:07
openstackgerritKota Tsuyuzaki proposed openstack/storlets: Add unittests and cleanup codes  https://review.openstack.org/34661410:42
openstackgerritKota Tsuyuzaki proposed openstack/storlets: Add unittests and cleanup codes  https://review.openstack.org/34661411:12
openstackgerritKota Tsuyuzaki proposed openstack/storlets: Add capability for clazy things  https://review.openstack.org/34725811:22
openstackgerritKota Tsuyuzaki proposed openstack/storlets: Creanup redundant README.md and README.rst  https://review.openstack.org/34727811:38
*** takashi has quit IRC13:15
openstackgerritKota Tsuyuzaki proposed openstack/storlets: Add unittests and cleanup codes  https://review.openstack.org/34661414:33
openstackgerritKota Tsuyuzaki proposed openstack/storlets: Add capability for clazy things  https://review.openstack.org/34725814:55
openstackgerritTakashi Kajinami proposed openstack/storlets: Refactor dispatch_command  https://review.openstack.org/34589216:51
openstackgerritTakashi Kajinami proposed openstack/storlets: Refactor dispatch_command  https://review.openstack.org/34589216:53
openstackgerritTakashi Kajinami proposed openstack/storlets: Remove unneccesory parameters in storlet_handler  https://review.openstack.org/34749517:36
*** openstackgerrit has quit IRC22:03
*** openstackgerrit has joined #openstack-storlets22:04
openstackgerritKota Tsuyuzaki proposed openstack/storlets: Add unittests and cleanup codes  https://review.openstack.org/34661422:11
openstackgerritKota Tsuyuzaki proposed openstack/storlets: Add capability for clazy things  https://review.openstack.org/34725822:12
*** openstackgerrit has quit IRC22:48
*** openstackgerrit has joined #openstack-storlets22:49

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