[jira] [Commented] (ARTEMIS-2246) Documentation for configuration max-disk-usage is inaccurate.

2019-02-05 Thread Justin Bertram (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16761376#comment-16761376
 ] 

Justin Bertram commented on ARTEMIS-2246:
-

Technically speaking the documentation is accurate. The default 
{{max-disk-usage}} is {{100}} as can be seen in [the 
code|https://github.com/apache/activemq-artemis/blob/master/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/config/ActiveMQDefaultConfiguration.java#L470].
 Therefore, is {{max-disk-usage}} is *not set* in the broker configuration it 
will default to {{100}}. However, this default [is 
overridden|https://github.com/apache/activemq-artemis/blob/master/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/broker.xml#L63]
 out of the box in broker.xml. This setting is accompanied by a comment which 
explains the behavior so it wouldn't have been necessary to review all the 
default configuration values but simply to look at the broker.xml.

That said, the documentation should be clarified.

> Documentation for configuration max-disk-usage is inaccurate.
> -
>
> Key: ARTEMIS-2246
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2246
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.6.4
>Reporter: Leo Provido
>Priority: Major
>
> During the execution of tests involving sending messages to the System, we 
> observed that the System started blocking messages before the disk is full.
> According to the Configuration Reference 
> ([https://activemq.apache.org/artemis/docs/1.4.0/configuration-index.html]) 
> documentation, the default value of the configuration max-disk-usage is 100. 
> However, we discovered that the actual default value of max-disk-usage is 90. 
> The file inspected is ./etc/broker.xml. Thus, the documentation is deemed 
> inaccurate.
> We have the opinion that severity of this incident is Major because a) the 
> documentation provides an inaccurate piece of information that influences the 
> way we design our mitigation strategies for risks surrounding hardware 
> resources utilization, and b) we don’t necessarily have the bandwidth to 
> review all default configuration values.
> Inaccurate information may cause failure to provide message brokering 
> services despite mitigation strategies being in place.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ARTEMIS-2247) Value of an argument node related to ./bin/artermis-service.xml is incorrect

2019-02-05 Thread Leo Provido (JIRA)


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

Leo Provido updated ARTEMIS-2247:
-
Summary: Value of an argument node related to ./bin/artermis-service.xml is 
incorrect  (was: Value of an argument node related in 
./bin/artermis-service.xml is incorrect)

> Value of an argument node related to ./bin/artermis-service.xml is incorrect
> 
>
> Key: ARTEMIS-2247
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2247
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.6.4
>Reporter: Leo Provido
>Priority: Major
>
> When we tried When we tried starting a broker we created, we observed that 
> the broker failed to start.starting a broker we created, we observed that the 
> broker failed to start.
> According to the Using the Server 
> (https://activemq.apache.org/artemis/docs/latest/using-server.html) 
> documentation, we simply have to do:
> _Or you can run the broker in the background using:
>"/user/server/bin/artemis-service" start_
> We observed that a log file ./log/artermis-service.err.log was generated 
> after doing so, containing an error Error: Could not find or load main class 
> Files\Artemis\etc 
> We later figured out that, 
> _-Dartemis.instance.etc="%ARTEMIS_INSTANCE_ETC%"_
> Should be (without “):
> -Dartemis.instance.etc=%ARTEMIS_INSTANCE_ETC%
> We have the opinion that the severity of this incident is High because this 
> issue prevents running the broker without fixing it.
> An incorrect argument in ./bin/artermis-service.xml causes failure to run a 
> broker.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (ARTEMIS-2247) Value of an argument node related in ./bin/artermis-service.xml is incorrect

2019-02-05 Thread Leo Provido (JIRA)
Leo Provido created ARTEMIS-2247:


 Summary: Value of an argument node related in 
./bin/artermis-service.xml is incorrect
 Key: ARTEMIS-2247
 URL: https://issues.apache.org/jira/browse/ARTEMIS-2247
 Project: ActiveMQ Artemis
  Issue Type: Bug
Affects Versions: 2.6.4
Reporter: Leo Provido


When we tried When we tried starting a broker we created, we observed that the 
broker failed to start.starting a broker we created, we observed that the 
broker failed to start.

According to the Using the Server 
(https://activemq.apache.org/artemis/docs/latest/using-server.html) 
documentation, we simply have to do:
_Or you can run the broker in the background using:
   "/user/server/bin/artemis-service" start_

We observed that a log file ./log/artermis-service.err.log was generated after 
doing so, containing an error Error: Could not find or load main class 
Files\Artemis\etc 
We later figured out that, 
_-Dartemis.instance.etc="%ARTEMIS_INSTANCE_ETC%"_
Should be (without “):
-Dartemis.instance.etc=%ARTEMIS_INSTANCE_ETC%

We have the opinion that the severity of this incident is High because this 
issue prevents running the broker without fixing it.

An incorrect argument in ./bin/artermis-service.xml causes failure to run a 
broker.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (ARTEMIS-2246) Documentation for configuration max-disk-usage is inaccurate.

2019-02-05 Thread Leo Provido (JIRA)
Leo Provido created ARTEMIS-2246:


 Summary: Documentation for configuration max-disk-usage is 
inaccurate.
 Key: ARTEMIS-2246
 URL: https://issues.apache.org/jira/browse/ARTEMIS-2246
 Project: ActiveMQ Artemis
  Issue Type: Bug
Affects Versions: 2.6.4
Reporter: Leo Provido


During the execution of tests involving sending messages to the System, we 
observed that the System started blocking messages before the disk is full.

According to the Configuration Reference 
([https://activemq.apache.org/artemis/docs/1.4.0/configuration-index.html]) 
documentation, the default value of the configuration max-disk-usage is 100. 
However, we discovered that the actual default value of max-disk-usage is 90. 
The file inspected is ./etc/broker.xml. Thus, the documentation is deemed 
inaccurate.

We have the opinion that severity of this incident is Major because a) the 
documentation provides an inaccurate piece of information that influences the 
way we design our mitigation strategies for risks surrounding hardware 
resources utilization, and b) we don’t necessarily have the bandwidth to review 
all default configuration values.
Inaccurate information may cause failure to provide message brokering services 
despite mitigation strategies being in place.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (AMQ-7147) Stale DefaultIOExceptionHandler Thread stuck in while loop

2019-02-05 Thread sunil (JIRA)
sunil created AMQ-7147:
--

 Summary: Stale DefaultIOExceptionHandler Thread stuck in while loop
 Key: AMQ-7147
 URL: https://issues.apache.org/jira/browse/AMQ-7147
 Project: ActiveMQ
  Issue Type: Bug
Affects Versions: 5.14.3
Reporter: sunil
 Attachments: activemq.log

Hi,

We are currently using activemq version 5.14.3 with Master/Slave/Slave 
architecture with JDBC Persistence adapter , LeaseDatabaseLocker and 
IoException handler.
Below are the configuration:

Persistence Adapter:
{code:java}

 
 
 
 
 
 {code}
IoException Handler:
{code:java}

 
 
 
{code}

We had a network patition event on the master node and after it was removed 
from the partition eventough it stopped the transports and stopped the broker , 
it failed to exit the JVM .
But the new broker instance came up and it entered in to slave mode which is 
good. But when we looked at the logs we saw that every 5 secs:
2019-02-05 16:29:11,098 | INFO | waiting for broker persistence adapter 
checkpoint to succeed before restarting transports | 
org.apache.activemq.util.DefaultIOExceptionHandler | IOExceptionHandler: 
restart transports


When we took the thread dump to see what the ioExceptionHandler thread is hung 
at :
{code:java}
"IOExceptionHandler: restart transports@6055" daemon prio=5 tid=0x1d9 nid=NA 
sleeping
 java.lang.Thread.State: TIMED_WAITING
 at java.lang.Thread.sleep(Unknown Source:-1)
 at java.lang.Thread.sleep(Unknown Source:-1)
 at java.util.concurrent.TimeUnit.sleep(Unknown Source:-1)
 at 
org.apache.activemq.util.DefaultIOExceptionHandler$1$1.run(DefaultIOExceptionHandler.java:111){code}
It is stuck in the while loop:
{code:java}
while (hasLockOwnership() && isPersistenceAdapterDown()) {
 LOG.info("waiting for broker persistence adapter checkpoint to succeed before 
restarting transports");
 TimeUnit.MILLISECONDS.sleep(resumeCheckSleepPeriod);
 }{code}
The broker persistenceAdapter value is null and it fails to exit the while loop 
and the thread is hung there. 
What is the scenario when the persistence Adapter is set to null? and is it bug 
in a code since there is a stale thread running and also reference to the old 
brokerInstance which has the persistence Adapter set to null.

Also can anyone clarify why the systemExitOnShutdown didn't kill the JVM when 
the stop on broker was initiated due to ExceptionHandler code.

Any Help will be appreciated.

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?focusedWorklogId=194801=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194801
 ]

ASF GitHub Bot logged work on ARTEMIS-2244:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 20:51
Start Date: 05/Feb/19 20:51
Worklog Time Spent: 10m 
  Work Description: asfgit commented on pull request #2533: ARTEMIS-2244 
checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
timeout
URL: https://github.com/apache/activemq-artemis/pull/2533
 
 
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194801)
Time Spent: 2h 10m  (was: 2h)

> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 2h 10m
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16761205#comment-16761205
 ] 

ASF subversion and git services commented on ARTEMIS-2244:
--

Commit 4111707c268189ed8d7c96275bc366e207492dee in activemq-artemis's branch 
refs/heads/2.6.x from yb
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=4111707 ]

ARTEMIS-2244 checkDepage method placed outside CRITICAL_DELIVER avoid critical 
analyzer timeout

(cherry picked from commit 8799615a136946c39bb49bd4069cff2df0035997)


> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 2h 10m
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16761206#comment-16761206
 ] 

ASF subversion and git services commented on ARTEMIS-2244:
--

Commit 2a8b29995ff5a54d1caa54cc2e82239d21aecbd3 in activemq-artemis's branch 
refs/heads/2.6.x from Clebert Suconic
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=2a8b299 ]

ARTEMIS-2244 Adding critical check around checkDepage

(cherry picked from commit e09ffe14f488efd1013005da9ecc588466dc2905)


> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 2h 10m
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16761200#comment-16761200
 ] 

ASF subversion and git services commented on ARTEMIS-2244:
--

Commit 8799615a136946c39bb49bd4069cff2df0035997 in activemq-artemis's branch 
refs/heads/master from yb
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=8799615 ]

ARTEMIS-2244 checkDepage method placed outside CRITICAL_DELIVER avoid critical 
analyzer timeout


> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16761201#comment-16761201
 ] 

ASF subversion and git services commented on ARTEMIS-2244:
--

Commit e09ffe14f488efd1013005da9ecc588466dc2905 in activemq-artemis's branch 
refs/heads/master from Clebert Suconic
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=e09ffe1 ]

ARTEMIS-2244 Adding critical check around checkDepage


> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?focusedWorklogId=194789=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194789
 ]

