1. 12 Sep, 2022 3 commits
    • Thomas Goirand's avatar
      Add remove-TestInternalLock.patch · 30fe1ad4
      Thomas Goirand authored
      30fe1ad4
    • Thomas Goirand's avatar
      Now packaging 5.0.1 · 77317b3e
      Thomas Goirand authored
      77317b3e
    • Thomas Goirand's avatar
      Merge tag '5.0.1' into debian/zed · a032aacf
      Thomas Goirand authored
      oslo.concurrency 5.0.1 release
      
      meta:version: 5.0.1
      meta:diff-start: -
      meta:series: independent
      meta:release-type: release
      meta:pypi: yes
      meta:first: no
      meta:release:Author: Hervé Beraud <hberaud@redhat.com>
      meta:release:Commit: Hervé Beraud <hberaud@redhat.com>
      meta:release:Change-Id: Iba860bc47cd40a4b61a8e77c6aaa361b9dff1299
      meta:release:Code-Review+2: Elod Illes <elod.illes@est.tech>
      meta:release:Code-Review+2: Thierry Carrez <thierry@openstack.org>
      meta:release:Workflow+1: Thierry Carrez <thierry@openstack.org>
      a032aacf
  2. 05 Sep, 2022 3 commits
    • Balazs Gibizer's avatar
      Ignore coverage result files · 01cf2ffd
      Balazs Gibizer authored
      Change-Id: I82d120f2a04eebf40f309a5d301ad253744d9712
      01cf2ffd
    • Balazs Gibizer's avatar
      Fix fair internal lock used from eventlet.spawn_n · ee3f73a1
      Balazs Gibizer authored
      The fasteners lib in version 0.15.0 removed the
      threading.current_thread workaround for eventlet[1] because eventlet
      seemed to fixed the current_thread issues tracked in [2]. However the
      fix for [2] only fixed half of the problem. The threading.current_thread
      call works if it is called from thread created by eventlet.spawn.
      However if the thread is created with eventlet.spawn_n then
      threading.current_thread is still broken and returns the ID of the
      python native thread.
      
      The fasteners' ReaderWriterLock depends heavily on
      threading.current_thread to decide which thread holds a lock and to
      allow re-entry of that thread. This leads to the situation that
      multiple threads created from spawn_n could take the same
      ReaderWriterLock at the same time.
      
      The fair internal lock in oslo.concurrency uses ReaderWriterLock and
      as a result such lock is broken for threads created with spawn_n.
      
      Note that this issue was raised with eventlet in [3] when the nova team
      detected it via a direct usage of ReaderWriterLock in the nova test
      code. As [3] did not lead to a solution in eventlet nova implemented a
      nova local fix for the test code in [4].
      
      However now we detected that oslo.concurrency is affected by this issue
      as well.
      
      This patch restores the workaround that was removed by [1].
      
      Note that a fasteners issue [5] also opened to restore the
      workaround[1].
      
      [1] https://github.com/harlowja/fasteners/commit/467ed75ee1e9465ebff8b5edf452770befb93913
      [2] https://github.com/eventlet/eventlet/issues/172
      [3] https://github.com/eventlet/eventlet/issues/731
      [4] https://review.opendev.org/c/openstack/nova/+/813114
      [5] https://github.com/harlowja/fasteners/issues/96
      
      Closes-Bug: #1988311
      Change-Id: Ia873bcc6b07121c9bd0b94c593567d537b4c1112
      ee3f73a1
    • Balazs Gibizer's avatar
      Prove that spawn_n with fair lock is broken · 796203c9
      Balazs Gibizer authored
      The fasteners lib in version 0.15.0 removed the
      threading.current_thread workaround for eventlet[1] because eventlet
      seemed to fixed the current_thread issues tracked in [2]. However the
      fix for [2] only fixed half of the problem. The threading.current_thread
      call works if it is called from thread created by eventlet.spawn.
      However if the thread is created with eventlet.spawn_n then
      threading.current_thread is still broken and returns the ID of the
      python native thread.
      
      The fasteners' ReaderWriterLock depends heavily on
      threading.current_thread to decide which thread holds a lock and to
      allow re-entry of that thread. This leads to the situation that
      multiple threads created from spawn_n could take the same
      ReaderWriterLock at the same time.
      
      The fair internal lock in oslo.concurrency uses ReaderWriterLock and
      as a result such lock is broken for threads created with spawn_n.
      
      Note that this issue was raised with eventlet in [3] when the nova team
      detected it via a direct usage of ReaderWriterLock in the nova test
      code. As [3] did not lead to a solution in eventlet nova implemented a
      nova local fix for the test code in [4].
      
      However now we detected that oslo.concurrency is affected by this issue
      as well.
      
      This patch adds tests to show the scope of the problem.
      
      Note that the coverage tox target is changed to explicitly enable native
      threading otherwise it runs eventlet specific tests in a native
      environment.
      
      Also note that [5] was opened to reintroduce the workaround[1] in fasteners.
      
      [1] https://github.com/harlowja/fasteners/commit/467ed75ee1e9465ebff8b5edf452770befb93913
      [2] https://github.com/eventlet/eventlet/issues/172
      [3] https://github.com/eventlet/eventlet/issues/731
      [4] https://review.opendev.org/c/openstack/nova/+/813114
      [5] https://github.com/harlowja/fasteners/issues/96
      
      Related-Bug: #1988311
      Change-Id: Ibc193c855b49b95b46ebd2aac82ea89e33f885f0
      796203c9
  3. 29 Aug, 2022 3 commits
    • Thomas Goirand's avatar
      Now packaging 5.0.0 · 8ad63417
      Thomas Goirand authored
      8ad63417
    • Thomas Goirand's avatar
      Merge tag '5.0.0' into debian/zed · ff0b30e4
      Thomas Goirand authored
      oslo.concurrency 5.0.0 release
      
      meta:version: 5.0.0
      meta:diff-start: -
      meta:series: independent
      meta:release-type: release
      meta:pypi: yes
      meta:first: no
      meta:release:Author: Hervé Beraud <hberaud@redhat.com>
      meta:release:Commit: Hervé Beraud <hberaud@redhat.com>
      meta:release:Change-Id: Iff79935d876bf7996419c13adb39a2d7c3afe5fd
      meta:release:Code-Review+2: Elod Illes <elod.illes@est.tech>
      meta:release:Code-Review+1: Daniel Bengtsson <dbengt@redhat.com>
      meta:release:Code-Review+2: Thierry Carrez <thierry@openstack.org>
      meta:release:Workflow+1: Thierry Carrez <thierry@openstack.org>
      ff0b30e4
    • Thomas Goirand's avatar
      Add autopkgtest. · 2e71ae79
      Thomas Goirand authored
      2e71ae79
  4. 14 Jul, 2022 1 commit
  5. 07 Jul, 2022 1 commit
    • Gorka Eguileor's avatar
      Log when waiting to acquire lock · 9800d58c
      Gorka Eguileor authored
      We currently have no log entry when we start trying to acquire a lock.
      
      In general this is ok, but there are cases where it can be problematic,
      for example if we have a deadlock situation or if a lock takes a very
      long time to be acquired.
      
      In those scenarios looking at the logs we would see the operation
      proceed normally and suddenly go completely silent without knowing that
      it's waiting for a lock to be freed.
      
      This patch adds a debug log message right before trying to acquire the
      lock so we can detect those situations.
      
      Change-Id: I1354dfb98b0927ae167802ecc4ab1d34f6b4d720
      9800d58c
  6. 21 Jun, 2022 1 commit
  7. 27 May, 2022 1 commit
  8. 05 May, 2022 1 commit
  9. 19 Apr, 2022 1 commit
  10. 05 Apr, 2022 1 commit
  11. 24 Mar, 2022 3 commits
  12. 15 Mar, 2022 1 commit
  13. 02 Mar, 2022 1 commit
  14. 01 Mar, 2022 1 commit
    • Brian Rosmaita's avatar
      Allow python_exec kwarg to be None · a937c556
      Brian Rosmaita authored
      processutils.execute() is documented to take a python_exec kwarg and
      default to using sys.executable if that argument isn't set.  It is
      convenient (and more intuitive) for this behavior to also occur if
      the argument is present with value None.
      
      Closes-bug: #1962603
      Related-bug: #1962581
      Change-Id: I2e1f187feaf4bf9fbfaf04fce78efa0cba49fc07
      a937c556
  15. 21 Feb, 2022 2 commits
    • Thomas Goirand's avatar
      Now packaging 4.5.0 · bab942dd
      Thomas Goirand authored
      bab942dd
    • Thomas Goirand's avatar
      Merge tag '4.5.0' into debian/yoga · 99a7cff4
      Thomas Goirand authored
      oslo.concurrency 4.5.0 release
      
      meta:version: 4.5.0
      meta:diff-start: -
      meta:series: independent
      meta:release-type: release
      meta:pypi: yes
      meta:first: no
      meta:release:Author: Hervé Beraud <hberaud@redhat.com>
      meta:release:Commit: Hervé Beraud <hberaud@redhat.com>
      meta:release:Change-Id: I32efe9f03829a1f07b4fdd997f36528749090f83
      meta:release:Code-Review+2: Elod Illes <elod.illes@est.tech>
      meta:release:Code-Review+2: Thierry Carrez <thierry@openstack.org>
      meta:release:Workflow+1: Thierry Carrez <thierry@openstack.org>
      99a7cff4
  16. 21 Dec, 2021 1 commit
  17. 16 Aug, 2021 1 commit
  18. 24 Jun, 2021 1 commit
    • Romain Poupin's avatar
      Add support for non-blocking locks · a9ccf0a6
      Romain Poupin authored
      This adds support for a non-blocking behavior of the lock : the context-based
      lock now raises an AcquireLockFailedException if the lock can't be acquired on
      the first try.
      
      At a higher layer, we just caught this exception inside the 'synchronized'
      decorator to prevent calling the wrapped function. In which case, we then
      trace this acquisition failure.
      
      For now at least, disabling blocking is not supported when using fair locks
      because the ReaderWriterLock.write_lock() provided by the fasteners module
      doesn't implements this behavior.
      
      Change-Id: I409da79007c9ba4fb8585da881e3d56998b0b98b
      a9ccf0a6
  19. 05 May, 2021 1 commit
    • YuehuiLei's avatar
      setup.cfg: Replace dashes with underscores · 8e084008
      YuehuiLei authored
      Setuptools v54.1.0 introduces a warning that the use of dash-separated
      options in 'setup.cfg' will not be supported in a future version [1].
      Get ahead of the issue by replacing the dashes with underscores. Without
      this, we see 'UserWarning' messages like the following on new enough
      versions of setuptools:
      
        UserWarning: Usage of dash-separated 'description-file' will not be
        supported in future versions. Please use the underscore name
        'description_file' instead
      
      [1] https://github.com/pypa/setuptools/commit/a2e9ae4cb
      
      Change-Id: I4f58234e6f2d0b0b8548d1cf53c266c562b411eb
      8e084008
  20. 27 Apr, 2021 1 commit
  21. 16 Apr, 2021 2 commits
  22. 23 Mar, 2021 1 commit
  23. 08 Mar, 2021 3 commits
    • Thomas Goirand's avatar
      82726bb8
    • Thomas Goirand's avatar
      Now packaging 4.4.0 · eaf5fc43
      Thomas Goirand authored
      eaf5fc43
    • Thomas Goirand's avatar
      Merge tag '4.4.0' into debian/wallaby · ff6f01f5
      Thomas Goirand authored
      oslo.concurrency 4.4.0 release
      
      meta:version: 4.4.0
      meta:diff-start: -
      meta:series: wallaby
      meta:release-type: release
      meta:pypi: yes
      meta:first: yes
      meta:release:Author: Hervé Beraud <hberaud@redhat.com>
      meta:release:Commit: Hervé Beraud <hberaud@redhat.com>
      meta:release:Change-Id: I3062abf38d2581a66c363cc7a6292dc0bc16b4a2
      meta:release:Code-Review+2: Thierry Carrez <thierry@openstack.org>
      meta:release:Code-Review+2: Sean McGinnis <sean.mcginnis@gmail.com>
      meta:release:Workflow+1: Sean McGinnis <sean.mcginnis@gmail.com>
      ff6f01f5
  24. 19 Feb, 2021 1 commit
  25. 19 Jan, 2021 2 commits
    • Thomas Goirand's avatar
      Now packaging 4.3.1. · f8949f50
      Thomas Goirand authored
      f8949f50
    • Thomas Goirand's avatar
      Merge tag '4.3.1' into debian/victoria · 26822027
      Thomas Goirand authored
      oslo.concurrency 4.3.1 release
      
      meta:version: 4.3.1
      meta:diff-start: -
      meta:series: victoria
      meta:release-type: release
      meta:pypi: yes
      meta:first: no
      meta:release:Author: Daniel Bengtsson <dbengt@redhat.com>
      meta:release:Commit: Daniel Bengtsson <dbengt@redhat.com>
      meta:release:Change-Id: I3d5c504ec9402be846c12aae3832d1aa580292cf
      meta:release:Code-Review+2: Hervé Beraud <hberaud@redhat.com>
      meta:release:Code-Review+2: Sean McGinnis <sean.mcginnis@gmail.com>
      meta:release:Workflow+1: Sean McGinnis <sean.mcginnis@gmail.com>
      26822027
  26. 18 Dec, 2020 1 commit
  27. 04 Nov, 2020 1 commit