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

Add support for SmallRye Reactive Messaging RabbitMQ Connector #20659

Merged
merged 2 commits into from
Oct 25, 2021

Conversation

kdubb
Copy link
Contributor

@kdubb kdubb commented Oct 11, 2021

No runtime features are added. Just the required dependencies and Dev Services support for RabbitMQ.

RabbitMQ Dev Services supports the same features as the AMQP connector's Dev Services, including sharing, labeling and fixed ports. Notably the RabbitMQ Dev Services also support pre-defining exchanges, queues & bindings for started containers.

@quarkus-bot quarkus-bot bot added area/core area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/documentation area/platform Issues related to definition and interaction with Quarkus Platform area/reactive-messaging area/smallrye labels Oct 11, 2021
kdubb added a commit to kdubb/quarkus-quickstarts that referenced this pull request Oct 11, 2021
kdubb added a commit to kdubb/quarkus-quickstarts that referenced this pull request Oct 11, 2021
kdubb added a commit to kdubb/quarkus-quickstarts that referenced this pull request Oct 11, 2021
Copy link
Member

@cescoffier cescoffier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add some integration tests as a new module in the integration-tests directory (then don't forget to add it to the CI). It would be great to have a few tests (both JVM and native) to verify that everything is working.

@quarkus-bot quarkus-bot bot added the area/infra-automation anything related to CI, bots, etc. that are used to automated our infrastructure label Oct 11, 2021
@quarkus-bot
Copy link

quarkus-bot bot commented Oct 11, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building db7d8c8

Status Name Step Failures Logs Raw logs
Initial JDK 11 Build Build Failures Logs Raw logs

Failures

⚙️ Initial JDK 11 Build #

- Failing: integration-tests/reactive-messaging-rabbitmq 

📦 integration-tests/reactive-messaging-rabbitmq

Failed to execute goal net.revelc.code:impsort-maven-plugin:1.6.2:check (check-imports) on project quarkus-integration-test-reactive-messaging-rabbitmq: Imports are not sorted in /home/runner/work/quarkus/quarkus/integration-tests/reactive-messaging-rabbitmq/src/test/java/io/quarkus/it/rabbitmq/RabbitMQConnectorTest.java

@kdubb kdubb force-pushed the feature/sr_rm_rabbitmq branch from db7d8c8 to 2b37f70 Compare October 11, 2021 14:55
@kdubb
Copy link
Contributor Author

kdubb commented Oct 11, 2021

@cescoffier I've added an integration test based on the test for the Kafka connector

@quarkus-bot
Copy link

quarkus-bot bot commented Oct 11, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building 2b37f70

Status Name Step Failures Logs Raw logs
JVM Tests - JDK 11 Build Failures Logs Raw logs
JVM Tests - JDK 11 Windows Upload gc.log ⚠️ Check → Logs Raw logs
JVM Tests - JDK 17 Build Failures Logs Raw logs

Full information is available in the Build summary check run.

Failures

⚙️ JVM Tests - JDK 11 #

- Failing: integration-tests/reactive-messaging-rabbitmq integration-tests/rest-client 

📦 integration-tests/reactive-messaging-rabbitmq

io.quarkus.it.rabbitmq.RabbitMQConnectorTest.test line 22 - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: Assertion condition defined as a io.quarkus.it.rabbitmq.RabbitMQConnectorTest expected: <6> but was: <4> within 10 seconds.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:166)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)

📦 integration-tests/rest-client

io.quarkus.it.rest.client.selfsigned.ExternalSelfSignedTestCase.should_accept_self_signed_certs line 20 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <404>.

io.quarkus.it.rest.client.trustall.ExternalTlsTrustAllTestCase.restClient line 20 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <404>.

io.quarkus.it.rest.client.wronghost.ExternalWrongHostTestCase.restClient line 22 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <404>.

⚙️ JVM Tests - JDK 17 #

- Failing: integration-tests/reactive-messaging-rabbitmq integration-tests/vault-agroal 

📦 integration-tests/reactive-messaging-rabbitmq

io.quarkus.it.rabbitmq.RabbitMQConnectorTest.test line 22 - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: Assertion condition defined as a io.quarkus.it.rabbitmq.RabbitMQConnectorTest expected: <6> but was: <0> within 10 seconds.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:166)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)

📦 integration-tests/vault-agroal

io.quarkus.vault.AgroalVaultITCase. - More details - Source on GitHub

java.lang.RuntimeException: Error waiting for test resource future to finish.
	at io.quarkus.test.common.TestResourceManager.waitForAllFutures(TestResourceManager.java:151)
	at io.quarkus.test.common.TestResourceManager.start(TestResourceManager.java:136)

io.quarkus.vault.AgroalVaultKv1ITCase. - More details - Source on GitHub

java.lang.RuntimeException: Error waiting for test resource future to finish.
	at io.quarkus.test.common.TestResourceManager.waitForAllFutures(TestResourceManager.java:151)
	at io.quarkus.test.common.TestResourceManager.start(TestResourceManager.java:136)

io.quarkus.vault.VaultKv1ITCase. - More details - Source on GitHub

