[JBoss JIRA] (WFWIP-14) [Artemis upgrade] MDB cannot connect to remote server via RA if destination is not deployed locally
by Miroslav Novak (JIRA)
[ https://issues.jboss.org/browse/WFWIP-14?page=com.atlassian.jira.plugin.s... ]
Miroslav Novak updated WFWIP-14:
--------------------------------
Steps to Reproduce:
{code}
git clone git://git.app.eng.bos.redhat.com/jbossqe/eap-tests-hornetq.git
cd eap-tests-hornetq/scripts/
groovy -DEAP_ZIP_URL=https://eap-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP7/view/EAP7-JMS/view/early-testing/view/tooling/job/early-testing-messaging-prepare/124/artifact/jboss-eap.zip PrepareServers7.groovy
export WORKSPACE=$PWD
export JBOSS_HOME_1=$WORKSPACE/server1/jboss-eap
export JBOSS_HOME_2=$WORKSPACE/server2/jboss-eap
export JBOSS_HOME_3=$WORKSPACE/server3/jboss-eap
export JBOSS_HOME_4=$WORKSPACE/server4/jboss-eap
cd ../jboss-hornetq-testsuite/
mvn clean test -Dtest=ActivationConfigPropertiesTestCase#useJndiTest -DfailIfNoTests=false -Deap=7x -Deap7.org.jboss.qa.hornetq.apps.clients.version=7.1517218654-SNAPSHOT | tee log
{code}
was:
{code}
git clone git://git.app.eng.bos.redhat.com/jbossqe/eap-tests-hornetq.git
cd eap-tests-hornetq/scripts/
groovy -DEAP_ZIP_URL=https://eap-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP7/view/EAP7-JMS/view/early-testing/view/tooling/job/early-testing-messaging-prepare/124/artifact/jboss-eap.zip PrepareServers7.groovy
export WORKSPACE=$PWD
export JBOSS_HOME_1=$WORKSPACE/server1/jboss-eap
export JBOSS_HOME_2=$WORKSPACE/server2/jboss-eap
export JBOSS_HOME_3=$WORKSPACE/server3/jboss-eap
export JBOSS_HOME_4=$WORKSPACE/server4/jboss-eap
cd ../jboss-hornetq-testsuite/
mvn clean test -Dtest=BytemanLodh2TestCase#testSimpleLodh2KillWithFiltersOnTransactionPrepare -DfailIfNoTests=false -Deap=7x -Deap7.org.jboss.qa.hornetq.apps.clients.version=7.1517218654-SNAPSHOT | tee log
{code}
> [Artemis upgrade] MDB cannot connect to remote server via RA if destination is not deployed locally
> ---------------------------------------------------------------------------------------------------
>
> Key: WFWIP-14
> URL: https://issues.jboss.org/browse/WFWIP-14
> Project: WildFly WIP
> Issue Type: Bug
> Components: JMS
> Reporter: Erich Duda
> Assignee: Martyn Taylor
> Priority: Blocker
> Labels: activemq, feature-branch-blocker
>
> For more information about origin of this issue see JBEAP-13857.
> *Scenario*
> * There are two servers called JMS servers which have deployed destinations
> * There are two servers called MDB servers which have configured RA to connect to JMS servers and have deployed MDBs
> * MDBs resend messages from InQueue to OutQueue
> *Issue:* RA on MDB servers is not able to connect to JMS servers.
> *Detailed description of the issue*
> There is an MDB with following activation config:
> {code}
> @MessageDriven(name = "mdb1",
> activationConfig = {
> @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
> @ActivationConfigProperty(propertyName = "destination", propertyValue = "jms/queue/InQueue"),
> @ActivationConfigProperty(propertyName = "rebalanceConnections", propertyValue = "true"),
> @ActivationConfigProperty(propertyName = "hA", propertyValue = "true"),
> @ActivationConfigProperty(propertyName = "messageSelector", propertyValue = "color = 'RED'")})
> {code}
> In ActiveMQActivation::setupDestination method there is a code which tries to do a JNDI lookup. If it fails the destination is created using the ActiveMQJMSClient::createQueue where the destination name is created from the JNDI name.
> {code}
> try {
> destination = (ActiveMQDestination) ActiveMQRaUtils.lookup(ctx, destinationName, destinationType);
> } catch (Exception e) {
> if (destinationName == null) {
> throw ActiveMQRABundle.BUNDLE.noDestinationName();
> }
> String calculatedDestinationName = destinationName.substring(destinationName.lastIndexOf('/') + 1);
> logger.debug("Unable to retrieve " + destinationName +
> " from JNDI. Creating a new " + destinationType.getName() +
> " named " + calculatedDestinationName + " to be used by the MDB.");
> // If there is no binding on naming, we will just create a new instance
> if (isTopic) {
> destination = (ActiveMQDestination) ActiveMQJMSClient.createTopic(calculatedDestinationName);
> } else {
> destination = (ActiveMQDestination) ActiveMQJMSClient.createQueue(calculatedDestinationName);
> }
> }
> {code}
> When the destination is not deployed locally (on the same server as MDB is deployed), the lookup fails and the destination is created using {{ActiveMQJMSClient::createQueue}} method, where {{calculatedDestinationName}} is {{InQueue}}.
> Later in the code, when RA tries to connect to the remote EAP server, it uses this destination when it creates a consumer. Since on the remote server there is no destination with core address {{InQueue}}, the request to create the consumer fails and it is being periodically retried.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 1 month
[JBoss JIRA] (WFWIP-14) [Artemis upgrade] MDB cannot connect to remote server via RA if destination is not deployed locally
by Miroslav Novak (JIRA)
[ https://issues.jboss.org/browse/WFWIP-14?page=com.atlassian.jira.plugin.s... ]
Miroslav Novak commented on WFWIP-14:
-------------------------------------
Issue is still present in Artemis to 2.6.0 and jmesnil/WFLY-9407_upgrade_artemis_2.4.0_with_prefix (commit 54b131dc63dfd4bb74bb44b3f8c3402964059afa)
> [Artemis upgrade] MDB cannot connect to remote server via RA if destination is not deployed locally
> ---------------------------------------------------------------------------------------------------
>
> Key: WFWIP-14
> URL: https://issues.jboss.org/browse/WFWIP-14
> Project: WildFly WIP
> Issue Type: Bug
> Components: JMS
> Reporter: Erich Duda
> Assignee: Martyn Taylor
> Priority: Blocker
> Labels: activemq, feature-branch-blocker
>
> For more information about origin of this issue see JBEAP-13857.
> *Scenario*
> * There are two servers called JMS servers which have deployed destinations
> * There are two servers called MDB servers which have configured RA to connect to JMS servers and have deployed MDBs
> * MDBs resend messages from InQueue to OutQueue
> *Issue:* RA on MDB servers is not able to connect to JMS servers.
> *Detailed description of the issue*
> There is an MDB with following activation config:
> {code}
> @MessageDriven(name = "mdb1",
> activationConfig = {
> @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
> @ActivationConfigProperty(propertyName = "destination", propertyValue = "jms/queue/InQueue"),
> @ActivationConfigProperty(propertyName = "rebalanceConnections", propertyValue = "true"),
> @ActivationConfigProperty(propertyName = "hA", propertyValue = "true"),
> @ActivationConfigProperty(propertyName = "messageSelector", propertyValue = "color = 'RED'")})
> {code}
> In ActiveMQActivation::setupDestination method there is a code which tries to do a JNDI lookup. If it fails the destination is created using the ActiveMQJMSClient::createQueue where the destination name is created from the JNDI name.
> {code}
> try {
> destination = (ActiveMQDestination) ActiveMQRaUtils.lookup(ctx, destinationName, destinationType);
> } catch (Exception e) {
> if (destinationName == null) {
> throw ActiveMQRABundle.BUNDLE.noDestinationName();
> }
> String calculatedDestinationName = destinationName.substring(destinationName.lastIndexOf('/') + 1);
> logger.debug("Unable to retrieve " + destinationName +
> " from JNDI. Creating a new " + destinationType.getName() +
> " named " + calculatedDestinationName + " to be used by the MDB.");
> // If there is no binding on naming, we will just create a new instance
> if (isTopic) {
> destination = (ActiveMQDestination) ActiveMQJMSClient.createTopic(calculatedDestinationName);
> } else {
> destination = (ActiveMQDestination) ActiveMQJMSClient.createQueue(calculatedDestinationName);
> }
> }
> {code}
> When the destination is not deployed locally (on the same server as MDB is deployed), the lookup fails and the destination is created using {{ActiveMQJMSClient::createQueue}} method, where {{calculatedDestinationName}} is {{InQueue}}.
> Later in the code, when RA tries to connect to the remote EAP server, it uses this destination when it creates a consumer. Since on the remote server there is no destination with core address {{InQueue}}, the request to create the consumer fails and it is being periodically retried.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 1 month
[JBoss JIRA] (WFWIP-19) auto-[create|delete]-jms-queues are not supported in Artemis 2.4
by Miroslav Novak (JIRA)
[ https://issues.jboss.org/browse/WFWIP-19?page=com.atlassian.jira.plugin.s... ]
Miroslav Novak commented on WFWIP-19:
-------------------------------------
Issue is still present in Artemis to 2.6.0 and jmesnil/WFLY-9407_upgrade_artemis_2.4.0_with_prefix (commit 54b131dc63dfd4bb74bb44b3f8c3402964059afa)
> auto-[create|delete]-jms-queues are not supported in Artemis 2.4
> ----------------------------------------------------------------
>
> Key: WFWIP-19
> URL: https://issues.jboss.org/browse/WFWIP-19
> Project: WildFly WIP
> Issue Type: Bug
> Components: JMS
> Reporter: Jeff Mesnil
> Assignee: Jeff Mesnil
> Priority: Blocker
> Labels: feature-branch-blocker
>
> For more information about origin of this issue see JBEAP-13856.
> Auto-create-jms-queues and auto-delete-jms-queues enable or disable automatic creation or deletion of JMS queues when they are requested or when they are not used anymore.
> In EAP 7.1 the features are disabled by default and they are Technical previews.
> In EAP 7.2 the features cannot be disabled via mentioned management attributes and thus they are always enabled. The “cannot be” in previous sentence means that the configuration has no effect.
> *Customer impact:* Behavior of messaging broker was changed in case of automatic creation and deletion JMS destinations.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 1 month
[JBoss JIRA] (WFWIP-16) [Artemis 2.x upgrade] libAIO does not get loaded on RHEL 6 x86_64
by Miroslav Novak (JIRA)
[ https://issues.jboss.org/browse/WFWIP-16?page=com.atlassian.jira.plugin.s... ]
Miroslav Novak commented on WFWIP-16:
-------------------------------------
Issue is still present in Artemis to 2.6.0 and jmesnil/WFLY-9407_upgrade_artemis_2.4.0_with_prefix (commit 54b131dc63dfd4bb74bb44b3f8c3402964059afa)
Currently I don't have capacity to take a look at it. Anyone feel free to take it.
> [Artemis 2.x upgrade] libAIO does not get loaded on RHEL 6 x86_64
> -----------------------------------------------------------------
>
> Key: WFWIP-16
> URL: https://issues.jboss.org/browse/WFWIP-16
> Project: WildFly WIP
> Issue Type: Bug
> Components: JMS
> Reporter: Miroslav Novak
> Assignee: Jeff Mesnil
> Priority: Blocker
> Labels: activemq, feature-branch-blocker
>
> LibAIO does not get loaded on RHEL 6 x86_64:
> {code}
> [hudson@rhel6-large-2723 bin]$ sh standalone.sh -c standalone-full-ha.xml -Djboss.socket.binding.port-offset=1000
> =========================================================================
> JBoss Bootstrap Environment
> JBOSS_HOME: /tmp/jboss-eap
> JAVA: java
> JAVA_OPTS: -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true
> =========================================================================
> ...
> 10:14:31,918 INFO [org.wildfly.extension.messaging-activemq] (MSC service thread 1-1) WFLYMSGAMQ0075: AIO wasn't located on this platform, it will fall back to using pure Java NIO. Your platform is Linux, install LibAIO to enable the AIO journal and achieve optimal performance.
> 10:14:32,017 INFO [org.apache.activemq.artemis.core.server] (ServerService Thread Pool -- 75) AMQ221000: live Message Broker is starting with configuration Broker Configuration (clustered=true,journalDirectory=/tmp/jboss-eap/standalone/data/activemq/journal,bindingsDirectory=/tmp/jboss-eap/standalone/data/activemq/bindings,largeMessagesDirectory=/tmp/jboss-eap/standalone/data/activemq/largemessages,pagingDirectory=/tmp/jboss-eap/standalone/data/activemq/paging)
> 10:14:32,110 INFO [org.apache.activemq.artemis.core.server] (ServerService Thread Pool -- 75) AMQ221013: Using NIO Journal
> ...
> {code}
> libAIO in artemis journal module from WF branch. Not from Artemis 2.5.0.Final tag.
> Wildfly: https://github.com/jmesnil/wildfly/tree/WFLY-9407_upgrade_artemis_2.4.0_w... (06c878a313d3cad323889d017e60fd5533204d1a)
> Artemis: upstreadm master (577b62d5210cdcc0f86ab9bb1b24e944c877dfe7)
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 1 month
[JBoss JIRA] (SECURITY-992) org.jboss.security.Base64Encoder doesn't work for certain lengths (1026 or 3072 for example)
by Ricardo Martin Camarero (JIRA)
[ https://issues.jboss.org/browse/SECURITY-992?page=com.atlassian.jira.plug... ]
Ricardo Martin Camarero updated SECURITY-992:
---------------------------------------------
Component/s: JBossSX
Description: When a byte array of certain lengths (1026 and 3072 for example) is encoded in base64 using the class {{org.jboss.security.Base64Encoder}} the last chunk of four bytes is omitted.
Steps to Reproduce:
Attached a simple reproducer (the length of the array is passed):
{noformat}
javac -cp ~/picketbox/dist/target/picketbox-5.1.1.Beta1-SNAPSHOT.jar Reproducer.java
java -cp picketbox/main/picketbox-5.1.1.Final.jar:. Reproducer 1026
{noformat}
You will see that with 1026 and 3072 the first base64 is missing the last four bytes (one is using picketbox and the other java8 Base64 class).
Summary: org.jboss.security.Base64Encoder doesn't work for certain lengths (1026 or 3072 for example) (was: git diff)
Workaround Description: None, use another Base64 implementation like the one in JDK.
Affects Version/s: PicketBox_5_1_0.Final
> org.jboss.security.Base64Encoder doesn't work for certain lengths (1026 or 3072 for example)
> --------------------------------------------------------------------------------------------
>
> Key: SECURITY-992
> URL: https://issues.jboss.org/browse/SECURITY-992
> Project: PicketBox
> Issue Type: Bug
> Components: JBossSX
> Affects Versions: PicketBox_5_1_0.Final
> Reporter: Ricardo Martin Camarero
> Assignee: Stefan Guilhen
>
> When a byte array of certain lengths (1026 and 3072 for example) is encoded in base64 using the class {{org.jboss.security.Base64Encoder}} the last chunk of four bytes is omitted.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 1 month
[JBoss JIRA] (SECURITY-992) git diff
by Ricardo Martin Camarero (JIRA)
Ricardo Martin Camarero created SECURITY-992:
------------------------------------------------
Summary: git diff
Key: SECURITY-992
URL: https://issues.jboss.org/browse/SECURITY-992
Project: PicketBox
Issue Type: Bug
Reporter: Ricardo Martin Camarero
Assignee: Stefan Guilhen
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 1 month