Skip to content

chore: port-wf improvements - #32

Draft
Moran-k wants to merge 1 commit into
mainfrom
chore/do-not-wait-for-data-ack
Draft

Moran-k wants to merge 1 commit into
mainfrom
chore/do-not-wait-for-data-ack

Conversation

@Moran-k

@Moran-k Moran-k commented Apr 19, 2026

Copy link
Copy Markdown
Contributor
  • Do not wait for data ack messages (we are covered by tcp)
  • increase buffer size

do not wait for data ack messages
@undera

undera commented Apr 19, 2026

Copy link
Copy Markdown
Collaborator

You say "we are covered by TCP", but the ack protection was introduced because of ws-hub and its queues, which could lose the message because of internal issues. TCP won't guarantee against it, it woul only guarantee delivery to ws-hub

@Moran-k

Moran-k commented Apr 19, 2026 •

Copy link
Copy Markdown
Contributor Author

You say "we are covered by TCP", but the ack protection was introduced because of ws-hub and its queues, which could lose the message because of internal issues. TCP won't guarantee against it, it woul only guarantee delivery to ws-hub

I agree, but the Init and termination messages still require ack, only the data messages are without ack now.
In case the client sends something, and it gets lost, it will either be resent or fail.
In addition, we have the keepalive loop, which validates that the connection is still open, and if not, it exits.

Those ack messages on every data message are loading the channel, increasing memory and CPU usage, as we create a goroutine for each message to check if it goes ack. When sending large files over the wire, this causes massive memory usage and errors when the ack is delayed.

I know this isn't ideal, and we're discussing how to improve the flow.

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.

2 participants