Skip to content

Conversation

shubham19may
Copy link
Contributor

@shubham19may shubham19may commented Oct 9, 2025

Description

One java process was finishing with grpc port and other was quickly trying to pick that. But OS takes couple of mins in worst case to release it fully. Also Alpine lsof doesn't work (Need to use ss to find pid which was using that port)

Fixes # (issue)

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

  • Alpine
  • Ubuntu

Screenshots or Recordings

Documentation

  • Documentation Link: [link to README, olake.io/docs, or olake-docs]
  • N/A (bug fix, refactor, or test changes only)
Screenshot 2025-10-10 at 12 31 36 AM Screenshot 2025-10-09 at 11 44 15 PM

Related PR's (If Any):


Note

Overhauls Iceberg writer port management with cooldown and ss-based PID detection; adds iproute2 to the image; updates Postgres CDC note.

  • Backend (Iceberg writer):
    • Port management overhaul:
      • Introduces portStatus with cooldown to avoid reusing recently released ports; marks ports on close.
      • Replaces backoff retry loop with bounded attempts and advancing start port on bind failures.
      • Changes FindAvailablePort to FindAvailablePort(startPort); adds findProcessUsingPort preferring ss (fallback to lsof).
      • Uses ss/lsof to find/kill conflicting PIDs; improved error handling and logging.
      • Removes utils/backoff usage and deletes utils/backoff/backoff.go.
  • Dockerfile:
    • Installs iproute2 for ss alongside Java 17.
  • Docs:
    • Updates PostgreSQL CDC note to pgoutput (marks wal2json deprecated).

Written by Cursor Bugbot for commit da412d5. This will update automatically on new commits. Configure here.

@CLAassistant
Copy link

CLAassistant commented Oct 9, 2025

CLA assistant check
All committers have signed the CLA.

@shubham19may shubham19may changed the title fix: grpc port binding 3 fix: grpc port binding Oct 9, 2025
cursor[bot]

This comment was marked as outdated.

…state\n\n- Replace retry/backoff with cooldown logic in FindAvailablePort using portStatus map\n- Kill any process on selected port via lsof/kill without dial checks\n- Mark ports for cooldown on shutdown and on startup/connect failures\n- Keep logger readiness/timeout changes intact\n- Set default cooldown to 300s

fix(iceberg): reduce port cooldown to 180 seconds

fix: fixed alpine port finding logic and lsof for other linux

chore: fixed Postgres readme

fix: system imphemeral port conflict retry added
@shubham19may shubham19may force-pushed the fix/grpc-port-binding-3 branch from d38385a to da412d5 Compare October 10, 2025 09:47
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