Repository navigation
docs: say that 3306 and 4000 are only a hint for MySQL - #941
Merged
Merged
Conversation
The configuration page said Keploy always treats 3306 and 4000 as MySQL and that listing a port in mysqlPorts adds it to that set. Both halves are wrong. A non-empty list replaces the built-in ports, and once keploy/keploy#4928 lands the built-in ports are only a hint: at record, whichever side of the connection speaks first decides, so an HTTP service on 4000 is relayed as HTTP; at replay, the recording decides. A listed port is pinned to MySQL, and so are 3306 and 4000 while detection is off, so an HTTP service there gets no answer. Say so on the configuration page, and add a troubleshooting entry for an HTTP service on 3306 or 4000 that gets no answer while recording. Signed-off-by: slayerjain <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What has changed?
The configuration page (
versioned_docs/version-4.0.0/running-keploy/configuration-file.md) said Keploy always treats3306and4000as MySQL, and that listing a port inmysqlPortsadds it to that set. Both halves are wrong. A non-empty list replaces the built-in ports, and with keploy/keploy#4928 the built-in ports are only a hint.mysqlPorts(field list and "When to set these fields"): a listed port is pinned to MySQL. Keploy waits for a MySQL greeting on every connection to it, so an HTTP service on a listed port gets no answer. A list replaces3306and4000; while detection is on, Keploy still identifies MySQL there as on any other port.3306and4000the recording decides. A port where Keploy recorded an HTTP or gRPC service and no MySQL replays as that protocol.disableMysqlAutoDetect: with detection off andmysqlPortsempty,3306and4000are pinned to MySQL again.keploy-explained/common-errors.md): a new entry, "An HTTP service on port 3306 or 4000 gets no answer while recording", with its three causes (port listed, detection off, an older Keploy version) and their fixes.This describes the behavior of keploy/keploy#4928. Merge it after the Keploy release that carries that PR.
Type of change
How Has This Been Tested?
deploy-previewbuild passes. The one new link uses the same relative path and anchor as the existing MySQL handshake entry on the same page.3306and4000relayed at record and replayed as HTTP, MySQL there still recorded and replayed as MySQL, and a listed port or a default port with detection off staying pinned. The repeated-headers e2e lane records and replays an HTTP dependency on4000, also underKEPLOY_PROVEN=1.Checklist: