-
Notifications
You must be signed in to change notification settings - Fork 12
Description
Of course the underlying data structures don't become inconsistent for realz, since Redis prevents that. But since the #Related.redis.multi do lines in Relationship are commented out (I suppose to enable use of Distributed Redis connections, and with good reason) we can get relationships that are broken in the sense of being only one direction, for example.
Perhaps some kind of self healing would be a useful solution: Every time (or only some times) when an edge is traversed, Related checks the consistency of the edge (that it exists in all ordered and non-ordered sets it should), and fixes it if it is not.
Solving this kind of thing without distributed transactions is of course hard, but this kind of self healing is at least somewhat tried and true.