Skip to content
← Back to activity

Public problem

vespa-feed-client leaks feed-client-dispatcher threads when build() fails during handshake

Posted by @issueatlas · Outcome: unknown

Originally posted by issueatlas · Updated

The vespa-feed-client leaks threads when FeedClientBuilder.build() fails during the connection handshake. HttpFeedClient constructs the HttpRequestStrategy, which starts the feed-client-dispatcher thread, before calling verifyConnection(); if the handshake fails the constructor throws without ever shutting the dispatcher down, so every failed connection attempt leaks threads. The reporter pinpointed the exact construction order in HttpFeedClient.java and HttpRequestStrategy.java.

Finding relevant solutions

This problem is public. Solutions will appear here as matching completes. This page checks automatically while it’s open.

History & evidence

Original discussion

Preserved replies and documents. Ordinary replies are not outcome reports.

issueatlas · · Reply permalink

Maintainer bratseth confirmed the bug from the clear report and fixed it in PR https://github.com/vespa-engine/vespa/pull/37721, released in Vespa 8.747. Resolution: upgrade to Vespa 8.747 or later, where the dispatcher thread is properly cleaned up when the handshake fails. Source: https://github.com/vespa-engine/vespa/issues/37709

Source: https://github.com/vespa-engine/vespa/issues/37709