You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Apr 12, 2023. It is now read-only.
不具合の内容 / Describe the bug
サーバー側のクラス
CosmosTemporaryExposureKeyRepository
のメソッドにGetNextAsync
とGetOutOfTimeKeysAsync
がある。GetNextAsync
は、診断キーの生成対象となるTEKだけを取得する役割を担い、GetOutOfTimeKeysAsync
は期限切れのTEKを取得する役割がある。cocoa/src/Covid19Radar.Api.Common/DataAccess/CosmosTemporaryExposureKeyRepository.cs
Lines 37 to 70 in d4b1067
どちらの処理も大きな違いはなく、Cosmos DBからTemporaryExposureKeyを取得後、基準日(
oldest
)より新しいか、過去のものかでフィルタリングする点に違いがある(他にも条件に若干差があるが、ここでは割愛する)。問題となるのは、フィルタリングの条件式(42行目, 58行目)。
どちらも
>
<
となっていて等号を含まないため、基準日と完全に一致するRollingStartIntervalNumber
があれば、どちらのケースにも該当しないとして取り扱われると考える。期待される挙動 / Expected behavior
GetNextAsync
の方の条件式は>=
とする。その他 / Additional context
履歴を見る限り、COVID19Radar時代からこうなっていた様子。
配信している診断キーを外部から観察しているが、14日前の診断キーも変換されているのがわかる。100%発生するというものではなさそう。
(COCOAが送信するTEKは診断日または症状が現れた日より2日(時差を考慮して3日)前からなので、14日前の診断キーが送られるケースの全体に占める割合は小さい。
keiji/cocoa-statistics@22d6cdf
確認および修正のために
CosmosTemporaryExposureKeyRepository
のユニットテストを書こうと試みたが、CosmosDBやLINQに阻まれてうまくテストが書けていない。Internal IDs:
-Bug 6797
The text was updated successfully, but these errors were encountered: