-
Notifications
You must be signed in to change notification settings - Fork 129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add --delay flag to inject artifical delay between related stages for cassandra compatiblity #160
Milestone
Comments
hbagdi
added a commit
that referenced
this issue
Jun 26, 2020
decK first creates all the services and then creates related routes. With a distributed like Cassandra, route creation happens before the DB rows for new services are propagated to other nodes in the cassandra cluster. This results in a 409 from kong because kong ensures that service specified in a route is actually present in the db (c* has no notion of foreign relations, kong does a read on the service to verify and enforce foreign key relations). With the new configurable flag, users of cassandra can inject an aritifical between insert operations of related entities to avoid failures described above. The use of the flag is discouraged and is only implemented to provide a stop-gap solution. Fix #160 Fix #154
hbagdi
added a commit
that referenced
this issue
Jun 26, 2020
decK first creates all the services and then creates related routes. With a distributed like Cassandra, route creation happens before the DB rows for new services are propagated to other nodes in the cassandra cluster. This results in a 409 from kong because kong ensures that service specified in a route is actually present in the db (c* has no notion of foreign relations, kong does a read on the service to verify and enforce foreign key relations). With the new configurable flag, users of cassandra can inject an aritifical between insert operations of related entities to avoid failures described above. The use of the flag is discouraged and is only implemented to provide a stop-gap solution. Fix #160 Fix #154
hbagdi
added a commit
that referenced
this issue
Jun 26, 2020
decK first creates all the services and then creates related routes. With a distributed like Cassandra, route creation happens before the DB rows for new services are propagated to other nodes in the cassandra cluster. This results in a 409 from kong because kong ensures that service specified in a route is actually present in the db (c* has no notion of foreign relations, kong does a read on the service to verify and enforce foreign key relations). With the new configurable flag, users of cassandra can inject an aritifical between insert operations of related entities to avoid failures described above. The use of the flag is discouraged and is only implemented to provide a stop-gap solution. Fix #160 Fix #154 From #179
rainest
pushed a commit
that referenced
this issue
Apr 21, 2021
decK first creates all the services and then creates related routes. With a distributed like Cassandra, route creation happens before the DB rows for new services are propagated to other nodes in the cassandra cluster. This results in a 409 from kong because kong ensures that service specified in a route is actually present in the db (c* has no notion of foreign relations, kong does a read on the service to verify and enforce foreign key relations). With the new configurable flag, users of cassandra can inject an aritifical between insert operations of related entities to avoid failures described above. The use of the flag is discouraged and is only implemented to provide a stop-gap solution. Fix #160 Fix #154
rainest
pushed a commit
that referenced
this issue
Apr 21, 2021
decK first creates all the services and then creates related routes. With a distributed like Cassandra, route creation happens before the DB rows for new services are propagated to other nodes in the cassandra cluster. This results in a 409 from kong because kong ensures that service specified in a route is actually present in the db (c* has no notion of foreign relations, kong does a read on the service to verify and enforce foreign key relations). With the new configurable flag, users of cassandra can inject an aritifical between insert operations of related entities to avoid failures described above. The use of the flag is discouraged and is only implemented to provide a stop-gap solution. Fix #160 Fix #154 From #179
AntoineJac
pushed a commit
that referenced
this issue
Jan 23, 2024
decK first creates all the services and then creates related routes. With a distributed like Cassandra, route creation happens before the DB rows for new services are propagated to other nodes in the cassandra cluster. This results in a 409 from kong because kong ensures that service specified in a route is actually present in the db (c* has no notion of foreign relations, kong does a read on the service to verify and enforce foreign key relations). With the new configurable flag, users of cassandra can inject an aritifical between insert operations of related entities to avoid failures described above. The use of the flag is discouraged and is only implemented to provide a stop-gap solution. Fix #160 Fix #154
AntoineJac
pushed a commit
that referenced
this issue
Jan 23, 2024
decK first creates all the services and then creates related routes. With a distributed like Cassandra, route creation happens before the DB rows for new services are propagated to other nodes in the cassandra cluster. This results in a 409 from kong because kong ensures that service specified in a route is actually present in the db (c* has no notion of foreign relations, kong does a read on the service to verify and enforce foreign key relations). With the new configurable flag, users of cassandra can inject an aritifical between insert operations of related entities to avoid failures described above. The use of the flag is discouraged and is only implemented to provide a stop-gap solution. Fix #160 Fix #154 From #179
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
#154
This primarily happens when the first stage creates services, the second stage starts soon and runs into problem of service not found because c* hasn't propagated those changes to all nodes.
Adding artifical delays between different stages should solve most of these problems:
https://github.com/hbagdi/deck/blob/master/diff/diff.go#L61
The text was updated successfully, but these errors were encountered: