Skip to content

fix direct client retry#368

Merged
0pcom merged 4 commits intoskycoin:developfrom
0pcom:feat/next
Apr 4, 2026
Merged

fix direct client retry#368
0pcom merged 4 commits intoskycoin:developfrom
0pcom:feat/next

Conversation

@0pcom
Copy link
Copy Markdown
Collaborator

@0pcom 0pcom commented Apr 4, 2026

No description provided.

0pcom added 4 commits April 3, 2026 19:04
- InitConfig: skip Prod/Test unmarshal when nil (supports single-deployment SKYDEPLOY configs)
- Add DialTimeout (10s) to prevent blocking on unresponsive servers
- Use net.DialTimeout instead of net.Dial in client session establishment
Previously the client backed off after each individual server failure,
causing it to restart the outer loop and potentially re-pick the same
failing server. Now it only backs off after all servers in the shuffled
list have been attempted.
When MinSessions=0 (connect to all servers), a background goroutine
now retries missing server connections every 15 seconds. This ensures
services remain reachable through all dmsg servers even when some
were temporarily unavailable during startup.

Previously, after the initial connection pass, the client only retried
on the 1-minute setupNodeTicker, leaving services unreachable through
servers they failed to connect to initially.
New -S/--srv flag accepts pk@ip:port format to route through a
specific dmsg server. Available in all dmsg client utilities
(curl, web, socks5, etc.) via shared InitFlags.

Usage: dmsg curl -S 'pk@ip:port' dmsg://dest:80/path
@0pcom 0pcom merged commit 63b635c into skycoin:develop Apr 4, 2026
3 checks passed
@0pcom 0pcom deleted the feat/next branch April 4, 2026 01:41
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.

1 participant