| 2011-02-09 00:27:22 utc | sandbox | https://github.com/dolores/ruote-redis-backend |
| 2011-02-09 00:30:21 utc | jmettraux | which version of redis ? |
| 2011-02-09 00:31:07 utc | jmettraux | may I have the error stack trace ? |
| 2011-02-09 00:33:21 utc | sandbox | redis 2 |
| 2011-02-09 00:33:34 utc | sandbox | redis that at least has hashes |
| 2011-02-09 00:33:51 utc | jmettraux | ok |
| 2011-02-09 00:33:57 utc | sandbox | redis-2.1.1 is the ruby client |
| 2011-02-09 00:34:19 utc | sandbox | 478 tests, 949 assertions, 0 failures, 0 errors; for functional tests |
| 2011-02-09 00:37:12 utc | jmettraux | could you launch a run of "ruby test/functional/crunner.rb 0" let it run until it reaches 100 or 200 (or fails before) |
| 2011-02-09 00:38:49 utc | jmettraux | sorry, "ruby test/functional/crunner.rb 0 -- --redis-backend" |
| 2011-02-09 00:39:21 utc | jmettraux | argh, wrong |
| 2011-02-09 00:40:31 utc | jmettraux | it's ". test/functional/crunner.sh 0 -- --redis-backend" |
| 2011-02-09 00:41:31 utc | sandbox | i need to be in the ruote directory for this correct? |
| 2011-02-09 00:41:37 utc | jmettraux | yes |
| 2011-02-09 00:43:17 utc | sandbox | okay seems to be working so far, but will wait until it gets to 100 or 200 |
| 2011-02-09 00:43:26 utc | sandbox | what exactly does this test? |
| 2011-02-09 00:44:03 utc | jmettraux | test/functional/ct_{0,1,2}_... are multiple workers tests |
| 2011-02-09 00:44:44 utc | jmettraux | ct_0 tries to force a collision between two workers handling branches of a concurrence |
| 2011-02-09 00:45:28 utc | jmettraux | ct_1 is about an iterator getting executed by a worker and cancelled by another |
| 2011-02-09 00:45:47 utc | jmettraux | ct_2 is somehow a generalization of ct_1 |
| 2011-02-09 00:46:17 utc | jmettraux | ACTION installing redis 2.0.4 |
| 2011-02-09 00:46:39 utc | sandbox | https://gist.github.com/60bc5326bd64ac166725 |
| 2011-02-09 00:46:56 utc | sandbox | that's the trace for the error i'm getting |
| 2011-02-09 00:47:26 utc | jmettraux | ok |
| 2011-02-09 00:50:18 utc | sandbox | so far so good with crunner.sh 0 |
| 2011-02-09 00:50:25 utc | jmettraux | sandbox: how do you compose keys for "ruote docs" ? |
| 2011-02-09 00:51:54 utc | sandbox | "ruote:msgs" |
| 2011-02-09 00:51:58 utc | sandbox | "ruote:#{type}" |
| 2011-02-09 00:52:04 utc | sandbox | it is a hash |
| 2011-02-09 00:52:22 utc | jmettraux | does the subid go into id ? |
| 2011-02-09 00:52:25 utc | sandbox | redis hash with fields (wfid) to the document string as json |
| 2011-02-09 00:52:27 utc | jmettraux | (sub_wfid) |
| 2011-02-09 00:54:03 utc | sandbox | i'm not entirely sure what that means sorry |
| 2011-02-09 00:54:13 utc | sandbox | ["err_0!!20110209-hagijeho", "err_0_0_1!11867230486000!20110209-hagijeho"] |
| 2011-02-09 00:54:35 utc | jmettraux | in https://gist.github.com/60bc5326bd64ac166725 is line 2 the id for the doc that fails to get persisted ? |
| 2011-02-09 00:55:02 utc | sandbox | yes |
| 2011-02-09 00:55:09 utc | jmettraux | sub_wfid is empty |
| 2011-02-09 00:55:37 utc | jmettraux | are you using a vanilla ruote 2.1.11 or are you following master ? |
| 2011-02-09 00:55:47 utc | sandbox | vanilla ruote 2.1.11 |
| 2011-02-09 00:55:53 utc | jmettraux | ok |
| 2011-02-09 00:56:08 utc | sandbox | i can easily switch to following master |
| 2011-02-09 00:56:41 utc | jmettraux | I was just surprised of the empty sub_wfid, but it's normal in 2.1.11 |
| 2011-02-09 00:57:19 utc | sandbox | interesting |
| 2011-02-09 00:57:29 utc | sandbox | what is the sub_wfid supposed to be used for? |
| 2011-02-09 00:57:33 utc | sandbox | and how do i make sure it isn't empty? |
| 2011-02-09 00:57:48 utc | jmettraux | it's OK with ruote 2.1.11 |
| 2011-02-09 00:58:04 utc | jmettraux | in ruote 2.1.11 it's empty for a main process and filled for a subprocess |
| 2011-02-09 00:58:19 utc | jmettraux | in ruote 2.2.x it is filled anyway |
| 2011-02-09 00:59:26 utc | sandbox | and so initial_persist in this case is erring because it expects to find a sub_wfid as a key? |
| 2011-02-09 01:01:22 utc | jmettraux | well no |
| 2011-02-09 01:01:41 utc | jmettraux | it's failing because there is already a revision of this doc in the db |
| 2011-02-09 01:02:00 utc | jmettraux | so another worker has already done the persist |
| 2011-02-09 01:03:33 utc | jmettraux | sandbox: I'm preparing an env, on which ruby are you running ? |
| 2011-02-09 01:03:43 utc | sandbox | ruby 1.8.7 |
| 2011-02-09 01:03:47 utc | sandbox | patch level 254 |
| 2011-02-09 01:03:59 utc | sandbox | i mean 249 |
| 2011-02-09 01:04:09 utc | jmettraux | ok |
| 2011-02-09 01:04:11 utc | sandbox | whatever is the base ubuntu 10 install |
| 2011-02-09 01:05:37 utc | sandbox | so if the persist has already been done by another worker, how should the worker recover? |
| 2011-02-09 01:06:20 utc | jmettraux | it's loudly throwing an error because it shouldn't happen |
| 2011-02-09 01:06:32 utc | jmettraux | the two workers are acting on the same "msg" |
| 2011-02-09 01:06:42 utc | sandbox | ah okay |
| 2011-02-09 01:06:53 utc | jmettraux | but one of them should have won |
| 2011-02-09 01:07:02 utc | sandbox | i had some ideas for the redis backend to start dealing with messages in a similar way to resque |
| 2011-02-09 01:08:22 utc | jmettraux | https://github.com/jmettraux/ruote/blob/master/lib/ruote/worker.rb#L207 (if @storage.reserve(msg) returns false, it means the worker lost and it lets the other do the work) |
| 2011-02-09 01:10:22 utc | jmettraux | I will add tests about reserve to test/unit/storage.rb |
| 2011-02-09 01:11:15 utc | jmettraux | it seems your implementation is not caring about conflicts when deleting |
| 2011-02-09 01:12:00 utc | jmettraux | I could be wrong |
| 2011-02-09 01:15:58 utc | jmettraux | ACTION working on a test for reserve in test/unit/storage.rb |
| 2011-02-09 01:19:51 utc | sandbox | okay that would be really helpful |
| 2011-02-09 01:21:10 utc | jmettraux | sandbox: what is your "similar way to resque" idea ? |
| 2011-02-09 01:23:00 utc | sandbox | the way workers grab msgs it seems that the grabbable msgs should be on a redis list |
| 2011-02-09 01:23:04 utc | sandbox | and workers just pop them off |
| 2011-02-09 01:23:07 utc | sandbox | if they are popped off |
| 2011-02-09 01:23:12 utc | jmettraux | +1 |
| 2011-02-09 01:23:19 utc | sandbox | then no other worker can grab it |
| 2011-02-09 01:29:18 utc | jmettraux | get_msgs and put_msgs are ripe for overriding |
| 2011-02-09 01:30:13 utc | sandbox | that was the plan |
| 2011-02-09 01:32:20 utc | sandbox | just needed to make sure the base implementation was not borked in some way |
| 2011-02-09 01:33:55 utc | jmettraux | justed pushed https://github.com/jmettraux/ruote/commit/e5033dd46fc61f5bc0e8d1948d05a496869afe78 |
| 2011-02-09 01:35:36 utc | jmettraux | assertion fails if jobs were reserved more than once |
| 2011-02-09 01:36:26 utc | sandbox | mine still pass those |
| 2011-02-09 01:36:35 utc | jmettraux | ouch |
| 2011-02-09 01:37:23 utc | jmettraux | double-checking |
| 2011-02-09 01:37:40 utc | jmettraux | I might be completely off with that |
| 2011-02-09 01:38:24 utc | jmettraux | yeah, sorry, it's useless, no jobs get reserved at all |
| 2011-02-09 01:39:05 utc | jmettraux | fixing |
| 2011-02-09 01:43:53 utc | jmettraux | and now it fails for my own ruote-redis, damn |
| 2011-02-09 01:45:39 utc | sandbox | i'm a little glad that it isn't just me then |
| 2011-02-09 01:45:58 utc | sandbox | do you think we should be using ruote off the master branch? |
| 2011-02-09 01:46:23 utc | jmettraux | I will be releasing 2.2.0 soon |
| 2011-02-09 01:46:34 utc | jmettraux | let me look at the changelog |
| 2011-02-09 01:46:50 utc | jmettraux | ACTION facepalms |
| 2011-02-09 01:50:35 utc | jmettraux | better : https://github.com/jmettraux/ruote/blob/master/test/unit/storage.rb#L281-314 but it makes my ruote-redis and my ruote-dm fail |
| 2011-02-09 01:52:22 utc | jmettraux | changelog : https://github.com/jmettraux/ruote/blob/master/CHANGELOG.txt#L4-55 it's a cumulation of minor improvements |
| 2011-02-09 01:52:45 utc | jmettraux | it's a "2.2" since the "stateful participants" got banned |
| 2011-02-09 01:53:28 utc | jmettraux | it also has to sub_wfid change which counters edge case issues with loops and subprocesses |
| 2011-02-09 01:53:44 utc | sandbox | interesting, and i did notice it for the dm version but thought i was doing something else wrong |
| 2011-02-09 01:54:23 utc | jmettraux | it's always my fault ;-) |
| 2011-02-09 01:55:07 utc | jmettraux | 2.2.0 has lots of goodies |
| 2011-02-09 01:55:24 utc | sandbox | mine still doesn't fail on that test |
| 2011-02-09 01:55:34 utc | sandbox | 20 tests, 40 assertions, 0 failures, 0 errors |
| 2011-02-09 01:56:31 utc | jmettraux | mine fails with redis 1.2.6 and 2.0.4 :-( |
| 2011-02-09 01:57:29 utc | jmettraux | trying yours |
| 2011-02-09 01:59:52 utc | jmettraux | sandbox: is redis_support part of redis 2.0.13 ? |
| 2011-02-09 02:00:53 utc | sandbox | no it's a separate gem we developed |
| 2011-02-09 02:00:55 utc | sandbox | to manage keys |
| 2011-02-09 02:00:58 utc | sandbox | and locking |
| 2011-02-09 02:01:02 utc | sandbox | in a simple way |
| 2011-02-09 02:01:17 utc | jmettraux | how can I get it ? |
| 2011-02-09 02:01:18 utc | sandbox | in the readme |
| 2011-02-09 02:01:20 utc | sandbox | you can use bundler |
| 2011-02-09 02:01:22 utc | jmettraux | ok |
| 2011-02-09 02:01:28 utc | sandbox | to get the gems bundled and run the tests |
| 2011-02-09 02:01:39 utc | sandbox | you have to run the test from the ruote-redis-backend folder |
| 2011-02-09 02:01:55 utc | sandbox | to do the concurrency test i changed the directories the shell script called |
| 2011-02-09 02:03:39 utc | jmettraux | ruote-redis-backend is not successful at test_reserve https://gist.github.com/817751 (for me) |
| 2011-02-09 02:04:22 utc | sandbox | that is a good sign |
| 2011-02-09 02:04:42 utc | jmettraux | I hope it can help you develop your list idea |
| 2011-02-09 02:05:25 utc | sandbox | what version of redis, and ruby redis are you using? |
| 2011-02-09 02:06:07 utc | jmettraux | redis 2.0.4, redis 2.0.13, redis_support 0.0.13 |
| 2011-02-09 02:06:16 utc | jmettraux | ruby redis 2.0.13 |
| 2011-02-09 02:06:29 utc | jmettraux | 1.8.7-p249 on snoleo |
| 2011-02-09 02:07:28 utc | sandbox | i have redis 2.1.1, redis 2.1.1 |
| 2011-02-09 02:07:42 utc | sandbox | and i think my server has redis 2.0.4 |
| 2011-02-09 02:07:45 utc | sandbox | and redis 2.1.1 |
| 2011-02-09 02:07:56 utc | sandbox | server had issues with the initial persist |
| 2011-02-09 02:08:08 utc | sandbox | which probably means it would fail the test you just wrote |
| 2011-02-09 02:08:13 utc | jmettraux | ok |
| 2011-02-09 02:18:50 utc | sandbox | i just ran it against a version of redis 2.0.4 and it seems to work as well |
| 2011-02-09 02:18:59 utc | sandbox | now i'm just confused |
| 2011-02-09 02:21:43 utc | jmettraux | I'm running the test from ruote/ |
| 2011-02-09 02:23:56 utc | jmettraux | retrying your combo |
| 2011-02-09 02:25:02 utc | jmettraux | it's consistently failing for me |
| 2011-02-09 02:25:50 utc | sandbox | i think this must be on my end because i can get the tests to run |
| 2011-02-09 02:25:56 utc | sandbox | even when my redis connection is turned off |
| 2011-02-09 02:26:01 utc | jmettraux | aaaaaaaaah |
| 2011-02-09 02:26:16 utc | jmettraux | ruby test/unit/storage.rb -- --redis-backend |
| 2011-02-09 02:26:38 utc | sandbox | oh i definitely forgot that last part |
| 2011-02-09 02:27:33 utc | sandbox | okay it failed now |
| 2011-02-09 02:27:35 utc | sandbox | sorry about that |
| 2011-02-09 02:27:47 utc | jmettraux | no worries, I'm glad we're in sync |
| 2011-02-09 02:27:49 utc | sandbox | exciting |
| 2011-02-09 02:28:07 utc | jmettraux | I have to fix my ruote-dm |
| 2011-02-09 02:33:53 utc | jmettraux | ACTION out for lunch |
| 2011-02-09 03:34:55 utc | jmettraux | ACTION back |
| 2011-02-09 07:27:54 utc | tosch_le | jmettraux: http://gist.github.com/818101 |
| 2011-02-09 07:28:04 utc | jmettraux | hello |
| 2011-02-09 07:28:10 utc | jmettraux | "gist has been deleted" |
| 2011-02-09 07:28:18 utc | tosch_le | jmettraux: http://gist.github.com/818100 |
| 2011-02-09 07:28:20 utc | tosch_le | sorry |
| 2011-02-09 07:28:21 utc | tosch_le | hello! |
| 2011-02-09 07:28:36 utc | tosch_le | thanks for rufus-scheduler. works like a charm now in its own process |
| 2011-02-09 07:28:45 utc | jmettraux | sweet ! |
| 2011-02-09 07:29:17 utc | jmettraux | glad to help |
| 2011-02-09 07:29:22 utc | tosch_le | :-) |
| 2011-02-09 07:29:56 utc | tosch_le | sending a hup is less overhead than polling for changed schedules, so i went that way |
| 2011-02-09 07:30:13 utc | jmettraux | neat |
| 2011-02-09 07:30:36 utc | jmettraux | I just fixed a big fat bug in ruote-dm |
| 2011-02-09 07:31:08 utc | jmettraux | I'd need a beer or a glass of wine |
| 2011-02-09 07:33:50 utc | tosch_le | ACTION emits "Krusovice" |
| 2011-02-09 07:34:02 utc | jmettraux | ACTION receives and happily consumes |
| 2011-02-09 07:34:07 utc | jmettraux | prost ! |
| 2011-02-09 07:34:43 utc | tosch_le | prost! |
| 2011-02-09 07:34:58 utc | tosch_le | a bit early for beer for me, though |
| 2011-02-09 07:35:14 utc | jmettraux | virtual beer is OK :-) |
| 2011-02-09 07:35:24 utc | tosch_le | did you already push the bug fix for ruote-dm? |
| 2011-02-09 07:35:29 utc | jmettraux | yes |
| 2011-02-09 07:36:25 utc | jmettraux | https://github.com/jmettraux/ruote-dm/commit/af8a07fab67bfa0ef6c0573e1176a94ba53bb318 line 147 was returning the current doc or nil |
| 2011-02-09 07:37:13 utc | jmettraux | but for those storages, nil means "operation was successful", a doc means "operation was not successful, the current doc is this", true means "operation was not successful, because the doc is gone" |
| 2011-02-09 07:37:38 utc | tosch_le | oups. |
| 2011-02-09 07:37:50 utc | tosch_le | glad you've spotted that. |
| 2011-02-09 07:37:53 utc | jmettraux | I'm not using false, since for Ruby, nil and false are synonyms in easy conditionals |
| 2011-02-09 07:38:11 utc | jmettraux | nil = no news, good news |
| 2011-02-09 07:39:22 utc | jmettraux | this test I concocted with sandbox this morning https://github.com/jmettraux/ruote/blob/master/test/unit/storage.rb#L281-314 revealed the issue |
| 2011-02-09 07:39:36 utc | jmettraux | now I have to fix ruote-redis as well :-( |
| 2011-02-09 10:14:02 utc | jmettraux | ruote-redis fixed |
| 2011-02-09 10:14:11 utc | tosch_le | :-) |
| 2011-02-09 10:14:30 utc | jmettraux | ropo: hello and welcome to #ruote |
| 2011-02-09 10:15:19 utc | ropo | hi. i have a question regarding openwfe. the workflow is triggered with an eventCode=+TOU . why is that? |
| 2011-02-09 10:16:06 utc | jmettraux | ropo, sorry, OpenWFE is dead since 2006-2007 |
| 2011-02-09 10:16:28 utc | ropo | i know. i was hoping that ruote is somehow similar |
| 2011-02-09 10:16:55 utc | jmettraux | it is but it evolved a lot in 5 years |
| 2011-02-09 10:17:16 utc | jmettraux | ACTION can't remember any "eventCode" or "+TOU" |
| 2011-02-09 10:17:46 utc | ropo | i suspect that +TOU means touch. my problem is that the workflow is triggered when no user is working on it. i probably just have to ignore the +TOU events |
| 2011-02-09 10:18:19 utc | ropo | ACTION also can't remember any he has done 5 years ago :) |
| 2011-02-09 10:18:51 utc | jmettraux | ah probably |
| 2011-02-09 10:19:26 utc | ropo | ok. i'll try ignoring these. |
| 2011-02-09 10:19:29 utc | ropo | thanks for your time |
| 2011-02-09 10:19:41 utc | jmettraux | sorry again |
| 2011-02-09 10:19:48 utc | ropo | no prob. bye |
| 2011-02-09 10:20:03 utc | jmettraux | bye |
| 2011-02-09 10:21:26 utc | jmettraux | dpree: you too, hello and welcome to #ruote |
| 2011-02-09 10:23:52 utc | dpree | thanks :) |
| 2011-02-09 11:32:03 utc | sandbox | heloo again |
| 2011-02-09 11:32:31 utc | jmettraux | sandbox: hello |
| 2011-02-09 11:32:52 utc | sandbox | given your fix for ruote-redis, is the expected return for delete_schedule supposed to be similar to delete? |
| 2011-02-09 11:33:25 utc | jmettraux | yes - double checking |
| 2011-02-09 11:33:59 utc | jmettraux | yes |
| 2011-02-09 11:34:31 utc | sandbox | it has the same call to @redis.del |
| 2011-02-09 11:35:16 utc | jmettraux | ah wait, the reserve for msgs and schedules are the same |
| 2011-02-09 11:35:53 utc | jmettraux | but yes, you're right |
| 2011-02-09 11:36:28 utc | sandbox | okay so it doesn't really matter that it's making that direct call and returning it |
| 2011-02-09 11:36:41 utc | Defusal | hi jmettraux |
| 2011-02-09 11:37:08 utc | Defusal | i have a strange issue, #find_by_tag is returning an empty array as its first job, even when there are no jobs |
| 2011-02-09 11:37:24 utc | Defusal | and still returns an empty array first if there are jobs |
| 2011-02-09 11:37:40 utc | Defusal | meaning i cant just loop through the jobs found and unschedule |
| 2011-02-09 11:37:47 utc | Defusal | any idea why it would do that? |
| 2011-02-09 11:37:58 utc | jmettraux | Defusal: hi, can you wrap that in a single script please ? |
| 2011-02-09 11:38:12 utc | Defusal | i can try i guess |
| 2011-02-09 11:38:39 utc | Defusal | right now its happening my large application, ill see if i can make a simple test case |
| 2011-02-09 11:39:05 utc | jmettraux | sandbox: had a look at the code, the result of delete_schedule isn't taken into account |
| 2011-02-09 11:40:04 utc | sandbox | okay that's helpful, thanks again |
| 2011-02-09 11:40:29 utc | jmettraux | sandbox: no, thanks to you |
| 2011-02-09 11:41:54 utc | jmettraux | Defusal: thanks in advance |
| 2011-02-09 11:42:34 utc | Defusal | jmettraux, the issue actually is most likely caused by my wrapper, not your code |
| 2011-02-09 11:42:44 utc | jmettraux | ok |
| 2011-02-09 11:42:47 utc | Defusal | i just realized i didnt account for find_by_tag with my wrapper |
| 2011-02-09 11:42:54 utc | Defusal | thanks anyway |
| 2011-02-09 11:43:01 utc | jmettraux | you're welcome |
| 2011-02-09 11:49:10 utc | Defusal | jmettraux, it may be useful to have a #unschedule_by_tag method by the way |
| 2011-02-09 11:51:46 utc | jmettraux | ok |
| 2011-02-09 12:06:26 utc | jmettraux | Defusal: https://github.com/jmettraux/rufus-scheduler/commit/018a5c63f43bdd691d28b8ac8e1cbf68fb188e4f |
| 2011-02-09 12:06:45 utc | jmettraux | spec is light though |
| 2011-02-09 12:07:18 utc | Defusal | nice jmettraux, thanks |