Server A → Server B → Server C • Server B に意図的な遅延(Kotlin: delay() / Java: Thread.sleep()) • Client が1秒でタイムアウト → キャンセル発生 • Server C にリクエストが到達するか? 検証:キャンセル伝播
Server A → Server B → Server C • それぞれのgRPCスタブ呼び出しは すべてsuspend fun • キャンセルが効かないのはJDBC等の 末端のDB呼び出し部分 ◦ 呼び出しチェーンが深いほど、キャンセル伝播が効く区間の方が多い → キャンセル周りの挙動はCoroutineが今のところ良さそうな感じ 呼び出しチェーンが深いほど効く