Avi Kivity
465c0a4ead
Merge "Make stronger guarantees in row_cache's clear/invalidate" from Tomasz
...
"Correctness of current uses of clear() and invalidate() relies on fact
that cache is not populated using readers created before
invalidation. Sstables are first modified and then cache is
invalidated. This is not guaranteed by current implementation
though. As pointed out by Avi, a populating read may race with the
call to clear(). If that read started before clear() and completed
after it, the cache may be populated with data which does not
correspond to the new sstable set.
To provide such guarantee, invalidate() variants were adjusted to
synchronize using _populate_phaser, similarly like row_cache::update()
does.
Fixes #1291."
2016-06-13 09:55:29 +03:00
..
2016-06-02 16:21:36 +02:00
2015-10-08 20:57:20 +03:00
2016-04-12 11:55:01 -04:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-06-02 16:21:59 +02:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-06-02 14:48:02 +03:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-04-20 18:07:07 +02:00
2016-04-19 11:49:05 +00:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-03-17 15:02:52 +02:00
2016-04-08 08:12:47 +03:00
2016-03-17 15:02:52 +02:00
2016-06-02 16:21:59 +02:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-06-08 16:21:44 +03:00
2016-04-08 08:12:47 +03:00
2016-03-17 15:02:52 +02:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-06-02 16:21:36 +02:00
2016-06-02 16:21:36 +02:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-06-02 16:21:59 +02:00
2016-04-08 08:12:47 +03:00
2016-06-02 16:21:36 +02:00
2016-06-02 16:21:59 +02:00
2016-06-02 16:21:59 +02:00
2016-06-02 16:21:36 +02:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-05-17 17:32:15 +08:00
2016-06-02 16:21:58 +02:00
2016-04-08 12:13:29 +03:00
2016-04-08 12:13:29 +03:00
2016-04-08 08:12:47 +03:00
2016-06-06 13:21:06 +02:00
2016-04-20 18:07:07 +02:00
2016-06-02 16:21:59 +02:00
2016-04-08 08:12:47 +03:00
2016-06-02 16:21:59 +02:00
2016-06-02 16:21:59 +02:00
2016-05-20 17:26:12 -03:00
2016-04-08 08:12:47 +03:00
2016-04-08 12:13:29 +03:00
2016-06-02 16:21:59 +02:00
2016-04-08 08:12:47 +03:00
2016-04-08 08:12:47 +03:00
2016-04-20 18:07:07 +02:00
2016-04-08 08:12:47 +03:00