Commit Graph

234 Commits

Author SHA1 Message Date
Graham Barr
d82da8fd71 Avoid read channel corruption when response size > bufferSize
When receiving a response, what was happening

1. Read bufferSize and it gets assigned to leftdata
2. Read another bufferSize
3. 2 buffers get appended, but leftdata still points to first buffer
4. Process data buffer which contains only complete responses
5. Back to ReadLoop, but leftdata still points to first incomplete buffer
    causing corrupt data to be processed

Solution is to make leftdata nil once we have merged it with the second buffer
2014-08-18 12:35:31 -05:00
Graham Barr
49ea8c0ec1 Increase buffer size to 8K 2014-08-18 09:51:33 -05:00
Xing
1f303d8145 Merge pull request #47 from gbarr/memleak
When a job completes, remove its handler
2014-07-25 09:46:21 +08:00
Graham Barr
3e556edb2d When a job completes, remove its handler 2014-07-24 14:20:56 -05:00
Xing Xing
d40888817d Merge branch 'master' into 0.2-dev 2014-06-16 11:00:20 +08:00
Xing
dde0c3e9b3 Merge pull request #45 from draxil/worker_disconnect_testing
Allow reconnect from error handler
2014-06-16 10:58:57 +08:00
Xing Xing
14f4df8ede Joe helped us greatly 2014-06-13 10:55:32 +08:00
Xing Xing
c8d59ea348 Merge branch 'master' into 0.2-dev 2014-06-13 10:51:48 +08:00
Xing
c6c0d4f481 Merge pull request #43 from draxil/master
Handling disconnects
2014-06-13 10:25:57 +08:00
Joe Higton
97731e1774 FIX: EOF disconnect error also called raw handler afterwards 2014-06-10 04:09:27 +01:00
Joe Higton
09c626f488 Cope with io.EOF as a disconnect error 2014-06-10 03:46:21 +01:00
Joe Higton
1ebb3d5fcc Wrap disconnect errors and allow reconnect 2014-06-10 03:23:18 +01:00
Joe Higton
6cf2680431 Merge branch 'worker_disconnect_testing' 2014-06-07 07:26:41 +01:00
Joe Higton
99bcf11768 FIX: The error handler is not called on disconnect
Using the disconnect test showed the agent was silently closing on disconnect
2014-06-07 07:22:40 +01:00
Joe Higton
827cf3fa3e Removed old gearman from travis
gearman-go and original gearmand don't play well, possibly an issue?
2014-06-07 06:36:24 +01:00
Joe Higton
7ddad76b85 Early stab at disconnect handling test 2014-06-07 06:14:28 +01:00
Joe Higton
e0614657e0 Added the original gearmand to travis for testing:
1. It's easier to test with (it installs in the regular path), we need to start and stop it for network error tests
2. Can't hurt to test with both implementations!
2014-06-07 05:50:58 +01:00
Joe Higton
912db95c0a FIX: waiting for worker fireup was making the test slow
Dodging the race condition with a sleep was fine, but we slept
for a whole second which was longer than this test takes to run!

I've scaled the sleep down to 250 miliseconds and increased the tries.

Even this is probably excessively long but now the test is fast agin.
2014-06-07 05:38:08 +01:00
Joe Higton
2f72b28d76 FIX: waiting for worker fireup was making the test slow
Dodging the race condition with a sleep was fine, but we slept
for a whole second which was longer than this test takes to run!

I've scaled the sleep down to 250 miliseconds and increased the tries.