ASF GitHub Bot logged work on ARTEMIS-2244:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 20:03
Start Date: 05/Feb/19 20:03
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on issue #2533: ARTEMIS-2244 
checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
timeout
URL: https://github.com/apache/activemq-artemis/pull/2533#issuecomment-460783133
 
 
   sorry for my monolog here.. I see the issue... on your case you had getNext 
moving the cursor while checking... 
   
   
   The fix is valid..
   
   Although I would prefer either keep the Critical Analyzer call around the 
checkDepage...
   
   or create a new CriticalAnalyzer check. I will do the later.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194789)
Time Spent: 2h  (was: 1h 50m)

> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?focusedWorklogId=194787=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194787
 ]

ASF GitHub Bot logged work on ARTEMIS-2244:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 19:58
Start Date: 05/Feb/19 19:58
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on issue #2533: ARTEMIS-2244 
checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
timeout
URL: https://github.com/apache/activemq-artemis/pull/2533#issuecomment-460781468
 
 
   @CNNJYB what version did you use on this thread dump? 2.6.3 ?
   
   I'm not sure the real issue is addressed here???
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194787)
Time Spent: 1h 50m  (was: 1h 40m)

> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?focusedWorklogId=194777=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194777
 ]

ASF GitHub Bot logged work on ARTEMIS-2244:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 19:46
Start Date: 05/Feb/19 19:46
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on issue #2533: ARTEMIS-2244 
checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
timeout
URL: https://github.com/apache/activemq-artemis/pull/2533#issuecomment-460777363
 
 
   This is actually nice I thought I wrote the Critical Analyzer in vain 
and it seems the Critical Analyzer kicked the server after a real dead lock.. 
!!!
   
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194777)
Time Spent: 1h 40m  (was: 1.5h)

> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?focusedWorklogId=194776=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194776
 ]

ASF GitHub Bot logged work on ARTEMIS-2244:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 19:44
Start Date: 05/Feb/19 19:44
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on issue #2533: ARTEMIS-2244 
checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
timeout
URL: https://github.com/apache/activemq-artemis/pull/2533#issuecomment-460776797
 
 
   Just saw it...
   
   
   it seems that the Critical Analyzer did its job and kicked the server of 
after a real dead lock? and which you are fixing it here?
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194776)
Time Spent: 1.5h  (was: 1h 20m)

> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?focusedWorklogId=194775=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194775
 ]

ASF GitHub Bot logged work on ARTEMIS-2244:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 19:43
Start Date: 05/Feb/19 19:43
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on issue #2533: ARTEMIS-2244 
checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
timeout
URL: https://github.com/apache/activemq-artemis/pull/2533#issuecomment-460776375
 
 
   do you have a thread dump for when the issue happened?
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194775)
Time Spent: 1h 20m  (was: 1h 10m)

> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-1058) Jars in web tmp dir locked on Windows

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-1058?focusedWorklogId=194774=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194774
 ]

ASF GitHub Bot logged work on ARTEMIS-1058:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 19:43
Start Date: 05/Feb/19 19:43
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on issue #2534: ARTEMIS-1058 
Jars in web tmp dir locked on Windows
URL: https://github.com/apache/activemq-artemis/pull/2534#issuecomment-460776232
 
 
   @gaohoward Please check #2537
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194774)
Time Spent: 2h  (was: 1h 50m)

> Jars in web tmp dir locked on Windows
> -
>
> Key: ARTEMIS-1058
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1058
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 1.5.3
> Environment: Windows 
>Reporter: Howard Gao
>Assignee: Howard Gao
>Priority: Minor
> Fix For: unscheduled
>
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> The embedded jetty web server's WebAppClassloader holds up webapp's jar files 
> and does not release them after close. For that reason the web app's temp dir 
> cannot be cleaned up on Windows. (Other platforms like Linux doesn't prevent 
> a force delete of files even they are not released).
> As long as this behavior exists we need to have a workaround to let
> the tmp dir be cleaned up.
> It is possible that we use a 'customized' classloader to replace jetty's
> WebAppClassloader, in which we manually iterate every JarFile resources
> and close them.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16761120#comment-16761120
 ] 

ASF subversion and git services commented on ARTEMIS-2245:
--

Commit 02505fc004aafa96708af5987137cefa0af5fa45 in activemq-artemis's branch 
refs/heads/master from Clebert Suconic
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=02505fc ]

ARTEMIS-2245 Moving docker files under artemis-docker and other improvements


> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 4h 40m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16761118#comment-16761118
 ] 

ASF subversion and git services commented on ARTEMIS-2245:
--

Commit f2a2d6d99fcffccddec411fbff50c655c3ba1dd1 in activemq-artemis's branch 
refs/heads/master from Clebert Suconic
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=f2a2d6d ]

ARTEMIS-2245 Implement Docker images


> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 4.5h
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16761119#comment-16761119
 ] 

ASF subversion and git services commented on ARTEMIS-2245:
--

Commit 8c89c3584fbd12f6a26de9fdaabab3061c2a6f59 in activemq-artemis's branch 
refs/heads/master from Francesco Nigro
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=8c89c35 ]

ARTEMIS-2245 adding Docker images User guide


> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 4.5h
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?focusedWorklogId=194746=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194746
 ]

ASF GitHub Bot logged work on ARTEMIS-2245:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 18:57
Start Date: 05/Feb/19 18:57
Worklog Time Spent: 10m 
  Work Description: asfgit commented on pull request #2536: ARTEMIS-2245 
Implement Docker images
URL: https://github.com/apache/activemq-artemis/pull/2536
 
 
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194746)
Time Spent: 4h 40m  (was: 4.5h)

> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 4h 40m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?focusedWorklogId=194728=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194728
 ]

ASF GitHub Bot logged work on ARTEMIS-2245:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 18:26
Start Date: 05/Feb/19 18:26
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on pull request #2536: 
ARTEMIS-2245 Implement Docker images
URL: https://github.com/apache/activemq-artemis/pull/2536#discussion_r253988781
 
 

 ##
 File path: artemis-docker/Dockerfile-centos
 ##
 @@ -0,0 +1,71 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# ActiveMQ Artemis
+
+FROM jboss/base-jdk:8
 
 Review comment:
   @michaelandrepearce I tried Alpine and it was missing a few dependencies.
   We can certainly do it.. I would merge this PR now and we (or anyone else) 
can send a new PR later.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194728)
Time Spent: 4.5h  (was: 4h 20m)

> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 4.5h
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?focusedWorklogId=194687=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194687
 ]

ASF GitHub Bot logged work on ARTEMIS-2245:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 17:10
Start Date: 05/Feb/19 17:10
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on pull request #2536: 
ARTEMIS-2245 Implement Docker images
URL: https://github.com/apache/activemq-artemis/pull/2536#discussion_r253959463
 
 

 ##
 File path: artemis-docker/Dockerfile-centos
 ##
 @@ -0,0 +1,71 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# ActiveMQ Artemis
+
+FROM jboss/base-jdk:8
 
 Review comment:
   
https://nickjanetakis.com/blog/the-3-biggest-wins-when-using-alpine-as-a-base-docker-image
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194687)
Time Spent: 4h 20m  (was: 4h 10m)

> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 4h 20m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?focusedWorklogId=194684=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194684
 ]

ASF GitHub Bot logged work on ARTEMIS-2245:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 17:03
Start Date: 05/Feb/19 17:03
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on pull request #2536: 
ARTEMIS-2245 Implement Docker images
URL: https://github.com/apache/activemq-artemis/pull/2536#discussion_r253956720
 
 

 ##
 File path: artemis-docker/Dockerfile-centos
 ##
 @@ -0,0 +1,71 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# ActiveMQ Artemis
+
+FROM jboss/base-jdk:8
 
 Review comment:
   Any chance for an alpine one too? pretty pretty please.
   
   
https://github.com/docker-library/openjdk/tree/922344e3283ef2c87cb17cc04ded9cef5e13a1e5/8/jdk/alpine
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194684)
Time Spent: 4h 10m  (was: 4h)

> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 4h 10m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?focusedWorklogId=194678=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194678
 ]

ASF GitHub Bot logged work on ARTEMIS-2245:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:51
Start Date: 05/Feb/19 16:51
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2536: 
ARTEMIS-2245 Implement Docker images
URL: https://github.com/apache/activemq-artemis/pull/2536#issuecomment-460713074
 
 
   Another option is to have a dedicated submodule specifically for docker and 
kubernetes, e.g. like Apache Ignite.
   
   https://github.com/apache/ignite/tree/master/docker
   https://github.com/apache/ignite/tree/master/modules/kubernetes
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194678)
Time Spent: 3h 50m  (was: 3h 40m)

> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 3h 50m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?focusedWorklogId=194667=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194667
 ]

ASF GitHub Bot logged work on ARTEMIS-2245:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:47
Start Date: 05/Feb/19 16:47
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2536: 
ARTEMIS-2245 Implement Docker images
URL: https://github.com/apache/activemq-artemis/pull/2536#issuecomment-460711935
 
 
   Another option then maybe like what occurs for some other apache projects 
(e.g. tomcat and httpd, 
   ), is host it under docker-library and maintain it there, as "official"
   
   https://github.com/docker-library/tomcat
   https://github.com/docker-library/httpd
   
   just putting options and ideas out there, im +0 where it sits, just looking 
at options.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194667)
Time Spent: 3h 20m  (was: 3h 10m)

> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 3h 20m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?focusedWorklogId=194680=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194680
 ]

ASF GitHub Bot logged work on ARTEMIS-2245:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:54
Start Date: 05/Feb/19 16:54
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2536: 
ARTEMIS-2245 Implement Docker images
URL: https://github.com/apache/activemq-artemis/pull/2536#issuecomment-460714818
 
 
   For me, docker/kubernetes support is becoming quite a defacto, so think it 
warrants being a bit more top level thing for us to have, than just being some 
example. 
   
   Just to iterate I think what @franz1981 has done is really great.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194680)
Time Spent: 4h  (was: 3h 50m)

> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 4h
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?focusedWorklogId=194665=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194665
 ]

ASF GitHub Bot logged work on ARTEMIS-2245:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:47
Start Date: 05/Feb/19 16:47
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2536: 
ARTEMIS-2245 Implement Docker images
URL: https://github.com/apache/activemq-artemis/pull/2536#issuecomment-460711935
 
 
   Another option then maybe like what occurs for some other apache projects 
(e.g. tomcat and httpd, 
   ), is host it under docker-library and maintain it there, as "official"
   
   https://github.com/docker-library/tomcat
   https://github.com/docker-library/httpd
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194665)
Time Spent: 3h 10m  (was: 3h)

> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 3h 10m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?focusedWorklogId=194669=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194669
 ]

ASF GitHub Bot logged work on ARTEMIS-2245:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:47
Start Date: 05/Feb/19 16:47
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2536: 
ARTEMIS-2245 Implement Docker images
URL: https://github.com/apache/activemq-artemis/pull/2536#issuecomment-460711935
 
 
   Another option then maybe like what occurs for some other apache projects 
(e.g. tomcat and httpd, 
   ), is host it under docker-library and maintain it there, as "official"
   
   https://github.com/docker-library/tomcat
   https://github.com/docker-library/httpd
   
   just putting options and ideas out there, im +0 where it sits, just looking 
