[activemq-artemis] 02/03: NO-JIRA Speeding up JMSNonDestructiveTest

2019-09-11 Thread clebertsuconic
This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git

commit 793a45f35a8fe5eca7df9e9657d89e93cf0bcdd2
Author: Clebert Suconic 
AuthorDate: Wed Sep 11 09:36:53 2019 -0400

NO-JIRA Speeding up JMSNonDestructiveTest
---
 .../artemis/tests/integration/amqp/JMSNonDestructiveTest.java  | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java
 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java
index 6fbb71d..9b31b79 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java
+++ 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java
@@ -332,7 +332,7 @@ public class JMSNonDestructiveTest extends 
JMSClientTestSupport {
 assertNotNull(msg);
 assertEquals(Integer.toString(j), msg.getText());
  }
- TextMessage msg = (TextMessage) consumer.receive(200);
+ TextMessage msg = (TextMessage) consumer.receiveNoWait();
  assertNull(msg);
  consumer.close();
   }
@@ -356,7 +356,7 @@ public class JMSNonDestructiveTest extends 
JMSClientTestSupport {
  Session consumerSession = consumerConnection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
  Queue consumerQueue = consumerSession.createQueue(queueName);
  MessageConsumer consumer = 
consumerSession.createConsumer(consumerQueue);
- TextMessage msg = (TextMessage) consumer.receive(2000);
+ TextMessage msg = (TextMessage) consumer.receiveNoWait();
  assertNull(msg);
  consumer.close();
   }
@@ -395,9 +395,9 @@ public class JMSNonDestructiveTest extends 
JMSClientTestSupport {
 assertEquals(Integer.toString(j), msg.getText());
 assertEquals(Integer.toString(j), msg2.getText());
  }
- TextMessage msg = (TextMessage) consumer.receive(200);
+ TextMessage msg = (TextMessage) consumer.receiveNoWait();
  assertNull(msg);
- TextMessage msg2 = (TextMessage) consumer2.receive(200);
+ TextMessage msg2 = (TextMessage) consumer2.receiveNoWait();
  assertNull(msg2);
  consumer.close();
  consumer2.close();
@@ -468,7 +468,7 @@ public class JMSNonDestructiveTest extends 
JMSClientTestSupport {
   try (Connection connection = 
consumerConnectionSupplier.createConnection();
Session session = connection.createSession();
MessageConsumer consumer = 
session.createConsumer(session.createQueue(queueName))) {
- TextMessage msg = (TextMessage) consumer.receive(1000);
+ TextMessage msg = (TextMessage) consumer.receiveNoWait();
  assertNull(msg);
   }
}



[activemq-artemis] 01/03: ARTEMIS-2478 Expired message not removed in non destructive queue

2019-09-11 Thread clebertsuconic
This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git

commit e43c5390cf11655a883b9f96f608e65bdd21d6fa
Author: Wei Yang 
AuthorDate: Mon Sep 9 18:45:48 2019 +0800

ARTEMIS-2478 Expired message not removed in non destructive queue
---
 .../activemq/artemis/core/server/impl/QueueImpl.java   | 14 +-
 .../tests/integration/amqp/JMSNonDestructiveTest.java  | 10 ++
 2 files changed, 11 insertions(+), 13 deletions(-)

diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
index dd7d9cf..d18ecbf 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
@@ -2745,9 +2745,6 @@ public class QueueImpl extends CriticalComponentImpl 
implements Queue {
  logger.trace("Reference " + ref + " being expired");
   }
   removeMessageReference(holder, ref);
-
-
-
   handled++;
   consumers.reset();
   continue;
