Comments (6)
Thanks @lrlna, this sounds great.
Given this information I am +1 to a stopgap on the router side with the intention of replacing with the apollo-rs HIR when it makes sense to do so.
from router.
I analyzed a bit and I would need to make quite some abstraction to make it all work. I think it would be best to wait for the higher level API @lrlna will be making on apollo-parser.
@BrynCooke I was wondering if implementing the code to solve this issue is actually a good idea: this will slow down the router a little bit and since it's the variables it can't be entirely cached. The type validation itself is already done by the subgraphs. Why not just raise the errors and call it a day?
from router.
Oh I see. The errors will match the sub queries variables, not the original variables which might differ.
from router.
If it's simple I would be tempted to implement this:
- to get us towards where we need to be in terms of router functionality.
- to enable us to feed requirements back to apollo-rs.
What do you think though? It's throw away code for sure.
@lrlna The timescales for the HIR will inform our decision on the above. Do you think it would be feasible to jump ahead and start contributing to an HIR in apollo-rs relatively soon? Otherwise there is probably still benefit from a stop-gap solution.
from router.
@BrynCooke here is the current plan for semantic analysis that I think will be able to accommodate for other people to contribute to the work some time in the second part of January:
- I have a pretty good idea of how I'd like to design the library, but I am very keen to do a spike first.
- Once the spike is complete I will be in a position to thoroughly breakdown the work into smaller chunks that could be divided between myself and another implementor (or 2!). This is important as I like to make sure that the work we are doing is thought out, deliberate, and facilitates the needs of other tooling that will also be using this library. Timeline-wise, this will bring us close to holiday season.
- If my current idea is proved to be reasonable during the spike, it will be easiest if I set up a barebones architecture first before other contributors come on board. Otherwise we are in a situation of too many cooks. This is likely to spill over to just after the holidays.
- After this, I think you can start contributing with a lot more ease.
How does this sound to you?
from router.
Closed by mistake
from router.
Related Issues (20)
- Log a warning message when someone wants to disable specific attributes in telemetry
- Setting RUST_LOG=error does not displays some metrics HOT 3
- coprocessor for query planning HOT 2
- inconsistency in opentelemetry-proto version
- Add new metric for the "real" Router processing time HOT 3
- Add configuration option for `events.subgraph.request|response|error` to target only specified subgraphs
- propagate tracing headers to coprocessor calls HOT 1
- Adding a field changes the returned value of another (@requires directive with arguments involved) HOT 1
- Reducing the configuration schema file
- Introspection query doesn't return latest schema changes when query plan is being persisted on Redis HOT 6
- `request.body.operaton_name` is empty even `query` contain named operation
- Send response errors only to coprocessor
- Unable to remove the Apollo-Expose-Query-Plan with header propagation remove regex HOT 1
- telemetry: add selectors for errors to be able to match on a specific error
- Remove `experimental_when_header` once advanced telemetry features are part of a release
- Add support for response status code in rhai
- Allow `print` or `log_error` to log JSON objects HOT 1
- Update OTEL trace_id value from a request header HOT 9
- Have an option to enable TCP connection details in tracing. HOT 2
- Conditional apply safelisting with operation limits
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from router.