at options, and how others achieve.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194669)
Time Spent: 3.5h  (was: 3h 20m)

> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 3.5h
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?focusedWorklogId=194663=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194663
 ]

ASF GitHub Bot logged work on ARTEMIS-2244:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:43
Start Date: 05/Feb/19 16:43
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2533: 
ARTEMIS-2244 checkDepage method placed outside CRITICAL_DELIVER avoid critical 
analyzer timeout
URL: https://github.com/apache/activemq-artemis/pull/2533#issuecomment-460706195
 
 
   -1 (and im sorry, feature was added for a very specific requirement, after a 
number of issues with broker lockups, where simply failing to slave could have 
saved day), critical analyzer was implemented specifically to pick up locking 
issues (such as deadlock and live locks), disk and other issues with something 
not running  as performantly as expected), that are on critical path, and if 
found, kill the broker so it would fail over to slave.
   
   Solution should be to remove or improve the locking, or improve performance 
in this area. (or even increase critical timeout in your system)
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194663)
Time Spent: 1h 10m  (was: 1h)

> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?focusedWorklogId=194661=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194661
 ]

ASF GitHub Bot logged work on ARTEMIS-2244:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:39
Start Date: 05/Feb/19 16:39
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2533: 
ARTEMIS-2244 checkDepage method placed outside CRITICAL_DELIVER avoid critical 
analyzer timeout
URL: https://github.com/apache/activemq-artemis/pull/2533#issuecomment-460706195
 
 
   -1 (and im sorry, feature was added for a very specific requirement, after a 
number of issues with broker lockups, where simply failing to slave could have 
saved day), critical analyzer was implemented specifically to pick up locking 
issues (such as deadlock and live locks), disk and other issues with something 
not running  as performantly as expected), that are on critical path, and if 
found, kill the broker so it would fail over to slave.
   
   Solution should be to remove or improve the locking, or improve performance 
in this area. (or even increase critical timeout in your system)
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194661)
Time Spent: 1h  (was: 50m)

> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?focusedWorklogId=194660=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194660
 ]

ASF GitHub Bot logged work on ARTEMIS-2244:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:37
Start Date: 05/Feb/19 16:37
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2533: 
ARTEMIS-2244 checkDepage method placed outside CRITICAL_DELIVER avoid critical 
analyzer timeout
URL: https://github.com/apache/activemq-artemis/pull/2533#issuecomment-460706195
 
 
   -1 (and im sorry, feature was added for a very specific requirement), but 
critical analyzer was implemented specifically to pick up locking issues (such 
as deadlock and live locks), disk and other issues with something not running  
as performantly as expected), that are on critical path, and if found, kill the 
broker so it would fail over to slave.
   
   Solution should be to remove or improve the locking, or improve performance 
in this area. (or even increase critical timeout in your system)
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194660)
Time Spent: 50m  (was: 40m)

> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?focusedWorklogId=194657=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194657
 ]

ASF GitHub Bot logged work on ARTEMIS-2244:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:35
Start Date: 05/Feb/19 16:35
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2533: 
ARTEMIS-2244 checkDepage method placed outside CRITICAL_DELIVER avoid critical 
analyzer timeout
URL: https://github.com/apache/activemq-artemis/pull/2533#issuecomment-460706195
 
 
   -1 (and im sorry, feature was added for a very specific requirement), but 
critical analyzer was implemented specifically to pick up locking issues (such 
as deadlock and live locks), disk and other issues deadlocks non performant 
code), that are on critical path, and if found, kill the broker so it would 
fail over to slave.
   
   Solution should be to remove or improve the locking, or improve performance 
in this area. (or even increase critical timeout in your system)
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194657)
Time Spent: 40m  (was: 0.5h)

> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?focusedWorklogId=194652=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194652
 ]

ASF GitHub Bot logged work on ARTEMIS-2244:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:34
Start Date: 05/Feb/19 16:34
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2533: 
ARTEMIS-2244 checkDepage method placed outside CRITICAL_DELIVER avoid critical 
analyzer timeout
URL: https://github.com/apache/activemq-artemis/pull/2533#issuecomment-460706195
 
 
   -1 (and im sorry, feature was added for a very specific requirement), but 
critical analyzer was implemented specifically to pick up locking issues (such 
as deadlock and live locks), disk and other issues deadlocks non performant 
code), that are on critical path. 
   
   Solution should be to remove or improve the locking.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194652)
Time Spent: 0.5h  (was: 20m)

> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2226) (MQTT)In the cluster,the last consumer connection should close the previous consumer connection

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2226?focusedWorklogId=194645=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194645
 ]

ASF GitHub Bot logged work on ARTEMIS-2226:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:24
Start Date: 05/Feb/19 16:24
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2528: 
ARTEMIS-2226 last consumer connection should close the previous consu…
URL: https://github.com/apache/activemq-artemis/pull/2528#issuecomment-460702843
 
 
   I am off now for 48 hours (pto). 
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194645)
Time Spent: 19h 10m  (was: 19h)

> (MQTT)In the cluster,the last consumer connection should close the previous 
> consumer connection
> ---
>
> Key: ARTEMIS-2226
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2226
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Shiping Liang
>Priority: Major
>  Time Spent: 19h 10m
>  Remaining Estimate: 0h
>
> Multiple consumers using the same clientId in the cluster, the last consumer 
> connection should close the previous consumer connection!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2244) checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer timeout

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2244?focusedWorklogId=194649=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194649
 ]

ASF GitHub Bot logged work on ARTEMIS-2244:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:32
Start Date: 05/Feb/19 16:32
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2533: 
ARTEMIS-2244 checkDepage method placed outside CRITICAL_DELIVER avoid critical 
analyzer timeout
URL: https://github.com/apache/activemq-artemis/pull/2533#issuecomment-460706195
 
 
   -1 critical analyzer was implemented specifically to pick up disk and other 
issues, that are on critical path but not performant.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194649)
Time Spent: 20m  (was: 10m)

> checkDepage method placed outside CRITICAL_DELIVER avoid critical analyzer 
> timeout
> --
>
> Key: ARTEMIS-2244
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2244
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: yuebao
>Priority: Major
> Attachments: threaddump.txt
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> We found server crash becauseof critical analyzer timeout, thread dump can be 
> seen in attachment.
> Suppose that there is a topic t with two subscriber ta and tb. Some messages 
> were routed to subscriber ta, not to tb. When a consumer that subscribe tb is 
> created and send ConsumerCredits to server, ServerConsumerImpl will call 
> promptDelivery method, then forceDelivery() -> messageQueue.deliverAsync() -> 
> deliverRunner will executed in the pageSubscription's executor(step1), then 
> checkDepage(step2) -> pageIterator.hasNext(synchronized method) -> next -> 
> moveNext, moveNext method will iterate through queue until find a matching 
> message. At this time(step1), DeliverRunner call deliver method -> 
> checkDepage -> pageIterator.hasNext, this step blocked on CursorIterator 
> which was locked by step2, then critical analyzer timeout.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2226) (MQTT)In the cluster,the last consumer connection should close the previous consumer connection

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2226?focusedWorklogId=194644=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194644
 ]

ASF GitHub Bot logged work on ARTEMIS-2226:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:22
Start Date: 05/Feb/19 16:22
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2528: 
ARTEMIS-2226 last consumer connection should close the previous consu…
URL: https://github.com/apache/activemq-artemis/pull/2528#issuecomment-460700605
 
 
   First of all mqtt connect = create session in core. 
   
   I dont want to introduce anything thats protocol specific. Nor introduce 
something that is already represented.
   
   Im happy with current create session being a top level supported 
notification as this is agnostic and will cause little extra traffic compared 
with create consumer which already  is. And im happy with extra data being 
added to this notification.
   
   
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194644)
Time Spent: 19h  (was: 18h 50m)

> (MQTT)In the cluster,the last consumer connection should close the previous 
> consumer connection
> ---
>
> Key: ARTEMIS-2226
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2226
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Shiping Liang
>Priority: Major
>  Time Spent: 19h
>  Remaining Estimate: 0h
>
> Multiple consumers using the same clientId in the cluster, the last consumer 
> connection should close the previous consumer connection!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2226) (MQTT)In the cluster,the last consumer connection should close the previous consumer connection

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2226?focusedWorklogId=194647=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194647
 ]

ASF GitHub Bot logged work on ARTEMIS-2226:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:27
Start Date: 05/Feb/19 16:27
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2528: 
ARTEMIS-2226 last consumer connection should close the previous consu…
URL: https://github.com/apache/activemq-artemis/pull/2528#issuecomment-460700605
 
 
   First of all mqtt connect = create session in core. 
   
   I dont want to introduce anything thats protocol specific. Nor introduce 
something that is already represented.
   
   Im happy with current create session being a top level supported 
notification (eg move it from plugin and have it in session like consumer 
notification is) as this is agnostic and will cause little extra traffic 
compared with create consumer which already  is. And im happy with extra data 
being added to this notification.
   
   
   
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194647)
Time Spent: 19h 20m  (was: 19h 10m)

> (MQTT)In the cluster,the last consumer connection should close the previous 
> consumer connection
> ---
>
> Key: ARTEMIS-2226
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2226
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Shiping Liang
>Priority: Major
>  Time Spent: 19h 20m
>  Remaining Estimate: 0h
>
> Multiple consumers using the same clientId in the cluster, the last consumer 
> connection should close the previous consumer connection!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2226) (MQTT)In the cluster,the last consumer connection should close the previous consumer connection

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2226?focusedWorklogId=194643=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194643
 ]

ASF GitHub Bot logged work on ARTEMIS-2226:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:19
Start Date: 05/Feb/19 16:19
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2528: 
ARTEMIS-2226 last consumer connection should close the previous consu…
URL: https://github.com/apache/activemq-artemis/pull/2528#issuecomment-460700605
 
 
   First of all mqtt connect = create session in core. 
   
   I dont want to introduce anything thats protocol specific. 
   
   Im happy with current create session being a top level supported 
notification as this is agnostic and will cause little extra traffic compared 
with create consumer which already  is. And im happy with extra data being 
added to this notification 
   
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194643)
Time Spent: 18h 50m  (was: 18h 40m)

> (MQTT)In the cluster,the last consumer connection should close the previous 
> consumer connection
> ---
>
> Key: ARTEMIS-2226
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2226
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Shiping Liang
>Priority: Major
>  Time Spent: 18h 50m
>  Remaining Estimate: 0h
>
> Multiple consumers using the same clientId in the cluster, the last consumer 
> connection should close the previous consumer connection!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2226) (MQTT)In the cluster,the last consumer connection should close the previous consumer connection

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2226?focusedWorklogId=194642=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194642
 ]

ASF GitHub Bot logged work on ARTEMIS-2226:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:18
Start Date: 05/Feb/19 16:18
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2528: 
ARTEMIS-2226 last consumer connection should close the previous consu…
URL: https://github.com/apache/activemq-artemis/pull/2528#issuecomment-460700605
 
 
   First of all mqtt connect = create session in core. 
   
   I dont want to introduce anything thats protocol specific. 
   
   Im happy with current create session being a top level supported 
