zhaozhao.zz
e7d46558fe
Use metadata to handle the reference relationship between kvstore and dict ( #966 )
...
Feature `one-dict-per-slot` refactors the database, and part of it
involved splitting the rehashing list from the global level back to the
database level, or more specifically, the kvstore level. This change is
fine, and it also simplifies the process of swapping databases, which is
good. And it should not have a major impact on the efficiency of
incremental rehashing.
To implement the kvstore-level rehashing list, each `dict` under the
`kvstore` needs to know which `kvstore` it belongs. However, kvstore did
not insert the reference relationship into the `dict` itself, instead,
it placed it in the `dictType`. In my view, this is a somewhat odd way.
Theoretically, `dictType` is just a collection of function handles, a
kind of virtual type that can be referenced globally, not an entity. But
now the `dictType` is instantiated, with each `kvstore` owning an actual
`dictType`, which in turn holds a reverse reference to the `kvstore`'s
resource pointer. This design is somewhat uncomfortable for me.
I think the `dictType` should not be instantiated. The references
between actual resources (`kvstore` and `dict`) should occur between
specific objects, rather than force materializing the `dictType`, which
is supposed to be virtual.
---------
Signed-off-by: zhaozhao.zz <zhaozhao.zz@alibaba-inc.com>
2024-09-03 09:00:45 -07:00
..
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-05-22 23:24:12 -07:00
2024-05-22 23:24:12 -07:00
2024-04-10 08:59:45 +02:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-05-22 23:24:12 -07:00
2024-06-16 21:18:20 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-05-22 23:24:12 -07:00
2024-05-22 23:24:12 -07:00
2024-09-03 09:00:45 -07:00
2024-05-22 23:24:12 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-07-29 21:50:46 -07:00
2024-09-03 09:00:45 -07:00
2024-07-22 18:03:28 -07:00
2024-05-22 23:24:12 -07:00
2024-09-03 09:00:45 -07:00
2024-05-22 23:24:12 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-05-22 23:24:12 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-04-09 10:24:03 +02:00
2024-09-03 09:00:45 -07:00
2024-05-02 20:00:04 -07:00
2024-05-02 20:00:04 -07:00
2024-05-08 12:17:32 -07:00
2024-04-30 19:32:01 -07:00
2024-04-30 19:32:01 -07:00
2024-04-30 19:32:01 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-06-07 01:40:55 +02:00
2024-09-03 09:00:45 -07:00
2024-05-22 23:24:12 -07:00
2024-09-03 09:00:45 -07:00
2015-07-26 15:17:18 +02:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-07-18 19:21:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-06-30 11:33:10 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2021-11-16 13:12:25 +02:00
2021-11-16 13:12:25 +02:00
2021-11-16 13:12:25 +02:00
2021-11-16 13:12:25 +02:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-04-05 21:15:57 -07:00
2024-09-03 09:00:45 -07:00
2024-05-22 23:24:12 -07:00
2023-05-02 17:31:32 -07:00
2020-12-23 15:52:07 +02:00
2020-12-23 15:52:07 +02:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-06-26 09:47:59 -07:00
2024-05-22 23:24:12 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-05-22 23:24:12 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-07-14 20:04:47 -07:00
2024-06-07 01:40:55 +02:00
2024-07-22 18:03:28 -07:00
2024-05-22 23:24:12 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2020-10-25 14:14:05 +02:00
2024-09-03 09:00:45 -07:00
2024-05-09 19:44:40 -07:00
2024-05-09 19:44:40 -07:00
2021-11-11 13:51:33 +02:00
2021-07-10 10:04:54 -05:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-06-07 14:21:33 -07:00
2024-05-06 00:09:01 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2022-05-22 17:10:31 +03:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-05-28 09:27:51 -07:00
2024-05-22 23:24:12 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2020-12-06 14:54:34 +02:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-07-10 13:53:52 +02:00
2024-08-01 08:59:43 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00
2024-09-03 09:00:45 -07:00