| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-sdks - 2018-12-13 | |||
| 16:58:58 | dtantsur | so I recommend we start using smiles in versions | |
| 16:59:15 | dtantsur | * smileys | |
| 16:59:44 | edleafe | Better yet: animojis! | |
| 17:00:11 | elmiko | haha, perfect | |
| 17:00:12 | edleafe | https://emojipedia-us.s3.amazonaws.com/content/2017/09/21/animoji-poo-emojipedia.gif | |
| 17:00:33 | elmiko | dtantsur: micromoji-versioning? | |
| 17:00:42 | edleafe | I guess our office hour is up. | |
| 17:00:46 | elmiko | ah well | |
| 17:00:48 | dtantsur | right! | |
| 17:01:01 | elmiko | have a good weekend y'all =) | |
| 17:01:07 | dtantsur | see you in January :) | |
| 17:01:11 | dtantsur | happy holidays | |
| 17:01:13 | elmiko | enjoy dtantsur ! | |
| 17:01:17 | edleafe | elmiko: mobile devices are getting bigger, so let's not use 'micro' | |
| 17:01:24 | elmiko | edleafe: good point | |
| 17:01:28 | edleafe | See ya, dtantsur! Enjoy your time off! | |
| 17:03:07 | edleafe | cdent: So are you on board with replacing versions with git hashes? | |
| 17:04:23 | cdent | only if we do the git checkout bit internally, and only from a remote repo | |
| 17:05:52 | edleafe | If we put versions in the URI, we could have GET /v91b735fddedbeb9d1cc241dadc753ff2f3b86a4b/foo/bar | |
| 17:06:18 | edleafe | Users would love that! | |
| 17:06:42 | cdent | that looks suspiciously similar to user/project/tenant/whatever it was in URIs | |
| 17:06:46 | cdent | which was an equally bad idea | |
| 17:07:58 | elmiko | i'm gonna grab some lunch, catch you gents later o/ | |
| 21:07:05 | openstackgerrit | Thomas Bechtold proposed openstack/openstacksdk master: Drop self.conn from base.TestCase https://review.openstack.org/625115 | |
| 23:08:13 | kmalloc | mordred: the SDK issue, are you seeing that on master or on pip isntalled? | |
| 23:08:20 | kmalloc | mordred: because i can't duplicate it on the current release | |
| 23:08:53 | kmalloc | mordred: the discovery bit | |
| 23:09:21 | kmalloc | mordred: i just tried with vexxhost: | |
| 23:09:57 | kmalloc | https://www.irccloud.com/pastebin/EHIjvSgI/ | |
| 23:10:12 | kmalloc | mordred: using pretty much your code: | |
| 23:10:28 | kmalloc | https://www.irccloud.com/pastebin/7mR8Gonv/ | |
| 23:10:49 | kmalloc | mordred: i omitted the auth request. | |
| 23:11:01 | kmalloc | maybe you're hitting the unversioned URL? | |
| 23:11:46 | kmalloc | nope, also not seeing that there. | |
| 23:12:40 | Shrews | kmalloc: you gotta enable the cache part | |
| 23:13:08 | kmalloc | Shrews: bah. | |
| 23:13:09 | Shrews | kmalloc: steps to reproduce are here: https://storyboard.openstack.org/#!/story/2004605 | |
| 23:13:32 | Shrews | kmalloc: unless there is a different issue you are talking about :) | |
| 23:13:38 | kmalloc | no different thing | |
| 23:13:42 | Shrews | oh, sorry | |
| 23:13:45 | kmalloc | Shrews: i was looking at the duplicate discovery bit first | |
| 23:13:51 | kmalloc | Shrews: and i can't duplicate that. | |
| 23:13:59 | kmalloc | since that one might be something wrong in KSA. | |
| 23:14:02 | Shrews | kmalloc: i am no help there | |
| 23:14:15 | kmalloc | yeah, will need mordred to weigh in on duplication, it just isn't happening for me. | |
| 23:14:26 | kmalloc | on to the dogpile thing. | |
| 23:18:16 | ianw | kmalloc: yeah, i'm taking a look at it too ... wow it's hairy | |
| 23:19:26 | ianw | the change is https://gerrit.sqlalchemy.org/#/c/sqlalchemy/dogpile.cache/+/996/4/dogpile/cache/region.py | |
| 23:20:49 | ianw | i can sort of replicate it. i think in the unit tests, somehow it's getting eaten | |
| 23:20:56 | ianw | but if you put more failures in there, you see it | |
| 23:22:53 | kmalloc | Shrews: on another unrelated note | |
| 23:23:02 | kmalloc | https://usercontent.irccloud-cdn.com/file/ylihsQes/battlestation | |
| 23:23:20 | kmalloc | Shrews: ^ hehehe 3x portrait mode monitors = win for code! | |
| 23:24:33 | kmalloc | ianw: yeah it's weird. | |
| 23:25:18 | Shrews | kmalloc: sick | |
| 23:33:30 | kmalloc | Shrews: i'm not able to duplicate that issue | |
| 23:33:36 | kmalloc | with dogpile 0.7.0 or 0.7.1 | |
| 23:33:46 | kmalloc | i must have something broken in my clouds.yaml | |
| 23:34:22 | kmalloc | ooh wait. | |
| 23:35:34 | kmalloc | nope. hmmm. | |
| 23:37:12 | kmalloc | there we go | |
| 23:39:17 | kmalloc | hmm. this is why i usually use settr() instead of = for setting values, especially on python structures. | |
| 23:45:07 | ianw | so the original decorator wrapped the function, which is actually in this case a bound method | |
| 23:45:16 | kmalloc | right. | |
| 23:45:33 | ianw | now it uses "decorate" | |
| 23:45:33 | kmalloc | which means that __get__ is looking at .. i think something else here. | |
| 23:45:52 | kmalloc | yeah, i'm not super familiar with decoratte, that might eat things. | |
| 23:46:01 | ianw | i think the __get__ is right -- that's returning the bound method | |
| 23:46:11 | ianw | e.g. if we're calling self.list_users() | |
| 23:46:19 | ianw | it's the list_users() method of self | |
| 23:46:50 | kmalloc | right. but we're failing when it comes to doing the .set = set_ | |
| 23:47:12 | ianw | then it's essentially calling "cache_on_arguments(self.list_users)" | |
| 23:47:13 | kmalloc | so, with decorate module we might be getting something else back from the __get__ that is resulting on the failure. | |
| 23:47:35 | ianw | well it hasn't got to that point yet | |
| 23:47:47 | ianw | it's assuming it can set "func.set = ... something" | |
| 23:47:50 | kmalloc | the traceback i see is | |
| 23:47:52 | kmalloc | https://www.irccloud.com/pastebin/Dd2zuRog/ | |
| 23:47:54 | ianw | which you can't do on a bound method | |
| 23:48:02 | kmalloc | right. | |
| 23:48:19 | kmalloc | hmm.. i wonder. | |
| 23:48:27 | ianw | ok, we're talking about the same traceback at least :) | |
| 23:49:09 | ianw | splitting it up helps i think | |
| 23:49:11 | ianw | http://paste.openstack.org/ | |
| 23:49:23 | kmalloc | yeah | |
| 23:50:04 | kmalloc | i think i see what is going on | |
| 23:50:14 | ianw | in the old decorator, it would use @wraps(fn) on the incoming user function | |
| 23:50:25 | kmalloc | yes | |
| 23:50:48 | kmalloc | dogpile makes the broad assumption it is doing the wrapping | |
| 23:51:03 | kmalloc | not getting magic instantiated things | |
| 23:51:06 | kmalloc | bound methods. | |
| 23:51:17 | ianw | yes ... probably a fair assumption :) | |
| 23:51:30 | kmalloc | we're probably doing it wrong. | |
| 23:52:37 | ianw | sorry i've got to step out for about 30 minutes for a meeting. i'll be back | |
| 23:52:41 | kmalloc | yeah np. | |
| 23:54:54 | kmalloc | ianw: the solutions are pretty straightforward (cc Shrews, mordred): 1) dogpile reverts, 2) we stop wrapping on-demand, and we lean on something similar to a "should_cache_fn", or always wrap and just lean on the null backend by default, 3) same as 2, but we use should_cache_fn to control if caching is enabled. | |
| 23:55:19 | kmalloc | i think dogpile is probably making the sane assumption it should be allowed to control wrapping. | |
| 23:56:11 | kmalloc | i think we should just always wrap, and let dogpile do that, instead of wrap the bound method. | |
| #openstack-sdks - 2018-12-14 | |||
| 00:06:09 | kmalloc | Shrews: out of curiosity, why do we have our own ... on-demand cache-on-arguments that does it independantly of import time? this seems odd... is it just to override the self-being-needed in the .invalidate? | |
| 00:31:58 | ianw | https://review.openstack.org/#/c/171456/ is where it seems to have come in | |
| 03:15:44 | ianw | I have updated https://storyboard.openstack.org/#!/story/2004605 and have a small test-case in an upstream issue https://github.com/sqlalchemy/dogpile.cache/issues/140 | |