For reverse edges, we want to store the UID lists on the same worker.
There are different ways of keying this.
Normal keys look like:
attr&len + byteData + UID
One possibility is:
attr&len + byteReverse + UID
Another possibility is:
modifiedAttr&len + byteData + UID
For the second option, I think most of the backend does not need to care whether this is a reverse edge or not. I like it for this reason. The modification of the attr could be pred -> !pred for example. The not-so-nice thing is that there will be a few places where we need to detect that this is a “reverse attribute” and use the correct worker / “do the right thing”.
Any suggestions or opinions? Thanks. @core-devs