notification as this is agnostic and will cause little extra traffic compared 
with create consumer which already  is.
   
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194642)
Time Spent: 18h 40m  (was: 18.5h)

> (MQTT)In the cluster,the last consumer connection should close the previous 
> consumer connection
> ---
>
> Key: ARTEMIS-2226
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2226
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Shiping Liang
>Priority: Major
>  Time Spent: 18h 40m
>  Remaining Estimate: 0h
>
> Multiple consumers using the same clientId in the cluster, the last consumer 
> connection should close the previous consumer connection!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?focusedWorklogId=194634=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194634
 ]

ASF GitHub Bot logged work on ARTEMIS-2245:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:02
Start Date: 05/Feb/19 16:02
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on issue #2536: ARTEMIS-2245 
Implement Docker images
URL: https://github.com/apache/activemq-artemis/pull/2536#issuecomment-460694427
 
 
   Even if we decided to deploy it as part of apache account, we still need the 
docker files.. which is this step here.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194634)
Time Spent: 3h  (was: 2h 50m)

> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 3h
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2226) (MQTT)In the cluster,the last consumer connection should close the previous consumer connection

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2226?focusedWorklogId=194632=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194632
 ]

ASF GitHub Bot logged work on ARTEMIS-2226:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:01
Start Date: 05/Feb/19 16:01
Worklog Time Spent: 10m 
  Work Description: onlyMIT commented on issue #2528: ARTEMIS-2226 last 
consumer connection should close the previous consu…
URL: https://github.com/apache/activemq-artemis/pull/2528#issuecomment-460693569
 
 
   Now let's solve it step by step. First, we need to determine whether to use 
the existing notification or add a new notification to handle this logic. as I 
comment, it seems that the existing notification is not suitable.
   In the second step, if we use the new notification, we need to determine how 
to make it more reasonable.
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194632)
Time Spent: 18.5h  (was: 18h 20m)

> (MQTT)In the cluster,the last consumer connection should close the previous 
> consumer connection
> ---
>
> Key: ARTEMIS-2226
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2226
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Shiping Liang
>Priority: Major
>  Time Spent: 18.5h
>  Remaining Estimate: 0h
>
> Multiple consumers using the same clientId in the cluster, the last consumer 
> connection should close the previous consumer connection!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2226) (MQTT)In the cluster,the last consumer connection should close the previous consumer connection

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2226?focusedWorklogId=194631=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194631
 ]

ASF GitHub Bot logged work on ARTEMIS-2226:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 16:00
Start Date: 05/Feb/19 16:00
Worklog Time Spent: 10m 
  Work Description: onlyMIT commented on issue #2528: ARTEMIS-2226 last 
consumer connection should close the previous consu…
URL: https://github.com/apache/activemq-artemis/pull/2528#issuecomment-460693569
 
 
   Now let's solve it step by step. First, we need to determine whether to use 
the existing notification or add a new notification to handle this logic. If I 
comment, it seems that the existing notification is not suitable.
   In the second step, if we use the new notification, we need to determine how 
to make it more reasonable.
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194631)
Time Spent: 18h 20m  (was: 18h 10m)

> (MQTT)In the cluster,the last consumer connection should close the previous 
> consumer connection
> ---
>
> Key: ARTEMIS-2226
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2226
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Shiping Liang
>Priority: Major
>  Time Spent: 18h 20m
>  Remaining Estimate: 0h
>
> Multiple consumers using the same clientId in the cluster, the last consumer 
> connection should close the previous consumer connection!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2226) (MQTT)In the cluster,the last consumer connection should close the previous consumer connection

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2226?focusedWorklogId=194622=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194622
 ]

ASF GitHub Bot logged work on ARTEMIS-2226:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 15:54
Start Date: 05/Feb/19 15:54
Worklog Time Spent: 10m 
  Work Description: onlyMIT commented on issue #2528: ARTEMIS-2226 last 
consumer connection should close the previous consu…
URL: https://github.com/apache/activemq-artemis/pull/2528#issuecomment-460691058
 
 
   @michaelandrepearce As described in my comment.Even if use a plugin, we 
can't use notifications in the plugin like SESSION_CREATED,it can't achieve our 
goal, modify the SESSION_CREATED filter? I think we need to think carefully, 
and if we modify their filtering rules, we can't affect the existing logic. We 
need to conduct comprehensive testing and evaluation.I think the plugin should 
be where the optional code is placed, and the logic that is must required is 
not suitable for the plugin.
   
   Like the first version I submitted, the logic was placed in CONSUMER_CREATE, 
the readability was too poor and not exactly matched with the MQTT 
specification; 
   This version the logic was added by adding CONNECTED_CREATED. It seems that 
not all protocols are used, and it is not the most Good plan.
If you want to use SESSION_CREATED, CONNECTION_CREATED,  must force the 
MQTT protocol to open all plugins? and modify the filter so that the 
SESSION_CREATED notification can communicate between the clusters. This is the 
risk of making the original notification rules undefined,and need to modify 
their filtering rules, I am not sure if modifying the filtering rules will 
introduce other issues.
   
   
   
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194622)
Time Spent: 18h 10m  (was: 18h)

> (MQTT)In the cluster,the last consumer connection should close the previous 
> consumer connection
> ---
>
> Key: ARTEMIS-2226
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2226
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Shiping Liang
>Priority: Major
>  Time Spent: 18h 10m
>  Remaining Estimate: 0h
>
> Multiple consumers using the same clientId in the cluster, the last consumer 
> connection should close the previous consumer connection!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (AMQ-7080) Keep track of free pages - Update db.free file during checkpoints

2019-02-05 Thread Alan Protasio (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16760958#comment-16760958
 ] 

Alan Protasio edited comment on AMQ-7080 at 2/5/19 3:54 PM:


I'm trying to do it here... but every time that think about i find a case where 
i can break it..

 

Now I was implementing using HashIndex where FreePageKey 
is only a Long with a customized hashCode (and so, we would achieve the same 
goal to "restrict the updates to the pages that have changed" - and also " 
preallocated block of the first 10 pages or something like that." as the 
hashIndex preallocate 'binCapacity'); In this solution i was thinking that for 
instances pages from 1-1000 would have the same hash and so storage in the same 
Bin (page) inside the HashIndex - so if pages 1-1000 get modified, only the 
first page of the index would be written).

 

Then I created a pageFile Method to update this index:

void updatePageMap(Transaction tx, SequenceSet freeList, SequenceSet 
allocatedList)

That was invoked on Transaction#commit

The problem here is the circular self dependency. When I call updatePageMap 
inside the transaction.commit, i pass the transaction's free and allocated 
pages. But the "updatePageMap" itself can allocate and write more pages using 
the same transaction. If updatePageMap allocate one page for instance, the 
freeList will have a stale data.

I cannot also create another transaction to call updatePageMap. As this second 
transaction itself has to be committed creating another transaction. 

To make short... 

If i use the same transaction to update the SequenceSet index, I can have stale 
data.

Transaction.commit -> UpdateIndex with freePages data (this operation can 
allocate or free pages)  -> If the UpdateIndex allocated/freed pages then we 
need UpdateIndex again.

We can try to update the SequenceSet index until it stabilize and stop freeing 
or allocating page (this seems not right).

If i use other transaction to call UpdateIndex, this new transaction will also 
be committed creating a new transaction.

 

