[jira] [Resolved] (ACTIVEMQ6-6) Extract any JBoss SPI code replace with generic

2015-01-06 Thread Martyn Taylor (JIRA)

 [ 
https://issues.apache.org/jira/browse/ACTIVEMQ6-6?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martyn Taylor resolved ACTIVEMQ6-6.
---
Resolution: Fixed

 Extract any JBoss SPI code replace with generic
 ---

 Key: ACTIVEMQ6-6
 URL: https://issues.apache.org/jira/browse/ACTIVEMQ6-6
 Project: Apache ActiveMQ 6
  Issue Type: Improvement
Reporter: Martyn Taylor
 Fix For: 6.0.0






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


Re: ActiveMQ 6 - TomEE integration

2015-01-06 Thread Martyn Taylor

On 05/01/15 12:25, John D. Ament wrote:

If you look at the branch as of late yesterday, you'll see that it mostly
works which is pretty cool.

I'm now able to write a message and see that the the RA tries to pass it to
the message listener.  ActiveMQ seems to go into a weird loop here, haven't
looked much closer yet.

There's a couple of things I'd like to recommend.

- Can TransactionManagerLookup be passed in via configuration, in addition
to a serviceloader? So if it's not configured you leverage a service loader
to resolve it?
By passing by configuration, Do you mean allowing the 
TransactionManagerLocator class to be configured.  Something along the 
lines of 
transaction-manager-locatororg.foo.TransactionManagerImplemention/..


- ActiveMQ previously had a feature where the first time a destination was
written to it was created.  TomEE/OpenEJB seem to make heavy use of that,
at least within tests.  I would imagine the users do as well.  Any chance
that can be ported in?  Currently AMQ6 will throw an exception if it
doesn't exist.
This is something we are looking at.  We have a JIRA for this here: 
https://issues.apache.org/jira/browse/ACTIVEMQ6-13?jql=project%20%3D%20ACTIVEMQ6


John


On Sat Jan 03 2015 at 6:59:14 PM John D. Ament johndam...@apache.org
wrote:


Yeah, I would imagine the final pass will make everything in Configuration
an option to the RA.  For now, I'm just bypassing things until I get a good
grip on what's being passed in to the properties.

For the scope of this (a POC), I ripped out AMQ 5.10 and dropped in 6.  I
believe things are still up in the air, but I know there's a goal for JMS 2
support in TomEE 2 and right now it doesn't make sense to try to backport
the JMS 2 APIs to the ActiveMQ codebase.

John


On Sat Jan 03 2015 at 6:02:47 PM Clebert Suconic 
clebert.suco...@gmail.com wrote:


You Probably need to configure security properly and pass the proper
Principal?


I will take a look on monday... I'm at the end of my vacations now and
I won't be able to work over the weekend...


Again... good stuff...


BTW: Are you totally replacing ActiveMQ by 6 or you are making it
optional?

On Sat, Jan 3, 2015 at 2:19 PM, John D. Ament johndam...@apache.org
wrote:

Little more info.

Got past this part.  Then hit an auth issue, turned off auth for now

and I

at least see the connections making it (woo hoo!!).

It looks like it passes back a proxy wrapper to the session, and not the
session itself.  It looks like OpenEJB and ActiveMQ are both trying to
handle the closing of the session automatically.

https://github.com/apache/tomee/blob/develop/container/opene

jb-core/src/main/java/org/apache/openejb/resource/AutoCo
nnectionTracker.java

So ummm need to think about this a bit more.

John

On Sat Jan 03 2015 at 1:29:31 PM John D. Ament johndam...@apache.org
wrote:


Clebert,

On Sat Jan 03 2015 at 1:11:57 PM Clebert Suconic 
clebert.suco...@gmail.com wrote:


That's great stuff you're doing...


Is there a branch we could try this?



Sure, you can find it here:
https://github.com/johnament/tomee/tree/activemq-6

You can see the test is called AMQXASupportTest, where I'm just trying

to

go through the steps that would bootstrap the RA.  It's in the

openejb-core

module, the only things I've poked at thus far are around which

classes are

being invoked since there's lots of new packages and classes floating
around (obviously).

FWIW I had thought to use a similar approach I took last time I did an
embedded HornetQ type solution, however that was an early 2.1/2.2

thing,

and it looks like the 2.4 code base was a bit different for the non-JMS
pieces.



Perhaps there are dependencies that would need to be installed, and
old dependencies we still need to clear from the codebase? Did you
look at that?


I've thought about classloader issues, but I don't think that's the

case

yet.  The fact that I'm seeing AMQ start up means that the code to

boot the

RA is working, it's simply not able to find the InVM connection that

it's

expecting.

All maven dependencies were updated and locally I'm building off this
branch: https://github.com/johnament/activemq-6/tree/geronimo-spec-jar
but I don't think that makes much difference.

Now it could also be that I was way off on my guesses for what the new
classes are, but comparing the classes I picked from 6 to what TomEE

used

in 5.10 they appear to serve the same function.  The only thing special
about TomEE's RA (which extended AMQ 5.10's) was that they used the

