This commit is contained in:
flowzone-app[bot] 2024-08-05 19:17:37 +00:00 committed by GitHub
parent b31cbf0db8
commit 8f5131c680
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 49 additions and 6 deletions

View File

@ -1,3 +1,41 @@
- commits:
- subject: Avoid leaking memory on deep promise recursions
hash: d789e5bb77e0337773c69ed9d4e24696c019c6ac
body: >
The following pattern
```ts
async function longRunning() {
// do something
await setTimeout(delay);
await longRunning();
}
```
Is regularly used for long running operations on the supervisor (e.g.
polling target state). We have
recently discovered that this pattern can slowly leak memory as it
essentially creates an infinite promise chain. Using `void
longRunning()` breaks
the chain and avoids the issue.
This commit fixes all those instances where the pattern was used.
footer:
Change-type: patch
change-type: patch
author: Felipe Lalanne
nested: []
version: 16.5.1
title: ""
date: 2024-08-05T19:17:30.564Z
- commits:
- subject: Use promises for setup/writing for logging backend
hash: 8bc08750e946a3eea5c7eba14182a9506823b559

View File

@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
This project adheres to [Semantic Versioning](http://semver.org/).
# v16.5.1
## (2024-08-05)
* Avoid leaking memory on deep promise recursions [Felipe Lalanne]
# v16.5.0
## (2024-07-30)

View File

@ -1 +1 @@
16.5.0
16.5.1

View File

@ -2,6 +2,6 @@ name: balena-supervisor
description: 'Balena Supervisor: balena''s agent on devices.'
joinable: false
type: sw.application
version: 16.5.0
version: 16.5.1
provides:
- slug: sw.compose.long-volume-syntax

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "balena-supervisor",
"version": "16.5.0",
"version": "16.5.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "balena-supervisor",
"version": "16.5.0",
"version": "16.5.1",
"license": "Apache-2.0",
"dependencies": {
"@balena/systemd": "^0.5.0",

View File

@ -1,7 +1,7 @@
{
"name": "balena-supervisor",
"description": "This is balena's Supervisor, a program that runs on IoT devices and has the task of running user Apps (which are Docker containers), and updating them as the balena API informs it to.",
"version": "16.5.0",
"version": "16.5.1",
"license": "Apache-2.0",
"repository": {
"type": "git",
@ -135,6 +135,6 @@
"yargs": "^17.7.2"
},
"versionist": {
"publishedAt": "2024-07-30T18:48:22.975Z"
"publishedAt": "2024-08-05T19:17:31.068Z"
}
}