Commit Graph

32 Commits

Author SHA1 Message Date
Auke Booij
7bead93827 server: remove remnants of query plan caching (fix #1795)
Query plan caching was introduced by - I believe - hasura/graphql-engine#1934 in order to reduce the query response latency. During the development of PDV in hasura/graphql-engine#4111, it was found out that the new architecture (for which query plan caching wasn't implemented) performed comparably to the pre-PDV architecture with caching. Hence, it was decided to leave query plan caching until some day in the future when it was deemed necessary.

Well, we're in the future now, and there still isn't a convincing argument for query plan caching. So the time has come to remove some references to query plan caching from the codebase. For the most part, any code being removed would probably not be very well suited to the post-PDV architecture of query execution, so arguably not much is lost.

Apart from simplifying the code, this PR will contribute towards making the GraphQL schema generation more modular, testable, and easier to profile. I'd like to eventually work towards a situation in which it's easy to generate a GraphQL schema parser *in isolation*, without being connected to a database, and then parse a GraphQL query *in isolation*, without even listening any HTTP port. It is important that both of these operations can be examined in detail, and in isolation, since they are two major performance bottlenecks, as well as phases where many important upcoming features hook into.

Implementation

The following have been removed:
- The entirety of `server/src-lib/Hasura/GraphQL/Execute/Plan.hs`
- The core phases of query parsing and execution no longer have any references to query plan caching. Note that this is not to be confused with query *response* caching, which is not affected by this PR. This includes removal of the types:
- - `Opaque`, which is replaced by a tuple. Note that the old implementation was broken and did not adequately hide the constructors.
- - `QueryReusability` (and the `markNotReusable` method). Notably, the implementation of the `ParseT` monad now consists of two, rather than three, monad transformers.
- Cache-related tests (in `server/src-test/Hasura/CacheBoundedSpec.hs`) have been removed .
- References to query plan caching in the documentation.
- The `planCacheOptions` in the `TenantConfig` type class was removed. However, during parsing, unrecognized fields in the YAML config get ignored, so this does not cause a breaking change. (Confirmed manually, as well as in consultation with @sordina.)
- The metrics no longer send cache hit/miss messages.

There are a few places in which one can still find references to query plan caching:

- We still accept the `--query-plan-cache-size` command-line option for backwards compatibility. The `HASURA_QUERY_PLAN_CACHE_SIZE` environment variable is not read.

https://github.com/hasura/graphql-engine-mono/pull/1815

GitOrigin-RevId: 17d92b254ec093c62a7dfeec478658ede0813eb7
2021-07-27 11:52:43 +00:00
Jesse
0ab7844efa docs: add cloud references
https://github.com/hasura/graphql-engine-mono/pull/1688

Co-authored-by: Jesse Martin <174035+martincreative@users.noreply.github.com>
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
GitOrigin-RevId: 7a585cb8473e0c5572a347926e156b6ce6f4d780
2021-07-22 13:24:31 +00:00
vaishnavigvs
779f767369 docs: update faq
https://github.com/hasura/graphql-engine-mono/pull/1691

Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
GitOrigin-RevId: a0c6599db7a9c89a39aff623602684bd68bb3959
2021-07-01 11:58:01 +00:00
vaishnavigvs
e47d37a2a6 docs: add basic FAQs
https://github.com/hasura/graphql-engine-mono/pull/1633

Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
GitOrigin-RevId: 3a70e2098f433445e5ea5d4f0a888d14c08b0d06
2021-06-23 11:30:45 +00:00
Rikin Kachhia
f7b379f677 docs: update docker guides with 2.0 changes
- update docker guides
- misc improvements

https://github.com/hasura/graphql-engine-mono/pull/1638

GitOrigin-RevId: 061aaa4f0da2752fe063be97ffce162653f23b8d
2021-06-23 11:21:55 +00:00
Rikin Kachhia
6c4dbe093c docs: update getting started for 2.0
https://github.com/hasura/graphql-engine-mono/pull/1624

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
GitOrigin-RevId: 8507e5520d7fb3548899cac2e7dc497567e0282e
2021-06-23 08:10:12 +00:00
Rikin Kachhia
d8d62f19e2 docs: add v2 computed field typename breaking change
https://github.com/hasura/graphql-engine-mono/pull/1585

GitOrigin-RevId: 41ae0c657f9d1851d0bce6a009c843b0f903e93b
2021-06-16 09:06:14 +00:00
Rikin Kachhia
90f9806c99 docs: add cloud v2 update guide
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
GitOrigin-RevId: 581f08d36caf95d653fe88ee050b11f657614da4
2021-06-10 17:04:44 +00:00
Rikin Kachhia
b8c294bb69 docs: update v2.0 breaking changes section
GitOrigin-RevId: efb01723e8c3c85c2eb051644ecca6b1ce682479
2021-05-24 16:35:07 +00:00
Rikin Kachhia
423f5c6ad5 docs: update v2 docs
- update config availablility/deprecation notes
- add notes on metadata inconsistency during config v3 migrations
- use update instead of upgrade for v2 migration for consistency
- fix external link opening

GitOrigin-RevId: a8ca31948285f55a5fac8d00b93f85007be512cc
2021-05-18 13:37:32 +00:00
Rikin Kachhia
1bfa53bb4d docs: update upgrade to v2 guide
- add migrations transactionality behaviour change
- update migrated env var list
- add deprecated msg to env vars
- add order by behaviour change

GitOrigin-RevId: 48c0659ef2d7c69eac1fccba1d883dd9e60f939f
2021-05-13 16:53:12 +00:00
Rikin Kachhia
21215dad1b docs: update docker windows hostname
GitOrigin-RevId: c0d18b985225a3d921e734afe8448c41b820df4f
2021-05-07 13:02:40 +00:00
Rikin Kachhia
5850423aa6 docs: add behaviour changes to upgrade to v2 guide
GitOrigin-RevId: 9ec65a330f6225f8e12d583a00c2b3ead0e9292b
2021-04-14 07:09:04 +00:00
Rikin Kachhia
3f0bb499cb docs: add misc updates
- language nitpicks
- add notes on checking env vars storing db urls across environments post upgrading to config v3
- update ci/cd workflow commands in config v3

GitOrigin-RevId: 7f98a03db6bf3c7b8b550e4bdd1e4eca8b1c6e32
2021-04-08 11:21:37 +00:00
Rikin Kachhia
0352e4ae01 docs: misc updates
- master -> primary terminology change in read replica page
- add console flow to add read replica
- add (ci/cd) annotation to migrations
- add config v2 tag for older migrations pages

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
GitOrigin-RevId: 2d2d8e12fbf4f3142d0611f3ab1ce9285a79779f
2021-04-06 17:05:48 +00:00
Rikin Kachhia
7f251d09a2 docs: add ugrade to Hasura v2 guide
GitOrigin-RevId: e45642dee466de7705519b949c5ca33f20a07a4c
2021-04-05 08:11:40 +00:00
Praveen Durairaju
101d76096f docs: add trailing slash to blog links, update header link
GitOrigin-RevId: e1fb08d1f0123df7e9717e3e56c24ea37f759408
2021-03-02 09:27:14 +00:00
Rikin Kachhia
df45a6f426 docs: add multiple databases and metadata separation docs (#586)
GitOrigin-RevId: 5810a8c2de538c2921a1b749421f4fb1599e7ed0
2021-02-23 12:01:19 +00:00
Funmilayo E. Olaiya
615922b63a docs: pluralise query names, schema / table names
### Description
This PR pluralises all sample query names in all sections of the docs, and these changes affect some schema, images, CLI commands and Apis too.
_A warning was also fixed in the API reference section._

### Changelog

- [x] `CHANGELOG.md` is updated with user-facing content relevant to this PR. If no changelog is required, then add the `no-changelog-required` label.

### Affected components
- [x] Docs

### Related Issues
https://github.com/hasura/graphql-engine-internal/issues/75

### Affected pages

**Getting Started:**
1. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/getting-started/first-graphql-query.html

**Schema:**
1. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/schema/tables.html
2. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/schema/table-relationships/create.html
3. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/schema/table-relationships/rename.html
4. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/schema/custom-functions.html
5. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/schema/computed-fields.html

**Queries:**
1. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/queries/simple-object-queries.html
2. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/queries/nested-object-queries.html
3. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/queries/aggregation-queries.html
4. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/queries/query-filters.html
5. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/queries/sorting.html
6. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/queries/distinct-queries.html
7. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/queries/pagination.html
8. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/queries/multiple-arguments.html
9. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/queries/multiple-queries.html

**Authentication/Authorization:**
1. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/auth/authorization/basics.html#

**Data Modelling Guides**
1. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/guides/data-modelling/one-to-one.html
2. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/guides/data-modelling/one-to-many.html
3. https://deploy-preview-312--hasura-docs-mono.netlify.app/graphql/core/guides/data-modelling/many-to-many.html

GitOrigin-RevId: e02e279466909e0bbd48d908b1b6fa0a5d5e47cf
2021-02-17 11:13:54 +00:00
hasura-bot
60613b4777 docs: add a guide on importing data from a CSV file into PG (close #494)
GITHUB_PR_NUMBER: 6225
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/6225

Co-authored-by: Funmilayo E. Olaiya <35759534+codeliezel@users.noreply.github.com>
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
GitOrigin-RevId: 232414fd293ab1a054b3fec35c7ee3743cd4686d
2021-02-02 10:44:36 +00:00
hasura-bot
0edfcd5f2c docs: add inserts to db modelling guides
GITHUB_PR_NUMBER: 5444
GITHUB_PR_URL: https://github.com/hasura/graphql-engine/pull/5444

Co-authored-by: Marion Schleifer <5722022+marionschleifer@users.noreply.github.com>
Co-authored-by: Rikin Kachhia <54616969+rikinsk@users.noreply.github.com>
GitOrigin-RevId: caabc4de59abbeb7ac4d175cda330ace4196359b
2021-02-02 08:45:32 +00:00
John Bampton
82bc5327ae Fix case of GitHub
GitOrigin-RevId: 148b0050058986cbe6d3e3615dc160abb1644cad
2020-11-17 19:29:41 +05:30
Vishnu Bharathi P
4ebe94914b Revert "docs: fix case of GitHub"
This reverts commit d03365814f.
2020-11-17 19:11:10 +05:30
John Bampton
d03365814f
docs: fix case of GitHub (#5920)
https://github.com/hasura/graphql-engine/pull/5920
2020-11-17 12:00:20 +00:00
Marion Schleifer
ca3ebddc33
docs: console / cli / api workflows (close #3593) (#4948)
https://github.com/hasura/graphql-engine/pull/4948
2020-10-13 11:07:46 +00:00
Marion Schleifer
048daf81d1
docs: add postgres reference section to docs (close #4440) (#4471)
https://github.com/hasura/graphql-engine/pull/4471
2020-10-06 16:04:58 +00:00
Samuel Ainsworth
3b570084a3
docs: better secret handling in Auth0 rule (#5677)
https://github.com/hasura/graphql-engine/pull/5677
2020-10-01 13:14:58 +00:00
rikinsk
a346576d11 add learn course reference to gettign started guides 2020-09-10 15:02:57 +05:30
Rikin Kachhia
924d8a5d83
docs: misc updates (#5750) 2020-09-09 01:44:36 +05:30
Rikin Kachhia
b4825d1979
update mysql preview docs (#5747) 2020-09-08 23:13:46 +05:30
Marion Schleifer
600a01d2fd
docs: add getting started guide for mysql preview (#5740)
Co-authored-by: rikinsk <rikin@hasura.io>
2020-09-08 22:06:28 +05:30
Rikin Kachhia
10a5579b5b
docs: update paths for core and cloud (#5665) 2020-08-25 21:51:21 +05:30