Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

allow quarkus dev to pick random debug port #33363

Closed
maxandersen opened this issue May 15, 2023 · 4 comments · Fixed by #33548
Closed

allow quarkus dev to pick random debug port #33363

maxandersen opened this issue May 15, 2023 · 4 comments · Fixed by #33548
Labels
area/devmode kind/enhancement New feature or request
Milestone

Comments

@maxandersen
Copy link
Member

Description

I tend to run a lot of quarkus dev instances on my machine and its a bit tedious having to manually find a free debug port.

We already check debug port and print "Port 5005 in use, not starting in debug mode" (in core/deployment/src/main/java/io/quarkus/deployment/dev/QuarkusDevModeLauncher.java) - couldn't we have a magic value like -1 or 0 to indicate "pick one" or a explicit flag to let quarkus dev try first on the configured port but if not free pick a random port and print it out.

Then user can either manually or using IDE's attach features figure connect to the process without having to stop, adjust flag, start again.

Implementation ideas

No response

@maxandersen maxandersen added the kind/enhancement New feature or request label May 15, 2023
@geoand
Copy link
Contributor

geoand commented May 15, 2023

Do we know if this would work with IDE launch modes? My guess is that it won't...

@maxandersen
Copy link
Member Author

What do you mean?

As in quarkus dev invoked by an IDE tool?

Yes and no. As in they probably won't work today but an IDE that launches quarkus dev can look for what port gets listened to and take a guess or offer choice to user what process/port to attach to.

@geoand
Copy link
Contributor

geoand commented May 16, 2023

As in quarkus dev invoked by an IDE tool?

Yeah, that's what I meant.

geoand added a commit to geoand/quarkus that referenced this issue May 22, 2023
By passing a zero or negative value, Quarkus
will launch the dev-mode JVM process
using a random debugging port

Fixes: quarkusio#33363
@geoand
Copy link
Contributor

geoand commented May 22, 2023

I just tried the built-in Quarkus Launcher that IntelliJ Ultimate has and it essentially ignored debug port setting and does what you describe.

So we if we do use a random port, the IntelliJ launcher should just ignore and life will be good for everyone.

So consider this my +1 and #33521 takes care of choosing a random port when the debug port is set to 0 or a negative value.

