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

fix: Redis cache not properly updated because of IoT Hub query results delay #1776

Merged
merged 23 commits into from Jul 7, 2022

Conversation

danigian
Copy link
Collaborator

@danigian danigian commented Jul 5, 2022

PR for issue #1770

What is being addressed

More insights on reasoning of this PR are in #1770

How is this addressed

  • The SyncDevAddrCache queries IoT Hub for updates since the most recent "LastUpdated" value of the previous iteration (i.e.: Iteration 1 running at time t+0 is reporting the most recent update for all devices being at t-3, Iteration 2 running at time t+15 should get all updates starting from t-3). Tests have been adjusted to reflect this reality.
  • As soon as a join request is processed, the JoinRequestMessageHandler proactively sends (fire and forget) the DevAddrCacheInfo to the Azure Function for persisting it in Redis.
  • Not strictly related to the original issue, but related to slow query timings, a62006d is directly querying the device twin instead of relying on IoT Hub queries. During testing the pipeline was also impacted by slowness of iot hub query results propagation.

Validation

  • E2E run with OTAA only here
  • FullCI here

@danigian danigian requested review from p-schuler and Mandur July 5, 2022 17:20
@danigian danigian linked an issue Jul 5, 2022 that may be closed by this pull request
2 tasks
@danigian danigian added the fullci Run full continuous integration label Jul 5, 2022
@danigian danigian temporarily deployed to CI_AZURE_ENVIRONMENT July 5, 2022 17:21 Inactive
@danigian danigian temporarily deployed to CI_AZURE_ENVIRONMENT July 5, 2022 17:21 Inactive
@danigian danigian temporarily deployed to CI_ALL_IN_ONE_ARM_GATEWAY July 5, 2022 17:22 Inactive
@danigian danigian temporarily deployed to CI_EFLOW_AZURE_VM July 5, 2022 17:22 Inactive
@danigian danigian temporarily deployed to CI_CONCENTRATOR_EFLOW_ARM32 July 5, 2022 17:22 Inactive
@danigian danigian temporarily deployed to CI_AZURE_ENVIRONMENT July 5, 2022 17:24 Inactive
@danigian danigian temporarily deployed to CI_AZURE_ENVIRONMENT July 5, 2022 17:33 Inactive
@github-actions github-actions bot added SensorDecodingTest Indicate SensorDecodingTest passed OTAAJoinTest Indicate OTAAJoinTest passed ABPTest Indicate ABPTest passed OTAATest Indicate OTAATest passed MacTest Indicate MacTest passed ClassCTest Indicate ClassCTest passed C2DMessageTest Indicate C2DMessageTest passed MultiGatewayTest Indicate MultiGatewayTest passed labels Jul 5, 2022
@danigian danigian temporarily deployed to CI_AZURE_ENVIRONMENT July 6, 2022 07:55 Inactive
@danigian danigian added the 2️⃣ Priority 2 (Two) label Jul 7, 2022
@danigian danigian temporarily deployed to CI_AZURE_ENVIRONMENT July 7, 2022 08:16 Inactive
@danigian danigian temporarily deployed to CI_AZURE_ENVIRONMENT July 7, 2022 08:16 Inactive
@danigian danigian temporarily deployed to CI_ALL_IN_ONE_ARM_GATEWAY July 7, 2022 08:17 Inactive
@danigian danigian temporarily deployed to CI_CONCENTRATOR_EFLOW_ARM32 July 7, 2022 08:17 Inactive
@danigian danigian temporarily deployed to CI_EFLOW_AZURE_VM July 7, 2022 08:17 Inactive
@danigian danigian temporarily deployed to CI_AZURE_ENVIRONMENT July 7, 2022 08:20 Inactive
@danigian danigian temporarily deployed to CI_AZURE_ENVIRONMENT July 7, 2022 08:26 Inactive
@github-actions github-actions bot added SensorDecodingTest Indicate SensorDecodingTest passed OTAAJoinTest Indicate OTAAJoinTest passed OTAATest Indicate OTAATest passed MacTest Indicate MacTest passed ClassCTest Indicate ClassCTest passed C2DMessageTest Indicate C2DMessageTest passed MultiGatewayTest Indicate MultiGatewayTest passed labels Jul 7, 2022
@danigian danigian added the 3️⃣ three label Jul 7, 2022
@danigian danigian temporarily deployed to CI_AZURE_ENVIRONMENT July 7, 2022 10:39 Inactive
@danigian danigian temporarily deployed to CI_AZURE_ENVIRONMENT July 7, 2022 10:39 Inactive
@danigian danigian temporarily deployed to CI_ALL_IN_ONE_ARM_GATEWAY July 7, 2022 10:41 Inactive
@danigian danigian temporarily deployed to CI_EFLOW_AZURE_VM July 7, 2022 10:41 Inactive
@danigian danigian temporarily deployed to CI_CONCENTRATOR_EFLOW_ARM32 July 7, 2022 10:41 Inactive
@danigian danigian temporarily deployed to CI_AZURE_ENVIRONMENT July 7, 2022 10:45 Inactive
@github-actions github-actions bot added the ABPTest Indicate ABPTest passed label Jul 7, 2022
Copy link
Collaborator

@p-schuler p-schuler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@danigian danigian merged commit 8884a32 into dev Jul 7, 2022
@danigian danigian deleted the bugfix/1770-delay branch July 7, 2022 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1️⃣ Priority 1 (One) 2️⃣ Priority 2 (Two) 3️⃣ three ABPTest Indicate ABPTest passed C2DMessageTest Indicate C2DMessageTest passed ClassCTest Indicate ClassCTest passed CloudDeploymentTest CupsTest fullci Run full continuous integration LnsDiscoveryTest MacTest Indicate MacTest passed MultiConcentratorTest MultiGatewayTest Indicate MultiGatewayTest passed OTAAJoinTest Indicate OTAAJoinTest passed OTAATest Indicate OTAATest passed SensorDecodingTest Indicate SensorDecodingTest passed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Redis cache not properly updated because of IoT Hub query results delay
3 participants