Skip to content
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

Closed
hbagdi opened this issue May 27, 2020 · 0 comments · Fixed by #179
Closed
Milestone

Comments

@hbagdi
Copy link
Member

hbagdi commented May 27, 2020

#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

@hbagdi hbagdi added this to the 1.2.0 milestone Jun 2, 2020
@hbagdi hbagdi added the trello label Jun 9, 2020
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 hbagdi closed this as completed in f352c78 Jun 26, 2020
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
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant