aws / aws/aws-lambda-rust-runtime

Remove tokio `rt-multi-thread` feature from `lambda_runtime` and `lambda_extension`, and possibly `rt` as well

オープン
#984 コメント 6 件 リアクション 1 件 担当者 0 名 GitHub で見る
主要言語
Rust
スター
3.6k
フォーク
396
PR マージ指標
30日以内にマージされた PR はありません

説明

Currently the `lambda_runtime` crate has an unconditional dependency on tokio withe `rt-multi-thread` feature enabled:
- https://github.com/awslabs/aws-lambda-rust-runtime/blob/main/lambda-runtime/Cargo.toml#L53
- https://github.com/awslabs/aws-lambda-rust-runtime/blob/main/lambda-extension/Cargo.toml#L35

I'm struggling to see anywhere this dependency is actually used. Meanwhile, given that lambdas only receive one request at a time, it will frequently make sense for callers to only want to use the current thread runtime anyway (ref: #985 ).

I don't think we even need the `rt` (not multithreaded) feature for `lambda-runtime`, not seeing anywhere we are spawning or interacting with feature gated APIs. Though, for #983 we would need it, so probably ok to leave in?

Anyway, is there a reason we need to depend on the multithreaded runtime feature? Am I missing something?

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

lambda-runtime/Cargo.toml と lambda-extension/Cargo.toml の tokio 依存関係の宣言を確認し、続いてこれらの crate で rt および rt-multi-thread features によって有効になる API を検索します。いずれかの feature が必要かどうかを確認し、サポートされている runtime のユースケースに対して依存関係の設定が引き続きビルドできることを検証します。不要な features が削除されるか、その必要性が文書化されれば issue は解決です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
rust
領域
backend
issue の種類
リファクタリング
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。