Even this is probably excessively long but now the test is fast agin.
2014-06-07 05:35:05 +01:00
Xing
320155c608 Merge pull request #41 from draxil/master
Better Work() without Ready() behaviour, now with improved tests!
2014-06-05 11:42:37 +08:00
Joe Higton
0a4489d1fe Fixed and improved Work() without Ready() test:
* FIX: committed test froze
* FIX: committed test had a race condition!
* Added properly handled panic test
* Timeouts so that these tests should fail now if something goes wrong instead of failing.
2014-06-04 13:31:25 +01:00
draxil
6688c29c37 Enahanced Work() without Ready() behaviour:
Now if you try to call Work() without calling Ready(), it will trigger an attempt to run Ready(), and will only panic if there is an error.
2014-06-01 16:59:57 +01:00
Xing
3232b11d83 Merge pull request #38 from draxil/master
More helpful panic if you call Work() before you call Ready()
2014-06-01 22:13:35 +08:00
Joe Higton
24e93b4a2c More helpful panic if you call Work() before you call Ready() 2014-05-29 15:35:27 +01:00
Xing
e9ce09b885 Merge pull request #36 from rlmcpherson/master
Make pool clients safe for concurrent access with mutex.
2014-05-21 10:03:32 +08:00
Randall McPherson
0591572d8e Make pool clients safe for concurrent access with mutex. 2014-05-16 10:23:44 -04:00
Xing Xing
6910d548be added Kevin to the contributors list 2014-03-11 10:08:20 +08:00
Xing Xing
5334b50533 fixed #34 2014-03-11 10:03:00 +08:00
Xing Xing
da3d31662b added Damian to contributors 2014-03-07 17:40:32 +08:00
Xing Xing
9d7a29fe26 Merge branch 'master' into 0.2-dev 2014-03-07 17:33:16 +08:00
Xing
9dd9be1712 Merge pull request #32 from dgryski/printf-fixes
Printf fixes
2014-03-07 17:31:44 +08:00
Damian Gryski
7229235a4f Use %v instead of %V, which is not a valid Printf verb 2014-03-07 10:21:45 +01:00
Damian Gryski
ad0d49dcb2 Use fmt.Errorf() instead of errors.New(fmt.Sprintf()) 2014-03-07 10:20:39 +01:00
Xing Xing
09542d7176 update examples 2014-03-03 15:23:46 +08:00
Xing Xing
76c76995d5 removed ErrLostConn from worker 2014-03-03 14:50:54 +08:00
Xing Xing
78813cb052 Merge branch 'master' into 0.2-dev 2014-03-03 14:49:43 +08:00
Xing Xing
f880354a61 type assertion with *net.OpError 2014-03-03 14:45:35 +08:00
Xing Xing
45a9d7c3e5 fixed #31 2014-03-03 11:40:42 +08:00
Xing
7ea5fa7550 Merge pull request #30 from mikespook/0.2-dev
SUBMIT_JOB_SCHED is deprecated, worker.Immediately should be removed.
2014-01-15 17:52:24 -08:00
Xing Xing
0a6bacbe82 SUBMIT_JOB_SCHED is deprecated, worker.Immediately should be removed. 2014-01-16 09:43:06 +08:00
Xing
0458d8c2b3 Merge pull request #29 from sgrimee/patch-2
Clarify timeout option in Readme
2014-01-15 06:28:48 -08:00
Sam Grimee
ed8c829c2f Clarify timeout option in Readme
worker.Immediately has value 2 which means the job will timeout after 2 seconds (maybe not very intuitive?). To have no timeout one has to pass the value 0 which is also constant worker.Unlimited (more intuitive)
2014-01-15 14:16:03 +01:00
Xing Xing
3a5d89c67a fixed typo, issue #27 2014-01-15 10:09:10 +08:00
Xing Xing
c4efc59d78 no author but contributors 2014-01-15 10:04:41 +08:00
Xing Xing
98a935207b fixed issue #27 2014-01-15 09:40:36 +08:00
Xing Xing
2bd19fb2fb Merge branch 'master' into 0.2-dev 2014-01-15 09:38:41 +08:00
Xing
9729de017c Merge pull request #25 from sgrimee/patch-1
Read all data before decoding incoming packet
2014-01-14 17:35:24 -08:00
Sam Grimee
221e11861f keep already received data if not enough to decode 2014-01-14 17:06:20 +01:00
Sam Grimee
885609309c Continue reading incoming data until enough rcvd
This fixes the case of a large packet being received, the current code stops processing as soon as >12 bytes are received,
2014-01-14 12:59:52 +01:00
Xing Xing
87631cc2e5 go fmt & better examples 2014-01-09 17:58:02 +08:00