graphql-engine/server/src-lib/Hasura/Server
Brandon Simmons c425b554b8
server(events): utilize proper backpressure scheme (close #3839) (#4013)
* Test working through a backlog of change events

* Use a slightly more performant threaded http server in eventing pytests

This helped locally but not on CI it seems...

* Rework event processing for backpressure. Closes #3839

With loo low `HASURA_GRAPHQL_EVENTS_FETCH_INTERVAL` and/or slow webhooks
and/or too small `HASURA_GRAPHQL_EVENTS_HTTP_POOL_SIZE` we might
previously check out events from the DB faster than we can service them,
leading to space leaks, weirdness, etc.

Other changes:
- avoid fetch interval sleep latency when we previously did a non-empty
  fetch
- prefetch event batch while http pool is working
- warn when it appears we can't keep up with events being generated
- make some effort to process events in creation order so we don't
  starve older ones.

ALSO NOTE: HASURA_GRAPHQL_EVENTS_FETCH_INTERVAL changes semantics
slightly, since it only comes into play after an empty fetch. The old
semantics weren't documented in detail, so I think this is fine.
2020-03-11 11:57:31 +05:30
..
Auth More robust forking, exception safety. Closes #3768 (#3860) 2020-03-05 23:29:26 +05:30
Migrate Maintain downgrade commands in a text file, update when tagging (#3933) 2020-02-24 20:03:56 +05:30
Telemetry Add request timings and count histograms to telemetry. Closes #3552 2020-02-03 18:50:10 -06:00
App.hs More robust forking, exception safety. Closes #3768 (#3860) 2020-03-05 23:29:26 +05:30
Auth.hs More robust forking, exception safety. Closes #3768 (#3860) 2020-03-05 23:29:26 +05:30
CheckUpdates.hs More robust forking, exception safety. Closes #3768 (#3860) 2020-03-05 23:29:26 +05:30
Compression.hs remove brotli compression (#2967) 2019-10-05 02:20:50 -05:00
Config.hs server: Parameterize the graphql-engine library over the version (#3668) 2020-01-22 15:55:55 -06:00
Context.hs Support batched queries (fix #1812) (#3490) 2019-12-20 10:04:02 -06:00
Cors.hs read cookie while initialising websocket connection (fix #1660) (#1668) 2019-03-04 13:16:53 +05:30
Init.hs server(events): utilize proper backpressure scheme (close #3839) (#4013) 2020-03-11 11:57:31 +05:30
Logging.hs Log time spent consuming request bytes from socket. Closes #3547 2020-02-03 18:50:10 -06:00
Middleware.hs breaking: server logging changes (close #507, close #2171) (#1835) 2019-07-11 05:37:06 +00:00
Migrate.hs Don't update catalog version if using --dryRun (#3970) 2020-03-05 11:12:38 +05:30
PGDump.hs add tests with postgres 12 (close #2749) (#3102) 2019-10-26 11:09:57 +05:30
Query.hs allow custom mutations through actions (#3042) 2020-02-13 23:08:23 +05:30
SchemaUpdate.hs More robust forking, exception safety. Closes #3768 (#3860) 2020-03-05 23:29:26 +05:30
Telemetry.hs More robust forking, exception safety. Closes #3768 (#3860) 2020-03-05 23:29:26 +05:30
Utils.hs allow custom mutations through actions (#3042) 2020-02-13 23:08:23 +05:30
Version.hs cli, server: use prerelease tag as channel for console assets cdn (#3975) 2020-03-04 20:10:47 +05:30