@geoand geoand closed this as completed in 70e8b6a May 23, 2023
geoand added a commit that referenced this issue May 23, 2023
Allow Quarkus to pick a random debug port
geoand added a commit to geoand/quarkus that referenced this issue May 23, 2023
geoand added a commit to geoand/quarkus that referenced this issue May 24, 2023
geoand added a commit to geoand/quarkus that referenced this issue May 26, 2023
geoand added a commit to geoand/quarkus that referenced this issue May 26, 2023
geoand added a commit to geoand/quarkus that referenced this issue Jun 13, 2023
geoand added a commit to geoand/quarkus that referenced this issue Oct 3, 2023
geoand added a commit that referenced this issue Oct 16, 2023
Pick random debug port when the configured one is taken
@quarkus-bot quarkus-bot bot added this to the 3.6 - main milestone Oct 16, 2023
@gsmet gsmet modified the milestones: 3.6 - main, 3.5.0 Oct 17, 2023
gsmet pushed a commit to gsmet/quarkus that referenced this issue Oct 17, 2023
benkard pushed a commit to benkard/mulkcms2 that referenced this issue Nov 12, 2023
This MR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [flow-bin](https://github.com/flowtype/flow-bin) ([changelog](https://github.com/facebook/flow/blob/master/Changelog.md)) | devDependencies | minor | [`^0.219.0` -> `^0.220.0`](https://renovatebot.com/diffs/npm/flow-bin/0.219.0/0.220.0) |
| [org.jsoup:jsoup](https://jsoup.org/) ([source](https://github.com/jhy/jsoup)) | compile | patch | `1.16.1` -> `1.16.2` |
| [io.quarkus:quarkus-maven-plugin](https://github.com/quarkusio/quarkus) | build | minor | `3.4.3` -> `3.5.0` |
| [io.quarkus:quarkus-universe-bom](https://github.com/quarkusio/quarkus-platform) | import | minor | `3.4.3` -> `3.5.0` |

---

### Release Notes

<details>
<summary>flowtype/flow-bin</summary>

### [`v0.220.0`](flow/flow-bin@f7f3f3f...030bfc6)

[Compare Source](flow/flow-bin@f7f3f3f...030bfc6)

### [`v0.219.5`](flow/flow-bin@f16a6c7...f7f3f3f)

[Compare Source](flow/flow-bin@f16a6c7...f7f3f3f)

### [`v0.219.4`](flow/flow-bin@9f67075...f16a6c7)

[Compare Source](flow/flow-bin@9f67075...f16a6c7)

### [`v0.219.3`](flow/flow-bin@80dcea5...9f67075)

[Compare Source](flow/flow-bin@80dcea5...9f67075)

### [`v0.219.2`](flow/flow-bin@c184c5d...80dcea5)

[Compare Source](flow/flow-bin@c184c5d...80dcea5)

</details>

<details>
<summary>quarkusio/quarkus</summary>

### [`v3.5.0`](https://github.com/quarkusio/quarkus/releases/tag/3.5.0)

[Compare Source](quarkusio/quarkus@3.4.3...3.5.0)

##### Complete changelog

-   [#&#8203;36527](quarkusio/quarkus#36527) - Start MongoDB 4.4 instead of 4.0
-   [#&#8203;36523](quarkusio/quarkus#36523) - Minor OIDC Auth0 updates
-   [#&#8203;36518](quarkusio/quarkus#36518) - Allow for setting logging scope programmatically
-   [#&#8203;36517](quarkusio/quarkus#36517) - Use Mandrel 23.1 in windows CI
-   [#&#8203;36501](quarkusio/quarkus#36501) - Let custom OIDC token propagation filters customize the exchange status
-   [#&#8203;36495](quarkusio/quarkus#36495) - Support external OTel exporters in CDI
-   [#&#8203;36490](quarkusio/quarkus#36490) - Take ReaderInterceptor into account when reading SSE events
-   [#&#8203;36487](quarkusio/quarkus#36487) - Upgrade to Liquibase 4.24.0
-   [#&#8203;36485](quarkusio/quarkus#36485) - Fix typo in gradle-tooling.adoc
-   [#&#8203;36474](quarkusio/quarkus#36474) - Fix some issues in getting-started-dev-services
-   [#&#8203;36465](quarkusio/quarkus#36465) - Be more consistent in guides when creating projects/adding extensions
-   [#&#8203;36464](quarkusio/quarkus#36464) - HTTP reference guide - HTTP/2 section update, drop JDK 8 note
-   [#&#8203;36459](quarkusio/quarkus#36459) - Let custom OIDC token propagation filters provide client name
-   [#&#8203;36457](quarkusio/quarkus#36457) - Update builder images to jdk-21
-   [#&#8203;36453](quarkusio/quarkus#36453) - Upgrade Oracle JDBC driver to 23.3.0.23.09
-   [#&#8203;36452](quarkusio/quarkus#36452) - Fix doc extension-add.adoc
-   [#&#8203;36451](quarkusio/quarkus#36451) - Adjust extension name for consistency with rest of Quarkus
-   [#&#8203;36446](quarkusio/quarkus#36446) - Regression: Liquibase fails to migrate on Quarkus start, crashing the application
-   [#&#8203;36445](quarkusio/quarkus#36445) - Updates to Infinispan 14.0.19.Final
-   [#&#8203;36442](quarkusio/quarkus#36442) - Use default content type when X-SSE header not set
-   [#&#8203;36436](quarkusio/quarkus#36436) - Upgrade to Hibernate ORM 6.2.13.Final
-   [#&#8203;36432](quarkusio/quarkus#36432) - Hibernate Reactive Panache: improve error message
-   [#&#8203;36420](quarkusio/quarkus#36420) - Allow parallel execution of blocking health checks
-   [#&#8203;36419](quarkusio/quarkus#36419) - Blocking Health Checks should be executed in parallel, not sequentially/ordered
-   [#&#8203;36417](quarkusio/quarkus#36417) - Reduce timeout of the doc build to 60 minutes
-   [#&#8203;36413](quarkusio/quarkus#36413) - Simplify virtual threads guide by pushing users to 21
-   [#&#8203;36412](quarkusio/quarkus#36412) - Drop Optaplanner from the documentation
-   [#&#8203;36411](quarkusio/quarkus#36411) - Drop panache topic from Hibernate Reactive guide
-   [#&#8203;36410](quarkusio/quarkus#36410) - Add compatibility topic to Spring guides
-   [#&#8203;36407](quarkusio/quarkus#36407) - Register RuntimeOverrideConfigSource in STATIC_INIT
-   [#&#8203;36406](quarkusio/quarkus#36406) - AssembleDownstreamDocumentation - print guide name
-   [#&#8203;36400](quarkusio/quarkus#36400) - Add topics and extensions metadata to guides
-   [#&#8203;36367](quarkusio/quarkus#36367) - Bump org.wiremock:wiremock-standalone from 3.1.0 to 3.2.0
-   [#&#8203;36365](quarkusio/quarkus#36365) - Bump de.flapdoodle.embed:de.flapdoodle.embed.mongo from 4.7.0 to 4.9.2
-   [#&#8203;36360](quarkusio/quarkus#36360) - Drop the old Dev UI guide
-   [#&#8203;36337](quarkusio/quarkus#36337) - Upgrade maven to version 3.9.5
-   [#&#8203;36236](quarkusio/quarkus#36236) - No Panache session in REST endpoints defined by an interface
-   [#&#8203;35931](quarkusio/quarkus#35931) - Add OIDC Auth0 extended tutorial
-   [#&#8203;33548](quarkusio/quarkus#33548) - Pick random debug port when the configured one is taken
-   [#&#8203;33363](quarkusio/quarkus#33363) - allow quarkus dev to pick random debug port

</details>

<details>
<summary>quarkusio/quarkus-platform</summary>

### [`v3.5.0`](quarkusio/quarkus-platform@3.4.3...3.5.0)

[Compare Source](quarkusio/quarkus-platform@3.4.3...3.5.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This MR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNC4wIiwidXBkYXRlZEluVmVyIjoiMzQuMjQuMCJ9-->
holly-cummins pushed a commit to holly-cummins/quarkus that referenced this issue Feb 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/devmode kind/enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants