[Checkins] [zopefoundation/ZEO] e63c72: Fixed: cache lastTid wasn't set when doing full ve...

GitHub noreply at github.com
Thu Jun 9 14:39:24 CEST 2016


  Branch: refs/heads/zodb5
  Home:   https://github.com/zopefoundation/ZEO
  Commit: e63c72758b643fc921724507a70b710a82b23212
      https://github.com/zopefoundation/ZEO/commit/e63c72758b643fc921724507a70b710a82b23212
  Author: Jim Fulton <jim at zope.com>
  Date:   2016-06-09 (Thu, 09 Jun 2016)

  Changed paths:
    M src/ZEO/ClientStorage.py

  Log Message:
  -----------
  Fixed: cache lastTid wasn't set when doing full verification


  Commit: d957ff3e02e8f74b761ff1139bbac31f3b220061
      https://github.com/zopefoundation/ZEO/commit/d957ff3e02e8f74b761ff1139bbac31f3b220061
  Author: Jim Fulton <jim at zope.com>
  Date:   2016-06-09 (Thu, 09 Jun 2016)

  Changed paths:
    M src/ZEO/tests/testZEO.py

  Log Message:
  -----------
  added a connection close

To avoid an error on tearDown.


  Commit: 20f81caa953a81c8e3a90d9b77a54a99d9113463
      https://github.com/zopefoundation/ZEO/commit/20f81caa953a81c8e3a90d9b77a54a99d9113463
  Author: Jim Fulton <jim at zope.com>
  Date:   2016-06-09 (Thu, 09 Jun 2016)

  Changed paths:
    M src/ZEO/ClientStorage.py

  Log Message:
  -----------
  require the storage lock in lastTransaction.

This is required (or maybe strongly implied) by the IStorage interface.

Also, rearrange the order of operations in _process_invalidations.

Each of these changes avoid a potential race when a connection starts
a transaction while invalidateTransaction is being called. Basically,
we don't want a connection to get a lastTransaction corresponding to
invalidations it hasn't processed.

This neither fixes nor provokes any test failures. :) The need for
this change was discovered via code inspection. It's hard to see how
to test the race without getting being insanely whitebox.


Compare: https://github.com/zopefoundation/ZEO/compare/e63c72758b64^...20f81caa953a


More information about the checkins mailing list