Replies: 3 comments 6 replies
-
I think #5762 / cn-discussion was just a tradeoff/optimistic design with metaD performance on session creation, and that indeed will sacrifice consistency here. @critical27 @mo-avatar I am thinking of
would mitigate such issue by maintaining the same design trade-off/gaining some level of consistency(given that id gen was outside of AtomicOp)? I'm not sure if it's silly(with obvious issues I am not aware of) but i think it could be a lazy but enough mitigation(option 0)? |
Beta Was this translation helpful? Give feedback.
-
I'm not sure whether #5762 would cause the problem you mentioned:
Although it is lock-free, but the AtomicOp is actually executed in serialize. But if a schema id occurs more than once, maybe we could modify the way we create session id. |
Beta Was this translation helpful? Give feedback.
-
@mo-avatar are you interested in a proposal on fixing this in an elegant way, please? |
Beta Was this translation helpful? Give feedback.
-
We just have an "Insert session to local cache failed." issue, when session creation increase to an high amount. After read the code, We find it that the freelock session creation change in the code base may cause the problem.
It is great to have an free lock CreateSessionProcessor to improve performance.
But it seems that , it has an potential to have multiple session from multiple user or client to have a same sessionid.
As an optimistic approach, I didn't find a way which will prevent an existing sessionid which has been persisted into meta data be substitute with the same session id but with different user, graph_addr and client_ip, and creation time etc.
Create session failure on occasion may be not a big deal , but it seems have break the constraint that every session can only belong to one client at a time . I think may be there are many design based on the assumption.
@wey-gu @critical27
Beta Was this translation helpful? Give feedback.
All reactions