Commit Graph

2178 Commits

Author SHA1 Message Date
Daniel Chambers
bae14c70d4 Fix inherited roles leaking supposedly-hidden data via aggregation predicates for Postgres
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9961
GitOrigin-RevId: cffe2fda2f4dbc7929fc1aaac3887b7d12c4b467
2023-07-26 12:07:34 +00:00
Philip Lykke Carlsen
483409c26b Fix(Sqlserver): Apply Column Redaction to aggregations
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9956
GitOrigin-RevId: ed7a734fabcaaead85999a25223a61f0cba7807c
2023-07-26 08:53:56 +00:00
Brandon Simmons
f0441a3d61 INFRA-833: OpenTelemetry exporter for metrics
I scratched out some changes to support this in the front end, mostly to test it easily,   maybe this can be used without much rework (validation seems to work correctly, but the tests need to be extended and probably fixed):

<img width="648" alt="fd" src="https://github.com/hasura/graphql-engine-mono/assets/68095256/e5873a90-ef83-43c3-9d54-cfc0a693baca">

-------

## Fake OTel collector for testing

ChatGPT spit this out, and it's what I used to test, if it's useful to others:

``` python
from flask import Flask, request
from opentelemetry.proto.collector.trace.v1.trace_service_pb2 import ExportTraceServiceRequest
from opentelemetry.proto.collector.metrics.v1.metrics_service_pb2 import ExportMetricsServiceRequest
import google.protobuf.json_format as json_format

app = Flask(__name__)

@app.route("/v1/traces", methods=["POST"])
def handle_traces():
    if request.method == 'POST':
        binary_trace = request.get_data()
        trace_request = ExportTraceServiceRequest()
        trace_request.ParseFromString(binary_trace)
        print("Received trace data:\n")
        print(json_format.MessageToJson(trace_request, indent=2, preserving_proto_field_name=True))
        return "Trace data received", 200

@app.route("/v1/metrics", methods=["POST"])
def handle_metrics():
    if request.method == 'POST':
        binary_metric = request.get_data()
        metric_request = ExportMetricsServiceRequest()
        metric_request.ParseFromString(binary_metric)
        print("Received metrics data:\n")
        print(json_format.MessageToJson(metric_request, indent=2, preserving_proto_field_name=True))
        return "Metrics data received", 200

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8080)
```

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9552
Co-authored-by: Puru Gupta <32328846+purugupta99@users.noreply.github.com>
Co-authored-by: Toan Nguyen  <1615675+hgiasac@users.noreply.github.com>
Co-authored-by: Varun Choudhary <68095256+Varun-Choudhary@users.noreply.github.com>
Co-authored-by: Daniele Cammareri <5709409+dancamma@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rob Dominguez <24390149+robertjdominguez@users.noreply.github.com>
GitOrigin-RevId: f340bfc5c135a7bb24735b524d015e05db422fd2
2023-07-26 05:22:17 +00:00
Daniel Chambers
fa1441ac3b Enable inherited role redaction tests for Citus and Cockroach and fix DISTINCT ON for Cockroach
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9951
GitOrigin-RevId: b078006a14ebdc007576314405734734ad1944c4
2023-07-26 04:50:25 +00:00
Daniel Harvey
78323ed1a1 chore(server): permissions for inline logical models
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9835
GitOrigin-RevId: b36a4d5a8e0d4156a2d26803c7d046570f7afefa
2023-07-25 10:11:35 +00:00
Auke Booij
dad9a80dac server: null forwarding feature flag
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9861
Co-authored-by: paritosh-08 <85472423+paritosh-08@users.noreply.github.com>
Co-authored-by: Rob Dominguez <24390149+robertjdominguez@users.noreply.github.com>
GitOrigin-RevId: 46153d68adf1acc707dc451555055600b006629e
2023-07-21 15:12:32 +00:00
Daniel Chambers
592e2329d0 Fix inherited roles leaking supposedly-hidden data via filtering for Postgres
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9916
GitOrigin-RevId: 39f6f1aa21421dda6573bbae561c62ced3400034
2023-07-20 23:29:01 +00:00
Tom Harding
05cfb65b54 Log Postgres Source Names in Connection Errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9869
GitOrigin-RevId: 916758e7f1037cc67035894298e55771f9aa2d9f
2023-07-20 11:20:09 +00:00
Philip Lykke Carlsen
462abadb8c feat(SqlServer): Configuration option to disable the connection pool
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9834
Co-authored-by: Samir Talwar <47582+SamirTalwar@users.noreply.github.com>
GitOrigin-RevId: 6b7f8bd660ddda0cae3a5457267f5af4906ff65a
2023-07-18 18:41:10 +00:00
Daniel Chambers
2f3defe3a9 Refactor inherited roles data redaction types
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9882
GitOrigin-RevId: cffb0643202ee18abdc90887fd0306fe0835c44e
2023-07-18 13:50:32 +00:00
Daniel Chambers
a86345421f Fix inherited roles issue with ordering
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9868
GitOrigin-RevId: 0c2b50ec1a2d179a4f79b6c795bf8fecb7ad7c9f
2023-07-18 13:09:42 +00:00
Auke Booij
9a09af4f20 server: don't forward absent variable values as nulls
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9871
GitOrigin-RevId: 71191f89d7de36ff1fad0e29e8f1f07a9ddca9f7
2023-07-18 12:36:30 +00:00
paritosh-08
b1a7a64466 server: add new fields in schema registry payload
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9769
GitOrigin-RevId: c38797bab390fc8f388bf9c64250044949d94060
2023-07-18 12:03:17 +00:00
paritosh-08
318634c7a1 server/schema-registry: fix metadata resource version -1 for catalog sync
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9864
GitOrigin-RevId: 55340364d138ccb311e3f0e927ef2fd1486a125b
2023-07-17 08:12:31 +00:00
Daniel Chambers
06a79b9e59 Fix inherited roles leaking supposedly-hidden data from aggregates for Postgres
[GDC-1292]: https://hasurahq.atlassian.net/browse/GDC-1292?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9799
GitOrigin-RevId: 8138c6064bffe8af5228c293e28513962e980820
2023-07-17 04:28:46 +00:00
Tom Harding
70d5a0e168 Support remote relationship deletion in bulk_atomic
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9858
GitOrigin-RevId: 11eab0ec6383871792a1e7bf3c7ebaed3be53f90
2023-07-13 13:55:25 +00:00
pranshi06
da582dda33 server: add log line for Event Trigger timeout errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9847
GitOrigin-RevId: 2cff5d3bca1e04b57cbe054e774e97e543cb7ce5
2023-07-13 09:53:27 +00:00
Anon Ray
ddfd5c74bc revert "server: add upstream_execution_time to http-log"
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9856
GitOrigin-RevId: 5721b4945025fd8139fe19f7aa87d7366c4b0c27
2023-07-13 09:23:38 +00:00
Tom Harding
a381cf273a Add *_drop_relationship to bulk_atomic
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9851
GitOrigin-RevId: 6f837e2040261c319899769abcd1af28b5cea64f
2023-07-13 08:54:51 +00:00
Anon Ray
6853688e20 server: add upstream_execution_time to http-log
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9853
GitOrigin-RevId: 001ac73bb3c5c34fee26ee8804fc0a9b34fba4c7
2023-07-13 07:29:00 +00:00
Daniel Harvey
21bee98e25 chore(server): tidy logimo permissions
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9844
GitOrigin-RevId: f08e3872d2507f965bf94976cae3ee5d15d882b5
2023-07-12 10:45:42 +00:00
Brandon Simmons
4eeb0860d9 server: use lighter GC in ourIdleGC when idle
Previously when users had an idle system with a large working set (i.e. large schema) they would likely see CPU spikes every 10 seconds.

