Skip to content
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

経過観察の療養者の件数が多い時に全件取得出来ない #161

Open
halsk opened this issue Jan 31, 2022 · 2 comments · Fixed by #162
Open

経過観察の療養者の件数が多い時に全件取得出来ない #161

halsk opened this issue Jan 31, 2022 · 2 comments · Fixed by #162

Comments

@halsk
Copy link
Member

halsk commented Jan 31, 2022

問題のAPI

(指定の保健所に所属する療養者を表示(保健師用))
/api/nurse/centers/{centerId}/patients/

問題の内容

特定保健所に属する患者情報が全件取得出来ない

問題の原因 (現段階での推測)

Scanしたデータのサイズが1MBを超えている
https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Scan.html

対応策 (暫定)

LastEvaluatedKey を使用してページング処理を実装する
https://dev.classmethod.jp/articles/hot-to-get-more-than-1mb-of-data-from-dynamodb-when-using-scan/
恐らくこのあたり
https://github.com/codeforjapan/remote-patient-monitoring-api/blob/develop/src/aws/patientTable.ts#L23

対応策 (恒久)

TableにIndexを追加し、Scan を Query に変更する(諸々最適化が必要なので検討は時間を要する)
Queryでも1MBを超える可能性があるのでいずれにしてもページング処理は必要
倶知安保健所で観察中の患者が表示されない等状況が生じており、急ぎである状況のようです。
僕の方でももう少し見てみますが、まずは第一報ということで。
※ページングが必要なのは最終的にはDynamo DBの全アクセスになると思いますが、暫定として問題が出ているAPIから対応する方向でも良いのかなと思っております。

@MasaGon MasaGon changed the title 経過観察の療養者の件数が多い時にエラーになる 経過観察の療養者の件数が多い時に全件取得出来ない Jan 31, 2022
@MasaGon
Copy link
Collaborator

MasaGon commented Jan 31, 2022

実はエラーは出ないのに(むしろこれが厄介)全件が取得出来ないという動作なので、タイトルを修正しました。

@MasaGon
Copy link
Collaborator

MasaGon commented Jan 31, 2022

自動クローズになりましたが、別途恒久対応は必要ということでリオープン。

@MasaGon MasaGon reopened this Jan 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants