[jira] [Commented] (DISPATCH-1164) Failing to compile the router when only python3 is installed

2018-10-31 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/DISPATCH-1164?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670894#comment-16670894
 ] 

ASF GitHub Bot commented on DISPATCH-1164:
--

Github user codecov-io commented on the issue:

https://github.com/apache/qpid-dispatch/pull/412
  
# 
[Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/412?src=pr=h1) 
Report
> Merging 
[#412](https://codecov.io/gh/apache/qpid-dispatch/pull/412?src=pr=desc) into 
[master](https://codecov.io/gh/apache/qpid-dispatch/commit/aacb11ad2bfa02430dfb289667c0d3f8cec58a0e?src=pr=desc)
 will **increase** coverage by `0.02%`.
> The diff coverage is `n/a`.

[![Impacted file tree 
graph](https://codecov.io/gh/apache/qpid-dispatch/pull/412/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/412?src=pr=tree)

```diff
@@Coverage Diff @@
##   master #412  +/-   ##
==
+ Coverage   85.17%   85.19%   +0.02% 
==
  Files  78   78  
  Lines   1742917428   -1 
==
+ Hits1484514848   +3 
+ Misses   2584 2580   -4
```


| [Impacted 
Files](https://codecov.io/gh/apache/qpid-dispatch/pull/412?src=pr=tree) | 
Coverage Δ | |
|---|---|---|
| 
[src/router\_core/route\_tables.c](https://codecov.io/gh/apache/qpid-dispatch/pull/412/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlX3RhYmxlcy5j)
 | `76.8% <0%> (-0.26%)` | :arrow_down: |
| 
[src/server.c](https://codecov.io/gh/apache/qpid-dispatch/pull/412/diff?src=pr=tree#diff-c3JjL3NlcnZlci5j)
 | `82.42% <0%> (+0.12%)` | :arrow_up: |
| 
[src/iterator.c](https://codecov.io/gh/apache/qpid-dispatch/pull/412/diff?src=pr=tree#diff-c3JjL2l0ZXJhdG9yLmM=)
 | `93.66% <0%> (+0.21%)` | :arrow_up: |
| 
[src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/412/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=)
 | `93.42% <0%> (+0.28%)` | :arrow_up: |
| 
[src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/412/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=)
 | `90.46% <0%> (+0.29%)` | :arrow_up: |

--

[Continue to review full report at 
Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/412?src=pr=continue).
> **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
> Powered by 
[Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/412?src=pr=footer).
 Last update 
[aacb11a...9af6602](https://codecov.io/gh/apache/qpid-dispatch/pull/412?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).



> Failing to compile the router when only python3 is installed
> 
>
> Key: DISPATCH-1164
> URL: https://issues.apache.org/jira/browse/DISPATCH-1164
> Project: Qpid Dispatch
>  Issue Type: Bug
>Affects Versions: 1.5.0
>Reporter: Fernando Giorgetti
>Priority: Major
>
> While performing LP test on RHEL8 Beta, with just python36 installed, I am 
> seeing an error in my attempt to source the "config.sh" script.
> I am basically seeing two problems here:
>  # It is using a static "python" executable (and here I have just python3 in 
> my PATH)
>  # The "print" statement is not using parenthesis
>  



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[GitHub] qpid-dispatch issue #412: DISPATCH-1164 - Modified config.sh to work with py...

2018-10-31 Thread codecov-io
Github user codecov-io commented on the issue:

https://github.com/apache/qpid-dispatch/pull/412
  
# 
[Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/412?src=pr=h1) 
Report
> Merging 
[#412](https://codecov.io/gh/apache/qpid-dispatch/pull/412?src=pr=desc) into 
[master](https://codecov.io/gh/apache/qpid-dispatch/commit/aacb11ad2bfa02430dfb289667c0d3f8cec58a0e?src=pr=desc)
 will **increase** coverage by `0.02%`.
> The diff coverage is `n/a`.

[![Impacted file tree 
graph](https://codecov.io/gh/apache/qpid-dispatch/pull/412/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/412?src=pr=tree)

```diff
@@Coverage Diff @@
##   master #412  +/-   ##
==
+ Coverage   85.17%   85.19%   +0.02% 
==
  Files  78   78  
  Lines   1742917428   -1 
==
+ Hits1484514848   +3 
+ Misses   2584 2580   -4
```


| [Impacted 
Files](https://codecov.io/gh/apache/qpid-dispatch/pull/412?src=pr=tree) | 
Coverage Δ | |
|---|---|---|
| 
[src/router\_core/route\_tables.c](https://codecov.io/gh/apache/qpid-dispatch/pull/412/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlX3RhYmxlcy5j)
 | `76.8% <0%> (-0.26%)` | :arrow_down: |
| 
[src/server.c](https://codecov.io/gh/apache/qpid-dispatch/pull/412/diff?src=pr=tree#diff-c3JjL3NlcnZlci5j)
 | `82.42% <0%> (+0.12%)` | :arrow_up: |
| 
[src/iterator.c](https://codecov.io/gh/apache/qpid-dispatch/pull/412/diff?src=pr=tree#diff-c3JjL2l0ZXJhdG9yLmM=)
 | `93.66% <0%> (+0.21%)` | :arrow_up: |
| 
[src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/412/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=)
 | `93.42% <0%> (+0.28%)` | :arrow_up: |
| 
[src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/412/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=)
 | `90.46% <0%> (+0.29%)` | :arrow_up: |

--

[Continue to review full report at 
Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/412?src=pr=continue).
> **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute  (impact)`, `ø = not affected`, `? = missing 
data`
> Powered by 
[Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/412?src=pr=footer).
 Last update 
[aacb11a...9af6602](https://codecov.io/gh/apache/qpid-dispatch/pull/412?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).



---

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (DISPATCH-1154) Synchronize routed link configurations on edge router with interior router

2018-10-31 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/DISPATCH-1154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670812#comment-16670812
 ] 

ASF GitHub Bot commented on DISPATCH-1154:
--

Github user codecov-io commented on the issue:

https://github.com/apache/qpid-dispatch/pull/411
  
# 
[Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/411?src=pr=h1) 
Report
> Merging 
[#411](https://codecov.io/gh/apache/qpid-dispatch/pull/411?src=pr=desc) into 
[master](https://codecov.io/gh/apache/qpid-dispatch/commit/aacb11ad2bfa02430dfb289667c0d3f8cec58a0e?src=pr=desc)
 will **increase** coverage by `0.19%`.
> The diff coverage is `83.45%`.

[![Impacted file tree 
graph](https://codecov.io/gh/apache/qpid-dispatch/pull/411/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/411?src=pr=tree)

```diff
@@Coverage Diff @@
##   master #411  +/-   ##
==
+ Coverage   85.17%   85.37%   +0.19% 
==
  Files  78   80   +2 
  Lines   1742917698 +269 
==
+ Hits1484515109 +264 
- Misses   2584 2589   +5
```


| [Impacted 
Files](https://codecov.io/gh/apache/qpid-dispatch/pull/411?src=pr=tree) | 
Coverage Δ | |
|---|---|---|
| 
[src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=)
 | `93.46% <100%> (+0.32%)` | :arrow_up: |
| 
[src/router\_core/modules/edge\_router/module.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvbW9kdWxlLmM=)
 | `100% <100%> (ø)` | :arrow_up: |
| 
[...router\_core/modules/edge\_router/link\_route\_proxy.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvbGlua19yb3V0ZV9wcm94eS5j)
 | `81.25% <81.25%> (ø)` | |
| 
[src/router\_core/modules/edge\_router/edge\_mgmt.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvZWRnZV9tZ210LmM=)
 | `85.14% <85.14%> (ø)` | |
| 
[src/router\_core/agent\_conn\_link\_route.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2FnZW50X2Nvbm5fbGlua19yb3V0ZS5j)
 | `86.95% <90%> (+5.08%)` | :arrow_up: |
| 
[src/router\_core/forwarder.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2ZvcndhcmRlci5j)
 | `93.12% <0%> (-0.72%)` | :arrow_down: |
| 
[src/router\_core/route\_tables.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlX3RhYmxlcy5j)
 | `76.8% <0%> (-0.26%)` | :arrow_down: |
| 
[src/container.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL2NvbnRhaW5lci5j)
 | `76.77% <0%> (-0.2%)` | :arrow_down: |
| ... and [9 
more](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree-more)
 | |

--

[Continue to review full report at 
Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/411?src=pr=continue).
> **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute  (impact)`, `ø = not affected`, `? = missing data`
> Powered by 
[Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/411?src=pr=footer).
 Last update 
[aacb11a...0a2d471](https://codecov.io/gh/apache/qpid-dispatch/pull/411?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).



> Synchronize routed link configurations on edge router with interior router
> --
>
> Key: DISPATCH-1154
> URL: https://issues.apache.org/jira/browse/DISPATCH-1154
> Project: Qpid Dispatch
>  Issue Type: New Feature
>Reporter: Ken Giusti
>Assignee: Ken Giusti
>Priority: Major
>
> Part of the Edge router feature



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[GitHub] qpid-dispatch issue #411: DISPATCH-1154: Synchronize edge link routes to int...

2018-10-31 Thread codecov-io
Github user codecov-io commented on the issue:

https://github.com/apache/qpid-dispatch/pull/411
  
# 
[Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/411?src=pr=h1) 
Report
> Merging 
[#411](https://codecov.io/gh/apache/qpid-dispatch/pull/411?src=pr=desc) into 
[master](https://codecov.io/gh/apache/qpid-dispatch/commit/aacb11ad2bfa02430dfb289667c0d3f8cec58a0e?src=pr=desc)
 will **increase** coverage by `0.19%`.
> The diff coverage is `83.45%`.

[![Impacted file tree 
graph](https://codecov.io/gh/apache/qpid-dispatch/pull/411/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/411?src=pr=tree)

```diff
@@Coverage Diff @@
##   master #411  +/-   ##
==
+ Coverage   85.17%   85.37%   +0.19% 
==
  Files  78   80   +2 
  Lines   1742917698 +269 
==
+ Hits1484515109 +264 
- Misses   2584 2589   +5
```


| [Impacted 
Files](https://codecov.io/gh/apache/qpid-dispatch/pull/411?src=pr=tree) | 
Coverage Δ | |
|---|---|---|
| 
[src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=)
 | `93.46% <100%> (+0.32%)` | :arrow_up: |
| 
[src/router\_core/modules/edge\_router/module.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvbW9kdWxlLmM=)
 | `100% <100%> (ø)` | :arrow_up: |
| 
[...router\_core/modules/edge\_router/link\_route\_proxy.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvbGlua19yb3V0ZV9wcm94eS5j)
 | `81.25% <81.25%> (ø)` | |
| 
[src/router\_core/modules/edge\_router/edge\_mgmt.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvZWRnZV9tZ210LmM=)
 | `85.14% <85.14%> (ø)` | |
| 
[src/router\_core/agent\_conn\_link\_route.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2FnZW50X2Nvbm5fbGlua19yb3V0ZS5j)
 | `86.95% <90%> (+5.08%)` | :arrow_up: |
| 
[src/router\_core/forwarder.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2ZvcndhcmRlci5j)
 | `93.12% <0%> (-0.72%)` | :arrow_down: |
| 
[src/router\_core/route\_tables.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlX3RhYmxlcy5j)
 | `76.8% <0%> (-0.26%)` | :arrow_down: |
| 
[src/container.c](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree#diff-c3JjL2NvbnRhaW5lci5j)
 | `76.77% <0%> (-0.2%)` | :arrow_down: |
| ... and [9 
more](https://codecov.io/gh/apache/qpid-dispatch/pull/411/diff?src=pr=tree-more)
 | |

--

[Continue to review full report at 
Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/411?src=pr=continue).
> **Legend** - [Click here to learn 
more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute  (impact)`, `ø = not affected`, `? = missing 
data`
> Powered by 
[Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/411?src=pr=footer).
 Last update 
[aacb11a...0a2d471](https://codecov.io/gh/apache/qpid-dispatch/pull/411?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).



---

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPIDJMS-417) Reduce GC pressure while using BytesMessage

2018-10-31 Thread Timothy Bish (JIRA)


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

Timothy Bish updated QPIDJMS-417:
-
Fix Version/s: (was: 0.38.0)

> Reduce GC pressure while using BytesMessage
> ---
>
> Key: QPIDJMS-417
> URL: https://issues.apache.org/jira/browse/QPIDJMS-417
> Project: Qpid JMS
>  Issue Type: Improvement
>  Components: qpid-jms-client
>Affects Versions: 0.37.0
>Reporter: Francesco Nigro
>Priority: Trivial
>
> JmsBytesMessage::initializeReading() creates DataInputStream that allocates 
> several byte[] and char[] even when no methods need them.
> Using directly the underline ByteBufInputStream would reduce the amount of 
> garbage created while reducing the indirections needed to hit the underline 
> ByteBuf that hold the data.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (DISPATCH-1164) Failing to compile the router when only python3 is installed

2018-10-31 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/DISPATCH-1164?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670700#comment-16670700
 ] 

ASF GitHub Bot commented on DISPATCH-1164:
--

GitHub user fgiorgetti opened a pull request:

https://github.com/apache/qpid-dispatch/pull/412

DISPATCH-1164 - Modified config.sh to work with python3 only



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

$ git pull https://github.com/fgiorgetti/qpid-dispatch 
fgiorgetti-DISPATCH-1164

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

https://github.com/apache/qpid-dispatch/pull/412.patch

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

This closes #412


commit 9af66023d1e17a9591fcb4a5ecdd471117399831
Author: Fernando Giorgetti 
Date:   2018-10-31T20:48:06Z

DISPATCH-1164 - Modified config.sh to work with python3 only




> Failing to compile the router when only python3 is installed
> 
>
> Key: DISPATCH-1164
> URL: https://issues.apache.org/jira/browse/DISPATCH-1164
> Project: Qpid Dispatch
>  Issue Type: Bug
>Affects Versions: 1.5.0
>Reporter: Fernando Giorgetti
>Priority: Major
>
> While performing LP test on RHEL8 Beta, with just python36 installed, I am 
> seeing an error in my attempt to source the "config.sh" script.
> I am basically seeing two problems here:
>  # It is using a static "python" executable (and here I have just python3 in 
> my PATH)
>  # The "print" statement is not using parenthesis
>  



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[GitHub] qpid-dispatch pull request #412: DISPATCH-1164 - Modified config.sh to work ...

2018-10-31 Thread fgiorgetti
GitHub user fgiorgetti opened a pull request:

https://github.com/apache/qpid-dispatch/pull/412

DISPATCH-1164 - Modified config.sh to work with python3 only



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

$ git pull https://github.com/fgiorgetti/qpid-dispatch 
fgiorgetti-DISPATCH-1164

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

https://github.com/apache/qpid-dispatch/pull/412.patch

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

This closes #412


commit 9af66023d1e17a9591fcb4a5ecdd471117399831
Author: Fernando Giorgetti 
Date:   2018-10-31T20:48:06Z

DISPATCH-1164 - Modified config.sh to work with python3 only




---

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (DISPATCH-1164) Failing to compile the router when only python3 is installed

2018-10-31 Thread Fernando Giorgetti (JIRA)
Fernando Giorgetti created DISPATCH-1164:


 Summary: Failing to compile the router when only python3 is 
installed
 Key: DISPATCH-1164
 URL: https://issues.apache.org/jira/browse/DISPATCH-1164
 Project: Qpid Dispatch
  Issue Type: Bug
Affects Versions: 1.5.0
Reporter: Fernando Giorgetti


While performing LP test on RHEL8 Beta, with just python36 installed, I am 
seeing an error in my attempt to source the "config.sh" script.

I am basically seeing two problems here:
 # It is using a static "python" executable (and here I have just python3 in my 
PATH)
 # The "print" statement is not using parenthesis

 



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (DISPATCH-1163) Coverity issues on master branch

2018-10-31 Thread Ganesh Murthy (JIRA)
Ganesh Murthy created DISPATCH-1163:
---

 Summary: Coverity issues on master branch 
 Key: DISPATCH-1163
 URL: https://issues.apache.org/jira/browse/DISPATCH-1163
 Project: Qpid Dispatch
  Issue Type: Bug
  Components: Container
Affects Versions: 1.4.1
Reporter: Ganesh Murthy
 Fix For: 1.5.0


{noformat}
Hi,

Please find the latest report on new defect(s) introduced to Apache Qpid 
dispatch-router found with Coverity Scan.

3 new defect(s) introduced to Apache Qpid dispatch-router found with Coverity 
Scan.


New defect(s) Reported-by: Coverity Scan
Showing 3 of 3 defect(s)


** CID 324907:  Memory - corruptions  (OVERRUN)
/home/kgiusti/work/qpid-dispatch/src/router_core/connections.c: 1477 in 
qdr_attach_link_data_CT()



*** CID 324907:  Memory - corruptions  (OVERRUN)
/home/kgiusti/work/qpid-dispatch/src/router_core/connections.c: 1477 in 
qdr_attach_link_data_CT()
1471             // are assigned priorities in the order in which they are 
attached.
1472             int next_slot = 
core->data_links_by_mask_bit[conn->mask_bit].count ++;
1473             if (next_slot > QDR_MAX_PRIORITY) {
1474                 qd_log(core->log, QD_LOG_ERROR, "Attempt to attach too 
many inter-router links for priority sheaf.");
1475             }
1476             link->priority = next_slot;
>>>     CID 324907:  Memory - corruptions  (OVERRUN)
>>>     Overrunning array "core->data_links_by_mask_bit[conn->mask_bit].links" 
>>>of 10 8-byte elements at element index 10 (byte offset 80) using index 
>>>"next_slot" (which evaluates to 10).
1477             core->data_links_by_mask_bit[conn->mask_bit].links[next_slot] 
= link;
1478         }
1479     }
1480     
1481     
1482     static void qdr_detach_link_data_CT(qdr_core_t *core, qdr_connection_t 
*conn, qdr_link_t *link)

** CID 324906:  Incorrect expression  (UNUSED_VALUE)
/home/kgiusti/work/qpid-dispatch/src/message.c: 791 in 
qd_message_parse_priority()



*** CID 324906:  Incorrect expression  (UNUSED_VALUE)
/home/kgiusti/work/qpid-dispatch/src/message.c: 791 in 
qd_message_parse_priority()
785             qd_parsed_field_t *field = qd_parse(iter);
786             if (qd_parse_ok(field)) {
787                 if (qd_parse_is_list(field) && qd_parse_sub_count(field) >= 
2) {
788                     qd_parsed_field_t *priority_field = 
qd_parse_sub_value(field, 1);
789                     if (qd_parse_tag(priority_field) != QD_AMQP_NULL) {
790                         uint32_t value = qd_parse_as_uint(priority_field);
>>>     CID 324906:  Incorrect expression  (UNUSED_VALUE)
>>>     Assigning value from "(value >= 10U) ? 9 : (uint8_t)(value & 0xffU)" to 
>>>"content->priority" here, but that stored value is overwritten before it can 
>>>be used.
791                         content->priority = value >= QDR_N_PRIORITIES ? 
QDR_N_PRIORITIES - 1 : (uint8_t) (value & 0x00ff);
792                         content->priority = value > QDR_MAX_PRIORITY ? 
QDR_MAX_PRIORITY : (uint8_t) (value & 0x00ff);
793                         content->priority_present = true;
794                     }
795                 }
796             }

** CID 324905:  Security best practices violations  (DC.WEAK_CRYPTO)
/home/kgiusti/work/qpid-dispatch/src/router_core/core_client_api.c: 156 in 
qdrc_client_CT()



*** CID 324905:  Security best practices violations  (DC.WEAK_CRYPTO)
/home/kgiusti/work/qpid-dispatch/src/router_core/core_client_api.c: 156 in 
qdrc_client_CT()
150         if (!client)
151             return NULL;
152     
153         ZERO(client);
154         client->core = core;
155         client->correlations = qd_hash(6, 4, 0);
>>>     CID 324905:  Security best practices violations  (DC.WEAK_CRYPTO)
>>>     "rand" should not be used for security related applications, as linear 
>>>congruential algorithms are too easy to break.
156         client->next_cid = rand();
157         client->rx_credit_max = credit_window;
158         client->user_context = user_context;
159         client->on_state_cb = on_state_cb;
160         client->on_flow_cb = on_flow_cb;
161     



To view the defects in Coverity Scan visit, 

[jira] [Commented] (DISPATCH-1154) Synchronize routed link configurations on edge router with interior router

2018-10-31 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/DISPATCH-1154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670458#comment-16670458
 ] 

ASF GitHub Bot commented on DISPATCH-1154:
--

GitHub user kgiusti opened a pull request:

https://github.com/apache/qpid-dispatch/pull/411

DISPATCH-1154: Synchronize edge link routes to interior



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

$ git pull https://github.com/kgiusti/dispatch DISPATCH-1154

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

https://github.com/apache/qpid-dispatch/pull/411.patch

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

This closes #411


commit 0a2d47165574809e20f16f47acd1e63b6ce97430
Author: Kenneth Giusti 
Date:   2018-10-25T20:02:56Z

DISPATCH-1154: Synchronize edge link routes to interior




> Synchronize routed link configurations on edge router with interior router
> --
>
> Key: DISPATCH-1154
> URL: https://issues.apache.org/jira/browse/DISPATCH-1154
> Project: Qpid Dispatch
>  Issue Type: New Feature
>Reporter: Ken Giusti
>Assignee: Ken Giusti
>Priority: Major
>
> Part of the Edge router feature



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[GitHub] qpid-dispatch pull request #411: DISPATCH-1154: Synchronize edge link routes...

2018-10-31 Thread kgiusti
GitHub user kgiusti opened a pull request:

https://github.com/apache/qpid-dispatch/pull/411

DISPATCH-1154: Synchronize edge link routes to interior



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

$ git pull https://github.com/kgiusti/dispatch DISPATCH-1154

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

https://github.com/apache/qpid-dispatch/pull/411.patch

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

This closes #411


commit 0a2d47165574809e20f16f47acd1e63b6ce97430
Author: Kenneth Giusti 
Date:   2018-10-25T20:02:56Z

DISPATCH-1154: Synchronize edge link routes to interior




---

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (DISPATCH-1155) dueling httpRootDirs

2018-10-31 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/DISPATCH-1155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670412#comment-16670412
 ] 

ASF GitHub Bot commented on DISPATCH-1155:
--

Github user ted-ross commented on a diff in the pull request:

https://github.com/apache/qpid-dispatch/pull/409#discussion_r229792589
  
--- Diff: src/connection_manager.c ---
@@ -314,7 +314,15 @@ static qd_error_t load_server_config(qd_dispatch_t 
*qd, qd_server_config_t *conf
 config->protocol_family  = qd_entity_opt_string(entity, 
"protocolFamily", 0); CHECK();
 config->http = qd_entity_opt_bool(entity, "http", 
false); CHECK();
 config->http_root_dir= qd_entity_opt_string(entity, 
"httpRootDir", false);   CHECK();
-config->http = config->http || config->http_root_dir; /* httpRoot 
implies http */
+
+// Because of a potential conflict when console is installed or not 
installed,
+// we now want to require that the config file explicitly specify HTTP 
root
+// if HTTP service is requested.
+if (config->http && ! config->http_root_dir) {
+qd_log(qd->connection_manager->log_source, QD_LOG_WARNING, "Both 
http and http_root_dir must be set in router config to enable http support." );
--- End diff --

This is actually not true.  It is valid to configure a listener with http 
on and no httpRootDir.  Such a listener would only be useful for 
AMQP-over-websockets.  It would not serve any static content.


> dueling httpRootDirs
> 
>
> Key: DISPATCH-1155
> URL: https://issues.apache.org/jira/browse/DISPATCH-1155
> Project: Qpid Dispatch
>  Issue Type: Bug
>Reporter: michael goulish
>Assignee: michael goulish
>Priority: Major
>
> New version of qpid-dispatch-router uses 
> "/usr/share/qpid-dispatch/console/stand-alone" as the default httpRootDir. 
> But when installing new qpid-dispatch-console package, the pages are 
> available at "/usr/share/qpid-dispatch/console".
> This forces the user to define httpRootDir on the listener to bypass this 
> issue.
> Ted suggests this fix:
>  
> Remove the default behavior for httpRootDir. If it is not specified in the 
> configuration for a listener, then HTTP requests shall be rejected on 
> connections to that listener. Such a listener would only be usable for AMQP 
> over websockets.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[GitHub] qpid-dispatch pull request #409: DISPATCH-1155 : force explicit config of ht...

2018-10-31 Thread ted-ross
Github user ted-ross commented on a diff in the pull request:

https://github.com/apache/qpid-dispatch/pull/409#discussion_r229792589
  
--- Diff: src/connection_manager.c ---
@@ -314,7 +314,15 @@ static qd_error_t load_server_config(qd_dispatch_t 
*qd, qd_server_config_t *conf
 config->protocol_family  = qd_entity_opt_string(entity, 
"protocolFamily", 0); CHECK();
 config->http = qd_entity_opt_bool(entity, "http", 
false); CHECK();
 config->http_root_dir= qd_entity_opt_string(entity, 
"httpRootDir", false);   CHECK();
-config->http = config->http || config->http_root_dir; /* httpRoot 
implies http */
+
+// Because of a potential conflict when console is installed or not 
installed,
+// we now want to require that the config file explicitly specify HTTP 
root
+// if HTTP service is requested.
+if (config->http && ! config->http_root_dir) {
+qd_log(qd->connection_manager->log_source, QD_LOG_WARNING, "Both 
http and http_root_dir must be set in router config to enable http support." );
--- End diff --

This is actually not true.  It is valid to configure a listener with http 
on and no httpRootDir.  Such a listener would only be useful for 
AMQP-over-websockets.  It would not serve any static content.


---

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (DISPATCH-1160) Add edge address tracking module to interior routers which will inform edges of mobile address receiver changes

2018-10-31 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/DISPATCH-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670408#comment-16670408
 ] 

ASF GitHub Bot commented on DISPATCH-1160:
--

Github user ted-ross commented on a diff in the pull request:

https://github.com/apache/qpid-dispatch/pull/410#discussion_r229791449
  
--- Diff: src/router_core/modules/edge_addr_tracking/edge_addr_tracking.c 
---
@@ -0,0 +1,372 @@
+/*
+ * 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.
+ */
+
+#include 
+#include 
+#include "module.h"
+#include "core_link_endpoint.h"
+#include "edge_addr_tracking.h"
+#include 
+
+
+struct qdr_addr_endpoint_state_t {
+DEQ_LINKS(qdr_addr_endpoint_state_t);
+qdrc_endpoint_t*endpoint;
+qdr_connection_t   *conn;// The connection 
associated with the endpoint.
+qdr_addr_tracking_module_context_t *mc;
+};
+
+DEQ_DECLARE(qdr_addr_endpoint_state_t, qdr_addr_endpoint_state_list_t);
+ALLOC_DECLARE(qdr_addr_endpoint_state_t);
+ALLOC_DEFINE(qdr_addr_endpoint_state_t);
+
+struct  qdr_addr_tracking_module_context_t {
+qdr_core_t *core;
+qdr_addr_endpoint_state_list_t  endpoint_state_list;
+qdrc_event_subscription_t  *event_sub;
+qdrc_endpoint_desc_t   addr_tracking_endpoint;
+};
+
+
+static qd_message_t *qdcm_edge_create_address_dlv(qdr_core_t *core, 
qdr_address_t   *addr, bool insert_addr)
+{
+qd_message_t *msg = qd_message();
+
+//
+// Start header
+//
+qd_composed_field_t *fld   = qd_compose(QD_PERFORMATIVE_HEADER, 0);
+qd_compose_start_list(fld);
+qd_compose_insert_bool(fld, 0); // durable
+qd_compose_end_list(fld);
+
+qd_composed_field_t *body = 
qd_compose(QD_PERFORMATIVE_BODY_AMQP_VALUE, 0);
+
+qd_compose_start_list(body);
+
+const char *addr_str = (const char 
*)qd_hash_key_by_handle(addr->hash_handle);
+
+qd_compose_insert_string(body, addr_str);
+qd_compose_insert_bool(body, insert_addr);
+qd_compose_end_list(body);
+
+// Finally, compose and retuen the message so it can be sent out.
+qd_message_compose_3(msg, fld, body);
+
+return msg;
+}
+
+static qdr_addr_endpoint_state_t 
*qdrc_get_endpoint_state_for_connection(qdr_addr_endpoint_state_list_t  
endpoint_state_list, qdr_connection_t *conn, qdr_link_t *link)
+{
+qdr_addr_endpoint_state_t *endpoint_state = 
DEQ_HEAD(endpoint_state_list);
+while(endpoint_state) {
+if (endpoint_state->conn == conn) {
+return endpoint_state;
+}
+endpoint_state = DEQ_NEXT(endpoint_state);
+}
+return 0;
+}
+
+
+static void qdrc_address_endpoint_first_attach(void  
*bind_context,
+   qdrc_endpoint_t   *endpoint,
+   void 
**link_context,
+   qdr_terminus_t   
*remote_source,
+   qdr_terminus_t   
*remote_target)
+{
+qdr_addr_tracking_module_context_t *bc = 
(qdr_addr_tracking_module_context_t *) bind_context;
+
+qdr_addr_endpoint_state_t *endpoint_state = 
new_qdr_addr_endpoint_state_t();
+
+ZERO(endpoint_state);
+endpoint_state->endpoint = endpoint;
+endpoint_state->mc   = bc;
+endpoint_state->conn = qdrc_endpoint_get_connection_CT(endpoint);
+
+DEQ_INSERT_TAIL(bc->endpoint_state_list, endpoint_state);
+
+
+//
+// The link to hard coded address QD_TERMINUS_EDGE_ADDRESS_TRACKING 
should be created only if this is a receiver link
+// and if this link is created inside the QDR_ROLE_EDGE_CONNECTION 
connection.
+//
+if 

[jira] [Commented] (DISPATCH-1160) Add edge address tracking module to interior routers which will inform edges of mobile address receiver changes

2018-10-31 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/DISPATCH-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670406#comment-16670406
 ] 

ASF GitHub Bot commented on DISPATCH-1160:
--

Github user ted-ross commented on a diff in the pull request:

https://github.com/apache/qpid-dispatch/pull/410#discussion_r229788028
  
--- Diff: tests/system_tests_edge_router.py ---
@@ -345,5 +620,420 @@ def run(self):
 Container(self).run()
 
 
-if __name__ == '__main__':
+class MobileAddressOneSenderTwoReceiversTest(MessagingHandler):
+def __init__(self, receiver1_host, receiver2_host, sender_host, 
address):
+super(MobileAddressOneSenderTwoReceiversTest, self).__init__()
+self.receiver1_host = receiver1_host
+self.receiver2_host = receiver2_host
+self.sender_host = sender_host
+self.address = address
+
+# One sender connection and two receiver connections
+self.receiver1_conn = None
+self.receiver2_conn = None
+self.sender_conn   = None
+
+self.receiver1 = None
+self.receiver2 = None
+self.sender = None
+
+self.count = 300
+self.rel_count = 50
+self.n_rcvd1 = 0
+self.n_rcvd2 = 0
+self.n_sent = 0
+self.n_settled = 0
+self.n_released = 0
+self.error = None
+self.timer = None
+self.all_msgs_received = False
+self.recvd_msg_bodies = dict()
+self.dup_msg = None
+
+def timeout(self):
+if self.dup_msg:
+self.error = "Duplicate message %s received " % self.dup_msg
+else:
+self.error = "Timeout Expired - n_sent=%d n_rcvd=%d 
n_settled=%d n_released=%d addr=%s" % \
+ (self.n_sent, (self.n_rcvd1 + self.n_rcvd2), 
self.n_settled, self.n_released, self.address)
+
+self.receiver1_conn.close()
+self.receiver2_conn.close()
+self.sender_conn.close()
+
+def on_start(self, event):
+self.timer = event.reactor.schedule(5.0, Timeout(self))
+
+# Create two receivers
+self.receiver1_conn = event.container.connect(self.receiver1_host)
+self.receiver2_conn = event.container.connect(self.receiver2_host)
+self.receiver1 = 
event.container.create_receiver(self.receiver1_conn,
+ self.address)
+self.receiver2 = 
event.container.create_receiver(self.receiver2_conn,
+ self.address)
+
+# Create one sender
+self.sender_conn = event.container.connect(self.sender_host)
+self.sender = event.container.create_sender(self.sender_conn,
+self.address)
+
+def on_sendable(self, event):
+while self.n_sent < self.count:
+self.sender.send(Message(body="Message %d" % self.n_sent))
+self.n_sent += 1
+
+def on_message(self, event):
+if self.recvd_msg_bodies.get(event.message.body):
+self.dup_msg = event.message.body
+self.timeout()
+else:
+self.recvd_msg_bodies[event.message.body] = event.message.body
+
+if event.receiver == self.receiver1:
+self.n_rcvd1 += 1
+if event.receiver == self.receiver2:
+self.n_rcvd2 += 1
+
+if self.n_sent == self.n_rcvd1 + self.n_rcvd2:
+self.all_msgs_received = True
+
+def on_settled(self, event):
+self.n_settled += 1
+if self.n_settled == self.count:
+self.receiver1.close()
+self.receiver2.close()
+for i in range(self.rel_count):
+self.sender.send(Message(body="Message %d" % self.n_sent))
+self.n_sent += 1
+
+def on_released(self, event):
+self.n_released += 1
+if self.n_released == self.rel_count and self.all_msgs_received:
+self.receiver1_conn.close()
+self.receiver2_conn.close()
+self.sender_conn.close()
+self.timer.cancel()
+
+def run(self):
+Container(self).run()
+
+
+class MobileAddressMulticastTest(MessagingHandler):
+def __init__(self, receiver1_host, receiver2_host, receiver3_host,
+ sender_host, address, large_msg=False, check_addr=False):
+super(MobileAddressMulticastTest, self).__init__()
+self.receiver1_host = receiver1_host
+self.receiver2_host 

[jira] [Commented] (DISPATCH-1160) Add edge address tracking module to interior routers which will inform edges of mobile address receiver changes

2018-10-31 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/DISPATCH-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670409#comment-16670409
 ] 

ASF GitHub Bot commented on DISPATCH-1160:
--

Github user ted-ross commented on a diff in the pull request:

https://github.com/apache/qpid-dispatch/pull/410#discussion_r229790940
  
--- Diff: src/router_core/modules/edge_addr_tracking/edge_addr_tracking.c 
---
@@ -0,0 +1,372 @@
+/*
+ * 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.
+ */
+
+#include 
+#include 
+#include "module.h"
+#include "core_link_endpoint.h"
+#include "edge_addr_tracking.h"
+#include 
+
+
+struct qdr_addr_endpoint_state_t {
+DEQ_LINKS(qdr_addr_endpoint_state_t);
+qdrc_endpoint_t*endpoint;
+qdr_connection_t   *conn;// The connection 
associated with the endpoint.
+qdr_addr_tracking_module_context_t *mc;
+};
+
+DEQ_DECLARE(qdr_addr_endpoint_state_t, qdr_addr_endpoint_state_list_t);
+ALLOC_DECLARE(qdr_addr_endpoint_state_t);
+ALLOC_DEFINE(qdr_addr_endpoint_state_t);
+
+struct  qdr_addr_tracking_module_context_t {
+qdr_core_t *core;
+qdr_addr_endpoint_state_list_t  endpoint_state_list;
+qdrc_event_subscription_t  *event_sub;
+qdrc_endpoint_desc_t   addr_tracking_endpoint;
+};
+
+
+static qd_message_t *qdcm_edge_create_address_dlv(qdr_core_t *core, 
qdr_address_t   *addr, bool insert_addr)
+{
+qd_message_t *msg = qd_message();
+
+//
+// Start header
+//
+qd_composed_field_t *fld   = qd_compose(QD_PERFORMATIVE_HEADER, 0);
+qd_compose_start_list(fld);
+qd_compose_insert_bool(fld, 0); // durable
+qd_compose_end_list(fld);
+
+qd_composed_field_t *body = 
qd_compose(QD_PERFORMATIVE_BODY_AMQP_VALUE, 0);
+
+qd_compose_start_list(body);
+
+const char *addr_str = (const char 
*)qd_hash_key_by_handle(addr->hash_handle);
+
+qd_compose_insert_string(body, addr_str);
+qd_compose_insert_bool(body, insert_addr);
+qd_compose_end_list(body);
+
+// Finally, compose and retuen the message so it can be sent out.
+qd_message_compose_3(msg, fld, body);
+
+return msg;
+}
+
+static qdr_addr_endpoint_state_t 
*qdrc_get_endpoint_state_for_connection(qdr_addr_endpoint_state_list_t  
endpoint_state_list, qdr_connection_t *conn, qdr_link_t *link)
+{
+qdr_addr_endpoint_state_t *endpoint_state = 
DEQ_HEAD(endpoint_state_list);
+while(endpoint_state) {
+if (endpoint_state->conn == conn) {
+return endpoint_state;
+}
+endpoint_state = DEQ_NEXT(endpoint_state);
+}
+return 0;
+}
+
+
+static void qdrc_address_endpoint_first_attach(void  
*bind_context,
+   qdrc_endpoint_t   *endpoint,
+   void 
**link_context,
+   qdr_terminus_t   
*remote_source,
+   qdr_terminus_t   
*remote_target)
+{
+qdr_addr_tracking_module_context_t *bc = 
(qdr_addr_tracking_module_context_t *) bind_context;
+
+qdr_addr_endpoint_state_t *endpoint_state = 
new_qdr_addr_endpoint_state_t();
+
+ZERO(endpoint_state);
+endpoint_state->endpoint = endpoint;
+endpoint_state->mc   = bc;
+endpoint_state->conn = qdrc_endpoint_get_connection_CT(endpoint);
+
+DEQ_INSERT_TAIL(bc->endpoint_state_list, endpoint_state);
+
+
+//
+// The link to hard coded address QD_TERMINUS_EDGE_ADDRESS_TRACKING 
should be created only if this is a receiver link
+// and if this link is created inside the QDR_ROLE_EDGE_CONNECTION 
connection.
+//
+if 

[jira] [Commented] (DISPATCH-1160) Add edge address tracking module to interior routers which will inform edges of mobile address receiver changes

2018-10-31 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/DISPATCH-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670407#comment-16670407
 ] 

ASF GitHub Bot commented on DISPATCH-1160:
--

Github user ted-ross commented on a diff in the pull request:

https://github.com/apache/qpid-dispatch/pull/410#discussion_r229788582
  
--- Diff: tests/system_tests_edge_router.py ---
@@ -345,5 +620,420 @@ def run(self):
 Container(self).run()
 
 
-if __name__ == '__main__':
+class MobileAddressOneSenderTwoReceiversTest(MessagingHandler):
+def __init__(self, receiver1_host, receiver2_host, sender_host, 
address):
+super(MobileAddressOneSenderTwoReceiversTest, self).__init__()
+self.receiver1_host = receiver1_host
+self.receiver2_host = receiver2_host
+self.sender_host = sender_host
+self.address = address
+
+# One sender connection and two receiver connections
+self.receiver1_conn = None
+self.receiver2_conn = None
+self.sender_conn   = None
+
+self.receiver1 = None
+self.receiver2 = None
+self.sender = None
+
+self.count = 300
+self.rel_count = 50
+self.n_rcvd1 = 0
+self.n_rcvd2 = 0
+self.n_sent = 0
+self.n_settled = 0
+self.n_released = 0
+self.error = None
+self.timer = None
+self.all_msgs_received = False
+self.recvd_msg_bodies = dict()
+self.dup_msg = None
+
+def timeout(self):
+if self.dup_msg:
+self.error = "Duplicate message %s received " % self.dup_msg
+else:
+self.error = "Timeout Expired - n_sent=%d n_rcvd=%d 
n_settled=%d n_released=%d addr=%s" % \
+ (self.n_sent, (self.n_rcvd1 + self.n_rcvd2), 
self.n_settled, self.n_released, self.address)
+
+self.receiver1_conn.close()
+self.receiver2_conn.close()
+self.sender_conn.close()
+
+def on_start(self, event):
+self.timer = event.reactor.schedule(5.0, Timeout(self))
+
+# Create two receivers
+self.receiver1_conn = event.container.connect(self.receiver1_host)
+self.receiver2_conn = event.container.connect(self.receiver2_host)
+self.receiver1 = 
event.container.create_receiver(self.receiver1_conn,
+ self.address)
+self.receiver2 = 
event.container.create_receiver(self.receiver2_conn,
+ self.address)
+
+# Create one sender
+self.sender_conn = event.container.connect(self.sender_host)
+self.sender = event.container.create_sender(self.sender_conn,
+self.address)
+
+def on_sendable(self, event):
+while self.n_sent < self.count:
+self.sender.send(Message(body="Message %d" % self.n_sent))
+self.n_sent += 1
+
+def on_message(self, event):
+if self.recvd_msg_bodies.get(event.message.body):
+self.dup_msg = event.message.body
+self.timeout()
+else:
+self.recvd_msg_bodies[event.message.body] = event.message.body
+
+if event.receiver == self.receiver1:
+self.n_rcvd1 += 1
+if event.receiver == self.receiver2:
+self.n_rcvd2 += 1
+
+if self.n_sent == self.n_rcvd1 + self.n_rcvd2:
+self.all_msgs_received = True
+
+def on_settled(self, event):
+self.n_settled += 1
+if self.n_settled == self.count:
+self.receiver1.close()
+self.receiver2.close()
+for i in range(self.rel_count):
+self.sender.send(Message(body="Message %d" % self.n_sent))
+self.n_sent += 1
+
+def on_released(self, event):
+self.n_released += 1
+if self.n_released == self.rel_count and self.all_msgs_received:
+self.receiver1_conn.close()
+self.receiver2_conn.close()
+self.sender_conn.close()
+self.timer.cancel()
+
+def run(self):
+Container(self).run()
+
+
+class MobileAddressMulticastTest(MessagingHandler):
+def __init__(self, receiver1_host, receiver2_host, receiver3_host,
+ sender_host, address, large_msg=False, check_addr=False):
+super(MobileAddressMulticastTest, self).__init__()
+self.receiver1_host = receiver1_host
+self.receiver2_host 

[jira] [Commented] (DISPATCH-1160) Add edge address tracking module to interior routers which will inform edges of mobile address receiver changes

2018-10-31 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/DISPATCH-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670405#comment-16670405
 ] 

ASF GitHub Bot commented on DISPATCH-1160:
--

Github user ted-ross commented on a diff in the pull request:

https://github.com/apache/qpid-dispatch/pull/410#discussion_r229782221
  
--- Diff: src/router_core/modules/edge_addr_tracking/edge_addr_tracking.h 
---
@@ -0,0 +1,29 @@
+/*
+ * 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.
+*/
--- End diff --

This header file is not needed.  As a module, this component offers no API.


> Add edge address tracking module to interior routers which will inform edges 
> of mobile address receiver changes
> ---
>
> Key: DISPATCH-1160
> URL: https://issues.apache.org/jira/browse/DISPATCH-1160
> Project: Qpid Dispatch
>  Issue Type: Improvement
>Affects Versions: 1.4.1
>Reporter: Ganesh Murthy
>Assignee: Ganesh Murthy
>Priority: Major
> Fix For: 1.5.0
>
>




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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[GitHub] qpid-dispatch pull request #410: DISPATCH-1160 - Added edge address tracking...

2018-10-31 Thread ted-ross
Github user ted-ross commented on a diff in the pull request:

https://github.com/apache/qpid-dispatch/pull/410#discussion_r229782221
  
--- Diff: src/router_core/modules/edge_addr_tracking/edge_addr_tracking.h 
---
@@ -0,0 +1,29 @@
+/*
+ * 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.
+*/
--- End diff --

This header file is not needed.  As a module, this component offers no API.


---

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[GitHub] qpid-dispatch pull request #410: DISPATCH-1160 - Added edge address tracking...

2018-10-31 Thread ted-ross
Github user ted-ross commented on a diff in the pull request:

https://github.com/apache/qpid-dispatch/pull/410#discussion_r229791449
  
--- Diff: src/router_core/modules/edge_addr_tracking/edge_addr_tracking.c 
---
@@ -0,0 +1,372 @@
+/*
+ * 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.
+ */
+
+#include 
+#include 
+#include "module.h"
+#include "core_link_endpoint.h"
+#include "edge_addr_tracking.h"
+#include 
+
+
+struct qdr_addr_endpoint_state_t {
+DEQ_LINKS(qdr_addr_endpoint_state_t);
+qdrc_endpoint_t*endpoint;
+qdr_connection_t   *conn;// The connection 
associated with the endpoint.
+qdr_addr_tracking_module_context_t *mc;
+};
+
+DEQ_DECLARE(qdr_addr_endpoint_state_t, qdr_addr_endpoint_state_list_t);
+ALLOC_DECLARE(qdr_addr_endpoint_state_t);
+ALLOC_DEFINE(qdr_addr_endpoint_state_t);
+
+struct  qdr_addr_tracking_module_context_t {
+qdr_core_t *core;
+qdr_addr_endpoint_state_list_t  endpoint_state_list;
+qdrc_event_subscription_t  *event_sub;
+qdrc_endpoint_desc_t   addr_tracking_endpoint;
+};
+
+
+static qd_message_t *qdcm_edge_create_address_dlv(qdr_core_t *core, 
qdr_address_t   *addr, bool insert_addr)
+{
+qd_message_t *msg = qd_message();
+
+//
+// Start header
+//
+qd_composed_field_t *fld   = qd_compose(QD_PERFORMATIVE_HEADER, 0);
+qd_compose_start_list(fld);
+qd_compose_insert_bool(fld, 0); // durable
+qd_compose_end_list(fld);
+
+qd_composed_field_t *body = 
qd_compose(QD_PERFORMATIVE_BODY_AMQP_VALUE, 0);
+
+qd_compose_start_list(body);
+
+const char *addr_str = (const char 
*)qd_hash_key_by_handle(addr->hash_handle);
+
+qd_compose_insert_string(body, addr_str);
+qd_compose_insert_bool(body, insert_addr);
+qd_compose_end_list(body);
+
+// Finally, compose and retuen the message so it can be sent out.
+qd_message_compose_3(msg, fld, body);
+
+return msg;
+}
+
+static qdr_addr_endpoint_state_t 
*qdrc_get_endpoint_state_for_connection(qdr_addr_endpoint_state_list_t  
endpoint_state_list, qdr_connection_t *conn, qdr_link_t *link)
+{
+qdr_addr_endpoint_state_t *endpoint_state = 
DEQ_HEAD(endpoint_state_list);
+while(endpoint_state) {
+if (endpoint_state->conn == conn) {
+return endpoint_state;
+}
+endpoint_state = DEQ_NEXT(endpoint_state);
+}
+return 0;
+}
+
+
+static void qdrc_address_endpoint_first_attach(void  
*bind_context,
+   qdrc_endpoint_t   *endpoint,
+   void 
**link_context,
+   qdr_terminus_t   
*remote_source,
+   qdr_terminus_t   
*remote_target)
+{
+qdr_addr_tracking_module_context_t *bc = 
(qdr_addr_tracking_module_context_t *) bind_context;
+
+qdr_addr_endpoint_state_t *endpoint_state = 
new_qdr_addr_endpoint_state_t();
+
+ZERO(endpoint_state);
+endpoint_state->endpoint = endpoint;
+endpoint_state->mc   = bc;
+endpoint_state->conn = qdrc_endpoint_get_connection_CT(endpoint);
+
+DEQ_INSERT_TAIL(bc->endpoint_state_list, endpoint_state);
+
+
+//
+// The link to hard coded address QD_TERMINUS_EDGE_ADDRESS_TRACKING 
should be created only if this is a receiver link
+// and if this link is created inside the QDR_ROLE_EDGE_CONNECTION 
connection.
+//
+if (qdrc_endpoint_get_direction_CT(endpoint) == QD_OUTGOING && 
qdrc_endpoint_get_connection_CT(endpoint)->role == QDR_ROLE_EDGE_CONNECTION) {
+*link_context = endpoint_state;
+qdrc_endpoint_second_attach_CT(bc->core, endpoint, remote_source, 

[GitHub] qpid-dispatch pull request #410: DISPATCH-1160 - Added edge address tracking...

2018-10-31 Thread ted-ross
Github user ted-ross commented on a diff in the pull request:

https://github.com/apache/qpid-dispatch/pull/410#discussion_r229788028
  
--- Diff: tests/system_tests_edge_router.py ---
@@ -345,5 +620,420 @@ def run(self):
 Container(self).run()
 
 
-if __name__ == '__main__':
+class MobileAddressOneSenderTwoReceiversTest(MessagingHandler):
+def __init__(self, receiver1_host, receiver2_host, sender_host, 
address):
+super(MobileAddressOneSenderTwoReceiversTest, self).__init__()
+self.receiver1_host = receiver1_host
+self.receiver2_host = receiver2_host
+self.sender_host = sender_host
+self.address = address
+
+# One sender connection and two receiver connections
+self.receiver1_conn = None
+self.receiver2_conn = None
+self.sender_conn   = None
+
+self.receiver1 = None
+self.receiver2 = None
+self.sender = None
+
+self.count = 300
+self.rel_count = 50
+self.n_rcvd1 = 0
+self.n_rcvd2 = 0
+self.n_sent = 0
+self.n_settled = 0
+self.n_released = 0
+self.error = None
+self.timer = None
+self.all_msgs_received = False
+self.recvd_msg_bodies = dict()
+self.dup_msg = None
+
+def timeout(self):
+if self.dup_msg:
+self.error = "Duplicate message %s received " % self.dup_msg
+else:
+self.error = "Timeout Expired - n_sent=%d n_rcvd=%d 
n_settled=%d n_released=%d addr=%s" % \
+ (self.n_sent, (self.n_rcvd1 + self.n_rcvd2), 
self.n_settled, self.n_released, self.address)
+
+self.receiver1_conn.close()
+self.receiver2_conn.close()
+self.sender_conn.close()
+
+def on_start(self, event):
+self.timer = event.reactor.schedule(5.0, Timeout(self))
+
+# Create two receivers
+self.receiver1_conn = event.container.connect(self.receiver1_host)
+self.receiver2_conn = event.container.connect(self.receiver2_host)
+self.receiver1 = 
event.container.create_receiver(self.receiver1_conn,
+ self.address)
+self.receiver2 = 
event.container.create_receiver(self.receiver2_conn,
+ self.address)
+
+# Create one sender
+self.sender_conn = event.container.connect(self.sender_host)
+self.sender = event.container.create_sender(self.sender_conn,
+self.address)
+
+def on_sendable(self, event):
+while self.n_sent < self.count:
+self.sender.send(Message(body="Message %d" % self.n_sent))
+self.n_sent += 1
+
+def on_message(self, event):
+if self.recvd_msg_bodies.get(event.message.body):
+self.dup_msg = event.message.body
+self.timeout()
+else:
+self.recvd_msg_bodies[event.message.body] = event.message.body
+
+if event.receiver == self.receiver1:
+self.n_rcvd1 += 1
+if event.receiver == self.receiver2:
+self.n_rcvd2 += 1
+
+if self.n_sent == self.n_rcvd1 + self.n_rcvd2:
+self.all_msgs_received = True
+
+def on_settled(self, event):
+self.n_settled += 1
+if self.n_settled == self.count:
+self.receiver1.close()
+self.receiver2.close()
+for i in range(self.rel_count):
+self.sender.send(Message(body="Message %d" % self.n_sent))
+self.n_sent += 1
+
+def on_released(self, event):
+self.n_released += 1
+if self.n_released == self.rel_count and self.all_msgs_received:
+self.receiver1_conn.close()
+self.receiver2_conn.close()
+self.sender_conn.close()
+self.timer.cancel()
+
+def run(self):
+Container(self).run()
+
+
+class MobileAddressMulticastTest(MessagingHandler):
+def __init__(self, receiver1_host, receiver2_host, receiver3_host,
+ sender_host, address, large_msg=False, check_addr=False):
+super(MobileAddressMulticastTest, self).__init__()
+self.receiver1_host = receiver1_host
+self.receiver2_host = receiver2_host
+self.receiver3_host = receiver3_host
+self.sender_host = sender_host
+self.address = address
+
+# One sender connection and two receiver connections
+

[GitHub] qpid-dispatch pull request #410: DISPATCH-1160 - Added edge address tracking...

2018-10-31 Thread ted-ross
Github user ted-ross commented on a diff in the pull request:

https://github.com/apache/qpid-dispatch/pull/410#discussion_r229790940
  
--- Diff: src/router_core/modules/edge_addr_tracking/edge_addr_tracking.c 
---
@@ -0,0 +1,372 @@
+/*
+ * 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.
+ */
+
+#include 
+#include 
+#include "module.h"
+#include "core_link_endpoint.h"
+#include "edge_addr_tracking.h"
+#include 
+
+
+struct qdr_addr_endpoint_state_t {
+DEQ_LINKS(qdr_addr_endpoint_state_t);
+qdrc_endpoint_t*endpoint;
+qdr_connection_t   *conn;// The connection 
associated with the endpoint.
+qdr_addr_tracking_module_context_t *mc;
+};
+
+DEQ_DECLARE(qdr_addr_endpoint_state_t, qdr_addr_endpoint_state_list_t);
+ALLOC_DECLARE(qdr_addr_endpoint_state_t);
+ALLOC_DEFINE(qdr_addr_endpoint_state_t);
+
+struct  qdr_addr_tracking_module_context_t {
+qdr_core_t *core;
+qdr_addr_endpoint_state_list_t  endpoint_state_list;
+qdrc_event_subscription_t  *event_sub;
+qdrc_endpoint_desc_t   addr_tracking_endpoint;
+};
+
+
+static qd_message_t *qdcm_edge_create_address_dlv(qdr_core_t *core, 
qdr_address_t   *addr, bool insert_addr)
+{
+qd_message_t *msg = qd_message();
+
+//
+// Start header
+//
+qd_composed_field_t *fld   = qd_compose(QD_PERFORMATIVE_HEADER, 0);
+qd_compose_start_list(fld);
+qd_compose_insert_bool(fld, 0); // durable
+qd_compose_end_list(fld);
+
+qd_composed_field_t *body = 
qd_compose(QD_PERFORMATIVE_BODY_AMQP_VALUE, 0);
+
+qd_compose_start_list(body);
+
+const char *addr_str = (const char 
*)qd_hash_key_by_handle(addr->hash_handle);
+
+qd_compose_insert_string(body, addr_str);
+qd_compose_insert_bool(body, insert_addr);
+qd_compose_end_list(body);
+
+// Finally, compose and retuen the message so it can be sent out.
+qd_message_compose_3(msg, fld, body);
+
+return msg;
+}
+
+static qdr_addr_endpoint_state_t 
*qdrc_get_endpoint_state_for_connection(qdr_addr_endpoint_state_list_t  
endpoint_state_list, qdr_connection_t *conn, qdr_link_t *link)
+{
+qdr_addr_endpoint_state_t *endpoint_state = 
DEQ_HEAD(endpoint_state_list);
+while(endpoint_state) {
+if (endpoint_state->conn == conn) {
+return endpoint_state;
+}
+endpoint_state = DEQ_NEXT(endpoint_state);
+}
+return 0;
+}
+
+
+static void qdrc_address_endpoint_first_attach(void  
*bind_context,
+   qdrc_endpoint_t   *endpoint,
+   void 
**link_context,
+   qdr_terminus_t   
*remote_source,
+   qdr_terminus_t   
*remote_target)
+{
+qdr_addr_tracking_module_context_t *bc = 
(qdr_addr_tracking_module_context_t *) bind_context;
+
+qdr_addr_endpoint_state_t *endpoint_state = 
new_qdr_addr_endpoint_state_t();
+
+ZERO(endpoint_state);
+endpoint_state->endpoint = endpoint;
+endpoint_state->mc   = bc;
+endpoint_state->conn = qdrc_endpoint_get_connection_CT(endpoint);
+
+DEQ_INSERT_TAIL(bc->endpoint_state_list, endpoint_state);
+
+
+//
+// The link to hard coded address QD_TERMINUS_EDGE_ADDRESS_TRACKING 
should be created only if this is a receiver link
+// and if this link is created inside the QDR_ROLE_EDGE_CONNECTION 
connection.
+//
+if (qdrc_endpoint_get_direction_CT(endpoint) == QD_OUTGOING && 
qdrc_endpoint_get_connection_CT(endpoint)->role == QDR_ROLE_EDGE_CONNECTION) {
+*link_context = endpoint_state;
+qdrc_endpoint_second_attach_CT(bc->core, endpoint, remote_source, 

[GitHub] qpid-dispatch pull request #410: DISPATCH-1160 - Added edge address tracking...

2018-10-31 Thread ted-ross
Github user ted-ross commented on a diff in the pull request:

https://github.com/apache/qpid-dispatch/pull/410#discussion_r229788582
  
--- Diff: tests/system_tests_edge_router.py ---
@@ -345,5 +620,420 @@ def run(self):
 Container(self).run()
 
 
-if __name__ == '__main__':
+class MobileAddressOneSenderTwoReceiversTest(MessagingHandler):
+def __init__(self, receiver1_host, receiver2_host, sender_host, 
address):
+super(MobileAddressOneSenderTwoReceiversTest, self).__init__()
+self.receiver1_host = receiver1_host
+self.receiver2_host = receiver2_host
+self.sender_host = sender_host
+self.address = address
+
+# One sender connection and two receiver connections
+self.receiver1_conn = None
+self.receiver2_conn = None
+self.sender_conn   = None
+
+self.receiver1 = None
+self.receiver2 = None
+self.sender = None
+
+self.count = 300
+self.rel_count = 50
+self.n_rcvd1 = 0
+self.n_rcvd2 = 0
+self.n_sent = 0
+self.n_settled = 0
+self.n_released = 0
+self.error = None
+self.timer = None
+self.all_msgs_received = False
+self.recvd_msg_bodies = dict()
+self.dup_msg = None
+
+def timeout(self):
+if self.dup_msg:
+self.error = "Duplicate message %s received " % self.dup_msg
+else:
+self.error = "Timeout Expired - n_sent=%d n_rcvd=%d 
n_settled=%d n_released=%d addr=%s" % \
+ (self.n_sent, (self.n_rcvd1 + self.n_rcvd2), 
self.n_settled, self.n_released, self.address)
+
+self.receiver1_conn.close()
+self.receiver2_conn.close()
+self.sender_conn.close()
+
+def on_start(self, event):
+self.timer = event.reactor.schedule(5.0, Timeout(self))
+
+# Create two receivers
+self.receiver1_conn = event.container.connect(self.receiver1_host)
+self.receiver2_conn = event.container.connect(self.receiver2_host)
+self.receiver1 = 
event.container.create_receiver(self.receiver1_conn,
+ self.address)
+self.receiver2 = 
event.container.create_receiver(self.receiver2_conn,
+ self.address)
+
+# Create one sender
+self.sender_conn = event.container.connect(self.sender_host)
+self.sender = event.container.create_sender(self.sender_conn,
+self.address)
+
+def on_sendable(self, event):
+while self.n_sent < self.count:
+self.sender.send(Message(body="Message %d" % self.n_sent))
+self.n_sent += 1
+
+def on_message(self, event):
+if self.recvd_msg_bodies.get(event.message.body):
+self.dup_msg = event.message.body
+self.timeout()
+else:
+self.recvd_msg_bodies[event.message.body] = event.message.body
+
+if event.receiver == self.receiver1:
+self.n_rcvd1 += 1
+if event.receiver == self.receiver2:
+self.n_rcvd2 += 1
+
+if self.n_sent == self.n_rcvd1 + self.n_rcvd2:
+self.all_msgs_received = True
+
+def on_settled(self, event):
+self.n_settled += 1
+if self.n_settled == self.count:
+self.receiver1.close()
+self.receiver2.close()
+for i in range(self.rel_count):
+self.sender.send(Message(body="Message %d" % self.n_sent))
+self.n_sent += 1
+
+def on_released(self, event):
+self.n_released += 1
+if self.n_released == self.rel_count and self.all_msgs_received:
+self.receiver1_conn.close()
+self.receiver2_conn.close()
+self.sender_conn.close()
+self.timer.cancel()
+
+def run(self):
+Container(self).run()
+
+
+class MobileAddressMulticastTest(MessagingHandler):
+def __init__(self, receiver1_host, receiver2_host, receiver3_host,
+ sender_host, address, large_msg=False, check_addr=False):
+super(MobileAddressMulticastTest, self).__init__()
+self.receiver1_host = receiver1_host
+self.receiver2_host = receiver2_host
+self.receiver3_host = receiver3_host
+self.sender_host = sender_host
+self.address = address
+
+# One sender connection and two receiver connections
+

[jira] [Commented] (DISPATCH-1162) Documentation updates related to Edge Router

2018-10-31 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/DISPATCH-1162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670379#comment-16670379
 ] 

ASF subversion and git services commented on DISPATCH-1162:
---

Commit aacb11ad2bfa02430dfb289667c0d3f8cec58a0e in qpid-dispatch's branch 
refs/heads/master from [~tr...@redhat.com]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-dispatch.git;h=aacb11a ]

DISPATCH-1162 - More edge references, added a new chapter for topologies


> Documentation updates related to Edge Router
> 
>
> Key: DISPATCH-1162
> URL: https://issues.apache.org/jira/browse/DISPATCH-1162
> Project: Qpid Dispatch
>  Issue Type: Improvement
>  Components: Documentation
>Reporter: Ted Ross
>Assignee: Ted Ross
>Priority: Major
> Fix For: 1.5.0
>
>




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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPID-7885) [Java Broker] Support Java 9 and 11

2018-10-31 Thread Alex Rudyy (JIRA)


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

Alex Rudyy updated QPID-7885:
-
Summary: [Java Broker] Support Java 9 and 11  (was: [Java Broker] Support 
Java 9)

> [Java Broker] Support Java 9 and 11
> ---
>
> Key: QPID-7885
> URL: https://issues.apache.org/jira/browse/QPID-7885
> Project: Qpid
>  Issue Type: Improvement
>  Components: Broker-J
>Reporter: Lorenz Quack
>Assignee: Alex Rudyy
>Priority: Major
> Fix For: qpid-java-broker-7.1.0
>
>
> With the Java 9 on the horizon it is time to get Qpid's Java components ready.
> * make sure component compile with JDK9
> * make sure components run with JRE9
> The task of modularization of  broker-j  is excluded from this JIRA, as it 
> seems, that many existing modules need to export the same packages which is 
> not permitted by Jigsaw module system. Some classes need to be moved into 
> separate packages which requires more substantial refactoring.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (QPID-7885) [Java Broker] Support Java 9

2018-10-31 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/QPID-7885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670056#comment-16670056
 ] 

ASF subversion and git services commented on QPID-7885:
---

Commit b74b157c38b9880f5ca68b9e0e7875a5b087c891 in qpid-broker-j's branch 
refs/heads/master from [~alex.rufous]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=b74b157 ]

QPID-7885: [Broker-J] Fix maven scope of qpid-jms-client dependencies


> [Java Broker] Support Java 9
> 
>
> Key: QPID-7885
> URL: https://issues.apache.org/jira/browse/QPID-7885
> Project: Qpid
>  Issue Type: Improvement
>  Components: Broker-J
>Reporter: Lorenz Quack
>Assignee: Alex Rudyy
>Priority: Major
> Fix For: qpid-java-broker-7.1.0
>
>
> With the Java 9 on the horizon it is time to get Qpid's Java components ready.
> * make sure component compile with JDK9
> * make sure components run with JRE9
> The task of modularization of  broker-j  is excluded from this JIRA, as it 
> seems, that many existing modules need to export the same packages which is 
> not permitted by Jigsaw module system. Some classes need to be moved into 
> separate packages which requires more substantial refactoring.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (DISPATCH-1162) Documentation updates related to Edge Router

2018-10-31 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/DISPATCH-1162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670040#comment-16670040
 ] 

ASF subversion and git services commented on DISPATCH-1162:
---

Commit 283cb2f7431a3dfe2218b02e894aeef275b392b7 in qpid-dispatch's branch 
refs/heads/master from [~tr...@redhat.com]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-dispatch.git;h=283cb2f ]

DISPATCH-1162 - Added 'edge' mode and role to documented lists of modes and 
roles.


> Documentation updates related to Edge Router
> 
>
> Key: DISPATCH-1162
> URL: https://issues.apache.org/jira/browse/DISPATCH-1162
> Project: Qpid Dispatch
>  Issue Type: Improvement
>  Components: Documentation
>Reporter: Ted Ross
>Assignee: Ted Ross
>Priority: Major
> Fix For: 1.5.0
>
>




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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (DISPATCH-1162) Documentation updates related to Edge Router

2018-10-31 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/DISPATCH-1162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670017#comment-16670017
 ] 

ASF subversion and git services commented on DISPATCH-1162:
---

Commit 7c344339cb41ad3ecfc795f47ac317638b56566e in qpid-dispatch's branch 
refs/heads/master from [~tr...@redhat.com]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-dispatch.git;h=7c34433 ]

DISPATCH-1162 - Added connection failover section.  Fixed CMakeLists to cause 
rebuild on source changes.


> Documentation updates related to Edge Router
> 
>
> Key: DISPATCH-1162
> URL: https://issues.apache.org/jira/browse/DISPATCH-1162
> Project: Qpid Dispatch
>  Issue Type: Improvement
>  Components: Documentation
>Reporter: Ted Ross
>Assignee: Ted Ross
>Priority: Major
> Fix For: 1.5.0
>
>




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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (DISPATCH-1162) Documentation updates related to Edge Router

2018-10-31 Thread Ted Ross (JIRA)
Ted Ross created DISPATCH-1162:
--

 Summary: Documentation updates related to Edge Router
 Key: DISPATCH-1162
 URL: https://issues.apache.org/jira/browse/DISPATCH-1162
 Project: Qpid Dispatch
  Issue Type: Improvement
  Components: Documentation
Reporter: Ted Ross
Assignee: Ted Ross
 Fix For: 1.5.0






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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (DISPATCH-1152) Improvements to the core-endpoint API

2018-10-31 Thread Ted Ross (JIRA)


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

Ted Ross resolved DISPATCH-1152.

Resolution: Fixed

> Improvements to the core-endpoint API
> -
>
> Key: DISPATCH-1152
> URL: https://issues.apache.org/jira/browse/DISPATCH-1152
> Project: Qpid Dispatch
>  Issue Type: Improvement
>  Components: Router Node
>Reporter: Ted Ross
>Assignee: Ted Ross
>Priority: Minor
> Fix For: 1.5.0
>
>




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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (DISPATCH-1141) Add an event API in the router core to more cleanly support module interactions

2018-10-31 Thread Ted Ross (JIRA)


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

Ted Ross resolved DISPATCH-1141.

Resolution: Fixed

> Add an event API in the router core to more cleanly support module 
> interactions
> ---
>
> Key: DISPATCH-1141
> URL: https://issues.apache.org/jira/browse/DISPATCH-1141
> Project: Qpid Dispatch
>  Issue Type: Improvement
>  Components: Router Node
>Reporter: Ted Ross
>Assignee: Ted Ross
>Priority: Major
> Fix For: 1.5.0
>
>
> Router core modules are reactive and respond to changes in connection, link, 
> and address state.  This improvement provides an event API that can be used 
> by modules to register for events that are of interest.
>  



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (QPID-7885) [Java Broker] Support Java 9

2018-10-31 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/QPID-7885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16670010#comment-16670010
 ] 

ASF subversion and git services commented on QPID-7885:
---

Commit 2779e06b0403bd815ea2c05a45b99348085b5b25 in qpid-broker-j's branch 
refs/heads/master from [~alex.rufous]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=2779e06 ]

QPID-7885: [Broker-J] Change JMS client maven dependecy scope from 'compile' to 
'runtime'


> [Java Broker] Support Java 9
> 
>
> Key: QPID-7885
> URL: https://issues.apache.org/jira/browse/QPID-7885
> Project: Qpid
>  Issue Type: Improvement
>  Components: Broker-J
>Reporter: Lorenz Quack
>Assignee: Alex Rudyy
>Priority: Major
> Fix For: qpid-java-broker-7.1.0
>
>
> With the Java 9 on the horizon it is time to get Qpid's Java components ready.
> * make sure component compile with JDK9
> * make sure components run with JRE9
> The task of modularization of  broker-j  is excluded from this JIRA, as it 
> seems, that many existing modules need to export the same packages which is 
> not permitted by Jigsaw module system. Some classes need to be moved into 
> separate packages which requires more substantial refactoring.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (QPID-8247) [Broker-J] Upgrade mockito to 2.x

2018-10-31 Thread Alex Rudyy (JIRA)


[ 
https://issues.apache.org/jira/browse/QPID-8247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16669951#comment-16669951
 ] 

Alex Rudyy commented on QPID-8247:
--

The required changes are implemented in the following commits;
[ 
https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=fd3c350c522d574b5c3fa1c1c44d38c03d573d35
 ]
[ 
https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=6fc65f518dcb6c8f1762531eb9b7bb01a1b6316b
 ]


> [Broker-J] Upgrade mockito to 2.x
> -
>
> Key: QPID-8247
> URL: https://issues.apache.org/jira/browse/QPID-8247
> Project: Qpid
>  Issue Type: Improvement
>  Components: Broker-J
>Reporter: Alex Rudyy
>Assignee: Alex Rudyy
>Priority: Major
> Fix For: qpid-java-broker-7.1.0
>
>
> The Qpid Broker tests depends on mockito version 1.9.5. In order to be able 
> to build broker with java9 and above we need to upgrade mockito at least to 
> version 2.20.0 where compatibility with java 11 was added. Mockito version 
> 2.22.0 is considered to upgrade to.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org