This will happen if i use any index implementation. :(

 

This is the change i was doing. See:

[https://github.com/alanprot/activemq/commit/18730a14db2f88d5a2ac8765fa1de50864fd2c4c#diff-1de6e29861ce2a712a3bd575dd25a013R663]

[https://github.com/alanprot/activemq/commit/18730a14db2f88d5a2ac8765fa1de50864fd2c4c#diff-b36dac7750d0c2eb9cd7e102704bee77R817]

 

I know you are not comfortable with this change... that's why i'm asking if its 
not better put it behind a feature flag (config) and came back with the 
data.free in the clean shutdown (so no change at all if this flag is no 
enabled).

 

 

 


was (Author: alanprot):
I'm trying to do it here... but every time that think about i find a case where 
i can break it..

 

Now I was implementing using HashIndex where FreePageKey 
is only a Long with a customized hashCode (and so, we would achieve the same 
goal to "restrict the updates to the pages that have changed" - and also " 
preallocated block of the first 10 pages or something like that." as the 
hashIndex preallocate 'binCapacity'); In this solution i was thinking that for 
instances pages from 1-1000 would have the same hash and so storage in the same 
Bin (page) inside the HashIndex - so if pages 1-1000 get modified, only the 
first page of the index would be written).

 

Then I created a pageFile Method to update this index:

void updatePageMap(Transaction tx, SequenceSet freeList, SequenceSet 
allocatedList)

That was invoked on Transaction#commit

The problem here is the circular self dependency. When I call updatePageMap 
inside the transaction.commit, i pass the transaction's free and allocated 
pages. But the "updatePageMap" itself can allocate and write more pages using 
the same transaction. If updatePageMap allocate one page for instance, the 
freeList will have a stale data.

I cannot also create another transaction to call updatePageMap. As this second 
transaction itself has to be committed creating another transaction. 

To make short... 

If i use the same transaction to update the SequenceSet index, I can have stale 
data.

Transaction.commit -> UpdateIndex with freePages data (this operation can 
allocate or free pages)  -> If the UpdateIndex allocated/freed pages then we 
need UpdateIndex again.

We can try to update the SequenceSet index until it stabilize and stop freeing 
or allocating page (this seems not right).

If i use other transaction to call UpdateIndex, this new transaction will also 
be committed creating a new transaction.

 

This will happen if i use any index implementation. :(

 

This is the change i was doing. See:

[https://github.com/alanprot/activemq/commit/18730a14db2f88d5a2ac8765fa1de50864fd2c4c#diff-1de6e29861ce2a712a3bd575dd25a013R663]


[jira] [Comment Edited] (AMQ-7080) Keep track of free pages - Update db.free file during checkpoints

2019-02-05 Thread Alan Protasio (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16760958#comment-16760958
 ] 

Alan Protasio edited comment on AMQ-7080 at 2/5/19 3:52 PM:


I'm trying to do it here... but every time that think about i find a case where 
i can break it..

 

Now I was implementing using HashIndex where FreePageKey 
is only a Long with a customized hashCode (and so, we would achieve the same 
goal to "restrict the updates to the pages that have changed" - and also " 
preallocated block of the first 10 pages or something like that." as the 
hashIndex preallocate 'binCapacity'); In this solution i was thinking that for 
instances pages from 1-1000 would have the same hash and so storage in the same 
Bin (page) inside the HashIndex - so if pages 1-1000 get modified, only the 
first page of the index would be written).

 

Then I created a pageFile Method to update this index:

void updatePageMap(Transaction tx, SequenceSet freeList, SequenceSet 
allocatedList)

That was invoked on Transaction#commit

The problem here is the circular self dependency. When I call updatePageMap 
inside the transaction.commit, i pass the transaction's free and allocated 
pages. But the "updatePageMap" itself can allocate and write more pages using 
the same transaction. If updatePageMap allocate one page for instance, the 
freeList will have a stale data.

I cannot also create another transaction to call updatePageMap. As this second 
transaction itself has to be committed creating another transaction. 

To make short... 

If i use the same transaction to update the SequenceSet index, I can have stale 
data.

Transaction.commit -> UpdateIndex with freePages data (this operation can 
allocate or free pages)  -> If the UpdateIndex allocated/freed pages then we 
need UpdateIndex again.

We can try to update the SequenceSet index until it stabilize and stop freeing 
or allocating page (this seems not right).

If i use other transaction to call UpdateIndex, this new transaction will also 
be committed creating a new transaction.

 

This will happen if i use any index implementation. :(

 

This is the change i was doing. See:

[https://github.com/alanprot/activemq/commit/18730a14db2f88d5a2ac8765fa1de50864fd2c4c#diff-1de6e29861ce2a712a3bd575dd25a013R663]

[https://github.com/alanprot/activemq/commit/18730a14db2f88d5a2ac8765fa1de50864fd2c4c#diff-b36dac7750d0c2eb9cd7e102704bee77R817]

 

 


was (Author: alanprot):
I'm trying to do it here... but every time that think about i find a case where 
i can break it..

 

Now I was implementing using HashIndex where FreePageKey 
is only a Long with a customized hashCode (and so, we would achieve the same 
goal to "restrict the updates to the pages that have changed" - and also " 
preallocated block of the first 10 pages or something like that." as the 
hashIndex preallocate 'binCapacity'); In this solution i was thinking that for 
instances pages from 1-1000 would have the same hash and so storage in the same 
Bin (page) inside the HashIndex - so if pages 1-1000 get modified, only the 
first page of the index would be written).

 

Then I created a pageFile Method to update this index:

void updatePageMap(Transaction tx, SequenceSet freeList, SequenceSet 
allocatedList)

That was invoked on Transaction#commit

The problem here is the circular self dependency. When I call updatePageMap 
inside the transaction.commit, i pass the transaction's free and allocated 
pages. But the "updatePageMap" itself can allocate and write more pages using 
the same transaction. If updatePageMap allocate one page for instance, the 
freeList will have a stale data.

I cannot also create another transaction to call updatePageMap. As this second 
transaction itself has to be committed creating another transaction. 

To make short... 

If i use the same transaction to update the SequenceSet index, I can have stale 
data.

Transaction.commit -> UpdateIndex with freePages data (this operation can 
allocate or free pages)  -> If the UpdateIndex allocated/freed pages then we 
need UpdateIndex again.

We can try to update the SequenceSet index until it stabilize and stop freeing 
or allocating page (this seems not right).

If i use other transaction to call UpdateIndex, this new transaction will also 
be committed creating a new transaction.

This is the change i was doing. See:

[https://github.com/alanprot/activemq/commit/18730a14db2f88d5a2ac8765fa1de50864fd2c4c#diff-1de6e29861ce2a712a3bd575dd25a013R663]

https://github.com/alanprot/activemq/commit/18730a14db2f88d5a2ac8765fa1de50864fd2c4c#diff-b36dac7750d0c2eb9cd7e102704bee77R817

 

 

> Keep track of free pages - Update db.free file during checkpoints
> -
>
> Key: AMQ-7080
> URL: https://issues.apache.org/jira/browse/AMQ-7080
> Project: 

[jira] [Commented] (AMQ-7080) Keep track of free pages - Update db.free file during checkpoints

2019-02-05 Thread Alan Protasio (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16760958#comment-16760958
 ] 

Alan Protasio commented on AMQ-7080:


I'm trying to do it here... but every time that think about i find a case where 
i can break it..

 

Now I was implementing using HashIndex where FreePageKey 
is only a Long with a customized hashCode (and so, we would achieve the same 
goal to "restrict the updates to the pages that have changed" - and also " 
preallocated block of the first 10 pages or something like that." as the 
hashIndex preallocate 'binCapacity'); In this solution i was thinking that for 
instances pages from 1-1000 would have the same hash and so storage in the same 
Bin (page) inside the HashIndex - so if pages 1-1000 get modified, only the 
first page of the index would be written).

 

Then I created a pageFile Method to update this index:

void updatePageMap(Transaction tx, SequenceSet freeList, SequenceSet 
allocatedList)

That was invoked on Transaction#commit

The problem here is the circular self dependency. When I call updatePageMap 
inside the transaction.commit, i pass the transaction's free and allocated 
pages. But the "updatePageMap" itself can allocate and write more pages using 
the same transaction. If updatePageMap allocate one page for instance, the 
freeList will have a stale data.

I cannot also create another transaction to call updatePageMap. As this second 
transaction itself has to be committed creating another transaction. 

To make short... 

If i use the same transaction to update the SequenceSet index, I can have stale 
data.

Transaction.commit -> UpdateIndex with freePages data (this operation can 
allocate or free pages)  -> If the UpdateIndex allocated/freed pages then we 
need UpdateIndex again.

We can try to update the SequenceSet index until it stabilize and stop freeing 
or allocating page (this seems not right).

If i use other transaction to call UpdateIndex, this new transaction will also 
be committed creating a new transaction.

This is the change i was doing. See:

[https://github.com/alanprot/activemq/commit/18730a14db2f88d5a2ac8765fa1de50864fd2c4c#diff-1de6e29861ce2a712a3bd575dd25a013R663]

https://github.com/alanprot/activemq/commit/18730a14db2f88d5a2ac8765fa1de50864fd2c4c#diff-b36dac7750d0c2eb9cd7e102704bee77R817

 

 

> Keep track of free pages - Update db.free file during checkpoints
> -
>
> Key: AMQ-7080
> URL: https://issues.apache.org/jira/browse/AMQ-7080
> Project: ActiveMQ
>  Issue Type: Improvement
>  Components: KahaDB
>Affects Versions: 5.15.6
>Reporter: Alan Protasio
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 5.16.0
>
> Attachments: AMQ-7080-freeList-update.diff
>
>
> In a event of an unclean shutdown, Activemq loses the information about the 
> free pages in the index. In order to recover this information, ActiveMQ read 
> the whole index during shutdown searching for free pages and then save the 
> db.free file. This operation can take a long time, making the failover 
> slower. (during the shutdown, activemq will still hold the lock).
> From http://activemq.apache.org/shared-file-system-master-slave.html
> {quote}"If you have a SAN or shared file system it can be used to provide 
> high availability such that if a broker is killed, another broker can take 
> over immediately."
> {quote}
> Is important to note if the shutdown takes more than ACTIVEMQ_KILL_MAXSECONDS 
> seconds, any following shutdown will be unclean. This broker will stay in 
> this state unless the index is deleted (this state means that every failover 
> will take more then ACTIVEMQ_KILL_MAXSECONDS, so, if you increase this time 
> to 5 minutes, you fail over can take more than 5 minutes).
>  
> In order to prevent ActiveMQ reading the whole index file to search for free 
> pages, we can keep track of those on every Checkpoint. In order to do that we 
> need to be sure that db.data and db.free are in sync. To achieve that we can 
> have a attribute in the db.free page that is referenced by the db.data.
> So during the checkpoint we have:
> 1 - Save db.free and give a freePageUniqueId
> 2 - Save this freePageUniqueId in the db.data (metadata)
> In a crash, we can see if the db.data has the same freePageUniqueId as the 
> db.free. If this is the case we can safely use the free page information 
> contained in the db.free
> Now, the only way to read the whole index file again is IF the crash happens 
> btw step 1 and 2 (what is very unlikely).
> The drawback of this implementation is that we will have to save db.free 
> during the checkpoint, what can possibly increase the checkpoint time.
> Is also important to note that we CAN (and should) have stale data in db.free 
> as it 

[jira] [Work logged] (ARTEMIS-2226) (MQTT)In the cluster,the last consumer connection should close the previous consumer connection

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2226?focusedWorklogId=194584=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194584
 ]

ASF GitHub Bot logged work on ARTEMIS-2226:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 15:27
Start Date: 05/Feb/19 15:27
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2528: 
ARTEMIS-2226 last consumer connection should close the previous consu…
URL: https://github.com/apache/activemq-artemis/pull/2528#issuecomment-460672007
 
 
   As ive already said you have two options either make mqtt to ensure plugin 
is enabled or simply make this notification more perm as like consumer one is.
   
   Also in that would be adding that session created is passed through 
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194584)
Time Spent: 18h  (was: 17h 50m)

> (MQTT)In the cluster,the last consumer connection should close the previous 
> consumer connection
> ---
>
> Key: ARTEMIS-2226
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2226
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Shiping Liang
>Priority: Major
>  Time Spent: 18h
>  Remaining Estimate: 0h
>
> Multiple consumers using the same clientId in the cluster, the last consumer 
> connection should close the previous consumer connection!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?focusedWorklogId=194587=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194587
 ]

ASF GitHub Bot logged work on ARTEMIS-2245:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 15:31
Start Date: 05/Feb/19 15:31
Worklog Time Spent: 10m 
  Work Description: clebertsuconic commented on issue #2536: ARTEMIS-2245 
Implement Docker images
URL: https://github.com/apache/activemq-artemis/pull/2536#issuecomment-460681547
 
 
   That part is a bit more complex as Apache infra is still in early days for 
this. 
   
   What we are trying to do here is to provide the docker files so this could 
be built anywhere else. 
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194587)
Time Spent: 2h 50m  (was: 2h 40m)

> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 2h 50m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?focusedWorklogId=194580=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194580
 ]

ASF GitHub Bot logged work on ARTEMIS-2245:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 15:22
Start Date: 05/Feb/19 15:22
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2536: 
ARTEMIS-2245 Implement Docker images
URL: https://github.com/apache/activemq-artemis/pull/2536#issuecomment-460677515
 
 
   For me the ultimate would be an image in docker hub, just as we push java 
artifacts to maven central. Its about making things as easy to consume as 
possible 
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194580)
Time Spent: 2h 40m  (was: 2.5h)

> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 2h 40m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2226) (MQTT)In the cluster,the last consumer connection should close the previous consumer connection

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2226?focusedWorklogId=194576=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194576
 ]

ASF GitHub Bot logged work on ARTEMIS-2226:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 15:08
Start Date: 05/Feb/19 15:08
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2528: 
ARTEMIS-2226 last consumer connection should close the previous consu…
URL: https://github.com/apache/activemq-artemis/pull/2528#issuecomment-460672007
 
 
   As ive already said you have two options either make mqtt to ensure plugin 
is enabled or simply make this notification more perm as like consumer one is.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194576)
Time Spent: 17h 50m  (was: 17h 40m)

> (MQTT)In the cluster,the last consumer connection should close the previous 
> consumer connection
> ---
>
> Key: ARTEMIS-2226
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2226
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Shiping Liang
>Priority: Major
>  Time Spent: 17h 50m
>  Remaining Estimate: 0h
>
> Multiple consumers using the same clientId in the cluster, the last consumer 
> connection should close the previous consumer connection!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2226) (MQTT)In the cluster,the last consumer connection should close the previous consumer connection

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2226?focusedWorklogId=194575=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194575
 ]

ASF GitHub Bot logged work on ARTEMIS-2226:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 15:07
Start Date: 05/Feb/19 15:07
Worklog Time Spent: 10m 
  Work Description: michaelandrepearce commented on issue #2528: 
ARTEMIS-2226 last consumer connection should close the previous consu…
URL: https://github.com/apache/activemq-artemis/pull/2528#issuecomment-460672007
 
 
   As ive already said you have two options either make mqtt to ensure plugin 
js enabled or simply make this notification more perm as like consumer one is.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194575)
Time Spent: 17h 40m  (was: 17.5h)

> (MQTT)In the cluster,the last consumer connection should close the previous 
> consumer connection
> ---
>
> Key: ARTEMIS-2226
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2226
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Shiping Liang
>Priority: Major
>  Time Spent: 17h 40m
>  Remaining Estimate: 0h
>
> Multiple consumers using the same clientId in the cluster, the last consumer 
> connection should close the previous consumer connection!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2226) (MQTT)In the cluster,the last consumer connection should close the previous consumer connection

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2226?focusedWorklogId=194527=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194527
 ]

ASF GitHub Bot logged work on ARTEMIS-2226:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 14:16
Start Date: 05/Feb/19 14:16
Worklog Time Spent: 10m 
  Work Description: onlyMIT commented on pull request #2528: ARTEMIS-2226 
last consumer connection should close the previous consu…
URL: https://github.com/apache/activemq-artemis/pull/2528#discussion_r253880048
 
 

 ##
 File path: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/CoreNotificationType.java
 ##
 @@ -47,7 +47,8 @@
SESSION_CREATED(26),
SESSION_CLOSED(27),
MESSAGE_DELIVERED(28),
-   MESSAGE_EXPIRED(29);
+   MESSAGE_EXPIRED(29),
+   CONNECTION_CONNECTED(30);
 
 Review comment:
   ```
   if (hasBrokerSessionPlugins()) {
   callBrokerSessionPlugins(plugin -> plugin.afterCreateSession(session));
   }
   ```
   SESSION_CREATED will only be sent if BrokerSessionPlugins is turned on in 
the configuration file.
   Also the notifications of CONNECTION_CREATE and SESSIONTION_CREATE will be 
filtered and will not be sent to other nodes in the cluster.You can see 
`ClusterConnectionBridge.setupNotificationConsumer()` method, where the 
cluster-connection filter is set .
   This is why I want to modify the filtering rules, CONNECTION_CREATE, 
SESSIONTION_CREATE and other connection-related notifications, only can use the 
`ManagementNotificationAddress` address to route messages. 
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194527)
Time Spent: 17h 20m  (was: 17h 10m)

> (MQTT)In the cluster,the last consumer connection should close the previous 
> consumer connection
> ---
>
> Key: ARTEMIS-2226
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2226
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Shiping Liang
>Priority: Major
>  Time Spent: 17h 20m
>  Remaining Estimate: 0h
>
> Multiple consumers using the same clientId in the cluster, the last consumer 
> connection should close the previous consumer connection!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2226) (MQTT)In the cluster,the last consumer connection should close the previous consumer connection

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2226?focusedWorklogId=194532=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194532
 ]

ASF GitHub Bot logged work on ARTEMIS-2226:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 14:22
Start Date: 05/Feb/19 14:22
Worklog Time Spent: 10m 
  Work Description: onlyMIT commented on pull request #2528: ARTEMIS-2226 
last consumer connection should close the previous consu…
URL: https://github.com/apache/activemq-artemis/pull/2528#discussion_r253882381
 
 

 ##
 File path: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/CoreNotificationType.java
 ##
 @@ -47,7 +47,8 @@
SESSION_CREATED(26),
SESSION_CLOSED(27),
MESSAGE_DELIVERED(28),
-   MESSAGE_EXPIRED(29);
+   MESSAGE_EXPIRED(29),
+   CONNECTION_CONNECTED(30);
 
 Review comment:
   ```
   private void handleNotificationMessage(ClientMessage message, 
CoreNotificationType ntype) throws Exception {
// TODO - optimised this by just passing int in header - but filter 
needs to be extended to support IN with
   
switch (ntype) {
   case BINDING_ADDED: {
  doBindingAdded(message);
   
  break;
   }
   case BINDING_REMOVED: {
  doBindingRemoved(message);
   
  break;
   }
   case CONSUMER_CREATED: {
  doConsumerCreated(message);
   
  break;
   }
   case CONSUMER_CLOSED: {
  doConsumerClosed(message);
   
  break;
   }
   case PROPOSAL: {
  doProposalReceived(message);
   
  break;
   }
   case PROPOSAL_RESPONSE: {
  doProposalResponseReceived(message);
  break;
   }
   case UNPROPOSAL: {
  doUnProposalReceived(message);
  break;
   }
   default: {
  throw ActiveMQMessageBundle.BUNDLE.invalidType(ntype);
   }
}
 }
   ```
   
   Only these notifications will pass between cluster nodes
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194532)
Time Spent: 17.5h  (was: 17h 20m)

> (MQTT)In the cluster,the last consumer connection should close the previous 
> consumer connection
> ---
>
> Key: ARTEMIS-2226
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2226
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Shiping Liang
>Priority: Major
>  Time Spent: 17.5h
>  Remaining Estimate: 0h
>
> Multiple consumers using the same clientId in the cluster, the last consumer 
> connection should close the previous consumer connection!



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (AMQ-7080) Keep track of free pages - Update db.free file during checkpoints

2019-02-05 Thread Alan Protasio (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16760790#comment-16760790
 ] 

Alan Protasio edited comment on AMQ-7080 at 2/5/19 1:42 PM:


I see... I did this way to keep it simple with the minimum performance impact.

What is your suggestion? I see some possibilities:
 * create a HashIndex.
 * update the bit map at the end of the pages (end of the index file)
 * write the bit map (or the sequenceSet) in pages (with overflow)

The first solution we will write way more bytes to keep track of the same 
information. And also, we will have to read all those bytes during startup. 
(key = pageFile and value = true if page is free)

The second solution, everything that we allocate a new page we will have to 
write the whole map again.

The third one, we will have to always write the whole bitmap (or sequenceSet) 
into pages. I thought that this could cause more performance degradation than 
the proposed solution. Remember that with the proposed solution only the bytes 
that changed are updated.

 

The last option that I can think of is create a sequenceset index. This can be 
a little better than the first but not a lot in a fragmented pagefile.

Do you have any other idea [~gtully]?


was (Author: alanprot):
I see... I did this way to keep it simple with the minimum performance impact.

What is your suggestion? I see some possibilities:
 * create a listindex.
 * update the map bit at the end of the pages (end of the index file)

The first solution we will write way more bytes to keep track of the same 
information. And also, we will have to read all those bytes during startup.

The second solution, everything that we allocate a new page we will have to 
write the whole map again.

The last option that I can think of is create a sequenceset index. This can be 
a little better than the first but not a lot in a fragmented pagefile.

Do you have any other idea [~gtully]?

> Keep track of free pages - Update db.free file during checkpoints
> -
>
> Key: AMQ-7080
> URL: https://issues.apache.org/jira/browse/AMQ-7080
> Project: ActiveMQ
>  Issue Type: Improvement
>  Components: KahaDB
>Affects Versions: 5.15.6
>Reporter: Alan Protasio
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 5.16.0
>
> Attachments: AMQ-7080-freeList-update.diff
>
>
> In a event of an unclean shutdown, Activemq loses the information about the 
> free pages in the index. In order to recover this information, ActiveMQ read 
> the whole index during shutdown searching for free pages and then save the 
> db.free file. This operation can take a long time, making the failover 
> slower. (during the shutdown, activemq will still hold the lock).
> From http://activemq.apache.org/shared-file-system-master-slave.html
> {quote}"If you have a SAN or shared file system it can be used to provide 
> high availability such that if a broker is killed, another broker can take 
> over immediately."
> {quote}
> Is important to note if the shutdown takes more than ACTIVEMQ_KILL_MAXSECONDS 
> seconds, any following shutdown will be unclean. This broker will stay in 
> this state unless the index is deleted (this state means that every failover 
> will take more then ACTIVEMQ_KILL_MAXSECONDS, so, if you increase this time 
> to 5 minutes, you fail over can take more than 5 minutes).
>  
> In order to prevent ActiveMQ reading the whole index file to search for free 
> pages, we can keep track of those on every Checkpoint. In order to do that we 
> need to be sure that db.data and db.free are in sync. To achieve that we can 
> have a attribute in the db.free page that is referenced by the db.data.
> So during the checkpoint we have:
> 1 - Save db.free and give a freePageUniqueId
> 2 - Save this freePageUniqueId in the db.data (metadata)
> In a crash, we can see if the db.data has the same freePageUniqueId as the 
> db.free. If this is the case we can safely use the free page information 
> contained in the db.free
> Now, the only way to read the whole index file again is IF the crash happens 
> btw step 1 and 2 (what is very unlikely).
> The drawback of this implementation is that we will have to save db.free 
> during the checkpoint, what can possibly increase the checkpoint time.
> Is also important to note that we CAN (and should) have stale data in db.free 
> as it is referencing stale db.data:
> Imagine the timeline:
> T0 -> P1, P2 and P3 are free.
> T1 -> Checkpoint
> T2 -> P1 got occupied.
> T3 -> Crash
> In the current scenario after the  Pagefile#load the P1 will be free and then 
> the replay will mark P1 as occupied or will occupied another page (now that 
> the recovery of free pages is done on shutdown)
> This change only make 

[jira] [Commented] (AMQ-7080) Keep track of free pages - Update db.free file during checkpoints

2019-02-05 Thread Gary Tully (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16760809#comment-16760809
 ] 

Gary Tully commented on AMQ-7080:
-

I am only offering thoughts, and thoughts are relatively cheap! I think what 
you have looks like a good solution for your use case.

sequenceset index, which is a bad name for a sequenceSet that is persisted to 
the page file. That is what I am thinking. 
It may be tricky to implement, but when it spans many pages, it should be 
possible to restrict the updates to the pages that have changed.
To avoid fragmentation of the sequenceSet pages, maybe it have have a 
preallocated block of the first 10 pages or something like that.
It means that typically there will be one additional page write (4k) in any 
update that allocated/frees a page.

I guess with a network mounted file, the changed bytes, or bytes written are 
the significant thing, even if the local files are updated in blocks.
It may not give you what you need in terms of bandwidth usage.

To do a bitSet on the pageFile and only update the changed bytes, would require 
a modified page type, probably a step too far.

If there are subsequent issues with the additional file sync, having another 
paged/indexed structure may be the answer.