JDBC

store for messages.  For now that's not an issue for me so I avoided

the

sub-class for now.

John



On Sat, Jan 3, 2015 at 11:23 AM, John D. Ament johndam...@apache.org
wrote:

I'm resending this as I had my emails messed up.  Sorry for any

moderation

issues.

On Sat Jan 03 2015 at 11:06:43 AM John D. Ament 

johndam...@apache.org

wrote:


Ok, so got a little bit further.  I see the broker starting with

the

in vm

connector.

659 [main] DEBUG org.apache.activemq.ra  

Re: [DISCUSS] Renaming trunk to master

2015-01-06 Thread James Carman
+1, master is the norm, no matter which Git workflow you use.

On Mon, Jan 5, 2015 at 1:27 PM, Hadrian Zbarcea hzbar...@gmail.com wrote:
 It's a bit confusing, a leftover from the svn days.

 I think the rename was supposed to happen but it was somehow overlooked. Any
 objection to rename?

 Hadrian


Re: [DISCUSS] Renaming trunk to master

2015-01-06 Thread Robbie Gemmell
+1 for the rename.

Using master is typical and this is definitely a change now made by
infra during migrations, based on experience of migrating a couple of
things into Git repos at Qpid recently.

On 5 January 2015 at 18:27, Hadrian Zbarcea hzbar...@gmail.com wrote:
 It's a bit confusing, a leftover from the svn days.

 I think the rename was supposed to happen but it was somehow overlooked. Any
 objection to rename?

 Hadrian


Re: [VOTE] Release Apache.NMS API 1.7.0

2015-01-06 Thread Dejan Bosanac
+1

Regards
--
Dejan Bosanac
--
Red Hat, Inc.
dbosa...@redhat.com
Twitter: @dejanb
Blog: http://sensatic.net
ActiveMQ in Action: http://www.manning.com/snyder/

