You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This should fix#1240
Such fix also makes sense from another perspective:
`await_scheme_agreement` doc comment says "Awaits schema agreement among
all reachable nodes.". If all connections to a given node are broken, we
can definitely conclude that the node is not reachable.
Previously I thought that doing this would introduce a bug: what if a
coordinator of DDL becomes unreachable after returning a response, but
before agreement is reached? We could reach agreement on old schema
version!
Now I see that this issue is pre-existing: `await_schema_agreement`
reads ClusterState itself, so the following race is possible:
- Driver sends DDL
- Coordinator responds and dies
- Driver reads the response
- Driver detects that the coordinator is dead, notes that in
ClusterState
- Driver tries to perform schema agreement, and does that without using
the coordinator.
This issue will be fixed in next commits.
0 commit comments