> Keep track of free pages - Update db.free file during checkpoints
> -
>
> Key: AMQ-7080
> URL: https://issues.apache.org/jira/browse/AMQ-7080
> Project: ActiveMQ
>  Issue Type: Improvement
>  Components: KahaDB
>Affects Versions: 5.15.6
>Reporter: Alan Protasio
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 5.16.0
>
> Attachments: AMQ-7080-freeList-update.diff
>
>
> In a event of an unclean shutdown, Activemq loses the information about the 
> free pages in the index. In order to recover this information, ActiveMQ read 
> the whole index during shutdown searching for free pages and then save the 
> db.free file. This operation can take a long time, making the failover 
> slower. (during the shutdown, activemq will still hold the lock).
> From http://activemq.apache.org/shared-file-system-master-slave.html
> {quote}"If you have a SAN or shared file system it can be used to provide 
> high availability such that if a broker is killed, another broker can take 
> over immediately."
> {quote}
> Is important to note if the shutdown takes more than ACTIVEMQ_KILL_MAXSECONDS 
> seconds, any following shutdown will be unclean. This broker will stay in 
> this state unless the index is deleted (this state means that every failover 
> will take more then ACTIVEMQ_KILL_MAXSECONDS, so, if you increase this time 
> to 5 minutes, you fail over can take more than 5 minutes).
>  
> In order to prevent ActiveMQ reading the whole index file to search for free 
> pages, we can keep track of those on every Checkpoint. In order to do that we 
> need to be sure that db.data and db.free are in sync. To achieve that we can 
> have a attribute in the db.free page that is referenced by the db.data.
> So during the checkpoint we have:
> 1 - Save db.free and give a freePageUniqueId
> 2 - Save this freePageUniqueId in the db.data (metadata)
> In a crash, we can see if the db.data has the same freePageUniqueId as the 
> db.free. If this is the case we can safely use the free page information 
> contained in the db.free
> Now, the only way to read the whole index file again is IF the crash happens 
> btw step 1 and 2 (what is very unlikely).
> The drawback of this implementation is that we will have to save db.free 
> during the checkpoint, what can possibly increase the checkpoint time.
> Is also important to note that we CAN (and should) have stale data in db.free 
> as it is referencing stale db.data:
> Imagine the timeline:
> T0 -> P1, P2 and P3 are free.
> T1 -> Checkpoint
> T2 -> P1 got occupied.
> T3 -> Crash
> In the current scenario after the  Pagefile#load the P1 will be free and then 
> the replay will mark P1 as occupied or will occupied another page (now that 
> the recovery of free pages is done on shutdown)
> This change only make sure that db.data and db.free are in sync and showing 
> the reality in T1 (checkpoint), If they are in sync we can trust the db.free.
> This is a really fast draft of what i'm suggesting... If you guys agree, i 
> can create the proper patch after:
> [https://github.com/alanprot/activemq/commit/18036ef7214ef0eaa25c8650f40644dd8b4632a5]
>  
> This is related to https://issues.apache.org/jira/browse/AMQ-6590



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (AMQ-7080) Keep track of free pages - Update db.free file during checkpoints

2019-02-05 Thread Alan Protasio (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16760790#comment-16760790
 ] 

Alan Protasio edited comment on AMQ-7080 at 2/5/19 1:20 PM:


I see... I did this way to keep it simple with the minimum performance impact.

What is your suggestion? I see some possibilities:
 * create a listindex.
 * update the map bit at the end of the pages (end of the index file)

The first solution we will write way more bytes to keep track of the same 
information. And also, we will have to read all those bytes during startup.

The second solution, everything that we allocate a new page we will have to 
write the whole map again.

The last option that I can think of is create a sequenceset index. This can be 
a little better than the first but not a lot in a fragmented pagefile.

Do you have any other ideias [~gtully]?


was (Author: alanprot):
I see... I did this way to keep it simple with the minimum performance impact. 

What is your suggestion? I see some possibilities:

* create a listindex.
* update the map bit at the end of the pages (end of the index file)

The first solution we will write way more bytes to keep track of the same 
information. And also, we will have to read all those bytes during startup.

The second solution, everything that we allocate a new page we will have to 
write the whole map again.

The last option that I can think of is create a sequenceset index. This can be 
a little better than the first but not a lot in a fragmented pagefile.

Do you have any other ideias @gtully? 

> Keep track of free pages - Update db.free file during checkpoints
> -
>
> Key: AMQ-7080
> URL: https://issues.apache.org/jira/browse/AMQ-7080
> Project: ActiveMQ
>  Issue Type: Improvement
>  Components: KahaDB
>Affects Versions: 5.15.6
>Reporter: Alan Protasio
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 5.16.0
>
> Attachments: AMQ-7080-freeList-update.diff
>
>
> In a event of an unclean shutdown, Activemq loses the information about the 
> free pages in the index. In order to recover this information, ActiveMQ read 
> the whole index during shutdown searching for free pages and then save the 
> db.free file. This operation can take a long time, making the failover 
> slower. (during the shutdown, activemq will still hold the lock).
> From http://activemq.apache.org/shared-file-system-master-slave.html
> {quote}"If you have a SAN or shared file system it can be used to provide 
> high availability such that if a broker is killed, another broker can take 
> over immediately."
> {quote}
> Is important to note if the shutdown takes more than ACTIVEMQ_KILL_MAXSECONDS 
> seconds, any following shutdown will be unclean. This broker will stay in 
> this state unless the index is deleted (this state means that every failover 
> will take more then ACTIVEMQ_KILL_MAXSECONDS, so, if you increase this time 
> to 5 minutes, you fail over can take more than 5 minutes).
>  
> In order to prevent ActiveMQ reading the whole index file to search for free 
> pages, we can keep track of those on every Checkpoint. In order to do that we 
> need to be sure that db.data and db.free are in sync. To achieve that we can 
> have a attribute in the db.free page that is referenced by the db.data.
> So during the checkpoint we have:
> 1 - Save db.free and give a freePageUniqueId
> 2 - Save this freePageUniqueId in the db.data (metadata)
> In a crash, we can see if the db.data has the same freePageUniqueId as the 
> db.free. If this is the case we can safely use the free page information 
> contained in the db.free
> Now, the only way to read the whole index file again is IF the crash happens 
> btw step 1 and 2 (what is very unlikely).
> The drawback of this implementation is that we will have to save db.free 
> during the checkpoint, what can possibly increase the checkpoint time.
> Is also important to note that we CAN (and should) have stale data in db.free 
> as it is referencing stale db.data:
> Imagine the timeline:
> T0 -> P1, P2 and P3 are free.
> T1 -> Checkpoint
> T2 -> P1 got occupied.
> T3 -> Crash
> In the current scenario after the  Pagefile#load the P1 will be free and then 
> the replay will mark P1 as occupied or will occupied another page (now that 
> the recovery of free pages is done on shutdown)
> This change only make sure that db.data and db.free are in sync and showing 
> the reality in T1 (checkpoint), If they are in sync we can trust the db.free.
> This is a really fast draft of what i'm suggesting... If you guys agree, i 
> can create the proper patch after:
> [https://github.com/alanprot/activemq/commit/18036ef7214ef0eaa25c8650f40644dd8b4632a5]
>  
> This is related to 

[jira] [Comment Edited] (AMQ-7080) Keep track of free pages - Update db.free file during checkpoints

2019-02-05 Thread Alan Protasio (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16760790#comment-16760790
 ] 

Alan Protasio edited comment on AMQ-7080 at 2/5/19 1:21 PM:


I see... I did this way to keep it simple with the minimum performance impact.

What is your suggestion? I see some possibilities:
 * create a listindex.
 * update the map bit at the end of the pages (end of the index file)

The first solution we will write way more bytes to keep track of the same 
information. And also, we will have to read all those bytes during startup.

The second solution, everything that we allocate a new page we will have to 
write the whole map again.

The last option that I can think of is create a sequenceset index. This can be 
a little better than the first but not a lot in a fragmented pagefile.

Do you have any other idea [~gtully]?


was (Author: alanprot):
I see... I did this way to keep it simple with the minimum performance impact.

What is your suggestion? I see some possibilities:
 * create a listindex.
 * update the map bit at the end of the pages (end of the index file)

The first solution we will write way more bytes to keep track of the same 
information. And also, we will have to read all those bytes during startup.

The second solution, everything that we allocate a new page we will have to 
write the whole map again.

The last option that I can think of is create a sequenceset index. This can be 
a little better than the first but not a lot in a fragmented pagefile.

Do you have any other ideias [~gtully]?

> Keep track of free pages - Update db.free file during checkpoints
> -
>
> Key: AMQ-7080
> URL: https://issues.apache.org/jira/browse/AMQ-7080
> Project: ActiveMQ
>  Issue Type: Improvement
>  Components: KahaDB
>Affects Versions: 5.15.6
>Reporter: Alan Protasio
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 5.16.0
>
> Attachments: AMQ-7080-freeList-update.diff
>
>
> In a event of an unclean shutdown, Activemq loses the information about the 
> free pages in the index. In order to recover this information, ActiveMQ read 
> the whole index during shutdown searching for free pages and then save the 
> db.free file. This operation can take a long time, making the failover 
> slower. (during the shutdown, activemq will still hold the lock).
> From http://activemq.apache.org/shared-file-system-master-slave.html
> {quote}"If you have a SAN or shared file system it can be used to provide 
> high availability such that if a broker is killed, another broker can take 
> over immediately."
> {quote}
> Is important to note if the shutdown takes more than ACTIVEMQ_KILL_MAXSECONDS 
> seconds, any following shutdown will be unclean. This broker will stay in 
> this state unless the index is deleted (this state means that every failover 
> will take more then ACTIVEMQ_KILL_MAXSECONDS, so, if you increase this time 
> to 5 minutes, you fail over can take more than 5 minutes).
>  
> In order to prevent ActiveMQ reading the whole index file to search for free 
> pages, we can keep track of those on every Checkpoint. In order to do that we 
> need to be sure that db.data and db.free are in sync. To achieve that we can 
> have a attribute in the db.free page that is referenced by the db.data.
> So during the checkpoint we have:
> 1 - Save db.free and give a freePageUniqueId
> 2 - Save this freePageUniqueId in the db.data (metadata)
> In a crash, we can see if the db.data has the same freePageUniqueId as the 
> db.free. If this is the case we can safely use the free page information 
> contained in the db.free
> Now, the only way to read the whole index file again is IF the crash happens 
> btw step 1 and 2 (what is very unlikely).
> The drawback of this implementation is that we will have to save db.free 
> during the checkpoint, what can possibly increase the checkpoint time.
> Is also important to note that we CAN (and should) have stale data in db.free 
> as it is referencing stale db.data:
> Imagine the timeline:
> T0 -> P1, P2 and P3 are free.
> T1 -> Checkpoint
> T2 -> P1 got occupied.
> T3 -> Crash
> In the current scenario after the  Pagefile#load the P1 will be free and then 
> the replay will mark P1 as occupied or will occupied another page (now that 
> the recovery of free pages is done on shutdown)
> This change only make sure that db.data and db.free are in sync and showing 
> the reality in T1 (checkpoint), If they are in sync we can trust the db.free.
> This is a really fast draft of what i'm suggesting... If you guys agree, i 
> can create the proper patch after:
> [https://github.com/alanprot/activemq/commit/18036ef7214ef0eaa25c8650f40644dd8b4632a5]
>  
> This is related to 

[jira] [Commented] (AMQ-7080) Keep track of free pages - Update db.free file during checkpoints

2019-02-05 Thread Alan Protasio (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16760790#comment-16760790
 ] 

Alan Protasio commented on AMQ-7080:


I see... I did this way to keep it simple with the minimum performance impact. 

What is your suggestion? I see some possibilities:

* create a listindex.
* update the map bit at the end of the pages (end of the index file)

The first solution we will write way more bytes to keep track of the same 
information. And also, we will have to read all those bytes during startup.

The second solution, everything that we allocate a new page we will have to 
write the whole map again.

The last option that I can think of is create a sequenceset index. This can be 
a little better than the first but not a lot in a fragmented pagefile.

Do you have any other ideias @gtully? 

> Keep track of free pages - Update db.free file during checkpoints
> -
>
> Key: AMQ-7080
> URL: https://issues.apache.org/jira/browse/AMQ-7080
> Project: ActiveMQ
>  Issue Type: Improvement
>  Components: KahaDB
>Affects Versions: 5.15.6
>Reporter: Alan Protasio
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 5.16.0
>
> Attachments: AMQ-7080-freeList-update.diff
>
>
> In a event of an unclean shutdown, Activemq loses the information about the 
> free pages in the index. In order to recover this information, ActiveMQ read 
> the whole index during shutdown searching for free pages and then save the 
> db.free file. This operation can take a long time, making the failover 
> slower. (during the shutdown, activemq will still hold the lock).
> From http://activemq.apache.org/shared-file-system-master-slave.html
> {quote}"If you have a SAN or shared file system it can be used to provide 
> high availability such that if a broker is killed, another broker can take 
> over immediately."
> {quote}
> Is important to note if the shutdown takes more than ACTIVEMQ_KILL_MAXSECONDS 
> seconds, any following shutdown will be unclean. This broker will stay in 
> this state unless the index is deleted (this state means that every failover 
> will take more then ACTIVEMQ_KILL_MAXSECONDS, so, if you increase this time 
> to 5 minutes, you fail over can take more than 5 minutes).
>  
> In order to prevent ActiveMQ reading the whole index file to search for free 
> pages, we can keep track of those on every Checkpoint. In order to do that we 
> need to be sure that db.data and db.free are in sync. To achieve that we can 
> have a attribute in the db.free page that is referenced by the db.data.
> So during the checkpoint we have:
> 1 - Save db.free and give a freePageUniqueId
> 2 - Save this freePageUniqueId in the db.data (metadata)
> In a crash, we can see if the db.data has the same freePageUniqueId as the 
> db.free. If this is the case we can safely use the free page information 
> contained in the db.free
> Now, the only way to read the whole index file again is IF the crash happens 
> btw step 1 and 2 (what is very unlikely).
> The drawback of this implementation is that we will have to save db.free 
> during the checkpoint, what can possibly increase the checkpoint time.
> Is also important to note that we CAN (and should) have stale data in db.free 
> as it is referencing stale db.data:
> Imagine the timeline:
> T0 -> P1, P2 and P3 are free.
> T1 -> Checkpoint
> T2 -> P1 got occupied.
> T3 -> Crash
> In the current scenario after the  Pagefile#load the P1 will be free and then 
> the replay will mark P1 as occupied or will occupied another page (now that 
> the recovery of free pages is done on shutdown)
> This change only make sure that db.data and db.free are in sync and showing 
> the reality in T1 (checkpoint), If they are in sync we can trust the db.free.
> This is a really fast draft of what i'm suggesting... If you guys agree, i 
> can create the proper patch after:
> [https://github.com/alanprot/activemq/commit/18036ef7214ef0eaa25c8650f40644dd8b4632a5]
>  
> This is related to https://issues.apache.org/jira/browse/AMQ-6590



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (AMQ-7146) Support Spring 5 in OSGi

2019-02-05 Thread Guillaume Nodet (JIRA)


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

Guillaume Nodet resolved AMQ-7146.
--
   Resolution: Fixed
Fix Version/s: 5.15.9

> Support Spring 5 in OSGi
> 
>
> Key: AMQ-7146
> URL: https://issues.apache.org/jira/browse/AMQ-7146
> Project: ActiveMQ
>  Issue Type: Task
>  Components: OSGi/Karaf
>Reporter: Guillaume Nodet
>Assignee: Guillaume Nodet
>Priority: Major
> Fix For: 5.15.9
>
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7146) Support Spring 5 in OSGi

2019-02-05 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16760673#comment-16760673
 ] 

ASF subversion and git services commented on AMQ-7146:
--

Commit c628357f91c5f4f71b9106b30a43ea86230c6044 in activemq's branch 
refs/heads/activemq-5.15.x from Guillaume Nodet
[ https://gitbox.apache.org/repos/asf?p=activemq.git;h=c628357 ]

AMQ-7146 - Support Spring 5 in OSGi


> Support Spring 5 in OSGi
> 
>
> Key: AMQ-7146
> URL: https://issues.apache.org/jira/browse/AMQ-7146
> Project: ActiveMQ
>  Issue Type: Task
>  Components: OSGi/Karaf
>Reporter: Guillaume Nodet
>Assignee: Guillaume Nodet
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (AMQ-7146) Support Spring 5 in OSGi

2019-02-05 Thread Guillaume Nodet (JIRA)
Guillaume Nodet created AMQ-7146:


 Summary: Support Spring 5 in OSGi
 Key: AMQ-7146
 URL: https://issues.apache.org/jira/browse/AMQ-7146
 Project: ActiveMQ
  Issue Type: Task
  Components: OSGi/Karaf
Reporter: Guillaume Nodet
Assignee: Guillaume Nodet






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?focusedWorklogId=194455=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194455
 ]

ASF GitHub Bot logged work on ARTEMIS-2245:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 10:10
Start Date: 05/Feb/19 10:10
Worklog Time Spent: 10m 
  Work Description: franz1981 commented on issue #2536: ARTEMIS-2245 
Implement Docker images
URL: https://github.com/apache/activemq-artemis/pull/2536#issuecomment-460581318
 
 
   Let me take some time to think about the best approach here: I see that the 
current PR is very dev-friendly (given that a compiled distribution IS the base 
to create a running docker image), but I would prefer something more 
user-friendly and self contained eg that download or receive from an argument 
the URL/zip to be used to build the image.
   That would allow the docker file to be self-contained and somehow 
indipendent from the compiled code...
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194455)
Time Spent: 2h 20m  (was: 2h 10m)

> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (ARTEMIS-2245) Implement Docker images

2019-02-05 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-2245?focusedWorklogId=194456=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-194456
 ]

