graphql-engine/server/tests-py/queries/event_triggers/flood/setup.yaml
Brandon Simmons 9c9bb43a53 server: restore proper batching behavior in event trigger processing (#1237)
This essentially restores the original code from c425b554b8
(https://github.com/hasura/graphql-engine/pull/4013). Prior to this
commit we would slurp messages as fast as possible from the database
(one thing c425b55 fixed).

Another thing broken as a consequence of the same logic was the
removeEventFromLockedEvents logic which unlocks in-flight events
(breaking at-least-once delivery)

Some archeology, post-c425b55:

- cc8e2ccc erroneously attempted to refactor using `bracket`, resulting
  in the same slurp-all-events behavior (since we don't ever wait for
  processEvent to complete)
- at some point event processing within a batch is made serial, this
  reported as a bug. See: https://github.com/hasura/graphql-engine/issues/5189
- in 0ef52292b5 (which I approved...) an `async` is added, again
  causing the same issue...

GitOrigin-RevId: d8cbaab385267a4c3f1f173e268a385265980fb1
2021-04-29 04:02:05 +00:00

37 lines
705 B
YAML

# This is a fork of tests-py/queries/event_triggers/basic
# but using the /block endpoint as webhook
type: bulk
args:
- type: run_sql
args:
sql: |
create table hge_tests.test_flood(
c1 int,
c2 text
);
- type: track_table
args:
schema: hge_tests
name: test_flood
- type: create_event_trigger
args:
name: flood_all
table:
schema: hge_tests
name: test_flood
insert:
columns: '*'
update:
columns: '*'
delete:
columns: '*'
webhook: http://127.0.0.1:5592/block
retry_conf:
# We will manuallally unblock() before this is reached:
timeout_sec: 60
num_retries: 0
interval_sec: 1