@@ -2778,8 +2775,9 @@ public class QueueImpl extends CriticalComponentImpl 
implements Queue {
 
   deliveriesInTransit.countUp();
 
-
-  removeMessageReference(holder, ref);
+  if (!nonDestructive) {
+ removeMessageReference(holder, ref);
+  }
   ref.setInDelivery(true);
   handledconsumer = consumer;
   handled++;
@@ -2836,10 +2834,8 @@ public class QueueImpl extends CriticalComponentImpl 
implements Queue {
}
 
protected void removeMessageReference(ConsumerHolder 
holder, MessageReference ref) {
-  if (!nonDestructive) {
- holder.iter.remove();
- refRemoved(ref);
-  }
+  holder.iter.remove();
+  refRemoved(ref);
}
 
private void checkDepage() {
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java
 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java
index 32dcbb8..6fbb71d 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java
+++ 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/JMSNonDestructiveTest.java
@@ -53,14 +53,16 @@ public class JMSNonDestructiveTest extends 
JMSClientTestSupport {
private ConnectionSupplier CoreConnection = () -> createCoreConnection();
 
protected final boolean persistenceEnabled;
+   protected final long scanPeriod;
 
-   public JMSNonDestructiveTest(boolean persistenceEnabled) {
+   public JMSNonDestructiveTest(boolean persistenceEnabled, long scanPeriod) {
   this.persistenceEnabled = persistenceEnabled;
+  this.scanPeriod = scanPeriod;
}
 
-   @Parameterized.Parameters(name = "persistenceEnabled={0}")
+   @Parameterized.Parameters(name = "persistenceEnabled={0}, scanPeriod={1}")
public static Collection data() {
-  Object[][] params = new Object[][]{{false}, {true}};
+  Object[][] params = new Object[][]{{false, 100}, {true, 100}, {true, 
-1}};
   return Arrays.asList(params);
}
 
@@ -72,7 +74,7 @@ public class JMSNonDestructiveTest extends 
JMSClientTestSupport {
@Override
protected void addConfiguration(ActiveMQServer server) {
   server.getConfiguration().setPersistenceEnabled(persistenceEnabled);
-  server.getConfiguration().setMessageExpiryScanPeriod(100);
+  server.getConfiguration().setMessageExpiryScanPeriod(scanPeriod);
   
server.getAddressSettingsRepository().addMatch(NON_DESTRUCTIVE_QUEUE_NAME, new 
AddressSettings().setDefaultNonDestructive(true));
   
server.getAddressSettingsRepository().addMatch(NON_DESTRUCTIVE_EXPIRY_QUEUE_NAME,
 new AddressSettings().setDefaultNonDestructive(true).setExpiryDelay(100L));
   
server.getAddressSettingsRepository().addMatch(NON_DESTRUCTIVE_LVQ_QUEUE_NAME, 
new 
AddressSettings().setDefaultLastValueQueue(true).setDefaultNonDestructive(true));



[activemq-artemis] 03/03: This closes #2828

2019-09-11 Thread clebertsuconic
This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git

commit 02d3384b8743405c793867ea786b987ddc674d13
Merge: a8d68d9 793a45f
Author: Clebert Suconic 
AuthorDate: Wed Sep 11 09:41:38 2019 -0400

This closes #2828

 .../activemq/artemis/core/server/impl/QueueImpl.java | 14 +-
 .../integration/amqp/JMSNonDestructiveTest.java  | 20 +++-
 2 files changed, 16 insertions(+), 18 deletions(-)



[activemq-artemis] branch master updated (a8d68d9 -> 02d3384)

2019-09-11 Thread clebertsuconic
This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git.


from a8d68d9  This closes #2833
 new e43c539  ARTEMIS-2478 Expired message not removed in non destructive 
queue
 new 793a45f  NO-JIRA Speeding up JMSNonDestructiveTest
 new 02d3384  This closes #2828

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../activemq/artemis/core/server/impl/QueueImpl.java | 14 +-
 .../integration/amqp/JMSNonDestructiveTest.java  | 20 +++-
 2 files changed, 16 insertions(+), 18 deletions(-)



Build failed in Jenkins: ActiveMQ-Artemis-Master #2510

2019-09-11 Thread Apache Jenkins Server
See 


Changes:

[clebertsuconic] ARTEMIS-2478 Expired message not removed in non destructive 
queue

[clebertsuconic] NO-JIRA Speeding up JMSNonDestructiveTest

--
[...truncated 321.00 KB...]
[INFO] 1 resources included (use -debug for more details)
[INFO] Rat check: Summary over all files. Unapproved: 0, unknown: 0, generated: 
0, approved: 1 licenses.
[INFO] 
[INFO] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ 
artemis-protocols ---
[INFO] 
[INFO] --- maven-source-plugin:2.2.1:jar-no-fork (attach-sources) @ 
artemis-protocols ---
[INFO] 
[INFO] --- dependency-check-maven:1.4.3:check (default) @ artemis-protocols ---
[INFO] Skipping dependency-check
[INFO] 
[INFO] --- maven-install-plugin:2.4:install (default-install) @ 
artemis-protocols ---
[INFO] Installing 

 to 
/home/jenkins/.m2/repository/org/apache/activemq/artemis-protocols/2.11.0-SNAPSHOT/artemis-protocols-2.11.0-SNAPSHOT.pom
[INFO] 
[INFO] -< org.apache.activemq:artemis-amqp-protocol >--
[INFO] Building ActiveMQ Artemis AMQP Protocol 2.11.0-SNAPSHOT  [10/54]
[INFO] ---[ bundle ]---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.4:enforce (enforce-maven) @ 
artemis-amqp-protocol ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.4:enforce (enforce-java) @ 
artemis-amqp-protocol ---
[INFO] 
[INFO] --- maven-dependency-plugin:3.1.1:unpack (copy) @ artemis-amqp-protocol 
---
[INFO] Configured Artifact: 
org.apache.activemq:activemq-artemis-native:1.0.0:jar
[INFO] Unpacking 
/home/jenkins/.m2/repository/org/apache/activemq/activemq-artemis-native/1.0.0/activemq-artemis-native-1.0.0.jar
 to 

 with includes "**/*.so" and excludes ""
[INFO] 
[INFO] --- maven-remote-resources-plugin:1.5:process (process-resource-bundles) 
@ artemis-amqp-protocol ---
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ 
artemis-amqp-protocol ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Copying 3 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ 
artemis-amqp-protocol ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 76 source files to 

:336:
 warning: [TypeParameterUnusedInFormals] Declaring a type parameter that is 
only used in the return type is a misuse of generics: operations on the type 
parameter are unchecked, it hides unsafe casts at invocations of the method, 
and it interacts badly with method overload resolution. NOTE: correcting this 
issue is often an incompatible API change; you should check that all dependent 
code still compiles succesfully.
   private  T scanForMessageSection(int scanStartPosition, 
Class...targetTypes) {
 ^
(see http://errorprone.info/bugpattern/TypeParameterUnusedInFormals)
  Did you mean 'private Object scanForMessageSection(int scanStartPosition, 
Class...targetTypes) {'?
Note: 

 uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 warning
[INFO] 
[INFO] --- maven-checkstyle-plugin:2.17:check (default) @ artemis-amqp-protocol 
---
[INFO] Starting audit...
Audit done.
[INFO] 
[INFO] --- apache-rat-plugin:0.12:check (default) @ artemis-amqp-protocol ---
[INFO] Enabled default license matchers.
[INFO] Will parse SCM ignores for exclusions...
[INFO] Finished adding exclusions from SCM ignore files.
[INFO] 61 implicit excludes (use -debug for more details).
[INFO] Exclude: .travis.yml
[INFO] Exclude: **/footer.html
[INFO] Exclude: **/*.txt
[INFO] Exclude: **/*.md
[INFO] Exclude: etc/ide-settings/**
[INFO] Exclude: docs/**/*.json
[INFO] Exclude: docs/**/_book/
[INFO] Exclude: **/target/
[INFO] Exclude: **/META-INF/services/*
[INFO] Exclude: **/META-INF/MANIFEST.MF
[INFO] Exclude: **/*.iml
[INFO] Exclude: **/*.jceks
[INFO] Exclude: **/*.jks
[INFO] Exclude: **/xml.xsd
[INFO] Exclude: **/org/apache/activemq/artemis/utils/json/**
[INFO] Exclude: **/org/apache/activemq/artemis/utils/Base64.java
[INFO] Exclude: **/.settings/**
[INFO] Exclude: **/.project
[I

[activemq-artemis] branch master updated: ARTEMIS-2480 - Reloading configuration can kill broker

2019-09-11 Thread nigrofranz
This is an automated email from the ASF dual-hosted git repository.

nigrofranz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git


The following commit(s) were added to refs/heads/master by this push:
 new 42327a4  ARTEMIS-2480 - Reloading configuration can kill broker
 new f3b984d  This closes #2831
42327a4 is described below

commit 42327a490ad262df99828830c24be395be2c66ed
Author: Andy Taylor 
AuthorDate: Tue Sep 10 09:45:25 2019 +0100

ARTEMIS-2480 - Reloading configuration can kill broker

https://issues.apache.org/jira/browse/ARTEMIS-2480
---
 .../artemis/core/server/ActiveMQServerLogger.java  |   8 ++
 .../core/server/impl/ActiveMQServerImpl.java   |  18 +++-
 .../tests/integration/jms/RedeployTest.java|  78 ++
 .../reload-test-autocreateaddress-reload.xml   | 109 
 .../resources/reload-test-autocreateaddress.xml| 112 +
 5 files changed, 322 insertions(+), 3 deletions(-)

diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQServerLogger.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQServerLogger.java
index 8f76014..4952fce 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQServerLogger.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/ActiveMQServerLogger.java
@@ -2029,4 +2029,12 @@ public interface ActiveMQServerLogger extends 
BasicLogger {
@LogMessage(level = Logger.Level.WARN)
@Message(id = 224101, value = "Apache ActiveMQ Artemis is using a scheduled 
pool without remove on cancel policy, so a cancelled task could be not 
automatically removed from the work queue, it may also cause unbounded 
retention of cancelled tasks.", format = Message.Format.MESSAGE_FORMAT)
void scheduledPoolWithNoRemoveOnCancelPolicy();
+
+   @LogMessage(level = Logger.Level.INFO)
+   @Message(id = 224102, value = "unable to undeploy address {0} : reason 
{1}", format = Message.Format.MESSAGE_FORMAT)
+   void unableToUndeployAddress(SimpleString addressName, String reason);
+
+   @LogMessage(level = Logger.Level.INFO)
+   @Message(id = 224103, value = "unable to undeploy queue {0} : reason {1}", 
format = Message.Format.MESSAGE_FORMAT)
+   void unableToUndeployQueue(SimpleString queueName, String reason);
 }
diff --git 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java
 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java
index 9b5c3cb..881b01e 100644
--- 
a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java
+++ 
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/ActiveMQServerImpl.java
@@ -3019,15 +3019,27 @@ public class ActiveMQServerImpl implements 
ActiveMQServer {
  if (!addressesInConfig.contains(addressName.toString()) && 
addressSettings.getConfigDeleteAddresses() == DeletionPolicy.FORCE) {
 for (Queue queue : listQueues(addressName)) {
ActiveMQServerLogger.LOGGER.undeployQueue(queue.getName());
-   queue.deleteQueue(true);
+   try {
+  queue.deleteQueue(true);
+   } catch (Exception e) {
+  
ActiveMQServerLogger.LOGGER.unableToUndeployQueue(addressName, e.getMessage());
+   }
 }
 ActiveMQServerLogger.LOGGER.undeployAddress(addressName);
-removeAddressInfo(addressName, null);
+try {
+   removeAddressInfo(addressName, null);
+} catch (Exception e) {
+   
ActiveMQServerLogger.LOGGER.unableToUndeployAddress(addressName, 
e.getMessage());
+}
  } else if (addressSettings.getConfigDeleteQueues() == 
DeletionPolicy.FORCE) {
 for (Queue queue : listConfiguredQueues(addressName)) {
if (!queuesInConfig.contains(queue.getName().toString())) {
   ActiveMQServerLogger.LOGGER.undeployQueue(queue.getName());
-  queue.deleteQueue(true);
+  try {
+ queue.deleteQueue(true);
+  } catch (Exception e) {
+ 
ActiveMQServerLogger.LOGGER.unableToUndeployQueue(addressName, e.getMessage());
+  }
}
 }
  }
diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/RedeployTest.java
 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/RedeployTest.java
index 643d103..e94f12b 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/RedeployTest.java
+++ 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/jms/RedeployTest

[activemq-nms-amqp] branch master updated: AMQNET-610: Race condition during consumer creation

2019-09-11 Thread michaelpearce
This is an automated email from the ASF dual-hosted git repository.

michaelpearce pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-nms-amqp.git


The following commit(s) were added to refs/heads/master by this push:
 new d5c0542  AMQNET-610: Race condition during consumer creation
 new 962f1f1  Merge pull request #29 from 
Havret/race_conditions_during_consumer_creation
d5c0542 is described below

commit d5c0542896c0394af49daf69c4f9327035779032
Author: Havret 
AuthorDate: Sun Sep 8 23:29:14 2019 +0200

AMQNET-610: Race condition during consumer creation
---
 src/NMS.AMQP/NmsDurableTopicSubscriber.cs  | 17 ++
 src/NMS.AMQP/NmsMessageConsumer.cs | 22 +++---
 src/NMS.AMQP/NmsMessageProducer.cs |  4 
 src/NMS.AMQP/NmsSession.cs | 26 +-
 src/NMS.AMQP/Provider/Amqp/AmqpConnection.cs   |  7 +++---
 src/NMS.AMQP/Provider/Amqp/AmqpSession.cs  |  1 -
 src/NMS.AMQP/Provider/Failover/FailoverProvider.cs | 14 ++--
 src/NMS.AMQP/Provider/Failover/FailoverRequest.cs  |  2 +-
 8 files changed, 61 insertions(+), 32 deletions(-)

diff --git a/src/NMS.AMQP/NmsDurableTopicSubscriber.cs 
b/src/NMS.AMQP/NmsDurableTopicSubscriber.cs
new file mode 100644
index 000..f39d7ea
--- /dev/null
+++ b/src/NMS.AMQP/NmsDurableTopicSubscriber.cs
@@ -0,0 +1,17 @@
+using Apache.NMS.AMQP.Util;
+
+namespace Apache.NMS.AMQP
+{
+public class NmsDurableTopicSubscriber : NmsMessageConsumer
+{
+public NmsDurableTopicSubscriber(Id consumerId, NmsSession session, 
IDestination destination, string selector, bool noLocal) : base(consumerId, 
session, destination, selector, noLocal)
+{
+}
+
+public NmsDurableTopicSubscriber(Id consumerId, NmsSession session, 
IDestination destination, string name, string selector, bool noLocal) : 
base(consumerId, session, destination, name, selector, noLocal)
+{
+}
+
+protected override bool IsDurableSubscription => true;
+}
+}
\ No newline at end of file
diff --git a/src/NMS.AMQP/NmsMessageConsumer.cs 
b/src/NMS.AMQP/NmsMessageConsumer.cs
index 13a4cf0..34afd0c 100644
--- a/src/NMS.AMQP/NmsMessageConsumer.cs
+++ b/src/NMS.AMQP/NmsMessageConsumer.cs
@@ -40,7 +40,7 @@ namespace Apache.NMS.AMQP
 {
 }
 
-public NmsMessageConsumer(Id consumerId, NmsSession session, 
IDestination destination, string name, string selector, bool noLocal)
+protected NmsMessageConsumer(Id consumerId, NmsSession session, 
IDestination destination, string name, string selector, bool noLocal)
 {
 Session = session;
 acknowledgementMode = session.AcknowledgementMode;
@@ -56,9 +56,14 @@ namespace Apache.NMS.AMQP
 Selector = selector,
 NoLocal = noLocal,
 SubscriptionName = name,
-LocalMessageExpiry = 
Session.Connection.ConnectionInfo.LocalMessageExpiry
+LocalMessageExpiry = 
Session.Connection.ConnectionInfo.LocalMessageExpiry,
+IsDurable = IsDurableSubscription
 };
 deliveryTask = new MessageDeliveryTask(this);
+
+
Session.Connection.CreateResource(Info).ConfigureAwait(false).GetAwaiter().GetResult();
+
+Session.Add(this);
 
 if (Session.IsStarted)
 Start();
@@ -68,6 +73,8 @@ namespace Apache.NMS.AMQP
 public ConsumerInfo Info { get; }
 public IDestination Destination => Info.Destination;
 
+protected virtual bool IsDurableSubscription => false;
+
 public void Dispose()
 {
 try
@@ -186,10 +193,9 @@ namespace Apache.NMS.AMQP
 
 private event MessageListener Listener;
 
-public async Task Init()
+public Task Init()
 {
-await Session.Connection.CreateResource(Info);
-await Session.Connection.StartResource(Info);
+return Session.Connection.StartResource(Info);
 }
 
 public void OnInboundMessage(InboundMessageDispatch envelope)
@@ -417,10 +423,10 @@ namespace Apache.NMS.AMQP
 {
 if (closed.CompareAndSet(false, true))
 {
-messageQueue.Dispose();
 failureCause = exception;
 Session.Remove(this);
 started.Set(false);
+messageQueue.Dispose();
 }
 }
 
@@ -500,9 +506,9 @@ namespace Apache.NMS.AMQP
 {
 try
 {
-Session.Connection.StartResource(Info);
+
Session.Connection.StartResource(Info).ConfigureAwait(false).GetAwaiter().GetResult();
 }
-catch (NMSException ex)
+catch (NMSException)
 {
 Session.Remove(this);
 throw;
diff --git a/src/NMS.AMQP/Nm

Build failed in Jenkins: ActiveMQ-Artemis-Master #2511

2019-09-11 Thread Apache Jenkins Server
See 


Changes:

[nigro.fra] ARTEMIS-2480 - Reloading configuration can kill broker

--
[...truncated 1.20 MB...]
?°nhj¯VGy?§V,?º?3Š?‰ž?ä쑾Iéځ–)/´˜Dr0ú›â§¡•'éÔéØʽ”?–’ð…êÉ¥Å^¶½??oäͅ
Ú?[)[—??hš´?/»*„¬mæ?Ò?›:?rŽ?NLÞs«Ø=º·@¼±`¦#?¼Îé¦0vHÒ×ÔÄÛ5TÇCà8Ù/3z{?Þ³µ™`sí~Éä?Îdw?xê?T?1@‡$HQ݀itÏéj¾?
Úç¹Qçù?k]9´6aéµÛ3ÕáÖj‚–ÞÒ   aR+?,tŸ…
t?Gìߌ?„*´á·Å½e&³*?f¯^‰¶©lzÀ­íg"©Cd
åšñ£™CkÅÝg8Yïšz?:Íã-p—??rbÌm»N6»Å¨jžø˜Üô??J X,¾Mß´ý\âèÓ7!ºkƒ?˜¬Ô1>0??  *†H†÷
?   ?1??
?m?y?k?e?y0!?   *†H†÷
?   ?1???Time 15270966141550‚?L?*†H†÷
??? ‚?=0‚?9???0‚?2? *†H†÷
???0)?
*†H†÷
0???D8î^•IoCÛ½5‹H‹W©^
?@???ÃP€‚?ø?+­—Äeþ”ú}eÑHž?¸‚ñ¨??èé¢ìúq‘rp¯s^²E.ýáÓ©??K?ûV.ùÐ}?À«B|,ɤ|–œÄ
T?Í$"K?r«ƒó˜??Là?3*˜Ä¢boh?c@6'á]a‹åk¿˜öÅz€óoT­…
z¤9¤Â?A??a·af’?tu,®ãœ‚™ŸÚ)ÊÜÝ°y‹?Â礔cz•)þSmtš‰Òˆ…¨ù¨pÄRN(ò
WnúhŽ®K‘¶y¤aò†ƒ|Ãúµ?Qlö3?Ïíq¡åyœ"çz–ëP$Y~
m?KϤÓ?ʍgÅ:Á?ô¹¾Q+ƑÄxsK»Ñ])¿iW9˜«bnN™œ¸JLØ?a¿ƒ&@¤?<Ôð’5?ÁõÆ,¬Ý¸Pϟµaœt£à1‹'¡¸?†£ä?aÄ»4Tµñ/ûj׏]i?&§!Þö?žý<£N‚
Ì&fÏÒø´%õ–·.¢L?Ý&$8hd)Wy”m?æ‡0X}å?´†h…«ú<çÚÿz/"󞓀Úí‡9¿BÅpoâÕZy2€«ž2   
¡D¬¼ªÀ­¿6Y‚Å1ÙÀÇ÷‰CæÜøÝ\4&†YBL;a‘gî=äº&cVjÄ°ù?[íó?*Äx6EH7¤\D¼v†¼[¹â£RšK»q2"äl?µ9ð(a??
ÖC¹úô^¥?ۆd??kì½"??W‹”$ïEfí?ݛîR!­¨Ûâe¯ø[)N
tXYՌzô?Dê†ÆãìpʺqÞûQ¿™?§T?\’õ²?û-#33i3LŒËø?b*cÂõzÊ?†>?jvËüÆr·`,6U½¾ÿ"A·Qÿ?üÁ·ôB_??ß|.úFÉðnC?‚?H
õã?+èÕ?:'ãý?e¨?ò¿ßʼnC‘ÔŒïô?£¥»?a   
¦€Oµ¬KŠŸ®±oÁGS`}âA@kž?sáÐ?Ÿäáhyk÷KITŸã?ÂEڇ?zãH€hÊO§‰(¿4ê]m%­±–£`Íd!e÷|û!~K˃ÄÁ?÷°J?wê*q?ù0;¨R»3sÈaKàqæ`˨?m
 ´œ?ô¦•0ÀI•ž¢‚*œ1éÄ*¦
pÕÍÈڐb“-}Û90à.?]Anéƚ3›?K´f?J-ƒuPó-([„?ÎV°–??gIk+{Ϗäwîøª#Â9½žT¾kqSmj?£>FђhèN
P“²«°)®e¸  ¡_®CˆS‹?½P??MôfN?9Êë
?ï?s%ât!vž?˜î?ǂ¸Q 
°V–&{¶?Ëáï?ñ£¤Fo³ÈŽÔ›éBx­^;ïóœxŠ??@ÁMՌ?5#ðÃK?9¢aÜý\z÷aLÿÂð/I–"—‰   
¡*•ÿÓÊXðlZ?0>0!0   ??+ZX¾²Ô ‡]e€À4{?]f¸N¹??9—C?pwz4?äº???Ç[®? 
¿???† 

=
== File: 

=
0‚?¦???0‚?_?*†H†÷
??? ‚?P?‚?L0‚?H0‚?D?*†H†÷
??? ‚?50‚?1???0‚?*? *†H†÷
???0)?
*†H†÷
0???ŽV?«OéÛ[ž€œf¾=¶!f?ëc???ÃP€‚?ð??½Fàù•?zb‹|Ú?páºÀ1?qk??ÜFpt¦??“Âb›á…
sQšÀxgºÆÂRÈô
›Ã?wi?õ—?7ï­L?iõ¡ž#þ8÷­o29?zEhu$?{@'m£?¿yÿKí‡>á 
Sg'9JŸÓ???ßµ”€àR=p!Õ#—$ÇPn»‰|ԕÖm­aË'jU¯fh?Ù$!±®?š¶áª?R·ÔWØv·?Ñc±¤=HÍ:¶n˜hú/Ç8Ó£#ó?9à‰
 
ªUHÕ¨?‚Ö]pzæŠÈ©›e?Ղgù%5¢<ìþBm?‚?âܸ,[(ÛŌ?ëC²?hVM"¡ð?#zïpƒsÊpÖ«uˆsjsS?OéásþŽÍ×í?H?o?Tü-†yäòˆìÿUsKEÜç?ý{ëÁ)³h‡7ђK?uâEÔ3®í
…ªv?ìú‹_oCË3?®.fÍ}`t?ç?|ª"°z¤?   ”'â„6??Ÿ²£u5ë_£v?-
õFøÑvSjæœÎ9ú?ï_gú
95?¡0#ο­±X€X?ý•ú?f°Q­?…Ñ’ŸÀs¯???+³œæDL`smZŸYFS?ðb½ôzOŒ2ZyE¿?¡§¶I
mÍ£ƒM­7Jü0,¾8z
ý£äìæ–JÌKÎèœà U¤9ØÚ[Gjáÿ&+?!¶?lz9«),•÷­µÙ?u?Š ??#Ғ^?²?1Çìj¤ú
Õj.o®Ô/<>ZH!?LƒÔÑDU#—y–È.-¯qeh[¡Ê<æå/hÞÖöR?X.;øÙÅ,¾ù!?סAĸ´E[å„ÞÊ=$,rúfóš?}¾Ì†(j?ÝW´Ò©¤ûø:ím‘/vÌÿIi‹ž»‰U\?û?
o‘–Qôò¯Ó¸??î>‚B"?F€SË{d?>ˆ[±¼‰?— #6/ 
w„Òh¡·?§²((ÿî8!J632¡?Ï$û?í„ù?âbV?wD^?:ç0>0!0
??+¨?„±Åò©8m\*˒ÿöJã¾ø??ôz5™›è‰˜&óžÆƒ=rˆÆ?§† 

=
== File: 

=
0‚
0‚  º?  *†H†÷
??? ‚   «?‚ §0‚ £0‚?g?  *†H†÷
??? ‚?X?‚?T0‚?P0‚?L??*†H†÷
??
?? ‚?û0‚?÷0)?
*†H†÷
0???TÌgŽ‡y?¥¢?åMú?4}Er???ÃP?‚?È?9»?œÿÒ#³âtµ‡}Fèóà??v4ê‘mO?kã2ç"??`Y¡ôæø?5x~T’Úp[hü??Rz
 3®ÛºÑÐ?9SÊ?*>?ÍG–?š(3#ϊr„?»êÖ¼(ï ?¯4ñÜÛø‡k”í{¶äß??ËqZxþsV
×80-™^¼‘I<Ö,ˆA?¾:¥?g???ȗd¶;ÕÇ'Y¥îá5±x÷šM<ñ ?n%
¿??Ê8MG䁟SP?DL3N¢¼Àd¸@jˆy~Õ?2¶§øìM^|øÏ~ÁÌ"èwšçÇi¤tÈp9•uǜ?UØÌd­œ>?ûÊò¾¬)(•!š´?´Z,êý"íàâé—Ùr¬*JQvâLÐ
T?Â?€“V7oºƒ|
IAFÕ­÷pÔ?Þq»3Ã͛?dð_™H??—?¯£Ó‰ÁPԗ°¼~
³Ôù?–¯Â19Q?GûŽ;?Ï)ÅâE)e X*†˜yýOÏÖîèÇq>žýyضv¹?S¯XÓ?Á§„k??6´7t
˜o?jìøªÕ²3?’O7?Ex.‚ãê¾ÒªOS³U?¶ù¢R?–Ž-?˜5‚ÈTª;uk¥Lx|"µ€Úx"üdC9uxÁä_?eŽ?oJ°œ?¼©?Cs??«J¨Ô•sàʸìJËE±ÑEW(V?²U?æå¼=?jê$?S?Dn"Üot9•sõ??¤dì?a¼`,›éޘS?žÜ?ÔBd?¾
 í8±^Ó/tå+^2_QMå«{ýAœûêLÉ]y “?7åµ}?‘ۤЦ»  ¨k  ?´‹}ÌÉcUHQY˅
ÇÎ]?Ìßxs?M‡þpãâd?ž?Œêº´˜Îj˜¸ú?@.V5ts‹‰ü܏?;­??–3Ò?”ïÑ䑊þÌ5¨8”äç4Ëy›XŽÀ~Ø62??ÇO¾Ü¼
   û•èÁø?ƒ?d§]‡ó“OAAÝ'-ÎPý´o?Û???KÛ,4½
?î?í÷‘€Êa?X0egb‚é>ÍJÌc«(¶6Ù(xf?è0l¦;qõt?y?ã?Ô¹}"Ï 
_?cl¯Ë«÷—Þ,Õ¹ôM™:Ëè-G~_*0”ƒf²<£?b?‚?­??€ÎËøÆ?‡??? 
Õo?Î?/~Uë%?è¢O?“Ó!?ô&÷:k;Tô©÷š[X<ãóµBǒDé\þYšŸ|Ž‹LØ???«‹?̱´#aä›õs†?N?üøv2€Áú?.?Mù¡ØOªK~?äzî¤J~-uõ„Y
š# ÙÏ­?OêÄ`?~¥äB£!³[¡ 
ƟœÁÿѾÕÊ-O*?-Àŗn¼Éc[¥¨æÉB2¨¬}\Ћ?žš­ptƒyóŠ›?ˆYJcL#‹%B{áµÂ§ì‚?>D×.?õ?˜ãlx‡Óàî„O?X±¯’
ihIl´(ò"0w‘¨Ô¨;???"’qãé€ÕH=´nö 
¦¨iÞ(€4°mœpPnõ©!Óh,(LŸzh?Ò1¶?z8ÑØz5‰6ß)?òJ!w(2‡@+9v|PT?†„ÓÙ%g??¦DUIMu¿H±¿Üñ:>>úÚ/?í?e?$Š7£øÝÛ×bË?5­­‘zG»xMÔtÓ±]FÀWßQŽº£²‚?²WŠcµ¡€ZÀjƒQ?o
 !?骬0?µ1TÈH1>0??*†H†÷
?   ?1??
?m?y?k?e?y0!?   *†H†÷
?   ?1???Time 15270966175360‚?4?*†H†÷
??? ‚?%0‚?!???0‚??? *†H†÷
???0)?
*†H†÷
0Gâ G?A2´VãzLb?îuÞ²Æ???ÃP€‚?àÇ8bñ-_AŠéN?…UaÐ?Z²
_ìœ?a?@öÿ>„Qw•fÔ
¾—?:)‡—?àÎþóvMgÐnú_â??´¦ò³@e°¯¶h¬sBߝ¯?]úvXòÓK0'+?];Â?Ð?쁄¿hŸÇ…
9F[b£

[activemq-artemis] branch master updated: ARTEMIS-2484 Ignoring QuorumFailOverLiveVotesTest.testQuorumVotingLiveNotDead

2019-09-11 Thread clebertsuconic
This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git


The following commit(s) were added to refs/heads/master by this push:
 new 0acf191  ARTEMIS-2484 Ignoring 
QuorumFailOverLiveVotesTest.testQuorumVotingLiveNotDead
0acf191 is described below

commit 0acf191e210987998b1f6fd363203c98fc443e6f
Author: Clebert Suconic 
AuthorDate: Wed Sep 11 14:50:02 2019 -0400

ARTEMIS-2484 Ignoring 
QuorumFailOverLiveVotesTest.testQuorumVotingLiveNotDead
---
 .../integration/cluster/failover/QuorumFailOverLiveVotesTest.java | 4 
 1 file changed, 4 insertions(+)

diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/QuorumFailOverLiveVotesTest.java
 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/QuorumFailOverLiveVotesTest.java
index 67e0464..5f53753 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/QuorumFailOverLiveVotesTest.java
+++ 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/QuorumFailOverLiveVotesTest.java
@@ -26,6 +26,7 @@ import 
org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl;
 import 
org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation;
 import org.apache.activemq.artemis.tests.util.Wait;
 import 
org.apache.activemq.artemis.tests.integration.cluster.util.BackupSyncDelay;
+import org.junit.Ignore;
 import org.junit.Test;
 
 import java.util.Map;
@@ -53,6 +54,9 @@ public class QuorumFailOverLiveVotesTest extends 
StaticClusterWithBackupFailover
 
}
 
+   /** Ignored per https://issues.apache.org/jira/browse/ARTEMIS-2484.
+*   Please remove this javadoc and the @Ignore when fixed */
+   @Ignore
@Test
public void testQuorumVotingLiveNotDead() throws Exception {
   int[] liveServerIDs = new int[]{0, 1, 2};



Build failed in Jenkins: ActiveMQ-Artemis-Master #2512

2019-09-11 Thread Apache Jenkins Server
See 


Changes:

[clebertsuconic] ARTEMIS-2484 Ignoring

--
[...truncated 1.27 MB...]

=
== File: 

=
0‚
0‚  Ò?  *†H†÷
??? ‚   Ã?‚ ¿0‚ »0‚?g?  *†H†÷
??? ‚?X?‚?T0‚?P0‚?L??*†H†÷
??
?? ‚?û0‚?÷0)?
*†H†÷
0???5?“s?Lù‹nbáQ%ÔÍ?£?á???ÃP?‚?È}‡N%M/5fє?D¹-™ÝîUÈy©? QÔÜ
lÿçtÂãn@u‚ùÁù×2V{ ™Þ–ÅÉÁò,áf6…î´ðÞ!á?ƒ>íô Þ>‡ïßv’Î?<)ˆû>?i&§Æ¡„ÐÆU}O?‡É¡©„
Æôɐ*®‹Õß?U?ÛÓ´"UûMØ–?i¼$þ@Õe®?±m?kâAFW>¦þIº??¬õè?h"Ü?ƒb¥&»%yÈúÔ?Q?ë2Ñ%¦Ô†Çµ\?&
ò@è¤÷mfjÏÒ«]=‰É
?—?–÷ìµxůxkB?û™¥?2?‹¤?GØÞu_
-tëL±BO³,?Àé¥??ˤ`î˜í2Ôu‹?]a!u
o?Fø\ÂÐÏ?e³
·+¨??¸dn?6“?ƒxÄ??­0½x??.Um?Ø"Â
8?Ë4_??è@??:³ßühdðº¶6æ±?‹‰RÐ^Ÿîò˦g–3ñÌ,»aô녰œúpé4Tq²I‡i<â\?2?˜?˜??”ªdxþàb
iRc•|Œ¸wšV?©úœµf
9]?p¸?橀ß#¿î|&›¸2BCÒ%!¡??dK½î™»­??0ûP?³¼?„´3Ñ"?wR¤Ek[Ô脚.¤‰(Ä|]?ô?’^­ÏèWñ&Üxç´:´”?Õ
   
Í"ŽI–"ô|ýéÞ·;µ•Ô}¹??2F?(à²z[Ž‰Pcͼ?z¸`?Cž¡àKn?Lተ¢Í?~Ä?z×6÷áW¶??³?މ&afø"fm3û(?K*ÏcWÅÒwÍé´Wؖ?-§uL?¥b_à@s&؛eÞ?G?04ÿ'°œ?aÄgq!¥È?à¸ñ¡?'`÷¢-*?d÷‹½ßÒ¦"Š‹AoÛ»¢)l+ýº’?•:mÓ¶d’»??º7i±´º¢¯N¯u,??äÓfw?¸ûÉ?8d毿uÿ4?®Šr­/X?;wø²Í'W÷SM4æчԥÍÏTG¦‚’w[?"•mÁm¸îŠB°Œs\¢^ë?Äk?Ì}?3'Ô°“˜¤§{ÑMX©ŒY0Y8·ÙÏmÞñ
 þ???¿·
Ê?4`ÒĹH±X«„‘ÀãíŽóóÚçe•õ4õ¥
XÊÔ?֗Wx?x-¨š[@·ù°Õ{T k>&˜˜‚n"?ďÇƼ’N„üD=¸wÊ才Ç?•} ý݅
vzœ{?$K@M?Þßî¾Á?‚Rž?É»tý2m´A²eÀ$.F?þ›._-?ï“?f†?%cZšY?þ9%)b…k¢g™ß1>0?? *†H†÷
?   ?1??
?m?y?k?e?y0!?   *†H†÷
?   ?1???Time 15270978378910‚?L?*†H†÷
??? ‚?=0‚?9???0‚?2? *†H†÷
???0)?
*†H†÷
0???’M©o©?›k?³?ÂщÀ?xc?ü¥f1??+4†^Á×¥?ã³?Â\ò?áý³ÓÅ?Ìãþ„u'é??㫝õ¹ÉO¹¥
 }êÅð×?Nq.ìÃØËф¡öÊ@FÅ4û^ï“Q8Õ­½Cř©æ?
?JÝ(Df¦?Êóm·3Ûäã ùµyÌ@
Ƕ0!?>qΨH‚N?…Jþfk?õiRÏç?Xp?l_ÍÙ?gL%¤7ÏßNÀ0fº(´Úê]IəD ??õÓân„û?¤©}P}@,*op4
”?ç;·¯‚Ü?zþÉoo…?àäVmà?{?&º#ŠB’gùòx?ËnC7×x—ÁúÜúÆh1A2ˆÔ§·?ÈJð ObßMÖëP
?‹ˆ_`?Úz-$z<¯?ƒ¨ˆ?LbjwÎ`Ädlé/dcÑ=1ÛrÊÝçÏ/uE‰kræρ?1±ÀÄÓ?K±ˆ:?ƒ_Z7-J9l0ýò<8Ò«??š9€Ñ«“?þ46´W?!pC´“ûãŒ?rwjõ?–˜r¬ërþ?÷ÆSŸ½vבDrü±Oà$‡€?ôûÿò„?ó‰
 "Ðó0Læ; 
˜×R›?Çäþ£¸·“ªÓoòÙÌúÕt7$Ä??Õ??õ?‘?“È™ò[†û¢˜àݔ}?óô?õO¸J[î>f1m?§ÖxLì?9?#¸Ä¡¼½@ÆI
 ñ?“§zߟe²3U­®­Ùy¦s՚Ԛ¿<¢L?²n??9ÚÝE‚?¿½ÙûA@æ?S¨–?N¥§ª&u‡KçX·?Û{5i‡ßf 
€ÝÕ4::šÚø›éÙÌa.À€??ýWÚ'?ž[À]+õÇ)gÕf>°§)כªäN?¢†
ÁÈ?YOQQDs¬
. 
jÒßP‰ÆéÐø?Ž†x¯¥!4†)S?¶?š?Œ=œ/?q8:™??Þ¢ª?T·ÛC‹ÇÊÀÀN+]??{ÈZ‡»»?ò:?#©Ü‘Ô?:/?QŒNRjr=„??‹:?M~Àì'I^çÍÙ?D¿Ub\?ƁíóµR¬uý±°õ݁
óŠÛ?Öæ¶?âÀ?ÞI.ÉQ°1bPøô®*[&"AŠ?ŽN­ö2€™?K¾jÍ5s?Þøñ:œëqxVš÷Ïáƒ>ã
ñD?
Òy¹•)»?
q÷n7‘?{QW??‘NVïŠéKŠíî?€‚ì»?¥.ö©ïCN–½îÄ^?Èkš¢+?QÍ??€ªÙ]™d®ÿ'éæw?7¡0>0!0  
??+d?Ë.´??}GWJAÚ$£6¤Ñ??oPå†Ø'\Ø㎜Y÷G‡È
FÃ???† 

=
== File: 

=
0‚
0‚  Ò?  *†H†÷
??? ‚   Ã?‚ ¿0‚ »0‚?g?  *†H†÷
??? ‚?X?‚?T0‚?P0‚?L??*†H†÷
??
?? ‚?û0‚?÷0)?
*†H†÷
0dãàb?*K«…
ö?nÏ¥ŠŠÚr???ÃP?‚?È8ßebrˆÚZ?Õc”mþqYPðˆ=L‘?ùõÐ?Ó?"ã?ç¾ÿ‡¤\eׄ?¼œÛTæ?ø?®ÁyS€[þ^’uòÍI±*e?c6,"c¥tx¡j?„O?3Íó±tHµ‰yéüì?š?á°[ƒ©??ÌEu‚/v?#?(
ŒïÙwIñ???l¾£%JD)ÃÚø?ØU
~ûSôUm--f6õ­t)ñmïút¤Â[þ?sB¬??=¾MÌ$ã?ÝïJú&žS€¼È„?¬/Iîf¬Ç``þ$µ„h¼’žlâ?¡ï 
å?XÉ?;§½ô~ñzƒG©(5Cô>|?_uŠäÉ)yTȖ¡yįN¹IDìj£«®zu¿.?ܧ†,$lºeÀò#Xw3??&bh?h·¬¿8|ÙÓ?Á@I?ŠÄºJñ³´¥¡kÎÏy?X¤—‡r!šäŠ;¿”?x?Fuˆ0??  *†H†÷
?   ?1??
?m?y?k?e?y0!?   *†H†÷
?   ?1???Time 15270966141550‚?L?*†H†÷
??? ‚?=0‚?9???0‚?2? *†H†÷
???0)?
*†H†÷
0???D8î^•IoCÛ½5‹H‹W©^
?@???ÃP€‚?ø?+­—Äeþ”ú}eÑHž?¸‚ñ¨??èé¢ìúq‘rp¯s^²E.ýáÓ©??K?ûV.ùÐ}?À«B|,ɤ|–œÄ
T?Í$"K?r«ƒó˜??Là?3*˜Ä¢boh?c@6'á]a‹åk¿˜öÅz€óoT­…
z¤9¤Â?A??a·af’?tu,®ãœ‚™ŸÚ)ÊÜÝ°y‹?Â礔cz•)þSmtš‰Òˆ…¨ù¨pÄRN(ò
WnúhŽ®K‘¶y¤aò†ƒ|Ãúµ?Qlö3?Ïíq¡åyœ"çz–ëP$Y~
m?KϤÓ?ʍgÅ:Á?ô¹¾Q+ƑÄxsK»Ñ])¿iW9˜«bnN™œ¸JLØ?a¿ƒ&@¤?<Ôð’5?ÁõÆ,¬Ý¸Pϟµaœt£à1‹'¡¸?†£ä?aÄ»4Tµñ/ûj׏]i?&§!Þö?žý<£N‚
Ì&fÏÒø´%õ–·.¢L?Ý&$8hd)Wy”m?æ‡0X}å?´†h…«ú<çÚÿz/"󞓀Úí‡9¿BÅpoâÕZy2€«ž2   
¡D¬¼ªÀ­¿6Y‚Å1ÙÀÇ÷‰CæÜøÝ\4&†YBL;a‘gî=äº&cVjÄ°ù?[íó?*Äx6EH7¤\D¼v†¼[¹â£RšK»q2"äl?µ9ð(a??
ÖC¹úô^¥?ۆd??kì½"??W‹”$ïEfí?ݛîR!­¨Ûâe¯ø[)N
tXYՌzô?Dê†ÆãìpʺqÞûQ¿™?§T?\’õ²?û-#33i3LŒËø?b*cÂõzÊ?†>?jvËüÆr·`,6U½¾ÿ"A·Qÿ?üÁ·ôB_??ß|.úFÉðnC?‚?H
õã?+èÕ?:'ãý?e¨?ò¿ßʼnC‘ÔŒïô?£¥»?a   
¦€Oµ¬KŠŸ®±oÁGS`}âA@kž?sáÐ?Ÿäáhyk÷KITŸã?ÂEڇ?zãH€hÊO§‰(¿4ê]m%­±–£`Íd!e÷|û!~K˃ÄÁ?÷°J?wê*q?ù0;¨R»3sÈaKàqæ`˨?m
 ´œ?ô¦•0ÀI•ž¢‚*œ1éÄ*¦
pÕÍÈڐb“-}Û90à.?]Anéƚ3›?K´f?J-ƒuPó-([„?ÎV°–??gIk+{Ϗäwîøª#Â9½žT¾kqSmj?£>FђhèN
P“²«°)®e¸  ¡_®CˆS‹?½P??MôfN?9Êë
?ï?s%ât!vž?˜î?ǂ¸Q 
°V–&{¶?Ëáï?ñ£¤Fo³ÈŽÔ›éBx­^;ïóœxŠ??@ÁMՌ?5#ðÃK?9¢aÜý\z÷aLÿÂð/I–"—‰   
¡*•ÿÓÊXðlZ?0>0!0   ??+ZX¾²Ô ‡]e€À4{?]f¸N¹??9—C?pwz4?äº???Ç[®? 
¿???† 

=
== File: 

=
0‚?¦???0‚?_?*†H†÷
??? ‚?P?‚?L0‚?H0‚?D?*†H†÷
??? ‚?50‚?1???0‚?