Skip to content

Conversation

@Arkatufus
Copy link
Contributor

@Arkatufus Arkatufus commented Sep 18, 2025

The FinalTerminationSignalDeadline property of StreamRefSettings never get initialized from HOCON settings, it is always TimeSpan.Zero.

Changes

  • Make sure FinalTerminationSignalDeadline is initialized.
  • Clean up reference.conf, convert all tabs to spaces

@Aaronontheweb Aaronontheweb added this to the 1.5.50 milestone Sep 18, 2025
@Aaronontheweb Aaronontheweb modified the milestones: 1.5.50, 1.5.51 Sep 22, 2025
@Aaronontheweb Aaronontheweb modified the milestones: 1.5.51, 1.5.52 Oct 2, 2025
@Aaronontheweb
Copy link
Member

@Arkatufus is this setting actually used anywhere currently?

@Arkatufus
Copy link
Contributor Author

Its being used here:

case Terminated terminated:
if (Equals(_partnerRef, terminated.ActorRef))
// we need to start a delayed shutdown in case we were network partitioned and the final signal complete/fail
// will never reach us; so after the given timeout we need to forcefully terminate this side of the stream ref
// the other (sending) side terminates by default once it gets a Terminated signal so no special handling is needed there.
ScheduleOnce(TerminationDeadlineTimerKey, Settings.FinalTerminationSignalDeadline);
else
FailStage(new RemoteStreamRefActorTerminatedException(
$"Received UNEXPECTED Terminated({terminated.ActorRef}) message! This actor was NOT our trusted remote partner, which was: {_partnerRef}. Tearing down."));

Its also used as a stream attribute, though the attribute isn't being used anywhere:

/// <summary>
/// The time between the Terminated signal being received and when the local SourceRef determines to fail itself
/// </summary>
public static Attributes CreateFinalTerminationSignalDeadline(TimeSpan timeout)
=> new(new FinalTerminationSignalDeadline(timeout));

@Aaronontheweb Aaronontheweb modified the milestones: 1.5.52, 1.5.53 Oct 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants