-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathChangeLog
442 lines (228 loc) · 9.65 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
== 2019-11-05 version 0.10.1
* Support ssl_mode option for RDBBackend (#67)
== 2019-07-10 version 0.10.0
* Relax sequel version constraint (#62)
* Using sequel 4+ raises `Sequel::DatabaseConnectionError` on
`Backend::RDBBackend.new` instead of its `#connect`.
== 2016-10-07 version 0.9.2
* Use v08's strategy if resource limit is used (#55)
== 2016-09-23 version 0.9.1
* FOR UPDATE is not required while with GET_LOCK() (#54)
* Retry connect (#44)
== 2016-09-16 version 0.9.0
* Use UPDATE first strategy (#15)
* owner column is added for the table: migration is required
* AcquiredTask#timeout is the current value rather than at acquiring
* cancel_request is removed
* prefetch_break_types is removed
== 2016-08-02 version 0.8.49
* Revert v0.8.44 migration path (#38)
* v0.8.48's timeout express taks's life (#39)
* Use Sequel::UniqueConstraintViolation (#40)
* Merge v07 branch (#45)
== 2016-07-07 version 0.8.48
* Drop 2.0.0 support #33
* Show taken time of delete and acquire (#33)
* To ease the migration delete v0.8.44 finished tasks too (#34)
* Add stress test tool (#35)
* Fix cleanup interval count (#36)
== 2016-04-15 version 0.8.47
* require libraries before fork to help CoW
* add FORCE INDEX to acquiring UPDATE query to avoid wrong index
== 2016-03-23 version 0.8.46
* Introduce new timeout model
NOTE: this change requires migration process like actual DELETE query
see WHERE timeout <= now AND created_at IS NULL.
80946079a91dd89c8e371e9b3fdd7f4805c7e4f9
== 2015-12-02 version 0.8.45
* remove sqlite3 support
* fix #3
* add specs
* fix other trivial bugs
== 2015-10-07 version 0.8.44
* rdb_compat: Fix fair scheduling.
* rdb_compat: Use `GET_LOCK` instead of `LOCK TABLES` in MySQL.
== 2015-06-30 version 0.8.43
* child_process: stop after running
== 2015-06-16 version 0.8.42
* child_process: remove extra shutdown
== 2015-04-27 version 0.8.41
* ruby >= 2.0.0 support.
SignalQueue is obsolete because it does not run with ruby >= 2.0.0.
See ddbf04c9 and use SignalThread instead.
== 2014-10-08 version 0.8.40
* upgraded sequel v3.48.0
== 2014-09-05 version 0.8.39
* rdb_compat: 'DELETE' statement acquires table lock to avoid deadlocking
== 2014-05-29 version 0.8.38
* rdb_compat: 'UNLOCK TABLES' statement is submitted when use_connection_pooling is true.
== 2014-05-28 version 0.8.37
* rdb_compat: fixed a deadlock problem that rdb_compat doesn't unlock tables if it
uses connection pooling.
== 2014-05-21 version 0.8.36
* ThreadProcessor: fixed a problem that it takes next task even if TaskMonitor
stopped
== 2014-05-20 version 0.8.35
* child_process_monitor: fixed 'ps' command options
== 2014-05-20 version 0.8.34
* rdb_compat: use connection pooling. Users can specify as :use_connection_pooling
option. If connections use SSL, they are, by default, pooled. On the other hand,
if not, by default, connection pooling is not used.
== 2014-04-23 version 0.8.33
* Fixed nil variable exception at ChildProcessMonitor#try_join
== 2014-04-21 version 0.8.32
* Added SSL support for MySQL backend
== 2014-04-07 version 0.8.31
* Fixed ChildProcessMonitor to kill grandchildren
== 2014-04-07 version 0.8.30
* Fixed ChildProcessMonitor to kill grandchildren
== 2014-04-02 version 0.8.29
* Updated ChildProcessMonitor to kill grandchildren to not depend on
sys-proctable gem
== 2014-03-31 version 0.8.28
* Fixed ChildProcessMonitor when heartbeat pipe is closed
== 2014-03-31 version 0.8.27
* ChildProcessMonitor kills grandchildren as well when it force kills children.
== 2014-03-27 version 0.8.26
* Added delay before sending KILL signal to worker process when
a heartbeat pipe is closed or stopped
* Added child_heartbeat_kill_delay parameter
== 2014-02-18 version 0.8.25
* rdb_compat: submit method supports :compression => 'gzip' option
* rdb_compat: decompress gzipped data field automatically
== 2013-01-03 version 0.8.24
* rdb_compat: removed retry_count field
* Added AcquiredTask#update_data!
== 2013-01-03 version 0.8.23
* rdb_compat: added retry_count field
* Added Backend#release
== 2012-10-22 version 0.8.22
* rdb_compat backend fixed heartbeat method to check created_at properly
== 2012-09-11 version 0.8.21
* rdb_compat backend uses IS NOT NULL condition instead of >= because RANGE
partitioning of MySQL doesn't work with non-primary keys
== 2012-09-08 version 0.8.20
* Show log messages when a worker decides next status of a task (finished!,
release!, release! and cancel_request!)
== 2012-09-04 version 0.8.19
* rdb_compat backend uses >= 0 condition instead of IS NOT NULL to work with
RANGE partitioning of MySQL
== 2012-09-04 version 0.8.18
* rdb_compat backend uses table lock to avoid dead locks with InnoDB
* rdb_compat backend uses bulk cleanup to improve throughput
* rdb_compat backend uses created_at in WHERE clause to work with partitioning
* rdb_compat backend supports disable_resource_limit to improve acquire() performance
== 2012-09-03 version 0.8.17
* Increased wait time before starting processors to 1 second at average and
2 seconds at maximum
* rdb_compat backend waits random seconds after detecting deadlocks
== 2012-09-03 version 0.8.16
* Support task_prefetch option (default = 0, meaning no-prefetch)
* Wait 0.5 seconds before starting processors to avoid a spike of the
number of concurrent connections
* Increased default child_heartbeat_limit to 60 seconds
* Fixed a potential deadlock problem in shutdown process
* Fixed detach time wait
== 2012-08-30 version 0.8.15
* Improved detach process routines
== 2012-08-16 version 0.8.14
* Improved detach process routines
* Updated README.md
== 2012-08-10 version 0.8.13
* Force stop a processor when unknown exception occured during task heartbeat
== 2012-08-05 version 0.8.12
* Support 'process detach' feature for a replacement of binary replace
== 2012-08-05 version 0.8.11
* Support child_fork_frequency_limit option to wait before forking child
* Error messages include processor id and pid
* Don't check child process status if it's killing status is immediate-killing
== 2012-08-04 version 0.8.10
* rdb_backend returns max_running attribute
== 2012-08-03 version 0.8.9
* Use free slot ratio instead of free slot amount to decide task priorities
* Disable immediate binary replace on platforms which doesn't support SIGPWR
== 2012-07-26 version 0.8.8
* Use PWR instead of EMT signal which is not supported by ruby
* Fixed processor_id routine
== 2012-07-26 version 0.8.7
* Worker process changes process name ($0)
* Use EMT instead of WINCH signal for immediate binary replace
* Use WINCH instead of CONT signal for graceful binary replace
== 2012-07-23 version 0.8.6
* rdb_backend supports 'max_running' which is added in v0.7.21
* Fixed DaemonsLogger to use File::CREAT flag to open a file
* Show version when worker starts
== 2012-07-06 version 0.8.5
* Introduced PerfectQueue::Application::Decider
== 2012-07-03 version 0.8.3
* Fixed rdb_compat to raise PreemptedError
* Added PerfectQueue::Application::RouterDSL module for PerfectSched
== 2012-06-29 version 0.8.2
* 'process' type multiprocessor supports max_request_per_child option
* rdb_compat: heartbeat assumes UPDATE suceeded if 'timeout' is not changed
in case it was called within 1 second
* Child process ignores SIGCHLD
* Fixed Router not to match 'x' routing pattern with 'xy'
* Fixed child/task heartbeat timing calculation
== 2012-06-25 version 0.8.1
* Added autoload for PerfectQueue::VERSION
* Fixed backward compatiblity of the 'type' field in rdb_compat backend
* Added IdempotentAlreadyFinishedError and IdempotentAlreadyExistsError
which should be ignored for idempotency
== 2012-05-23 version 0.8.0
* New major version
* Redesigned API
== 2012-07-19 version 0.7.22
* Fixed RDBBackend SQL
== 2012-07-19 version 0.7.21
* Added max_running column for fair resource restriction
== 2012-01-24 version 0.7.20
* Fixed MonitorThread
== 2012-01-24 version 0.7.19
* Don't stop MonitorThread while shutting down
== 2012-01-15 version 0.7.18
* Fixed expiration logic
== 2012-01-10 version 0.7.17
* RDBBackend: disabled connection keepalive
== 2012-01-10 version 0.7.16
* RDBBackend: sleep 0.5 before retrying failed transaction by deadlock
* RDBBackend: release the row lock acquired by SELECT .. FOR UPDATE before retrying it
== 2012-01-10 version 0.7.15
* RDBBackend: Fixed locking routines to work with possibility of deadlocks
== 2012-01-08 version 0.7.14
* Re-enabled order of the tasks
* RDBBackend: Fixed table locking routine
== 2011-12-18 version 0.7.13
* Don't guarantee the order of the tasks to improve performance
== 2011-12-18 version 0.7.12
* Added -D, --delete-wait option
== 2011-12-18 version 0.7.11
* Optimized a SQL of RDBBackend
== 2011-12-17 version 0.7.8, 0.7.9, 0.7.10
* Supports resource limit
== 2011-12-08 version 0.7.7
* RDBBackend doesn't create table automatically
* Fix nil errors
== 2011-12-06 version 0.7.6
* NullBackend always returns success
== 2011-12-04 version 0.7.5
* Added NullBackend
* RDBBackend considers URLs begin with jdbc::mysql
* Reduced MAX_SELECT_ROW from 32 to 4 to reduce backend load
* SimpleDBBackend#list ignores finished task
== 2011-11-02 version 0.7.3
* Disables logger's buffering
* Fixed time format in --list message
== 2011-09-16 version 0.7.2
* Supported --env argument
== 2011-08-31 version 0.7.1
* Fixed kill behavior
* Supported to read multiple configuration files
* Optimized --list subcommand
== 2011-08-31 version 0.7.0
* Backend uses logical delete instead of deleting tasks when task is finished
or canceled. It surely raises error when duplicated job id is submitted.
== 2011-08-25 version 0.6.1
* Supports SimpleDB Backend
== 2011-08-23 version 0.6.0
* First release