java.lang.RuntimeException: Error waiting for test resource future to finish.
	at io.quarkus.test.common.TestResourceManager.waitForAllFutures(TestResourceManager.java:151)
	at io.quarkus.test.common.TestResourceManager.start(TestResourceManager.java:136)

@kdubb kdubb force-pushed the feature/sr_rm_rabbitmq branch from 2b37f70 to 80d43fd Compare October 11, 2021 20:07
@quarkus-bot
Copy link

quarkus-bot bot commented Oct 12, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building 80d43fd

Status Name Step Failures Logs Raw logs
✔️ JVM Tests - JDK 11
JVM Tests - JDK 11 Windows Build ⚠️ Check → Logs Raw logs
JVM Tests - JDK 17 Build Failures Logs Raw logs
Native Tests - Messaging2 Build Failures Logs Raw logs

Full information is available in the Build summary check run.

Failures

⚙️ JVM Tests - JDK 17 #

- Failing: integration-tests/reactive-messaging-rabbitmq integration-tests/vault-agroal 

📦 integration-tests/reactive-messaging-rabbitmq

io.quarkus.it.rabbitmq.RabbitMQConnectorTest.test line 24 - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: Assertion condition defined as a io.quarkus.it.rabbitmq.RabbitMQConnectorTest expected: <6> but was: <0> within 20 seconds.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:166)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)

📦 integration-tests/vault-agroal

io.quarkus.vault.AgroalVaultITCase. - More details - Source on GitHub

java.lang.RuntimeException: Error waiting for test resource future to finish.
	at io.quarkus.test.common.TestResourceManager.waitForAllFutures(TestResourceManager.java:151)
	at io.quarkus.test.common.TestResourceManager.start(TestResourceManager.java:136)

io.quarkus.vault.AgroalVaultKv1ITCase. - More details - Source on GitHub

java.lang.RuntimeException: Error waiting for test resource future to finish.
	at io.quarkus.test.common.TestResourceManager.waitForAllFutures(TestResourceManager.java:151)
	at io.quarkus.test.common.TestResourceManager.start(TestResourceManager.java:136)

io.quarkus.vault.VaultKv1ITCase. - More details - Source on GitHub

java.lang.RuntimeException: Error waiting for test resource future to finish.
	at io.quarkus.test.common.TestResourceManager.waitForAllFutures(TestResourceManager.java:151)
	at io.quarkus.test.common.TestResourceManager.start(TestResourceManager.java:136)

⚙️ Native Tests - Messaging2 #

- Failing: integration-tests/reactive-messaging-rabbitmq 

📦 integration-tests/reactive-messaging-rabbitmq

io.quarkus.it.rabbitmq.RabbitMQConnectorIT.test - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: Assertion condition defined as a io.quarkus.it.rabbitmq.RabbitMQConnectorTest expected: <6> but was: <0> within 20 seconds.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:166)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)

@kdubb kdubb force-pushed the feature/sr_rm_rabbitmq branch from 80d43fd to 34b2338 Compare October 12, 2021 01:27
@quarkus-bot
Copy link

quarkus-bot bot commented Oct 12, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building 34b2338

Status Name Step Failures Logs Raw logs
JVM Tests - JDK 11 Build Failures Logs Raw logs
JVM Tests - JDK 11 Windows Build ⚠️ Check → Logs Raw logs
JVM Tests - JDK 17 Build ⚠️ Check → Logs Raw logs
Native Tests - HTTP Build Failures Logs Raw logs

Full information is available in the Build summary check run.

⚠️ Errors occurred while downloading the build reports. This report is incomplete.

Failures

⚙️ JVM Tests - JDK 11 #

- Failing: integration-tests/reactive-messaging-rabbitmq integration-tests/rest-client 

📦 integration-tests/reactive-messaging-rabbitmq

io.quarkus.it.rabbitmq.RabbitMQConnectorTest.test line 24 - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: Assertion condition defined as a io.quarkus.it.rabbitmq.RabbitMQConnectorTest expected: <6> but was: <5> within 1 minutes.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:166)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)

📦 integration-tests/rest-client

io.quarkus.it.rest.client.selfsigned.ExternalSelfSignedTestCase.should_accept_self_signed_certs_java_url line 29 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

⚙️ Native Tests - HTTP #

- Failing: integration-tests/rest-client 

📦 integration-tests/rest-client

io.quarkus.it.rest.client.selfsigned.ExternalSelfSignedITCase.should_accept_self_signed_certs_java_url - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

@kdubb kdubb force-pushed the feature/sr_rm_rabbitmq branch from 34b2338 to c1da302 Compare October 12, 2021 05:57
@quarkus-bot
Copy link

quarkus-bot bot commented Oct 12, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building c1da302

Status Name Step Failures Logs Raw logs
JVM Tests - JDK 11 Build Failures Logs Raw logs
JVM Tests - JDK 11 Windows Build ⚠️ Check → Logs Raw logs
JVM Tests - JDK 17 Build ⚠️ Check → Logs Raw logs
Native Tests - HTTP Build Failures Logs Raw logs
Native Tests - Messaging2 Build Failures Logs Raw logs

Full information is available in the Build summary check run.

⚠️ Errors occurred while downloading the build reports. This report is incomplete.

Failures

⚙️ JVM Tests - JDK 11 #

- Failing: integration-tests/rest-client integration-tests/vault-agroal 

📦 integration-tests/rest-client

io.quarkus.it.rest.client.selfsigned.ExternalSelfSignedTestCase.should_accept_self_signed_certs_java_url line 29 - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

📦 integration-tests/vault-agroal

io.quarkus.vault.AgroalVaultITCase. - More details - Source on GitHub

java.lang.RuntimeException: Error waiting for test resource future to finish.
	at io.quarkus.test.common.TestResourceManager.waitForAllFutures(TestResourceManager.java:151)
	at io.quarkus.test.common.TestResourceManager.start(TestResourceManager.java:136)

io.quarkus.vault.AgroalVaultKv1ITCase. - More details - Source on GitHub

java.lang.RuntimeException: Error waiting for test resource future to finish.
	at io.quarkus.test.common.TestResourceManager.waitForAllFutures(TestResourceManager.java:151)
	at io.quarkus.test.common.TestResourceManager.start(TestResourceManager.java:136)

io.quarkus.vault.VaultKv1ITCase. - More details - Source on GitHub

java.lang.RuntimeException: Error waiting for test resource future to finish.
	at io.quarkus.test.common.TestResourceManager.waitForAllFutures(TestResourceManager.java:151)
	at io.quarkus.test.common.TestResourceManager.start(TestResourceManager.java:136)

⚙️ Native Tests - HTTP #

- Failing: integration-tests/rest-client 

📦 integration-tests/rest-client

io.quarkus.it.rest.client.selfsigned.ExternalSelfSignedITCase.should_accept_self_signed_certs_java_url - More details - Source on GitHub

java.lang.AssertionError: 
1 expectation failed.
Expected status code <200> but was <500>.

⚙️ Native Tests - Messaging2 #

- Failing: integration-tests/reactive-messaging-rabbitmq 

📦 integration-tests/reactive-messaging-rabbitmq

io.quarkus.it.rabbitmq.RabbitMQConnectorIT.test - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: Assertion condition defined as a io.quarkus.it.rabbitmq.RabbitMQConnectorTest expected: <6> but was: <0> within 2 minutes.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:166)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)

@kdubb
Copy link
Contributor Author

kdubb commented Oct 12, 2021

@cescoffier I think the test's are fine and they certainly run 100% of the time locally. There appears to be a CI issue with tests that start a Dev Services container being slow.

@kdubb kdubb force-pushed the feature/sr_rm_rabbitmq branch from c1da302 to 0d9e45a Compare October 17, 2021 03:41
@quarkus-bot
Copy link

quarkus-bot bot commented Oct 17, 2021

This workflow status is outdated as a new workflow run has been triggered.

Failing Jobs - Building 0d9e45a

Status Name Step Failures Logs Raw logs
Native Tests - Messaging2 Build Failures Logs Raw logs

Full information is available in the Build summary check run.

Failures

⚙️ Native Tests - Messaging2 #

- Failing: integration-tests/reactive-messaging-rabbitmq 

📦 integration-tests/reactive-messaging-rabbitmq

io.quarkus.it.rabbitmq.RabbitMQConnectorIT.test - More details - Source on GitHub

org.awaitility.core.ConditionTimeoutException: Assertion condition defined as a io.quarkus.it.rabbitmq.RabbitMQConnectorTest expected: <6> but was: <0> within 30 seconds.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:166)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)

@kdubb kdubb force-pushed the feature/sr_rm_rabbitmq branch from 0d9e45a to 57e547c Compare October 22, 2021 05:54
@kdubb
Copy link
Contributor Author

kdubb commented Oct 22, 2021

@cescoffier What is need to get this merged?

}

public List<Person> getPeople() {
log.info("Returning people " + list);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't believe we need the log.

@cescoffier
Copy link
Member

Awesome! Thanks!

@cescoffier cescoffier merged commit fe1a1c6 into quarkusio:main Oct 25, 2021
@quarkus-bot quarkus-bot bot added this to the 2.5 - main milestone Oct 25, 2021
@kdubb kdubb deleted the feature/sr_rm_rabbitmq branch October 25, 2021 16:10
@kdubb
Copy link
Contributor Author

kdubb commented Oct 25, 2021

@cescoffier Any thoughts about when 3.11.0 will be available so we can bump the version in Quarkus?

kdubb added a commit to kdubb/quarkus-quickstarts that referenced this pull request Nov 8, 2021
kdubb added a commit to kdubb/quarkus-quickstarts that referenced this pull request Dec 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/core area/dependencies Pull requests that update a dependency file area/devtools Issues/PR related to maven, gradle, platform and cli tooling/plugins area/documentation area/infra-automation anything related to CI, bots, etc. that are used to automated our infrastructure area/platform Issues related to definition and interaction with Quarkus Platform area/reactive-messaging area/smallrye
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants