소스 검색

Updates Changelog

Ask Solem 12 년 전
부모
커밋
7b2b37f1b4
1개의 변경된 파일48개의 추가작업 그리고 17개의 파일을 삭제
  1. 48 17
      Changelog

+ 48 - 17
Changelog

@@ -19,17 +19,46 @@ If you're looking for versions prior to 3.0.x you should go to :ref:`history`.
 
 - Now depends on billiard 2.7.3.20
 
-- Fixed a bug with how chords handles failures in subtasks (Issue #1172).
-
-    Before if a task part of a chord raised an exception,
-    that exception value would be included as part of the callback
-    argument.  This was not intended and the new behavior has been
-    documented in :ref:`chord-errors`.
-
 - ``execv`` is now disabled by default.
 
     It was causing too many problems for users, you can still enable
-    it using the :setting:`CELERY_FORCE_EXECV` setting.
+    it using the :setting:`CELERYD_FORCE_EXECV` setting.
+
+    execv was only enabled when transports other than amqp/redis was used,
+    and it's there to prevent deadlocks caused by mutexes not being released
+    before the process forks.  Sadly it also changes the environment
+    introducing many corner case bugs that is hard to fix without adding
+    horrible hacks.  Deadlock issues are reported far less often than the
+    bugs that execv are causing, so we now disable it by default.
+
+    Work is in motion to create non-blocking versions of these transports
+    so that execv is not necessary (which is the situation with the amqp
+    and redis broker transports)
+
+- Chord exception behavior defined (Issue #1172).
+
+    From Celery 3.1 the chord callback will change state to FAILURE
+    when a task part of a chord raises an exception.
+
+    It was never documented what happens in this case,
+    and the actual behavior was very unsatisfactory, indeed
+    it will just forward the exception value to the chord callback.
+
+    For backward compatibility reasons we do not change to the new
+    behavior in a bugfix release, even if the current behavior was
+    never documented.  Instead you can enable the
+    :setting:`CELERY_CHORD_PROPAGATES` setting to get the new behavior
+    that will be default from Celery 3.1.
+
+    See more at :ref:`chord-errors`.
+
+- worker: Fixes bug with ignored and retried tasks.
+
+    The ``on_chord_part_return`` and ``Task.after_return`` callbacks,
+    nor the ``task_postrun`` signal should be called when the task was
+    retried/ignored.
+
+    Fix contributed by Vlad.
 
 - ``GroupResult.join_native`` now respects the ``propagate`` argument.
 
@@ -60,6 +89,16 @@ If you're looking for versions prior to 3.0.x you should go to :ref:`history`.
 - New :setting:`BROKER_HEARTBEAT_CHECKRATE` setting introduced to modify the
   rate at which broker connection heartbeats are monitored.
 
+    The default value was also changed from 3.0 to 2.0.
+
+- :class:`celery.events.state.State` is now pickleable.
+
+    Fix contributed by Mher Movsisyan.
+
+- :class:`celery.datastructures.LRUCache` is now pickleable.
+
+    Fix contributed by Mher Movsisyan.
+
 - The stats broadcast command now includes the workers pid.
 
     Contributed by Mher Movsisyan.
@@ -85,15 +124,7 @@ If you're looking for versions prior to 3.0.x you should go to :ref:`history`.
   by default.
 
     You can still set the :envvar:`MP_LOG` environment variable
-    to set it to value of the `--loglevel` argument.e
-
-- worker: Fixes bug with ignored and retried tasks.
-
-    The ``on_chord_part_return`` and ``Task.after_return`` callbacks,
-    nor the ``task_postrun`` signal should be called when the task was
-    retried/ignored.
-
-    Fix contributed by Vlad.
+    to set it to value of the `--loglevel` argument.
 
 .. _version-3.0.13: