Skip to content

[SDK-396] SDK Setup fails on Linux due to Docker/IPv6 parsing error#357

Open
MonotonousHarsh wants to merge 2 commits intoopenmrs:masterfrom
MonotonousHarsh:fix-linux-docker-connection
Open

[SDK-396] SDK Setup fails on Linux due to Docker/IPv6 parsing error#357
MonotonousHarsh wants to merge 2 commits intoopenmrs:masterfrom
MonotonousHarsh:fix-linux-docker-connection

Conversation

@MonotonousHarsh
Copy link

@MonotonousHarsh MonotonousHarsh commented Jan 6, 2026

Description of what I changed

Fixed the SDK setup process crashing on Linux environments.
This PR addresses two setup blockers I encountered sequentially on Linux:

  1. Changed Docker bindings from localhost to 127.0.0.1 to prevent IPv6 ParseAddr errors.
  2. Added a connection retry mechanism because the MySQL container initialization caused a Socket.connect timeout before the DB was fully ready.

Issue I worked on

see https://issues.openmrs.org/browse/SDK-396

Checklist: I completed these to help reviewers :)

  • My code follows the code style of this project.
  • I have read the contributing guidelines.
  • I have added/updated necessary tests.
  • All new and existing tests passed.

@jwnasambu
Copy link
Contributor

jwnasambu commented Jan 19, 2026

@MonotonousHarsh Kindly do you have a Jira issue for this PR? If yes ensure its attached on this PR please.https://openmrs.atlassian.net/wiki/spaces/docs/pages/25477199/Pull+Request+Tips

@MonotonousHarsh MonotonousHarsh changed the title Fix Linux Docker connection issues: Add Retry Logic & IPv4 Binding [SDK-396] SDK Setup fails on Linux due to Docker/IPv6 parsing error Jan 23, 2026
@MonotonousHarsh
Copy link
Author

@jwnasambu Yes, I have updated the PR title to include the Jira Ticket ID (SDK-396). The CI checks are passing. Is there anything else needed before this can be reviewed?

@ibacher
Copy link
Member

ibacher commented Feb 23, 2026

Please do not delete the PR template. It's there to make reviewer's lives easier. Without it, it's harder to understand the proposed changes. Similarly, this PR batches a number of changes for various things together into one go, which is discouraged.

@MonotonousHarsh
Copy link
Author

MonotonousHarsh commented Feb 27, 2026

@ibacher Thank you for the review! I apologize for removing the PR template I am still learning the standard workflow here. I have edited the main description to restore the template format.

Regarding the batched changes: I grouped them because I encountered both crashes sequentially while trying to get the SDK to run on my local Linux environment (first the IPv6 binding failure, and then the DB timeout).

Would you like me to close this PR and separate these into two distinct Jira tickets and two separate PRs (one for the 127.0.0.1 binding, and one for the DB retry logic)? I am happy to do whatever makes the review process cleanest for you.

@ibacher
Copy link
Member

ibacher commented Mar 4, 2026

I grouped them because I encountered both crashes sequentially while trying to get the SDK to run on my local Linux environment

Even so, it's easier to evaluate them if they're separated out. For example 15 retries with a 1 second pause between them feels like a seriously degrading user experience and needs a better approach, but I can't merge in the 127.0.0.1 thing because it's tied to that. But more than that, even if they happen in the same flow, they are two issues with two different root causes and, most likely two different fixes.

@MonotonousHarsh
Copy link
Author

@ibacher That makes complete sense, thank you for the explanation. You are right that they are distinct issues. Since this branch also has merge conflicts now, I am going to close this PR. I will open a fresh, clean PR containing only the 127.0.0.1 binding fix so we can get that resolved first. I will rethink the DB timeout issue and create a separate ticket for it later.

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.

3 participants