ASF GitHub Bot logged work on ARTEMIS-2245:
---

Author: ASF GitHub Bot
Created on: 05/Feb/19 10:10
Start Date: 05/Feb/19 10:10
Worklog Time Spent: 10m 
  Work Description: franz1981 commented on issue #2536: ARTEMIS-2245 
Implement Docker images
URL: https://github.com/apache/activemq-artemis/pull/2536#issuecomment-460581318
 
 
   Let me take some time to think about the best approach here: I see that the 
current PR is very dev-friendly (given that a compiled distribution IS what is 
used to create a running docker image), but I would prefer something more 
user-friendly and self contained eg that download or receive from an argument 
the URL/zip to be used to build the image.
   That would allow the docker file to be self-contained and somehow 
indipendent from the compiled code...
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 194456)
Time Spent: 2.5h  (was: 2h 20m)

> Implement Docker images
> ---
>
> Key: ARTEMIS-2245
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2245
> Project: ActiveMQ Artemis
>  Issue Type: New Feature
>Affects Versions: 2.6.4
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Major
>  Time Spent: 2.5h
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7080) Keep track of free pages - Update db.free file during checkpoints

2019-02-05 Thread Gary Tully (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16760646#comment-16760646
 ] 

Gary Tully commented on AMQ-7080:
-

I don't think it needs a feature flag.
The thought that keeps coming back is that the sequenceSet should be backed by 
the pageFile such that free pages are tracked in the same way as active ones, 
in a pagefile backed structure. This would ensure that only a single file needs 
to be synced. I don't see any upside to having to update two files. But this is 
a good step forward for your use case.

> Keep track of free pages - Update db.free file during checkpoints
> -
>
> Key: AMQ-7080
> URL: https://issues.apache.org/jira/browse/AMQ-7080
> Project: ActiveMQ
>  Issue Type: Improvement
>  Components: KahaDB
>Affects Versions: 5.15.6
>Reporter: Alan Protasio
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 5.16.0
>
> Attachments: AMQ-7080-freeList-update.diff
>
>
> In a event of an unclean shutdown, Activemq loses the information about the 
> free pages in the index. In order to recover this information, ActiveMQ read 
> the whole index during shutdown searching for free pages and then save the 
> db.free file. This operation can take a long time, making the failover 
> slower. (during the shutdown, activemq will still hold the lock).
> From http://activemq.apache.org/shared-file-system-master-slave.html
> {quote}"If you have a SAN or shared file system it can be used to provide 
> high availability such that if a broker is killed, another broker can take 
> over immediately."
> {quote}
> Is important to note if the shutdown takes more than ACTIVEMQ_KILL_MAXSECONDS 
> seconds, any following shutdown will be unclean. This broker will stay in 
> this state unless the index is deleted (this state means that every failover 
> will take more then ACTIVEMQ_KILL_MAXSECONDS, so, if you increase this time 
> to 5 minutes, you fail over can take more than 5 minutes).
>  
> In order to prevent ActiveMQ reading the whole index file to search for free 
> pages, we can keep track of those on every Checkpoint. In order to do that we 
> need to be sure that db.data and db.free are in sync. To achieve that we can 
> have a attribute in the db.free page that is referenced by the db.data.
> So during the checkpoint we have:
> 1 - Save db.free and give a freePageUniqueId
> 2 - Save this freePageUniqueId in the db.data (metadata)
> In a crash, we can see if the db.data has the same freePageUniqueId as the 
> db.free. If this is the case we can safely use the free page information 
> contained in the db.free
> Now, the only way to read the whole index file again is IF the crash happens 
> btw step 1 and 2 (what is very unlikely).
> The drawback of this implementation is that we will have to save db.free 
> during the checkpoint, what can possibly increase the checkpoint time.
> Is also important to note that we CAN (and should) have stale data in db.free 
> as it is referencing stale db.data:
> Imagine the timeline:
> T0 -> P1, P2 and P3 are free.
> T1 -> Checkpoint
> T2 -> P1 got occupied.
> T3 -> Crash
> In the current scenario after the  Pagefile#load the P1 will be free and then 
> the replay will mark P1 as occupied or will occupied another page (now that 
> the recovery of free pages is done on shutdown)
> This change only make sure that db.data and db.free are in sync and showing 
> the reality in T1 (checkpoint), If they are in sync we can trust the db.free.
> This is a really fast draft of what i'm suggesting... If you guys agree, i 
> can create the proper patch after:
> [https://github.com/alanprot/activemq/commit/18036ef7214ef0eaa25c8650f40644dd8b4632a5]
>  
> This is related to https://issues.apache.org/jira/browse/AMQ-6590



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)