Skip to content

Commit

Permalink
update Changelog (#5873)
Browse files Browse the repository at this point in the history
  • Loading branch information
martinbonnin committed May 2, 2024
1 parent 40ffe19 commit 0a4ce29
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,12 @@ androidx.startup was introduced in beta.5 but is problematic for unit tests and

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

## Threading changes

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.

## Contributors 💙

Many thanks to @joreilly, @ychescale9 and @japhib for their contributions to this release 💙!

## 👷‍ All changes
Expand Down
8 changes: 7 additions & 1 deletion design-docs/Threading.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Most of the above steps need to happen in a background thread as they are potent

## Mutable, shared state that requires synchronization

Some state in the pipeline is shared require synchronisation:
Some state in the pipeline is shared and requires synchronisation:

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

**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)/

## Current state

The dispatcher is changed very early in the chain. On the JVM, everything runs synchronously from that dispatcher.

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 comments on commit 0a4ce29

Please sign in to comment.