See: https://github.com/hasura/graphql-engine/issues/9592#issuecomment-1580543694

Now we perform a lighter-weight minor GC in that case.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9841
GitOrigin-RevId: a04f86bfef7a73cb25fbec850d58e51eb796b81b
2023-07-12 09:26:11 +00:00
Krushan Bauva
cfd2f54eab server: fix operationName not parsed into subscription metrics and query tags
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9816
GitOrigin-RevId: c27ab21d2574fe36a150f3e333c6da6ea2658a32
2023-07-12 07:33:17 +00:00
David Overton
a46f07ea45 Logical models in get_table_info
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9798
GitOrigin-RevId: ab7b1dc0a4504c1ec103c449ca2e444589673c0f
2023-07-12 02:10:02 +00:00
Daniel Harvey
eeb819e7a4 chore(server): allow Logical Models to be defined inside Native Queries
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9787
GitOrigin-RevId: 48b88f3c98024d3be721ab27a28be75952586a8c
2023-07-10 13:47:25 +00:00
Daniel Harvey
213f64c061 chore(server): add experiment feature flag to disable Postgres arrays in introspection
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9804
GitOrigin-RevId: eeb378153df070ffedcada6a91d3117a0a83dde9
2023-07-10 11:17:10 +00:00
Philip Lykke Carlsen
e8d7444b70 Feat: Use column nullabilty to generate simpler permissions SQL
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9793
GitOrigin-RevId: d7a3995efe5ca3936fa5b3a7ecf4574b694b9909
2023-07-10 09:28:54 +00:00
Tom Harding
ceedfe7f8d Allow array and object relationships to be made with bulk_atomic
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9809
GitOrigin-RevId: d813b66be6ab07a1efb834aa988a715ab531a3a2
2023-07-07 17:25:23 +00:00
Krushan Bauva
c68f6c7ba1 server: extend livequery-poller-log to log errors
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9708
GitOrigin-RevId: ba2075f5f62bd56805fde0a8f02803b05105d775
2023-07-07 07:18:14 +00:00
Puru Gupta
1d8d934157 server: fix race condition in reloadAppContext
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9788
GitOrigin-RevId: c6b9441e4f4e12fea6ad4e5b336f3231fc4494d2
2023-07-06 23:01:32 +00:00
Auke Booij
fdddac8057 server: Delete unused SchemaCacheVer
`SchemaCacheVer` has been a write-only value for a while. It was introduced by hasura/graphql-engine#1934.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9786
GitOrigin-RevId: aa9d5600d2be347ea0538903b7f41f7ed745fafc
2023-07-06 15:37:01 +00:00
pranshi06
d32ae8ea05 server: update HTTP exception errors in log line for Triggers
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9738
GitOrigin-RevId: cece764a6fa087958675077c8420e9478d419e8e
2023-07-06 07:38:09 +00:00
Daniel Harvey
a0cc1dd9c9 chore(server): Native Query relationships no longer required a matching Logical Model field
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9737
GitOrigin-RevId: 4e6cd40fee21b7ca51342b805ed52e6b51b8c0d5
2023-07-04 17:21:19 +00:00
Tom Harding
5770f7eaad Log the host IP address for a failing Postgres connection.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9751
GitOrigin-RevId: 6980513188c58103716588e1dd695d84ea0ab33e
2023-07-04 16:37:51 +00:00
Auke Booij
26cf5a8368 Fix for forwarding null values to the remote schema for nullable field types
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9749
GitOrigin-RevId: 943cfe18202c6eb74bcc38ebaa49f7e21b934b66
2023-07-04 14:29:48 +00:00
Naveen Naidu
f29105fb0c server: remove input validation feature from experimental features
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9747
GitOrigin-RevId: d59a272558d190525245796518a764574bd93286
2023-07-04 13:23:20 +00:00
paritosh-08
249a3f4c77 server: support __typename for subscriptions with namespace
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9745
GitOrigin-RevId: 6fa271d94981e906be213e090b8455eb5ed51269
2023-07-04 11:53:52 +00:00
Puru Gupta
e69d4c445f server: update websocket to be graphql-ws protocol complaint in case of connection failure
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9707
GitOrigin-RevId: 6695d107169cd82b598ea53623b7a16974749fb0
2023-07-04 06:55:40 +00:00
Krushan Bauva
eb02f33c0e server: fix poller error metric not decrementing when subscriptions are closed
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9589
GitOrigin-RevId: 8e3bd019f632d7dd5010cdc147bd561856b21ad2
2023-07-03 11:30:08 +00:00
Daniel Harvey
f18a78bad4 chore(server): Postgres array enums fix
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9727
GitOrigin-RevId: a3d998083dfea171d15f20ae0774de8f3e627d49
2023-06-30 18:44:33 +00:00
Philip Lykke Carlsen
57690491af fix: Soften validation requirements for nested inserts
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9721
GitOrigin-RevId: 794b6769b56dcb0bea3640ac9eb837e7f1e8375c
2023-06-29 14:17:04 +00:00
Tom Harding
5d027f9861 Remove some TemplateHaskell from Hasura.SQL
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9699
GitOrigin-RevId: 63d6a229f1feadcb07fac86181d4361d9229ef67
2023-06-29 10:32:19 +00:00
Daniel Harvey
cb02a9a034 chore(server): add tests/support for inserting JSON arrays
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9704
GitOrigin-RevId: 4c2820c302d056bed92bf61e3670419c6da1563e
2023-06-29 09:50:36 +00:00
Tom Harding
5029b67a23 Remove the last of the obvious Aeson TemplateHaskell
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9700
GitOrigin-RevId: bed540315d7bca4329cfb41231685f15b9b6e9ad
2023-06-28 15:45:09 +00:00
Naveen Naidu
a367525e68 server/postgres: delete input validation [experimental]
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9666
Co-authored-by: Rakesh Emmadi <12475069+rakeshkky@users.noreply.github.com>
GitOrigin-RevId: 5fa7702401065869c953b23c6734b9b367247634
2023-06-28 13:46:00 +00:00
Tom Harding
a5583761aa Remove some TemplateHaskell from Postgres.Backends
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9697
GitOrigin-RevId: fa6cc434eda04c855d67f2f87591df2a609916ff
2023-06-28 13:02:04 +00:00
Tom Harding
f8002894c9 Remove some TemplateHaskell from Hasura.RemoteSchema
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9689
GitOrigin-RevId: 6ac85d35faa211713c58e695efc996b9f930baf1
2023-06-28 12:28:56 +00:00
Tom Harding
785941f1ae Remove some TemplateHaskell from RQL.Types
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9698
GitOrigin-RevId: ca55c61720e8fbf9c3a3672cb41e1339cf61542d
2023-06-28 11:38:41 +00:00
Tom Harding
863fae05a2 Remove some TemplateHaskell from Hasura.GraphQL
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9693
GitOrigin-RevId: 4cdb0a3bf730d6f97697be83969b51bb4d881c41
2023-06-28 11:02:59 +00:00
Naveen Naidu
c30d4f0564 server/postgres: update input validation [experimental]
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9665
Co-authored-by: Rakesh Emmadi <12475069+rakeshkky@users.noreply.github.com>
GitOrigin-RevId: 35bd769281982833e86c5bb708b3edf5a040708b
2023-06-28 10:19:54 +00:00