ChangeLog 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. 1.1.6
  2. * Merge of 1.0.4 tree
  3. 1.1.5 Mon Feb 4 00:59:19 EST 2013
  4. * Rollup of bug fixes for 1.0.3
  5. * --threads=0 for gearmand will now result in gearmand using all available cores.
  6. 1.1.4 Mon Dec 17 21:24:16 EST 2012
  7. * Add GEARMAN_CLIENT_GENERATE_UNIQUE, with default set to not generate.
  8. * Experimental addition to queue service which will allow a queue to be stored on shutdown (--libsqlite3-store-on-shutdown).
  9. * Rollup of all changes in 1.0.2
  10. 1.1.3 Wed Nov 7 22:48:21 EST 2012
  11. * Merge with 1.0.1
  12. 1.1.2 Fri Oct 12 05:34:29 EDT 2012
  13. * Merge with 0.41
  14. 1.1.1 Wed Sep 19 22:04:56 EDT 2012
  15. * Merge with 0.39
  16. 1.1.0 Wed Sep 5 08:33:37 PDT 2012
  17. * Fix for ABI compatibility issues.
  18. 1.0.4
  19. * Added --coredump flag to gearmand
  20. * Removed result type enum, since the structure is never exposed to the user this was of limited use.
  21. 1.0.3 Sun Feb 3 21:05:52 EST 2013
  22. * Allow for a longer set of retries if port is in use when the server starts up.
  23. * Added checking for valgrind sgcheck
  24. * Fedora 18 fixes.
  25. 1.0.2 Mon Dec 17 07:24:42 EST 2012
  26. * Add --expceptions to Gearmand to enable exceptions by default
  27. * Backtraces on some types of crashes.
  28. * Add GEARMAN_CLIENT_GENERATE_UNIQUE.
  29. * If the unique value passed to any client function is "#" then the unique value will be derived by hashing the workload that is being supplied to the function.
  30. * Optimize status requests so that they exit as soon as request is received.
  31. * Fix test case results for FreeBSD.
  32. 1.0.1 Tue Nov 6 01:07:07 EST 2012
  33. * Stable branch labeled as 1.0
  34. * Update all build related files.
  35. * Add a few additional platforms to the supported list.
  36. 0.41 Fri Oct 12 05:34:29 EDT 2012
  37. * Switched from --having-debug to --enable-debug
  38. * Fix for SQLITE, it wasn't replaying its queue on startup.
  39. * More testing done now on durable queues.
  40. 0.39 Wed Sep 19 03:36:06 EDT 2012
  41. * Added gearman_job_error() interface.
  42. * gearman_client_errno() and gearman_worker_errno() now return EINVAL if client or worker is invalid.
  43. 0.38 Fri Sep 14 02:16:01 EDT 2012
  44. * Updates for compiling on different platforms.
  45. * UUID portability fixes.
  46. 0.37 Sun Sep 2 22:51:08 EDT 2012
  47. * Fix compiler issues around older compilers. Bug 1039629.
  48. 0.36 Sat Aug 18 16:57:13 EDT 2012
  49. * Fix issue where sqlite was not correctly being shutdown.
  50. * Check for more warnings (and cleanup found from).
  51. * Fix thread safety issue for uuid_generate().
  52. 0.35 Sun Aug 5 16:03:21 EDT 2012
  53. * Critical bug fix for rare case in which initialization of pipe for a worker fails.
  54. * Add support for MySQL specific driver to specify port.
  55. * Fix library issue with OSX Mountain Lion.
  56. 0.34 Tue Jul 10 21:19:10 EDT 2012
  57. * Alpha support for direct MySQL queue.
  58. * XML option for testing under valgrind.
  59. * gearmand now allows for a user to specify the format for the server key
  60. * First pass support for checking status via unique value.
  61. 0.33 Thu May 3 22:09:29 PDT 2012
  62. * Add --config-file option
  63. * Additional testing for Drizzle
  64. * Fix for OSX 10.6.8 compile issue.
  65. 0.32 Wed Apr 11 02:25:38 PDT 2012
  66. * Fix for shutdown bug.
  67. 0.31 Sat Apr 7 11:56:58 PDT 2012
  68. * Fixes for bugs 975591, 974712, 970828, 967859, 967463,
  69. * Valgrind fix around epoch retry.
  70. * Numerous issues cleaned up around bouncing server during testing.
  71. 0.29 Tue Mar 13 22:58:16 PDT 2012
  72. * Additional Fixes for Postgres
  73. * Additional debug calls in server via tuneable logging.
  74. * Documentation update.
  75. * Fixes for Ubuntu 11.10
  76. 0.28 Thu Jan 26 22:43:46 PST 2012
  77. * -v has been deprecated because of parsing issues. Please use --verbose instead
  78. * --log-file=stderr will set output to stderr.
  79. * Fix for gearman.spec file for rpm build.
  80. 0.27 Mon Jan 9 20:02:16 PST 2012
  81. * Fix for TokyoCabinet
  82. * Build updates for building on Ubuntu
  83. 0.26 Wed Nov 30 09:25:49 PST 2011
  84. * Completed support for syslog for gearmand
  85. * Fix libdrizzle issues
  86. * Add API for killing a worker.
  87. 0.25 Thu Nov 3 09:18:46 PDT 2011
  88. * 1.0 libgearman API extracted.
  89. * Fix for long function names.
  90. * Fix for Worker consuming CPU by hanging.
  91. * TokyoCabinet build fix.
  92. * Fix for 32bit fix.
  93. 0.24 Sun Jul 24 20:57:02 PDT 2011
  94. * Minor bug fixes.
  95. * Updated test framework.
  96. * make fixes for Fedora.
  97. 0.23 Wed Jun 29 13:26:26 PDT 2011
  98. * Defined workers can now return GEARMAN_SHUTDOWN.
  99. * Benchmark worker can now be told to shutdown.
  100. * Allocator code has been cleaned up (gearman_allocator_t).
  101. * Added "workers" option to gearadmin
  102. * Workers will now default to -1 as timeout (lowers CPU on gearmand server for non-active workers).
  103. * SO_KEEPALIVE is now enabled on client/worker connections.
  104. * By default, workers now grab the unique value of the job.
  105. 0.22 Sun Jun 19 20:32:18 PDT 2011
  106. * Added gearman_work_map() for gearman_work_t describer.
  107. * gearman_execute_by_partition() added.
  108. * gearamn_task_attr_t added.
  109. * Additional documentation update.
  110. * Issue with PHP client using automated task free (Thanks Taneli Leppä!!)
  111. * Fixed issue where PHP client's custom allocator was free'ing memory that did not belong to it.
  112. 0.21 Wed Jun 15 21:01:04 PDT 2011
  113. * Support for "drop function" in admin client
  114. * Fixed issue where server would not report on a bad unique value due to size
  115. * Forces do operations to complete no matter how the worker is designed.
  116. * Tasks inherit actions from client, and use them throughout execution.
  117. * Support for namespaces.
  118. * gearman_worker_define_function() has been added. It allows jobs to map out work to other workers and then aggregate the results.
  119. * gearman_client_run_tasks() will now reset the IO state for all connections on exit if all hosts have been marked down. The next call will check all hosts.
  120. * Lots of bug fixes.
  121. 0.20 Fri Apr 8 09:25:15 PDT 2011
  122. * gearman_client_execute() interface added
  123. * New types of gearman_unique_t, gearman_function_st, gearman_workload_t
  124. * Better error reporting from clients.
  125. * Server no longer hangs because of bad job list.
  126. * First bit of work on supporting epoch portion of protocol. John Ewart, john@johnewart.net
  127. * Improved error message handling in client.
  128. * Updates for manpages.
  129. 0.19 Fri Apr 1 09:50:22 PDT 2011
  130. * Fix bug where gearman util would create duplicate output.
  131. * Update sqlite queue so that it uses a prepared statement.
  132. * Fixes a number cases where server was not initializing default values internally correctly.
  133. * gearman_client_compare() API added. Returns true if the client connections are connects are equivalent.
  134. 0.18 Tue Mar 15 13:32:33 PDT 2011
  135. * Bug fix for compile when no plugins are requested.
  136. * Bug fix where during startup using Drizzle or MySQL the server could crash.
  137. * Bug fix to make sure test programs will run if NULL sized objects are sent.
  138. 0.17 Tue Mar 8 08:27:04 PST 2011
  139. * gearadmin added, easy access to shutdown, version, and verbose commands on the server.
  140. * Bug fixes related to CLI.
  141. * Bug fixes related to Memcached support.
  142. * Bug fixes related to Drizzle support.
  143. * Dependency on boost now required for build.
  144. * Drizzle queue module expects that a schema named "gearmand" exists.
  145. * Fix copyright headers were needed.
  146. 0.16 Tue Feb 22 10:55:33 PST 2011
  147. * Fixed cases where silent failure of server for queues would not cause tests to fail.
  148. * Fix for failure when setsockopt() failed on new connection.
  149. * Fixed silen exit in client library based on signals.
  150. * Error log now reports failure location in compiled code for ERROR conditions.
  151. * Fix for failover.
  152. * Fixed issue in client where it would silently die based on signal issues.
  153. * "verbose" has been added to the string protocol. It allows you to see what the verbose setting is.
  154. 0.15 Mon Feb 14 18:44:32 PST 2011
  155. * Numerous issues around overflow on buffers are now fixed.
  156. * Updates on gearmand daemon to share a bit more code.
  157. * Numerious fixes for gearman command line client.
  158. * IPV6 fix for server.
  159. 0.14 Wed Jun 30 13:04:39 PDT 2010
  160. * Leak in SQLite resolved.
  161. * updated build configs
  162. * Increased testting.
  163. 0.13 Sun Apr 4 14:45:08 PDT 2010
  164. * Fix for bug #518512.
  165. * Use OR REPLACE syntax for inserting items into the sqlite.
  166. * Changed default bitfield optimize setting to only be off for Solaris.
  167. * Refactoring on server.
  168. * Various bug fixes as reported on mailing list, such as a bad return code and treating EHOSTDOWN as lost connection for FreeBSD.
  169. * Fixed bug #543402 so jobs taking more than max job retries will be removed from persistentn queue as well.
  170. * Check to make sure worker job results match assigned worker.
  171. 0.12 Thu Feb 18 11:28:49 PST 2010
  172. * Fixed bug where memory loss occured if data was too large.
  173. * Added gearman_strerror().
  174. * Fixed bug where setting an option off in mass would not trip any triggers on the option (for both worker and client).
  175. * Options that are internal can no longer be set by external callers.
  176. * Deprecated gearman_client_set_event_watch_fn() and gearman_worker_set_event_watch_fn.
  177. * gearman_job_handle() and gearman_job_function_name() now return const char* pointers
  178. * gearman_worker_unregister now returns GEARMAN_NO_REGISTERED_FUNCTION if the function does not exist (or is being removed)
  179. * Added gearman_worker_function_exist()
  180. * Trying to send too large of a piece of data will result in GEARMAN_ARGUMENT_TOO_LARGE.
  181. * Added support for gearmand command client to daemonize and create a pid file.
  182. * Fixed job handle comparison bug with WORK_FAIL responses.
  183. * Fixed disable assert configure option.
  184. * Build system updates.
  185. 0.11 - 2009-11-30
  186. * Added max wakeup-worker option to gearmand. Default is still to wakeup all.
  187. * API and documentation cleanup.
  188. * Fixed bug where task context free function was getting called for do() functions. This was PECL/Gearman bug #16899 as well.
  189. * Fixed bug #458912, not flushing with multiple gearmands in client.
  190. * Fixed PECL/Gearman bug #16847, was actually in C library and not in PHP.
  191. * Fixed C++ build/test/ issue, updated pandora build system.
  192. * Removed packet varargs function.
  193. 0.10 - 2009-09-28
  194. * Added timeout option.
  195. * Separated libgearman client/worker library from the server/gearmand code.
  196. * Added server option for max job retry.
  197. * Changed queue_libdrizzle to overwrite the password string to hide in ps.
  198. * Worker unregister bug fixed. Bug #372074
  199. * Added memory ownership functions so applications can pass control with tasks, jobs, and packets.
  200. * Changed gearmand to remap stdio to /dev/null for detaching. Bug #407242
  201. * Fixed bug that now allows workers to run concurrent jobs.
  202. * Changed behavior of sending NOOPs to one per PRESLEEP, rather than only having one in the outgoing queue at any time.
  203. * API cleanup to make the code more consistent and object-oriented.
  204. * Added more documentation for base classes, client, and worker.
  205. * Build system updates.
  206. 0.9 - 2009-07-20
  207. * Added libsqlite3 persistent queue support (Cory Bennett).
  208. * Added libpq (PostgreSQL) persistent queue support.
  209. * Updated autoconf build system.
  210. * Doxygen documentation cleanup.
  211. * Bug fix in HTTP protocol module.
  212. 0.8 - 2009-06-30
  213. * Added pluggable protocol support.
  214. * Added basic HTTP protocol support.
  215. * Updated autoconf build system.
  216. * Renamed modconf to gearman_conf.
  217. * Improved logging messages for gearmand.
  218. * Removed all struct memsets and packed structs for better memory usage.
  219. * Fixed client connect bug with multiple job servers.
  220. * Fixed server spinning bug with long running jobs and large workloads.
  221. 0.7 - 2009-05-31
  222. * Added libmodconf for config option processing. Eventually this will be split into a separate library. Updated gearmand and tests to use libmodconf.
  223. * Fixed persistent queue bug where jobs were not removed after replay.
  224. * Fix for bug #379198.
  225. * Changed done() function for queue, function_name is now passed to it as well as unique.
  226. * Fixed text protocol command response to be dynamic length.
  227. * Fixed libevent usage to support libevent 1.1 (still used in CentOS and Suse).
  228. * Added gearman_*_add_servers to client/worker interfaces for taking server lists.
  229. 0.6 - 2009-05-19
  230. * Changed behavior so forground jobs are not run when their connected clients disconnect. This is how the Perl server behaves.
  231. * Changed to named logging macros, making it easier for module writers to use.
  232. * Added persistent queue support with a libdrizzle module. This allows queue storage for both Drizzle and MySQL.
  233. * Added Solaris service scripts (Trond Norbye).
  234. * Fixed rpm building (make rpm).
  235. * Removed AI_V4MAPPED for client/worker connect lookup, not fully supported in all operating systems (like FreeBSD, bug #373060).
  236. * Support for gearmand to bind to multiple addresses.
  237. * Protocol document updates and fixes (Eric Day, Eric Herman).
  238. * Bind to specific hostname in gearmand (Brian Moon).
  239. * Minor cleanup and fixes.
  240. 0.5 - 2009-04-22
  241. * Threaded Gearman job server (gearmand).
  242. * More options to gearmand.
  243. * OSX bug fixes related to poll().
  244. * Fix for bug #357881.
  245. * Man page rework.
  246. 0.4 - 2009-03-30
  247. * New protocol additions such as UNIQ grab and assign for workers.
  248. * Support for high priority background jobs (Brian Moon).
  249. * Support for low priority jobs.
  250. * New priority queue in server to support new protocol options.
  251. * Reworked the unique ID checking in server.
  252. * Added hooks to aid in client memory cleanup.
  253. * Added gearman command line utility to allow you to use clients and workers from the shell.
  254. * Build fixes (Monty Taylor).
  255. * Basic init script added.
  256. * Fixed getopt bugs with variable type and EOF.
  257. 0.3 - 2009-02-05
  258. * Fixed I/O wait bug in packet parse.
  259. * Switched to different autoconf library detection method.
  260. * Added detach option to gearmand, can now run in background.
  261. * Reworked much of the client code for better concurrency and efficiency.
  262. * Added benchmark utilities.
  263. * Added man pages.
  264. * Changed port to new IANA assigned port, 4730.
  265. 0.2 - 2009-01-16
  266. * Improved gearmand efficiency by tracking events and reducing syscalls.
  267. * Reworked most of the worker code, it now reconnects to the job server.
  268. * Added version/bugreport options to gearmand (Brian Moon).
  269. * Fixed bug #315652, libevent usage.
  270. 0.1 - 2009-01-08
  271. * First release.