Error after upgrade: column device_profile.class_b_timeout does not exist

Viewed 20

I upgrade my test environment from a pretty old ChirpStack version 4.7 to 4.15.0. Everthing looks okay, but I have this error message is the log:

ERROR chirpstack::downlink::scheduler: Schedule next queue-item for device failed error=column device_profile.class_b_timeout does not exist

Should I have upgraded in multiple steps?

1 Answers

It shouldn't matter if you do the upgrade in steps or in one go. ChirpStack keeps a history of the migrations that have been applied and on upgrade will apply the missing ones.

The class_b_timeout field has been removed from the device_profile table here:

https://github.com/chirpstack/chirpstack/blob/master/chirpstack/migrations_postgres/2025-01-13-152218_refactor_device_profile_fields/up.sql#L69

However, it looks like ChirpStack is still trying to use it in one of the queries. Are you sure the ChirpStack instance printing the error message was restarted?