Skip to content

Commit d9e7dad

Browse files
martinbonninBoD
authored andcommitted
update Changelog (apollographql#5873)
1 parent d01f901 commit d9e7dad

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,12 @@ androidx.startup was introduced in beta.5 but is problematic for unit tests and
3939

4040
You can see Wasm in action at https://wasm.confetti-app.dev/
4141

42+
## Threading changes
43+
44+
In a effort to minimize the number of thread switches, the whole request is now run in the same dispatcher. See [Threading.md](https://github.com/apollographql/apollo-kotlin/blob/39d76630277476004bbaed0e3a897feb5a959084/design-docs/Threading.md) for more details.
45+
46+
## Contributors 💙
47+
4248
Many thanks to @joreilly, @ychescale9 and @japhib for their contributions to this release 💙!
4349

4450
## 👷‍ All changes

design-docs/Threading.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Most of the above steps need to happen in a background thread as they are potent
1616

1717
## Mutable, shared state that requires synchronization
1818

19-
Some state in the pipeline is shared require synchronisation:
19+
Some state in the pipeline is shared and requires synchronisation:
2020

2121
* Normalized cache
2222
* Store listeners
@@ -37,3 +37,9 @@ that would mean that we pay the context switching price in all cases and also th
3737
nothing so a coroutine is way more efficient there.
3838

3939
**On the JVM**, there are less restrictions. OkHttp has as synchronous API that [has proven to be quite efficient](https://github.com/grpc/grpc-java/issues/6696)/
40+
41+
## Current state
42+
43+
The dispatcher is changed very early in the chain. On the JVM, everything runs synchronously from that dispatcher.
44+
45+
The only thing happening before the dispatcher change is notification of the ApolloIdlingResources that need to happen from the same call stack. ApolloIdlingResource is deprecated and that should be removed when ApolloIdlingResource goes away.

0 commit comments

Comments
 (0)