We are using mender client version 3.5.0 (from mender.io Ubuntu repository) on an ARM64 system and are noticing a change in behaviour compared to version 3.1.0 that we were previously using. We have noticed that with version 3.5.0 the
show-artifact option takes about 5s to respond, where previously the response was immediate. There are 2 quite noticeable pauses when using the
-l info logging level:
# mender -l info show-artifact |& cat - time="2023-05-23T13:38:20Z" level=info msg="Loaded configuration file: /etc/mender/mender.conf" time="2023-05-23T13:38:20Z" level=info msg="'UpdateControlMapExpirationTimeSeconds' is not set in the Mender configuration file. Falling back to the default of 2*UpdatePollIntervalSeconds" time="2023-05-23T13:38:20Z" level=info msg="'UpdateControlMapBootExpirationTimeSeconds' is not set in the Mender configuration file. Falling back to the default of 600 seconds" time="2023-05-23T13:38:22Z" level=info msg="Mender running on partition: /dev/mmcblk0p2" time="2023-05-23T13:38:25Z" level=info msg="Mender running on partition: /dev/mmcblk0p2" build_20230516_502
As you can see there are two 2 second pauses before responding. Running
strace shows at least one of them is caused by a
futex() system call.
It seems that the mender client internal locking is causing these delays. Is this a regression or an intended change ?