On Tue, Jan 6, 2015 at 6:58 AM, Claus Ibsen claus.ib...@gmail.com wrote:

 +1

 On Mon, Jan 5, 2015 at 3:59 PM, Timothy Bish tabish...@gmail.com wrote:
  Hello
 
  This is a call for a vote on the release of the Apache.NMS API v1.7.0.
  This package contains the API for the various Apache.NMS client along
  with utility classes and unit test cases against the abstract NMS API.
 
  This version of the API will be the basis for the next set of NMS client
  releases including Apache.NMS.ActiveMQ and Apache.NMS.Stomp etc.
 
  Changes in this version include:
 
  * Added IDisposable as a base of IDestination.
  * Added some improvements to the Unit tests framework.
  * Added some new provider names (AMQP and MQTT) to allow for future
 clients.
 
  The binaries and source bundles for the Release Candidate can be found
  here:
  [ http://people.apache.org/~tabish/nms-1.7.x ]
 
  The Wiki Page for this release is here:
  [ http://activemq.apache.org/nms/apachenms-api-v170.html ]
 
  Please cast your votes (the vote will be open for 72 hrs):
 
  [ ] +1 Release the source as Apache NMS API 1.7.0
  [ ] -1 (provide specific comments)
 
  Here's my +1
 
  Regards,
  Tim
 
  --
  Tim Bish
  Sr Software Engineer | RedHat Inc.
  tim.b...@redhat.com | www.redhat.com
  skype: tabish121 | twitter: @tabish121
  blog: http://timbish.blogspot.com/
 



 --
 Claus Ibsen
 -
 Red Hat, Inc.
 Email: cib...@redhat.com
 Twitter: davsclaus
 Blog: http://davsclaus.com
 Author of Camel in Action: http://www.manning.com/ibsen
 hawtio: http://hawt.io/
 fabric8: http://fabric8.io/



Re: [DISCUSS] Renaming trunk to master

2015-01-06 Thread Dejan Bosanac
+1

Maybe we should wait with the rename until we have 5.11.0 released (there’s
some work involved like reconfiguring jenkins and stuff, so it'll delay
release)

Regards
--
Dejan Bosanac
--
Red Hat, Inc.
dbosa...@redhat.com
Twitter: @dejanb
Blog: http://sensatic.net
ActiveMQ in Action: http://www.manning.com/snyder/

On Tue, Jan 6, 2015 at 1:44 PM, Robbie Gemmell robbie.gemm...@gmail.com
wrote:

 +1 for the rename.

 Using master is typical and this is definitely a change now made by
 infra during migrations, based on experience of migrating a couple of
 things into Git repos at Qpid recently.

 On 5 January 2015 at 18:27, Hadrian Zbarcea hzbar...@gmail.com wrote:
  It's a bit confusing, a leftover from the svn days.
 
  I think the rename was supposed to happen but it was somehow overlooked.
 Any
  objection to rename?
 
  Hadrian



[GitHub] activemq-6 pull request: Fix failing RA OutgoingConnectionTests

2015-01-06 Thread mtaylor
GitHub user mtaylor opened a pull request:

https://github.com/apache/activemq-6/pull/54

Fix failing RA OutgoingConnectionTests

Some of the outgoing connection tests require a dummy transaction
manager to setup a fake transaction.  The default transaction manager is
set to the JBoss TX manager and so the tests were failing.  This patch
split the OutgoingConnectionTest into ones that require a real TM
manager vs Dummy TM Manager.
.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/mtaylor/activemq-6 fixOutgoingConnectionTest

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/activemq-6/pull/54.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #54


commit b9ad78e29c1deaef54e60912503a887de092594c
Author: Martyn Taylor mtay...@redhat.com
Date:   2015-01-06T13:31:29Z

Fix failing RA OutgoingConnectionTests

Some of the outgoing connection tests require a dummy transaction
manager to setup a fake transaction.  The default transaction manager is
set to the JBoss TX manager and so the tests were failing.  This patch
split the OutgoingConnectionTest into ones that require a real TM
manager vs Dummy TM Manager.
.




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


Re: [CANCEL][VOTE] Release Apache ActiveMQ 5.10.1 (2nd attempt)

2015-01-06 Thread artnaseef
The STOMP tests passed on the trunk.  Ran into another problem which I
believe is being discussed in the 5.11 release thread.  I'll see if I can
find what's different in the stop tests.



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/VOTE-Release-Apache-ActiveMQ-5-10-1-2nd-attempt-tp4689263p4689582.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.


Re: [CANCEL][VOTE] Release Apache ActiveMQ 5.10.1 (2nd attempt)

2015-01-06 Thread artnaseef
I ran a build without tests no problem.  Running unit tests, I am seeing
problems with Stomp tests.

Right now, I'm re-running the build against the trunk to see if the same
errors occur.

Honestly, I am so used to being in the habit of building without tests in
ActiveMQ because of inconsistent results and excessive test time.



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/VOTE-Release-Apache-ActiveMQ-5-10-1-2nd-attempt-tp4689263p4689580.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.


Re: [VOTE] Release Apache.NMS API 1.7.0

2015-01-06 Thread artnaseef
+1 (non-binding)




--
View this message in context: 
http://activemq.2283324.n4.nabble.com/VOTE-Release-Apache-NMS-API-1-7-0-tp4689440p4689579.html
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.


[jira] [Resolved] (AMQ-5481) Trace logs in MQTT Protocol Converter

2015-01-06 Thread Timothy Bish (JIRA)

 [ 
https://issues.apache.org/jira/browse/AMQ-5481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy Bish resolved AMQ-5481.
---
Resolution: Fixed

Patch applied with some tweaks

 Trace logs in MQTT Protocol Converter
 -

 Key: AMQ-5481
 URL: https://issues.apache.org/jira/browse/AMQ-5481
 Project: ActiveMQ
  Issue Type: Improvement
  Components: MQTT
Affects Versions: 5.11.0
Reporter: AR
Assignee: Timothy Bish
Priority: Minor
  Labels: MQTT
 Fix For: 5.11.0

 Attachments: MQTTProtocolConverter.java.tracepatch


 Adding trace messages in MQTT Protocol Converter for easier debugging.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Assigned] (AMQ-5481) Trace logs in MQTT Protocol Converter

2015-01-06 Thread Timothy Bish (JIRA)

 [ 
https://issues.apache.org/jira/browse/AMQ-5481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy Bish reassigned AMQ-5481:
-

Assignee: Timothy Bish

 Trace logs in MQTT Protocol Converter
 -

 Key: AMQ-5481
 URL: https://issues.apache.org/jira/browse/AMQ-5481
 Project: ActiveMQ
  Issue Type: Improvement
  Components: MQTT
Affects Versions: 5.11.0
Reporter: AR
Assignee: Timothy Bish
Priority: Minor
  Labels: MQTT
 Fix For: 5.11.0

 Attachments: MQTTProtocolConverter.java.tracepatch


 Adding trace messages in MQTT Protocol Converter for easier debugging.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (AMQ-5481) Trace logs in MQTT Protocol Converter

2015-01-06 Thread Timothy Bish (JIRA)

 [ 
https://issues.apache.org/jira/browse/AMQ-5481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy Bish updated AMQ-5481:
--
Fix Version/s: 5.11.0

 Trace logs in MQTT Protocol Converter
 -

 Key: AMQ-5481
 URL: https://issues.apache.org/jira/browse/AMQ-5481
 Project: ActiveMQ
  Issue Type: Improvement
  Components: MQTT
Affects Versions: 5.11.0
Reporter: AR
Assignee: Timothy Bish
Priority: Minor
  Labels: MQTT
 Fix For: 5.11.0

 Attachments: MQTTProtocolConverter.java.tracepatch


 Adding trace messages in MQTT Protocol Converter for easier debugging.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (AMQ-5508) Broker shutdown race condition leads to IllegalStateException: Timer already cancelled

2015-01-06 Thread Pero Atanasov (JIRA)
Pero Atanasov created AMQ-5508:
--

 Summary: Broker shutdown race condition leads to 
IllegalStateException: Timer already cancelled
 Key: AMQ-5508
 URL: https://issues.apache.org/jira/browse/AMQ-5508
 Project: ActiveMQ
  Issue Type: Bug
  Components: Broker
Affects Versions: 5.10.0
Reporter: Pero Atanasov
Priority: Minor


This issue is seen on the surface with the broker failing to remove a consumer:

2014-12-19 10:45:42,586 | WARN  | Failed to remove consumer:
ID:hack-34927-1419007505006-2:3:0:0 |
org.apache.activemq.broker.TransportConnection | ActiveMQ
BrokerService[broker0] Task-6
java.lang.IllegalStateException: Timer already cancelled.

The full stack trace [STACK_TRACE] will be specified at the end of this report.

In this case, the race condition is exposed via some of the AdvisoryBroker code 
while trying to send an advisory message as part of the consumer/producer 
addition/removal code. Below are excerpts of code to explain this race 
condition:

activemq-broker/src/main/java/org/apache/activemq/advisory/AdvisoryBroker.java

Lines 605 - 637 [in fireAdvisory(...)]
if (getBrokerService().isStarted()) {
 // code to create and populate an advisory message
 next.send(producerExchange, advisoryMessage);
 // send will trigger destination creation/addition for this advisory 
message topic
}

However, it can easily happen that a client (consumer or producer) connects and 
is added _before_ getBrokerService().isStarted() is true, so in that case, the 
boolean expression in the block above will evaluate to false and hence skip the 
entire advisory message send and create/add destination process. At this point, 
the consumer/producer destination does not have its advisory message 
destination created. If no other consumer/producer connects on the same 
destination until the broker is shutting down, then no advisory destination 
pairing will be created for that consumer/producer. When the broker starts the 
shutdown process, the event that will trigger an advisory message will be the 
removal of a consumer/producer as part of the TransportConnection stopping 
process. The sequence of calls with line numbers can be seen within the 
STACK_TRACE.

Back to the above specified code block, when the broker is shutting down, the 
broker is well started. Then, the boolean expression will evaluate to true and 
hence proceed with the advisory message creation/sending and destination 
cration/addition process. However, in the meantime, as part of the shutdown 
process, the Scheduler timer is being cancelled. Consider the following blocks 
of code:

activemq-broker/src/main/java/org/apache/activemq/broker/BrokerService.java

Lines 756 - 761 [in stop()]
// for each service
 stopper.stop(service);

activemq-client/src/main/java/org/apache/activemq/util/ServiceSupport.java

Lines 67 - 84 [in stop()]
if (stopped.compareAndSet(false, true)) {
... some code ...
doStop(stopper);
... some code ...
}

activemq-client/src/main/java/org/apache/activemq/thread/Scheduler.java

Lines 69 - 71 [in doStop(...)]

if (this.timer != null) {
 this.timer.cancel();
}

At this point, the timer is cancelled. Now, back to the thread removing the 
consumer. From the STACK_TRACE, it can be seen that after many calls related to 
the advisory message destination creation, it ends up in AbstractRegion’s 
addDestination method.

activemq-broker/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java

Lines 132 - 145 [in addDestination(...)]
if (dest == null) {
 ... some code ...
 dest = createDestination(context, destination);
 ... some code ...
 dest.start();  
 ... some code ...
}

As it can be seen in the STACK_TRACE below, dest.start() call will trigger the 
need for a timer to be scheduled on the same timer that has already been 
cancelled. Some debug prints to confirm the race condition:

1. Fail to send advisory message for this consumer advisory topic because 
getBrokerService().isStarted() is false:

2015-01-06 08:49:26,215 | INFO  | patanasov: from AdvisoryBroker fireAdvisory 
would have sent advisoryMessage: topic 
ActiveMQ.Advisory.Consumer.Queue.2015.01.06-08.23.00.16401 | 
org.apache.activemq.advisory.AdvisoryBroker

2. Broker shutting down and cancelling timer:

2015-01-06 08:49:43,602 | INFO  | Apache ActiveMQ 5.10.0 (broker0, 
ID:host-40197-1420555763149-0:1) is shutting down | 
org.apache.activemq.broker.BrokerService | ActiveMQ ShutdownHook
2015-01-06 08:49:43,603 | INFO  | patanasov: from ServiceSupport calling 
doStop(stopper) | org.apache.activemq.util.ServiceSupport | ActiveMQ 
ShutdownHook
2015-01-06 08:49:43,603 | INFO  | patanasov: from Scheduler 
doStop(ServiceStopper stopper) calling this.timer.cancel(): timer 
java.util.Timer@7df33bb0 | org.apache.activemq.thread.Scheduler | ActiveMQ 
ShutdownHook

3. Adding destination and 

[jira] [Updated] (AMQ-5508) Broker shutdown race condition leads to IllegalStateException: Timer already cancelled

2015-01-06 Thread Pero Atanasov (JIRA)

 [ 
https://issues.apache.org/jira/browse/AMQ-5508?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pero Atanasov updated AMQ-5508:
---
Attachment: AMQ5508.patch

Patch to fix raised issue.
NOTE: In the stack trace, the exception happens in 
Scheduler.schedualPeriodically, but this function has been deprecated. 
Therefore, the patch is now applied within Scheduler.executePeriodically since 
that's what is being called now from Topic.start().
The fix involves checking if the timer has already been called stop on before 
calling schedule on it. That way no calls are made if it has already been 
cancelled.

 Broker shutdown race condition leads to IllegalStateException: Timer already 
 cancelled
 

 Key: AMQ-5508
 URL: https://issues.apache.org/jira/browse/AMQ-5508
 Project: ActiveMQ
  Issue Type: Bug
  Components: Broker
Affects Versions: 5.10.0
Reporter: Pero Atanasov
Priority: Minor
 Attachments: AMQ5508.patch


 This issue is seen on the surface with the broker failing to remove a 
 consumer:
 2014-12-19 10:45:42,586 | WARN  | Failed to remove consumer:
 ID:hack-34927-1419007505006-2:3:0:0 |
 org.apache.activemq.broker.TransportConnection | ActiveMQ
 BrokerService[broker0] Task-6
 java.lang.IllegalStateException: Timer already cancelled.
 The full stack trace [STACK_TRACE] will be specified at the end of this 
 report.
 In this case, the race condition is exposed via some of the AdvisoryBroker 
 code while trying to send an advisory message as part of the 
 consumer/producer addition/removal code. Below are excerpts of code to 
 explain this race condition:
 activemq-broker/src/main/java/org/apache/activemq/advisory/AdvisoryBroker.java
 Lines 605 - 637 [in fireAdvisory(...)]
 if (getBrokerService().isStarted()) {
  // code to create and populate an advisory message
  next.send(producerExchange, advisoryMessage);
  // send will trigger destination creation/addition for this advisory 
 message topic
 }
 However, it can easily happen that a client (consumer or producer) connects 
 and is added _before_ getBrokerService().isStarted() is true, so in that 
 case, the boolean expression in the block above will evaluate to false and 
 hence skip the entire advisory message send and create/add destination 
 process. At this point, the consumer/producer destination does not have its 
 advisory message destination created. If no other consumer/producer connects 
 on the same destination until the broker is shutting down, then no advisory 
 destination pairing will be created for that consumer/producer. When the 
 broker starts the shutdown process, the event that will trigger an advisory 
 message will be the removal of a consumer/producer as part of the 
 TransportConnection stopping process. The sequence of calls with line numbers 
 can be seen within the STACK_TRACE.
 Back to the above specified code block, when the broker is shutting down, the 
 broker is well started. Then, the boolean expression will evaluate to true 
 and hence proceed with the advisory message creation/sending and destination 
 cration/addition process. However, in the meantime, as part of the shutdown 
 process, the Scheduler timer is being cancelled. Consider the following 
 blocks of code:
 activemq-broker/src/main/java/org/apache/activemq/broker/BrokerService.java
 Lines 756 - 761 [in stop()]
 // for each service
  stopper.stop(service);
 activemq-client/src/main/java/org/apache/activemq/util/ServiceSupport.java
 Lines 67 - 84 [in stop()]
 if (stopped.compareAndSet(false, true)) {
 ... some code ...
 doStop(stopper);
 ... some code ...
 }
 activemq-client/src/main/java/org/apache/activemq/thread/Scheduler.java
 Lines 69 - 71 [in doStop(...)]
 if (this.timer != null) {
  this.timer.cancel();
 }
 At this point, the timer is cancelled. Now, back to the thread removing the 
 consumer. From the STACK_TRACE, it can be seen that after many calls related 
 to the advisory message destination creation, it ends up in AbstractRegion’s 
 addDestination method.
 activemq-broker/src/main/java/org/apache/activemq/broker/region/AbstractRegion.java
 Lines 132 - 145 [in addDestination(...)]
 if (dest == null) {
  ... some code ...
  dest = createDestination(context, destination);
  ... some code ...
  dest.start();  
  ... some code ...
 }
 As it can be seen in the STACK_TRACE below, dest.start() call will trigger 
 the need for a timer to be scheduled on the same timer that has already been 
 cancelled. Some debug prints to confirm the race condition:
 1. Fail to send advisory message for this consumer advisory topic because 
 getBrokerService().isStarted() is false:
 2015-01-06 08:49:26,215 | INFO  | patanasov: from AdvisoryBroker fireAdvisory 
 would have 

Re: [VOTE] Release Apache.NMS API 1.7.0

2015-01-06 Thread Gary Tully
+1

On 5 January 2015 at 14:59, Timothy Bish tabish...@gmail.com wrote:
 Hello

 This is a call for a vote on the release of the Apache.NMS API v1.7.0.
 This package contains the API for the various Apache.NMS client along
 with utility classes and unit test cases against the abstract NMS API.

 This version of the API will be the basis for the next set of NMS client
 releases including Apache.NMS.ActiveMQ and Apache.NMS.Stomp etc.

 Changes in this version include:

 * Added IDisposable as a base of IDestination.
 * Added some improvements to the Unit tests framework.
 * Added some new provider names (AMQP and MQTT) to allow for future clients.

 The binaries and source bundles for the Release Candidate can be found
 here:
 [ http://people.apache.org/~tabish/nms-1.7.x ]

 The Wiki Page for this release is here:
 [ http://activemq.apache.org/nms/apachenms-api-v170.html ]

 Please cast your votes (the vote will be open for 72 hrs):

 [ ] +1 Release the source as Apache NMS API 1.7.0
 [ ] -1 (provide specific comments)

 Here's my +1

 Regards,
 Tim

 --
 Tim Bish
 Sr Software Engineer | RedHat Inc.
 tim.b...@redhat.com | www.redhat.com
 skype: tabish121 | twitter: @tabish121
 blog: http://timbish.blogspot.com/



[jira] [Commented] (ACTIVEMQ6-64) Queue.totalIterator() is showing Messages twice when batch of messages pushed address over page threshold

2015-01-06 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/ACTIVEMQ6-64?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14266389#comment-14266389
 ] 

ASF GitHub Bot commented on ACTIVEMQ6-64:
-

Github user asfgit closed the pull request at:

https://github.com/apache/activemq-6/pull/53


 Queue.totalIterator() is showing Messages twice when batch of messages pushed 
 address over page threshold
 -

 Key: ACTIVEMQ6-64
 URL: https://issues.apache.org/jira/browse/ACTIVEMQ6-64
 Project: Apache ActiveMQ 6
  Issue Type: Bug
Reporter: Martyn Taylor
Assignee: clebert suconic

 When sending a batch of messages using the core protocol.  i.e. performing 
 producer.send(message); multiple times then calling session.commit().  The 
 messages are paged twice.  This happens when the number of messages in the 
 batch pushes the address over it's max allocated memory and initialises 
 paging on the address.
 If the messages are committed after the paging has started this bug does not 
 surface, nor does it occur if the total messages in the batch do not push the 
 address in paging mode.
 For example.
 I have an address testAddress backed up by a queue testQueue.  The max 
 memory on the address is set to 10MB.
 If there are no messages in the queue, hence the total memory usage of the 
 address is 10MB and I send 20 x messages of 1MB, the call session.commit().  
 The messages that exceed the memory limit are paged twice.  Messages 1 - 10 
 stay in memory, messages 11 - 20 are paged twice.
 This does not happen when the address is already in paging mode.  If the 
 address is in paging mode before we send the 20 messages, the server behaves 
 as expected and pages all 20 messages once.
 I have created a test to show this behaviour here: 
 https://github.com/mtaylor/activemq-6/commit/b7bee77bcefb12c4b104c0beb3f4dc9aab545f6b



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


Jenkins build became unstable: ActiveMQ » ActiveMQ :: LevelDB Store #1583

2015-01-06 Thread Apache Jenkins Server
See 
https://builds.apache.org/job/ActiveMQ/org.apache.activemq$activemq-leveldb-store/1583/



[GitHub] activemq-6 pull request: ACTIVEMQ6-64 Messages duplicated during S...

2015-01-06 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/activemq-6/pull/53


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---