<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Title: BuildMaster 26.0.2 (PostgreSQL): Scripts list page leaks a DB connection per visit; Native API calls fail with missing __BuildMaster_GetStoredProcInfo]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">We're running BuildMaster 2026.2 (26.0.2, Build 2) on Windows Server 2025 with the embedded PostgreSQL database (fresh 2026 install, Free license). We've found two issues.</p>
<ol>
<li>Connection leak on the Scripts list page (it caused failed deployments)</li>
</ol>
<p dir="auto">Steps to reproduce:</p>
<p dir="auto">Open Administration &gt; Scripts (/scripts/all), or an application's Scripts page (/applications/&lt;app&gt;/scripts/all).<br />
Run select pid, state, query from pg_stat_activity where state = 'idle in transaction';<br />
Each visit leaves one connection "idle in transaction" whose last query is SELECT * FROM "Rafts_GetRaftItems"($1,$2,$3,$4), and it is never released. Npgsql's pool counters (dotnet-counters, db.client.connection.count, state=used) go up by one per visit and never come back down. Our measurements, one action at a time:</p>
<p dir="auto">Opening the Scripts list: +1 every time.<br />
Opening a single script, version history, pipelines, deploys, executions, health and the REST APIs: +0.<br />
No error is written to the error log.<br />
None of these released the connections: killing the sessions with pg_terminate_backend (the pool's "used" count stayed the same), a forced GC, logging off, or running the Raft Analyzer. A heap snapshot shows one live Npgsql.NpgsqlTransaction per leaked connection, with no TransactionScope involved. Only restarting the service frees them.</p>
<p dir="auto">Impact: after about 6 days the pool was full and deployments failed with:<br />
Npgsql.NpgsqlException: The connection pool has been exhausted, either raise 'Max Pool Size' (currently 100) or 'Timeout' (currently 15 seconds)<br />
At the same time, web requests failed with UserNotFoundException in BuildMasterHttpModule.AuthorizeRequestAsync.</p>
<p dir="auto">Our workaround for now: we avoid the Scripts list, set Maximum Pool Size=90, and run a scheduled task that restarts the service through Prepare for Shutdown before the pool fills up.</p>
<ol start="2">
<li>Native API doesn't work on PostgreSQL</li>
</ol>
<p dir="auto">Every /api/json/* call (for example Applications_GetApplications, Credentials_GetCredentials) returns HTTP 500:<br />
42883: function __BuildMaster_GetStoredProcInfo() does not exist<br />
None of the SQL scripts that ship with 26.0.2 define this function for PostgreSQL. The same calls work on a 26.0.1 instance that runs on SQL Server.</p>
<p dir="auto">Questions:</p>
<p dir="auto">Are fixes for these planned, and roughly when?<br />
In the meantime, is exporting from PostgreSQL and importing into SQL Server (same version) a supported way to get the Native API working?<br />
Thanks!</p>
]]></description><link>https://forums.inedo.com/topic/5864/title-buildmaster-26.0.2-postgresql-scripts-list-page-leaks-a-db-connection-per-visit-native-api-calls-fail-with-missing-__buildmaster_getstoredprocinfo</link><generator>RSS for Node</generator><lastBuildDate>Wed, 28 Oct 2026 23:28:58 GMT</lastBuildDate><atom:link href="https://forums.inedo.com/topic/5864.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Oct 2026 18:37:45 GMT</pubDate><ttl>60</ttl></channel></rss>