mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-14 17:02:49 +03:00
fd30fb343b
19 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
jkachmar
|
6720aef26f |
server: Clean up Cabal project files
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/4105 GitOrigin-RevId: 423eecf04061ca8d5ee036a84ee6792036a149e4 |
||
Gil Mizrahi
|
efec0bf9ca |
server/postgres: LIMIT 1 on object relationships
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3489 Co-authored-by: Abby Sassel <3883855+sassela@users.noreply.github.com> GitOrigin-RevId: f09a75508545cdbc34cf8728fad95bbb00bde018 |
||
Vamshi Surabhi
|
2e1be1d2c5 |
bump python test suite dependencies
This PR upgrades some of the pinned dependencies do not build with python 3.10 - cffi, ruamel, py. Further, it upgrades other packages where the effort is minimal. For the reviewers: Please review it commit by commit. PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3367 GitOrigin-RevId: c5401fe289d3185a79c4d382297f86fbde139825 |
||
Brandon Simmons
|
0f21cbd6fa |
ci: make server upgrade test run in parallel and introduce build pro image job
These changes improve build time by 26% - old: 75 min - new: 55 min For context: https://github.com/hasura/ci-timing PR-URL: https://github.com/hasura/graphql-engine-mono/pull/3007 Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com> GitOrigin-RevId: 6bd4e615303a8749b43258a04d9681476cf6e797 |
||
Robert
|
44977bdf9d |
ci: stabilize server-upgrade-downgrade test on buildkite
fixes https://github.com/hasura/graphql-engine-mono/issues/2635 The test is running postgres via docker compose, but wasn't waiting for postgres to be ready, which is likely what caused intermittent failures when trying to clean metadata. Also make indentation consistent. PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2670 Co-authored-by: Vishnu Bharathi <4211715+scriptnull@users.noreply.github.com> GitOrigin-RevId: 5a4c03c3c05322695ee9ff9a49efc834dea37074 |
||
Vishnu Bharathi
|
2bc9a3b92e |
ci: add server test jobs in buildkite
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2416 GitOrigin-RevId: 5c4b58255447135f7f1e91ef7b3cb1ef1a8f347f |
||
pranshi06
|
d179a6f2ec |
server: support EdDSA keys for JWT
https://github.com/hasura/graphql-engine-mono/pull/1818 Co-authored-by: paritosh-08 <85472423+paritosh-08@users.noreply.github.com> Co-authored-by: Puru Gupta <32328846+purugupta99@users.noreply.github.com> Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com> GitOrigin-RevId: aae87d34cd19c97e66721a2bd7602d907aeb90b3 |
||
Brandon Simmons
|
f1b1dc109e |
tests: document server-upgrade-downgrade test
https://github.com/hasura/graphql-engine-mono/pull/1658 GitOrigin-RevId: c097de5758847ee01e5cb4f049a662338f6a4dda |
||
kodiakhq[bot]
|
a11b4135fc |
Use exceptions to handle compatibility with pg 9.6 in 2.0 upgrade migration
https://github.com/hasura/graphql-engine-mono/pull/1651 Co-authored-by: Rakesh Emmadi <12475069+rakeshkky@users.noreply.github.com> Co-authored-by: Brandon Simmons <210815+jberryman@users.noreply.github.com> GitOrigin-RevId: cdb4a33cbb1a136bc30e8f0dd59aaae584d3a636 |
||
Rakesh Emmadi
|
13bedf5821 |
server/postgres: fix resetting the metadata catalog version to 43 while initializing postgres source with 1.0 catalog (#1645)
* fix resetting the catalog version to 43 on migration from 1.0 to 2.0 * ci: remove applying patch in test_oss_server_upgrade job * make the 43 to 46th migrations idempotent * Set missing HASURA_GRAPHQL_EVENTS_HTTP_POOL_SIZE=8 in upgrade_test It's not clear why this wasn't caught in CI. * ci: disable one component of event backpressure test Co-authored-by: Vishnu Bharathi P <vishnubharathi04@gmail.com> Co-authored-by: Karthikeyan Chinnakonda <karthikeyan@hasura.io> Co-authored-by: Brandon Simmons <brandon@hasura.io> GitOrigin-RevId: c74c6425266a99165c6beecc3e4f7c34e6884d4d |
||
kodiakhq[bot]
|
a935746e17 |
Integration test improvements (for speed/clarity), also increase polling interval for scheduled events
This claws back ~7min from integration tests (run serially, as with `dev.sh test --integration` Further improvements would do well to focus on optimizing metadata operations, as `setup` dominates GitOrigin-RevId: 76637d6fa953c2404627c4391447a05bf09355fa |
||
Rakesh Emmadi
|
ff3c58f230 |
ci: fix oss test server upgrade ci test when upgrading from 1.3.3
GitOrigin-RevId: a5b663ea5b079212c063f15bc67559f5a234f96f |
||
Rakesh Emmadi
|
21fb33d709 |
fix oss server upgrade ci test from 1.3.3 stable release (#378)
GitOrigin-RevId: 1bcd4bb1e1f741ff44219dc1b559af5514c6df91 |
||
Rakesh Emmadi
|
a2cf9a53c2 |
server: move to storing metadata as a json blob (#115)
GitOrigin-RevId: 3d1a7618a4ec086c2d255549a6c15087201e9ab0 |
||
hasura-bot
|
d1ef6e66c9 |
server: add missing remote schema webhook env var in server-upgrade script (#63)
Co-authored-by: Karthikeyan Chinnakonda <karthikeyan@hasura.io> GITHUB_PR_NUMBER: 6221 GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/6221 Co-authored-by: Karthikeyan Chinnakonda <karthikeyan@hasura.io> GitOrigin-RevId: cbff9c7cf037ac45f30af6e9d215d46fac662758 |
||
Karthikeyan Chinnakonda
|
3ea611f9fd
|
Server: Validate remote schema queries (#5938)
* [skip ci] use the args while making the fieldParser * modify the execution part of the remote queries * parse union queries deeply * add test for remote schema field validation * add tests for validating remote query arguments Co-authored-by: Auke Booij <auke@hasura.io> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> |
||
Alexis King
|
7e970177c1
|
Rewrite GraphQL schema generation and query parsing (close #2801) (#4111)
Aka “the PDV refactor.” History is preserved on the branch 2801-graphql-schema-parser-refactor. * [skip ci] remove stale benchmark commit from commit_diff * [skip ci] Check for root field name conflicts between remotes * [skip ci] Additionally check for conflicts between remotes and DB * [skip ci] Check for conflicts in schema when tracking a table * [skip ci] Fix equality checking in GraphQL AST * server: fix mishandling of GeoJSON inputs in subscriptions (fix #3239) (#4551) * Add support for multiple top-level fields in a subscription to improve testability of subscriptions * Add an internal flag to enable multiple subscriptions * Add missing call to withConstructorFn in live queries (fix #3239) Co-authored-by: Alexis King <lexi.lambda@gmail.com> * Scheduled triggers (close #1914) (#3553) server: add scheduled triggers Co-authored-by: Alexis King <lexi.lambda@gmail.com> Co-authored-by: Marion Schleifer <marion@hasura.io> Co-authored-by: Karthikeyan Chinnakonda <karthikeyan@hasura.io> Co-authored-by: Aleksandra Sikora <ola.zxcvbnm@gmail.com> * dev.sh: bump version due to addition of croniter python dependency * server: fix an introspection query caching issue (fix #4547) (#4661) Introspection queries accept variables, but we need to make sure to also touch the variables that we ignore, so that an introspection query is marked not reusable if we are not able to build a correct query plan for it. A better solution here would be to deal with such unused variables correctly, so that more introspection queries become reusable. An even better solution would be to type-safely track *how* to reuse which variables, rather than to split the reusage marking from the planning. Co-authored-by: Tirumarai Selvan <tiru@hasura.io> * flush log buffer on exception in mkWaiApp ( fix #4772 ) (#4801) * flush log buffer on exception in mkWaiApp * add comment to explain the introduced change * add changelog * allow logging details of a live query polling thread (#4959) * changes for poller-log add various multiplexed query info in poller-log * minor cleanup, also fixes a bug which will return duplicate data * Live query poller stats can now be logged This also removes in-memory stats that are collected about batched query execution as the log lines when piped into an monitoring tool will give us better insights. * allow poller-log to be configurable * log minimal information in the livequery-poller-log Other information can be retrieved from /dev/subscriptions/extended * fix few review comments * avoid marshalling and unmarshalling from ByteString to EncJSON * separate out SubscriberId and SubscriberMetadata Co-authored-by: Anon Ray <rayanon004@gmail.com> * Don't compile in developer APIs by default * Tighten up handling of admin secret, more docs Store the admin secret only as a hash to prevent leaking the secret inadvertently, and to prevent timing attacks on the secret. NOTE: best practice for stored user passwords is a function with a tunable cost like bcrypt, but our threat model is quite different (even if we thought we could reasonably protect the secret from an attacker who could read arbitrary regions of memory), and bcrypt is far too slow (by design) to perform on each request. We'd have to rely on our (technically savvy) users to choose high entropy passwords in any case. Referencing #4736 * server/docs: add instructions to fix loss of float precision in PostgreSQL <= 11 (#5187) This adds a server flag, --pg-connection-options, that can be used to set a PostgreSQL connection parameter, extra_float_digits, that needs to be used to avoid loss of data on older versions of PostgreSQL, which have odd default behavior when returning float values. (fixes #5092) * [skip ci] Add new commits from master to the commit diff * [skip ci] serve default directives (skip & include) over introspection * [skip ci] Update non-Haskell assets with the version on master * server: refactor GQL execution check and config API (#5094) Co-authored-by: Vamshi Surabhi <vamshi@hasura.io> Co-authored-by: Vamshi Surabhi <0x777@users.noreply.github.com> * [skip ci] fix js issues in tests by pinning dependencies version * [skip ci] bump graphql version * [skip ci] Add note about memory usage * generalize query execution logic on Postgres (#5110) * generalize PGExecCtx to support specialized functions for various operations * fix tests compilation * allow customising PGExecCtx when starting the web server * server: changes catalog initialization and logging for pro customization (#5139) * new typeclass to abstract the logic of QueryLog-ing * abstract the logic of logging websocket-server logs introduce a MonadWSLog typeclass * move catalog initialization to init step expose a helper function to migrate catalog create schema cache in initialiseCtx * expose various modules and functions for pro * [skip ci] cosmetic change * [skip ci] fix test calling a mutation that does not exist * [skip ci] minor text change * [skip ci] refactored input values * [skip ci] remove VString Origin * server: fix updating of headers behaviour in the update cron trigger API and create future events immediately (#5151) * server: fix bug to update headers in an existing cron trigger and create future events Co-authored-by: Tirumarai Selvan <tiru@hasura.io> * Lower stack chunk size in RTS to reduce thread STACK memory (closes #5190) This reduces memory consumption for new idle subscriptions significantly (see linked ticket). The hypothesis is: we fork a lot of threads per websocket, and some of these use slightly more than the initial 1K stack size, so the first overflow balloons to 32K, when significantly less is required. However: running with `+RTS -K1K -xc` did not seem to show evidence of any overflows! So it's a mystery why this improves things. GHC should probably also be doubling the stack buffer at each overflow or doing something even smarter; the knobs we have aren't so helpful. * [skip ci] fix todo and schema generation for aggregate fields * 5087 libpq pool leak (#5089) Shrink libpq buffers to 1MB before returning connection to pool. Closes #5087 See: https://github.com/hasura/pg-client-hs/pull/19 Also related: #3388 #4077 * bump pg-client-hs version (fixes a build issue on some environments) (#5267) * do not use prepared statements for mutations * server: unlock scheduled events on graceful shutdown (#4928) * Fix buggy parsing of new --conn-lifetime flag in |
||
Auke Booij
|
ad882a93e2
|
tests: tear down numerics values (fix #4602) (#4604)
Also temporarily disable part of the CI to avoid it becoming confused about tests for/from old versions |
||
nizar-m
|
0e666a9203
|
Fix catalog version for v1.1.1 (close #4354) (#4355)
* Fix catalog version for v1.1.1 * Remove entries of removed tables from hdb_catalog While downgrading catalog version from 32 -> 31, not removing entries in hdb_table and hdb_relationship for the tables that are removed in the downgrade, results in incosistent schema, when the server with downgraded version is started. This should probably be handled in a better fashion. With the change in this commit, the server is able to successfully start with downgraded catalog version 31. * Test downgrade command along with upgrade tests |