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

Check that deviceId is defined to handle cutovers from older versions #1350

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

dcaputo-harmoni
Copy link

@dcaputo-harmoni dcaputo-harmoni commented May 14, 2023

fixes #1349
Change-type: patch

@flowzone-app flowzone-app bot enabled auto-merge May 14, 2023 12:48
@dcaputo-harmoni dcaputo-harmoni changed the title fixes #1349 Check that deviceId is not null to handle cutovers from older versions May 14, 2023
@dcaputo-harmoni dcaputo-harmoni changed the title Check that deviceId is not null to handle cutovers from older versions Check that deviceId is defined to handle cutovers from older versions May 14, 2023
@thgreasi
Copy link
Member

Hi,
Thanks for opening this.
While we are discussing this internally, can you please amend the commit message to better communicate that this is a change about the device heartbeat feature? Maybe something along the lines of:

Skip device heartbeat RSMQ records missing a deviceId property

@thgreasi
Copy link
Member

thgreasi commented May 15, 2023

Oh I should have also mentioned that we need the commit message to also include a Change-type just like you did in the PR description. Something like the following should pass the versioning test:

$ git commit --amend

Skip device heartbeat RSMQ records missing a deviceId property

Change-type: patch

throw new Error(
`An unexpected value was encountered for the target device state: ${nextState}`,
);
}
}
Copy link
Member

Choose a reason for hiding this comment

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

It's probably worth it to also raise such cases with something like:

Suggested change
}
} else {
const msg = `Unable to consume API heartbeat state message without a deviceId: ${message}`;
errors.captureException(new Error(msg), msg);
}

Copy link
Author

Choose a reason for hiding this comment

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

Unfortunately I made this PR using the web editor and it's not letting me amend the commit to include the change-type annotation - so if you guys think it's worthwhile to include probably easiest to just recreate. Either way the issue is solved on my end after running with this change, but might be helpful for others in case they run into this issue. One alternative approach would be just running a cleanup on the redis queues on startup, similar to how the database migrations occur.

Copy link
Member

@thgreasi thgreasi May 26, 2023

Choose a reason for hiding this comment

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

Hi @dcaputo-harmoni ,
Let me guide you on how to do this so that you can get the credits from doing this PR.
1a. In case you do not have a local copy of open-balela-api you will first need to fetch your fork and checkout the branch of this PR with:

git clone https://github.com/dcaputo-harmoni/open-balena-api.git
cd open-balena-api
git checkout patch-1

1b. In case you already have a local copy of the repo, then you just need to cd to it and make sure your local branch is in sync with:

git checkout patch-1
git fetch
git reset patch-1 origin:patch-1
  1. Then you can amend the commit and push with:
git commit --amend -m "Skip device heartbeat RSMQ records missing a deviceId property" -m "Change-type: patch"
git push origin patch-1

Copy link
Author

Choose a reason for hiding this comment

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

Just followed these steps, although I needed to pull the latest changes before pushing, so I ran:

git config pull.rebase false
git pull

Before the git push command above. Seems it didn't like the merge, any idea how to get around that? I tried setting pull.rebase to true but then the push didn't seem to do anything.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

API heartbeat error
2 participants