-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: incremental delivery with deduplication + concurrent execution #1034
Commits on Jan 15, 2023
-
Update Section 3 -- Type System.md Update Section 3 -- Type System.md Update Section 3 -- Type System.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Update Section 6 -- Execution.md Amend changes change initial_count to initialCount add payload fields to Response section add stream validation for overlapping fields spelling updates add note about re-execution add note about final payloads label is optional fix build Update ExecuteQuery with hasNext logic fix spelling fix spaces Update execution to add defer/stream to mutations and subscriptions clarify stream records Apply suggestions from code review Co-authored-by: Benjie Gillam <benjie@jemjie.com> missing bracket Update spec/Section 7 -- Response.md Co-authored-by: Benjie Gillam <benjie@jemjie.com> clarify line about stream record iterator update visitedFragments with defer Updates to consolidate subsequent payload logic for queries, mutations, and subscriptions Apply suggestions from code review Co-authored-by: Benjie Gillam <benjie@jemjie.com> address review feedback Add handling of termination signal more formatting fix spelling Add assertion for record type add "Stream Directives Are Used On List Fields" validation rule Add defaultValue to @stream initialCount Update spec/Section 5 -- Validation.md Co-authored-by: Benjie Gillam <benjie@jemjie.com> # Conflicts: # spec/Section 3 -- Type System.md # spec/Section 5 -- Validation.md # spec/Section 6 -- Execution.md # spec/Section 7 -- Response.md
Configuration menu - View commit details
-
Copy full SHA for fca1c5d - Browse repository at this point
Copy the full SHA fca1c5dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 43e9997 - Browse repository at this point
Copy the full SHA 43e9997View commit details -
clear up that it is legal to support either defer or stream individually
# Conflicts: # spec/Section 3 -- Type System.md
Configuration menu - View commit details
-
Copy full SHA for cb5a3f4 - Browse repository at this point
Copy the full SHA cb5a3f4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0eb4426 - Browse repository at this point
Copy the full SHA 0eb4426View commit details -
Update Section 3 -- Type System.md
# Conflicts: # spec/Section 3 -- Type System.md
Configuration menu - View commit details
-
Copy full SHA for 43bfe01 - Browse repository at this point
Copy the full SHA 43bfe01View commit details -
clarification on defer/stream requirement
# Conflicts: # spec/Section 3 -- Type System.md
Configuration menu - View commit details
-
Copy full SHA for acb5bf0 - Browse repository at this point
Copy the full SHA acb5bf0View commit details -
clarify negative values of initialCount
# Conflicts: # spec/Section 3 -- Type System.md
Configuration menu - View commit details
-
Copy full SHA for abea59b - Browse repository at this point
Copy the full SHA abea59bView commit details -
allow extensions only subsequent payloads
# Conflicts: # spec/Section 7 -- Response.md
Configuration menu - View commit details
-
Copy full SHA for 139d69f - Browse repository at this point
Copy the full SHA 139d69fView commit details -
Configuration menu - View commit details
-
Copy full SHA for de5004b - Browse repository at this point
Copy the full SHA de5004bView commit details -
Raise a field error if initialCount is less than zero
# Conflicts: # spec/Section 3 -- Type System.md # spec/Section 6 -- Execution.md
Configuration menu - View commit details
-
Copy full SHA for 9e89f42 - Browse repository at this point
Copy the full SHA 9e89f42View commit details -
data is not necessarily an object in subsequent payloads
# Conflicts: # spec/Section 7 -- Response.md
Configuration menu - View commit details
-
Copy full SHA for f894ba3 - Browse repository at this point
Copy the full SHA f894ba3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 08053d7 - Browse repository at this point
Copy the full SHA 08053d7View commit details -
wait for parent async record to ensure correct order of payloads
# Conflicts: # spec/Section 6 -- Execution.md
Configuration menu - View commit details
-
Copy full SHA for e19246b - Browse repository at this point
Copy the full SHA e19246bView commit details -
Simplify execution, payloads should begin execution immediately
# Conflicts: # spec/Section 6 -- Execution.md
Configuration menu - View commit details
-
Copy full SHA for 2ecd0af - Browse repository at this point
Copy the full SHA 2ecd0afView commit details -
# Conflicts: # spec/Section 6 -- Execution.md
Configuration menu - View commit details
-
Copy full SHA for 337bb87 - Browse repository at this point
Copy the full SHA 337bb87View commit details -
add isCompletedIterator to AsyncPayloadRecord to track completed iter…
…ators # Conflicts: # spec/Section 6 -- Execution.md
Configuration menu - View commit details
-
Copy full SHA for 2982dec - Browse repository at this point
Copy the full SHA 2982decView commit details -
Configuration menu - View commit details
-
Copy full SHA for 32fb73b - Browse repository at this point
Copy the full SHA 32fb73bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ff999e - Browse repository at this point
Copy the full SHA 1ff999eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 270b409 - Browse repository at this point
Copy the full SHA 270b409View commit details -
Configuration menu - View commit details
-
Copy full SHA for 75f2258 - Browse repository at this point
Copy the full SHA 75f2258View commit details -
Configuration menu - View commit details
-
Copy full SHA for d8c28d1 - Browse repository at this point
Copy the full SHA d8c28d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb3a4e3 - Browse repository at this point
Copy the full SHA eb3a4e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for f2b50bf - Browse repository at this point
Copy the full SHA f2b50bfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 92f02f3 - Browse repository at this point
Copy the full SHA 92f02f3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 049bce8 - Browse repository at this point
Copy the full SHA 049bce8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a07500 - Browse repository at this point
Copy the full SHA 9a07500View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7c5e1da - Browse repository at this point
Copy the full SHA 7c5e1daView commit details -
Configuration menu - View commit details
-
Copy full SHA for 19cb9c3 - Browse repository at this point
Copy the full SHA 19cb9c3View commit details -
Configuration menu - View commit details
-
Copy full SHA for c747f61 - Browse repository at this point
Copy the full SHA c747f61View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6f3c715 - Browse repository at this point
Copy the full SHA 6f3c715View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7c9ea0a - Browse repository at this point
Copy the full SHA 7c9ea0aView commit details -
Configuration menu - View commit details
-
Copy full SHA for d84939e - Browse repository at this point
Copy the full SHA d84939eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ad7e9c - Browse repository at this point
Copy the full SHA 1ad7e9cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b6554e - Browse repository at this point
Copy the full SHA 4b6554eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9103fdb - Browse repository at this point
Copy the full SHA 9103fdbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3944d05 - Browse repository at this point
Copy the full SHA 3944d05View commit details -
Configuration menu - View commit details
-
Copy full SHA for 90b31ae - Browse repository at this point
Copy the full SHA 90b31aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for f1c0ec2 - Browse repository at this point
Copy the full SHA f1c0ec2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3830406 - Browse repository at this point
Copy the full SHA 3830406View commit details -
Configuration menu - View commit details
-
Copy full SHA for f950efb - Browse repository at this point
Copy the full SHA f950efbView commit details -
Configuration menu - View commit details
-
Copy full SHA for ad5b2e2 - Browse repository at this point
Copy the full SHA ad5b2e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for c1f3f65 - Browse repository at this point
Copy the full SHA c1f3f65View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2e41749 - Browse repository at this point
Copy the full SHA 2e41749View commit details -
Configuration menu - View commit details
-
Copy full SHA for abb14a0 - Browse repository at this point
Copy the full SHA abb14a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4ea2a34 - Browse repository at this point
Copy the full SHA 4ea2a34View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1565491 - Browse repository at this point
Copy the full SHA 1565491View commit details -
Configuration menu - View commit details
-
Copy full SHA for a938f44 - Browse repository at this point
Copy the full SHA a938f44View commit details -
Configuration menu - View commit details
-
Copy full SHA for a301f21 - Browse repository at this point
Copy the full SHA a301f21View commit details -
Configuration menu - View commit details
-
Copy full SHA for 38bfbb9 - Browse repository at this point
Copy the full SHA 38bfbb9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8d07dee - Browse repository at this point
Copy the full SHA 8d07deeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 008818d - Browse repository at this point
Copy the full SHA 008818dView commit details -
* add comma * remove unused parameter
Configuration menu - View commit details
-
Copy full SHA for 4adb05a - Browse repository at this point
Copy the full SHA 4adb05aView commit details -
remove ResolveFIeldGenerator (#4)
* streamline stream execution Currently, these spec changes introduce a new internal function named `ResolveFieldGenerator` that is suggested parallels `ResolveFieldValue`. This function is used during field execution such that if the stream directive is specified, it is called instead of `ResolveFieldValue`. The reference implementation, however, does not require any such function, simply utilizing the result of `ResolveFieldValue`. With incremental delivery, collections completed by `CompleteValue` should be explicitly iterated using a well-defined iterator, such that the iterator can be passed to `ExecuteStreamField`. But this does not require a new internal function to be specified/exposed. Moreover, introducing this function causes a mixing of concerns between the `ExecuteField` and `CompleteValue` algorithms; Currently, if stream is specified for a field, `ExecuteField` extracts the iterator and passes it to `CompleteValue`, while if stream is not specified, the `ExecuteField` passes the collection, i.e. the iterable, not the iterator. In the stream case, this shunts some of the logic checking the validity of resolution results into field execution. In fact, it exposes a specification "bug" => in the stream case, no checking is actually done that `ResolveFieldGenerator` returns an iterator! This change removes `ResolveFieldGenerator` and with it some complexity, and brings it in line with the reference implementation. The reference implementation contains some simplification of the algorithm for the synchronous iterator case (we don't have to preserve the iterator on the StreamRecord, because there will be no early close required and we don't have to set isCompletedIterator, beacuse we don't have to create a dummy payload for termination of the asynchronous stream), We could consider also removing these bits as well, as they are an implementation detail in terms of how our dispatcher is managing its iterators, but that should be left for another change. * run prettier
Configuration menu - View commit details
-
Copy full SHA for ddd0fd7 - Browse repository at this point
Copy the full SHA ddd0fd7View commit details -
* fix whitespace * complete renaming of initialItems
Configuration menu - View commit details
-
Copy full SHA for b54c9fe - Browse repository at this point
Copy the full SHA b54c9feView commit details -
Add error handling for stream iterators (#5)
* Add error handling for stream iterators * also add iterator error handling within CompleteValue * incorporate feedback
Configuration menu - View commit details
-
Copy full SHA for 02d4676 - Browse repository at this point
Copy the full SHA 02d4676View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e74250 - Browse repository at this point
Copy the full SHA 3e74250View commit details -
Configuration menu - View commit details
-
Copy full SHA for cb3ab46 - Browse repository at this point
Copy the full SHA cb3ab46View commit details -
Configuration menu - View commit details
-
Copy full SHA for 24cf072 - Browse repository at this point
Copy the full SHA 24cf072View commit details -
Configuration menu - View commit details
-
Copy full SHA for d74430c - Browse repository at this point
Copy the full SHA d74430cView commit details -
Co-authored-by: Simon Gellis <82392336+simongellis-attentive@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 79da712 - Browse repository at this point
Copy the full SHA 79da712View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8df13da - Browse repository at this point
Copy the full SHA 8df13daView commit details
Commits on Jan 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 94363c9 - Browse repository at this point
Copy the full SHA 94363c9View commit details
Commits on Jul 18, 2023
-
Configuration menu - View commit details
-
Copy full SHA for fe9d871 - Browse repository at this point
Copy the full SHA fe9d871View commit details
Commits on Sep 28, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 831b10c - Browse repository at this point
Copy the full SHA 831b10cView commit details -
use identifiers instead of records when possible
only the Incremental Publisher subroutines need to maintain records
Configuration menu - View commit details
-
Copy full SHA for 813ea2c - Browse repository at this point
Copy the full SHA 813ea2cView commit details