Skip to content

Improving logging around receiving data streams.#1202

Merged
LukeButters merged 3 commits intomainfrom
luke/better-halibut-logging
Mar 30, 2026
Merged

Improving logging around receiving data streams.#1202
LukeButters merged 3 commits intomainfrom
luke/better-halibut-logging

Conversation

@LukeButters
Copy link
Copy Markdown
Contributor

@LukeButters LukeButters commented Mar 29, 2026

Background

Fixes: #1203
ref CLOUDPT-11160
ref EFT-3141

Improves the logging around errors when receiving data streams. We will now get errors like:

https://localhost:10943/         30  Data stream reading failed, we read zero bytes from the stream which implies EOF.Message ID: IScriptServiceV2::StartScriptAsync[19] / 50341c7e-5c42-4d29-a2f3-4686c137931e, Stream ID: 157e3c22-2b26-4daf-ae9f-172003bbf6a1, Expected length: 3156, Actual bytes read: 5. Total length of all DataStreams to be sent is 3192.

When not enough data has been sent. The change is from Halibut, simply updating the version improves the logging.

Note that we do not throw on data stream length miss-match, since we want to try this out in Octopus before enabling on Tentacle. It is configurable by an environment variable.

This updates the version of Halibut to include:

Additionally this PR updates the nuget config to allow fetching Halibut from feedz, which is where the pre-release versions are stored.

We also removed the ability to disable recommended TCP settings, since that has been enabled for sometime now.

Results

How to review this PR

Quality ✔️

Pre-requisites

  • I have read How we use GitHub Issues for help deciding when and where it's appropriate to make an issue.
  • I have considered informing or consulting the right people, according to the ownership map.
  • I have considered appropriate testing for my change.


namespace Octopus.Tentacle.Core.Configuration
{
public static class TentacleHalibutTimeoutAndLimitsFactory
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has been refactored to the tentacle core, so that we can use in process tentacles that use the same HalibutTimeoutAndLimits.


if (!bool.TryParse(Environment.GetEnvironmentVariable(EnvironmentVariables.TentacleUseRecommendedTimeoutsAndLimits), out var useRecommendedTimeoutsAndLimits))
{
useRecommendedTimeoutsAndLimits = true;
Copy link
Copy Markdown
Contributor Author

@LukeButters LukeButters Mar 30, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Default was true, now it is always true. It can no longer be set by the env var. We never needed to set it.

@LukeButters LukeButters marked this pull request as ready for review March 30, 2026 00:15
@LukeButters LukeButters requested a review from a team as a code owner March 30, 2026 00:15
Copy link
Copy Markdown
Contributor

@rhysparry rhysparry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💚 LGTM

@LukeButters LukeButters merged commit 15b1271 into main Mar 30, 2026
51 checks passed
@LukeButters LukeButters deleted the luke/better-halibut-logging branch March 30, 2026 02:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The error message logged when receiving DataStreams, does not include enough information to determine what happened.

2 participants