[jira] [Closed] (DISPATCH-255) Policy miscounts quick socket open/close against total connection limit

2019-09-19 Thread Chuck Rolke (Jira)


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

Chuck Rolke closed DISPATCH-255.

Resolution: Fixed

Fixed in 0.6

> Policy miscounts quick socket open/close against total connection limit
> ---
>
> Key: DISPATCH-255
> URL: https://issues.apache.org/jira/browse/DISPATCH-255
> Project: Qpid Dispatch
>  Issue Type: Bug
>Reporter: Chuck Rolke
>Assignee: Chuck Rolke
>Priority: Major
> Fix For: Backlog
>
>
> Self test system_tests_policy is failing.
> In the test the tester.router is created with
> {noformat}
> cls.router = cls.tester.qdrouterd('conn-limit-router', config, wait=True)
> {noformat}
> For the Wait=true the test code repeated opens a socket to the configured 
> listener.
> When the socket connects then the router is declared up and ready.
> Internally though the policy code has counted the socket open as an incoming 
> listener connection. This failure comes when the socket closes and the 
> connection is not 'uncounted'.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (DISPATCH-1402) Document unsettled multicast

2019-09-19 Thread Ganesh Murthy (Jira)


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

Ganesh Murthy updated DISPATCH-1402:

Issue Type: Improvement  (was: Task)

> Document unsettled multicast
> 
>
> Key: DISPATCH-1402
> URL: https://issues.apache.org/jira/browse/DISPATCH-1402
> Project: Qpid Dispatch
>  Issue Type: Improvement
>  Components: Documentation
>Reporter: Ben Hardesty
>Priority: Major
> Fix For: 1.9.0
>
>
> The documentation describes unsettled multicast as unreliable. It should 
> describe the possible reliability guarantees.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (DISPATCH-1428) route connection not indexed by 'connection' field of connector

2019-09-19 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on DISPATCH-1428:
--

codecov-io commented on issue #567: DISPATCH-1428
URL: https://github.com/apache/qpid-dispatch/pull/567#issuecomment-533213932
 
 
   # 
[Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=h1) 
Report
   > Merging 
[#567](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=desc) into 
[master](https://codecov.io/gh/apache/qpid-dispatch/commit/759dfd6be57c2d32a371b1529194831356de61c5?src=pr=desc)
 will **decrease** coverage by `0.06%`.
   > The diff coverage is `97.05%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/qpid-dispatch/pull/567/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master #567  +/-   ##
   ==
   - Coverage   86.35%   86.28%   -0.07% 
   ==
 Files  90   90  
 Lines   2036420383  +19 
   ==
   + Hits1758517588   +3 
   - Misses   2779 2795  +16
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[src/router\_core/route\_control.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlX2NvbnRyb2wuYw==)
 | `94.03% <97.05%> (-3.27%)` | :arrow_down: |
   | 
[src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=)
 | `93.7% <0%> (-0.76%)` | :arrow_down: |
   | 
[src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9ub2RlLmM=)
 | `93.01% <0%> (-0.13%)` | :arrow_down: |
   | 
[src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=)
 | `93.97% <0%> (-0.12%)` | :arrow_down: |
   | 
[src/router\_core/agent\_link.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2FnZW50X2xpbmsuYw==)
 | `67.33% <0%> (+0.5%)` | :arrow_up: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/567?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/567?src=pr=footer).
 Last update 
[759dfd6...a3fb60f](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


> route connection not indexed by 'connection' field of connector
> ---
>
> Key: DISPATCH-1428
> URL: https://issues.apache.org/jira/browse/DISPATCH-1428
> Project: Qpid Dispatch
>  Issue Type: Bug
>Reporter: Gordon Sim
>Priority: Major
>
> The connection established by a route-container connector will not be indexed 
> by the 'connection' field of that connector if there is already an existing 
> route-connection with the same container id but established by a different 
> connector.
> E.g. start router on 5672 and a broker (or a separate router emulating a 
> broker) on 5673, then:
> {noformat}
> for n in foo bar; do
> qdmanage CREATE --type connector --name $n role=route-container 
> host=localhost port=5673; 
> qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
> connection=$n;
> done;
> qdstat --linkroute
> {noformat}
> Only one of these link routes is active though both connections are 
> established.
> The issues is that when the first connection is established, it indexes the 
> qdr_conn_identifier_t by container-id and the connection label from the 
> connector. When the second connection is established, it looks up first by 
> container id, so adds itself to the qdr_conn_identifier_t created by the 
> first connection. There is then no entry in the index for the connection 
> label of the second connector, so the second link route can never be 
> activated.



--
This message was sent 

[GitHub] [qpid-dispatch] codecov-io edited a comment on issue #567: DISPATCH-1428

2019-09-19 Thread GitBox
codecov-io edited a comment on issue #567: DISPATCH-1428
URL: https://github.com/apache/qpid-dispatch/pull/567#issuecomment-533213932
 
 
   # 
[Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=h1) 
Report
   > Merging 
[#567](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=desc) into 
[master](https://codecov.io/gh/apache/qpid-dispatch/commit/759dfd6be57c2d32a371b1529194831356de61c5?src=pr=desc)
 will **decrease** coverage by `0.06%`.
   > The diff coverage is `97.05%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/qpid-dispatch/pull/567/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master #567  +/-   ##
   ==
   - Coverage   86.35%   86.28%   -0.07% 
   ==
 Files  90   90  
 Lines   2036420383  +19 
   ==
   + Hits1758517588   +3 
   - Misses   2779 2795  +16
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[src/router\_core/route\_control.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlX2NvbnRyb2wuYw==)
 | `94.03% <97.05%> (-3.27%)` | :arrow_down: |
   | 
[src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=)
 | `93.7% <0%> (-0.76%)` | :arrow_down: |
   | 
[src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9ub2RlLmM=)
 | `93.01% <0%> (-0.13%)` | :arrow_down: |
   | 
[src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=)
 | `93.97% <0%> (-0.12%)` | :arrow_down: |
   | 
[src/router\_core/agent\_link.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2FnZW50X2xpbmsuYw==)
 | `67.33% <0%> (+0.5%)` | :arrow_up: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/567?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/567?src=pr=footer).
 Last update 
[759dfd6...a3fb60f](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


With regards,
Apache Git Services

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



[RESULT] [VOTE] Release Apache Qpid Dispatch 1.9.0

2019-09-19 Thread Ganesh Murthy
There were 6 binding +1 votes, and no other votes received. The vote has passed.

I will add the files to the dist release repo and create the final tag
shortly. The website will be updated after the release has had time to
sync to the mirrors.

Thanks to everybody for testing/voting.

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



Re: [VOTE] Release Qpid Dispatch Router 1.9.0 (RC2)

2019-09-19 Thread Ganesh Murthy
+1
* Validated signatures and checksums
* Checked for presence of LICENSE and NOTICE files
* Ran mvn apache-rat:check, no files with missing license headers found.
* Built from source against Proton 0.29.0 in Fedora 29 and ran system
tests. All tests passed

On Mon, Sep 16, 2019 at 2:17 PM Ganesh Murthy  wrote:
>
> Hello All,
>
>  Please cast your vote on this thread to release RC2 as the
> official Qpid Dispatch Router version  1.9.0.
>
> RC2 of Qpid Dispatch Router version 1.9.0 can be found here:
>
> https://dist.apache.org/repos/dist/dev/qpid/dispatch/1.9.0-rc2/
>
> The following improvements, and bug fixes are introduced in 1.9.0:
>
> Improvements -
> DISPATCH-480 - Default tests timeout is too short for some machines
> DISPATCH-1266 - Improve router's handling of unsettled multicast 
> deliveries
> DISPATCH-1338 - Improvements to edge router documentation
> DISPATCH-1345 - Reduce the number of QDR_LINK_FLOW events by
> coalescing credit grants
> DISPATCH-1346 - Create documentation for priority delivery
> DISPATCH-1347 - Update documentation for Dispatch Router console
> DISPATCH-1350 - Update logging/monitoring documentation
> DISPATCH-1353 - Document how to configure access policy control on
> router-initiated connections
> DISPATCH-1354 - Interrouter annotation processing uses slow methods
> DISPATCH-1370 - Move the schema, connect, and entities tabs to the
> right in the console
> DISPATCH-1372 - alloc_pool intrusive linked list can be replaced
> by a linked stack
> DISPATCH-1374 - Add qdstat options --all-routers and all-entities
> which display statistics of all routers and displays all entities
> DISPATCH-1376 - Make it easier to change the product name in the console
> DISPATCH-1379 - Message receive performance improvements
> DISPATCH-1381 - Create documentation for configuring fallback destinations
> DISPATCH-1382 - Document ability to force-close a connection from
> the web console
> DISPATCH-1385 - qd_message_list_t is dead code
> DISPATCH-1388 - Authorization doc fails to describe vhost
> abstraction clearly
> DISPATCH-1396 - Doc how to start the router
>
> Bugs -
> DISPATCH-1359 - Set ctest timeout to 300 seconds.
> DISPATCH-1361 - system_tests_fallback_dest hanging in some cases
> DISPATCH-1362 - Shutdown crash when trying to clean up fallback addresses
> DISPATCH-1365 - Table of links with delayed deliveries is showing
> all endpoint links
> DISPATCH-1378 - missing lock of connection's links_with_work list
> DISPATCH-1380 - qdrouterd leaves dangling qd_link_t pointer
> DISPATCH-1383 - system_tests_policy is timing out
> DISPATCH-1387 - Coverity issues on master branch
> DISPATCH-1391 - Proton link reference not cleared on router link
> objects during session close
> DISPATCH-1394 - qd_check_message() incorrectly validates partially
> received messages
> DISPATCH-1398 - "Expression with no effect" warning for console web
> DISPATCH-1404 - message annotation parsing incorrectly uses
> ->remainder for current buffer capacity
> DISPATCH-1406 - Inter-router link stall on receive client failover
> DISPATCH-1407 - Memory leak on link policy denial
> DISPATCH-1408 - system_tests_distribution failing when running
> under valgrind
> DISPATCH-1410 - attach of auto-links not logged
> DISPATCH-1413 - system_tests_two_routers.py failing intermittently on 
> Travis
> DISPATCH-1417 - Crash when connection_wake ctx points to freed memory
>
> Thanks.

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



[jira] [Commented] (DISPATCH-1428) route connection not indexed by 'connection' field of connector

2019-09-19 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on DISPATCH-1428:
--

codecov-io commented on issue #567: DISPATCH-1428
URL: https://github.com/apache/qpid-dispatch/pull/567#issuecomment-533213932
 
 
   # 
[Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=h1) 
Report
   > Merging 
[#567](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=desc) into 
[master](https://codecov.io/gh/apache/qpid-dispatch/commit/759dfd6be57c2d32a371b1529194831356de61c5?src=pr=desc)
 will **decrease** coverage by `0.08%`.
   > The diff coverage is `97.05%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/qpid-dispatch/pull/567/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master #567  +/-   ##
   ==
   - Coverage   86.35%   86.27%   -0.09% 
   ==
 Files  90   90  
 Lines   2036420382  +18 
   ==
   - Hits1758517584   -1 
   - Misses   2779 2798  +19
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[src/router\_core/route\_control.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlX2NvbnRyb2wuYw==)
 | `94.03% <97.05%> (-3.27%)` | :arrow_down: |
   | 
[src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=)
 | `93.7% <0%> (-0.76%)` | :arrow_down: |
   | 
[src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9ub2RlLmM=)
 | `92.77% <0%> (-0.37%)` | :arrow_down: |
   | 
[src/parse.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3BhcnNlLmM=)
 | `87.64% <0%> (-0.23%)` | :arrow_down: |
   | 
[src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=)
 | `86.53% <0%> (-0.2%)` | :arrow_down: |
   | 
[src/iterator.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL2l0ZXJhdG9yLmM=)
 | `89.32% <0%> (+0.16%)` | :arrow_up: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/567?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/567?src=pr=footer).
 Last update 
[759dfd6...71b5a8a](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


> route connection not indexed by 'connection' field of connector
> ---
>
> Key: DISPATCH-1428
> URL: https://issues.apache.org/jira/browse/DISPATCH-1428
> Project: Qpid Dispatch
>  Issue Type: Bug
>Reporter: Gordon Sim
>Priority: Major
>
> The connection established by a route-container connector will not be indexed 
> by the 'connection' field of that connector if there is already an existing 
> route-connection with the same container id but established by a different 
> connector.
> E.g. start router on 5672 and a broker (or a separate router emulating a 
> broker) on 5673, then:
> {noformat}
> for n in foo bar; do
> qdmanage CREATE --type connector --name $n role=route-container 
> host=localhost port=5673; 
> qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
> connection=$n;
> done;
> qdstat --linkroute
> {noformat}
> Only one of these link routes is active though both connections are 
> established.
> The issues is that when the first connection is established, it indexes the 
> qdr_conn_identifier_t by container-id and the connection label from the 
> connector. When the second connection is established, it looks up first by 
> container id, so adds itself to the qdr_conn_identifier_t created by the 
> first connection. There is then no entry in the index for the 

[GitHub] [qpid-dispatch] codecov-io edited a comment on issue #567: DISPATCH-1428

2019-09-19 Thread GitBox
codecov-io edited a comment on issue #567: DISPATCH-1428
URL: https://github.com/apache/qpid-dispatch/pull/567#issuecomment-533213932
 
 
   # 
[Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=h1) 
Report
   > Merging 
[#567](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=desc) into 
[master](https://codecov.io/gh/apache/qpid-dispatch/commit/759dfd6be57c2d32a371b1529194831356de61c5?src=pr=desc)
 will **decrease** coverage by `0.08%`.
   > The diff coverage is `97.05%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/qpid-dispatch/pull/567/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=tree)
   
   ```diff
   @@Coverage Diff @@
   ##   master #567  +/-   ##
   ==
   - Coverage   86.35%   86.27%   -0.09% 
   ==
 Files  90   90  
 Lines   2036420382  +18 
   ==
   - Hits1758517584   -1 
   - Misses   2779 2798  +19
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[src/router\_core/route\_control.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlX2NvbnRyb2wuYw==)
 | `94.03% <97.05%> (-3.27%)` | :arrow_down: |
   | 
[src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=)
 | `93.7% <0%> (-0.76%)` | :arrow_down: |
   | 
[src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9ub2RlLmM=)
 | `92.77% <0%> (-0.37%)` | :arrow_down: |
   | 
[src/parse.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3BhcnNlLmM=)
 | `87.64% <0%> (-0.23%)` | :arrow_down: |
   | 
[src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=)
 | `86.53% <0%> (-0.2%)` | :arrow_down: |
   | 
[src/iterator.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL2l0ZXJhdG9yLmM=)
 | `89.32% <0%> (+0.16%)` | :arrow_up: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/567?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/567?src=pr=footer).
 Last update 
[759dfd6...71b5a8a](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


With regards,
Apache Git Services

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



[jira] [Commented] (DISPATCH-1428) route connection not indexed by 'connection' field of connector

2019-09-19 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on DISPATCH-1428:
--

grs commented on pull request #567: DISPATCH-1428
URL: https://github.com/apache/qpid-dispatch/pull/567#discussion_r326291511
 
 

 ##
 File path: src/router_core/route_control.c
 ##
 @@ -625,9 +595,65 @@ void qdr_route_connection_closed_CT(qdr_core_t *core, 
qdr_connection_t *conn)
 //
 qdr_del_connection_ref(>connection_refs, conn);
 
-conn->conn_id= 0;
-
 qdr_route_check_id_for_deletion_CT(core, cid);
+}
+
+void qdr_route_connection_opened_CT(qdr_core_t   *core,
+qdr_connection_t *conn,
+qdr_field_t  *container_field,
+qdr_field_t  *connection_field)
+{
+if (conn->role != QDR_ROLE_ROUTE_CONTAINER)
+return;
+
+if (connection_field) {
+qdr_conn_identifier_t *cid = qdr_route_declare_id_CT(core, 0, 
connection_field->iterator);
+qdr_add_connection_ref(>connection_refs, conn);
+conn->conn_id = cid;
+activate_route_connection(core, conn, conn->conn_id);
+if (container_field) {
+cid = qdr_route_declare_id_CT(core, container_field->iterator, 0);
+qdr_add_connection_ref(>connection_refs, conn);
 
 Review comment:
   It would result in an extra connection ref being added for the same 
connection, which would probably not be removed when the connection goes away 
as it would only remove the first ref, so the cid would indeed then not be 
eligible for removal at that point.
   
   I'll move the qdr_add_connection_ref after the cid comparison.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


> route connection not indexed by 'connection' field of connector
> ---
>
> Key: DISPATCH-1428
> URL: https://issues.apache.org/jira/browse/DISPATCH-1428
> Project: Qpid Dispatch
>  Issue Type: Bug
>Reporter: Gordon Sim
>Priority: Major
>
> The connection established by a route-container connector will not be indexed 
> by the 'connection' field of that connector if there is already an existing 
> route-connection with the same container id but established by a different 
> connector.
> E.g. start router on 5672 and a broker (or a separate router emulating a 
> broker) on 5673, then:
> {noformat}
> for n in foo bar; do
> qdmanage CREATE --type connector --name $n role=route-container 
> host=localhost port=5673; 
> qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
> connection=$n;
> done;
> qdstat --linkroute
> {noformat}
> Only one of these link routes is active though both connections are 
> established.
> The issues is that when the first connection is established, it indexes the 
> qdr_conn_identifier_t by container-id and the connection label from the 
> connector. When the second connection is established, it looks up first by 
> container id, so adds itself to the qdr_conn_identifier_t created by the 
> first connection. There is then no entry in the index for the connection 
> label of the second connector, so the second link route can never be 
> activated.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[GitHub] [qpid-dispatch] grs commented on a change in pull request #567: DISPATCH-1428

2019-09-19 Thread GitBox
grs commented on a change in pull request #567: DISPATCH-1428
URL: https://github.com/apache/qpid-dispatch/pull/567#discussion_r326291511
 
 

 ##
 File path: src/router_core/route_control.c
 ##
 @@ -625,9 +595,65 @@ void qdr_route_connection_closed_CT(qdr_core_t *core, 
qdr_connection_t *conn)
 //
 qdr_del_connection_ref(>connection_refs, conn);
 
-conn->conn_id= 0;
-
 qdr_route_check_id_for_deletion_CT(core, cid);
+}
+
+void qdr_route_connection_opened_CT(qdr_core_t   *core,
+qdr_connection_t *conn,
+qdr_field_t  *container_field,
+qdr_field_t  *connection_field)
+{
+if (conn->role != QDR_ROLE_ROUTE_CONTAINER)
+return;
+
+if (connection_field) {
+qdr_conn_identifier_t *cid = qdr_route_declare_id_CT(core, 0, 
connection_field->iterator);
+qdr_add_connection_ref(>connection_refs, conn);
+conn->conn_id = cid;
+activate_route_connection(core, conn, conn->conn_id);
+if (container_field) {
+cid = qdr_route_declare_id_CT(core, container_field->iterator, 0);
+qdr_add_connection_ref(>connection_refs, conn);
 
 Review comment:
   It would result in an extra connection ref being added for the same 
connection, which would probably not be removed when the connection goes away 
as it would only remove the first ref, so the cid would indeed then not be 
eligible for removal at that point.
   
   I'll move the qdr_add_connection_ref after the cid comparison.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


With regards,
Apache Git Services

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



[GitHub] [qpid-dispatch] kgiusti commented on a change in pull request #567: DISPATCH-1428

2019-09-19 Thread GitBox
kgiusti commented on a change in pull request #567: DISPATCH-1428
URL: https://github.com/apache/qpid-dispatch/pull/567#discussion_r326286986
 
 

 ##
 File path: src/router_core/route_control.c
 ##
 @@ -625,9 +595,65 @@ void qdr_route_connection_closed_CT(qdr_core_t *core, 
qdr_connection_t *conn)
 //
 qdr_del_connection_ref(>connection_refs, conn);
 
-conn->conn_id= 0;
-
 qdr_route_check_id_for_deletion_CT(core, cid);
+}
+
+void qdr_route_connection_opened_CT(qdr_core_t   *core,
+qdr_connection_t *conn,
+qdr_field_t  *container_field,
+qdr_field_t  *connection_field)
+{
+if (conn->role != QDR_ROLE_ROUTE_CONTAINER)
+return;
+
+if (connection_field) {
+qdr_conn_identifier_t *cid = qdr_route_declare_id_CT(core, 0, 
connection_field->iterator);
+qdr_add_connection_ref(>connection_refs, conn);
+conn->conn_id = cid;
+activate_route_connection(core, conn, conn->conn_id);
+if (container_field) {
+cid = qdr_route_declare_id_CT(core, container_field->iterator, 0);
+qdr_add_connection_ref(>connection_refs, conn);
 
 Review comment:
   Q: after adding the second connection_ref (616), if the conn_id and the cid 
are equal the new cid is not saved in the conn's alt_conn_id.
   
   Does this leak a cid?


This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


With regards,
Apache Git Services

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



[jira] [Commented] (DISPATCH-1428) route connection not indexed by 'connection' field of connector

2019-09-19 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on DISPATCH-1428:
--

kgiusti commented on pull request #567: DISPATCH-1428
URL: https://github.com/apache/qpid-dispatch/pull/567#discussion_r326286986
 
 

 ##
 File path: src/router_core/route_control.c
 ##
 @@ -625,9 +595,65 @@ void qdr_route_connection_closed_CT(qdr_core_t *core, 
qdr_connection_t *conn)
 //
 qdr_del_connection_ref(>connection_refs, conn);
 
-conn->conn_id= 0;
-
 qdr_route_check_id_for_deletion_CT(core, cid);
+}
+
+void qdr_route_connection_opened_CT(qdr_core_t   *core,
+qdr_connection_t *conn,
+qdr_field_t  *container_field,
+qdr_field_t  *connection_field)
+{
+if (conn->role != QDR_ROLE_ROUTE_CONTAINER)
+return;
+
+if (connection_field) {
+qdr_conn_identifier_t *cid = qdr_route_declare_id_CT(core, 0, 
connection_field->iterator);
+qdr_add_connection_ref(>connection_refs, conn);
+conn->conn_id = cid;
+activate_route_connection(core, conn, conn->conn_id);
+if (container_field) {
+cid = qdr_route_declare_id_CT(core, container_field->iterator, 0);
+qdr_add_connection_ref(>connection_refs, conn);
 
 Review comment:
   Q: after adding the second connection_ref (616), if the conn_id and the cid 
are equal the new cid is not saved in the conn's alt_conn_id.
   
   Does this leak a cid?
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


> route connection not indexed by 'connection' field of connector
> ---
>
> Key: DISPATCH-1428
> URL: https://issues.apache.org/jira/browse/DISPATCH-1428
> Project: Qpid Dispatch
>  Issue Type: Bug
>Reporter: Gordon Sim
>Priority: Major
>
> The connection established by a route-container connector will not be indexed 
> by the 'connection' field of that connector if there is already an existing 
> route-connection with the same container id but established by a different 
> connector.
> E.g. start router on 5672 and a broker (or a separate router emulating a 
> broker) on 5673, then:
> {noformat}
> for n in foo bar; do
> qdmanage CREATE --type connector --name $n role=route-container 
> host=localhost port=5673; 
> qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
> connection=$n;
> done;
> qdstat --linkroute
> {noformat}
> Only one of these link routes is active though both connections are 
> established.
> The issues is that when the first connection is established, it indexes the 
> qdr_conn_identifier_t by container-id and the connection label from the 
> connector. When the second connection is established, it looks up first by 
> container id, so adds itself to the qdr_conn_identifier_t created by the 
> first connection. There is then no entry in the index for the connection 
> label of the second connector, so the second link route can never be 
> activated.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (DISPATCH-1428) route connection not indexed by 'connection' field of connector

2019-09-19 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on DISPATCH-1428:
--

codecov-io commented on issue #567: DISPATCH-1428
URL: https://github.com/apache/qpid-dispatch/pull/567#issuecomment-533213932
 
 
   # 
[Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=h1) 
Report
   > Merging 
[#567](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=desc) into 
[master](https://codecov.io/gh/apache/qpid-dispatch/commit/759dfd6be57c2d32a371b1529194831356de61c5?src=pr=desc)
 will **decrease** coverage by `0.04%`.
   > The diff coverage is `97.05%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/qpid-dispatch/pull/567/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=tree)
   
   ```diff
   @@Coverage Diff@@
   ##   master#567  +/-   ##
   =
   - Coverage   86.35%   86.3%   -0.05% 
   =
 Files  90  90  
 Lines   20364   20383  +19 
   =
   + Hits17585   17592   +7 
   - Misses   27792791  +12
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[src/router\_core/route\_control.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlX2NvbnRyb2wuYw==)
 | `94.03% <97.05%> (-3.27%)` | :arrow_down: |
   | 
[src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=)
 | `94.2% <0%> (-0.26%)` | :arrow_down: |
   | 
[src/parse.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3BhcnNlLmM=)
 | `87.64% <0%> (-0.23%)` | :arrow_down: |
   | 
[src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9ub2RlLmM=)
 | `93.01% <0%> (-0.13%)` | :arrow_down: |
   | 
[...re/modules/edge\_addr\_tracking/edge\_addr\_tracking.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9hZGRyX3RyYWNraW5nL2VkZ2VfYWRkcl90cmFja2luZy5j)
 | `86.55% <0%> (+1.61%)` | :arrow_up: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/567?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/567?src=pr=footer).
 Last update 
[759dfd6...1c4333e](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


> route connection not indexed by 'connection' field of connector
> ---
>
> Key: DISPATCH-1428
> URL: https://issues.apache.org/jira/browse/DISPATCH-1428
> Project: Qpid Dispatch
>  Issue Type: Bug
>Reporter: Gordon Sim
>Priority: Major
>
> The connection established by a route-container connector will not be indexed 
> by the 'connection' field of that connector if there is already an existing 
> route-connection with the same container id but established by a different 
> connector.
> E.g. start router on 5672 and a broker (or a separate router emulating a 
> broker) on 5673, then:
> {noformat}
> for n in foo bar; do
> qdmanage CREATE --type connector --name $n role=route-container 
> host=localhost port=5673; 
> qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
> connection=$n;
> done;
> qdstat --linkroute
> {noformat}
> Only one of these link routes is active though both connections are 
> established.
> The issues is that when the first connection is established, it indexes the 
> qdr_conn_identifier_t by container-id and the connection label from the 
> connector. When the second connection is established, it looks up first by 
> container id, so adds itself to the qdr_conn_identifier_t created by the 
> first connection. There is then no entry in the index for the connection 
> label of the second connector, so the second link route can never be 
> activated.



--

[GitHub] [qpid-dispatch] codecov-io commented on issue #567: DISPATCH-1428

2019-09-19 Thread GitBox
codecov-io commented on issue #567: DISPATCH-1428
URL: https://github.com/apache/qpid-dispatch/pull/567#issuecomment-533213932
 
 
   # 
[Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=h1) 
Report
   > Merging 
[#567](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=desc) into 
[master](https://codecov.io/gh/apache/qpid-dispatch/commit/759dfd6be57c2d32a371b1529194831356de61c5?src=pr=desc)
 will **decrease** coverage by `0.04%`.
   > The diff coverage is `97.05%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/qpid-dispatch/pull/567/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=tree)
   
   ```diff
   @@Coverage Diff@@
   ##   master#567  +/-   ##
   =
   - Coverage   86.35%   86.3%   -0.05% 
   =
 Files  90  90  
 Lines   20364   20383  +19 
   =
   + Hits17585   17592   +7 
   - Misses   27792791  +12
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=tree) | 
Coverage Δ | |
   |---|---|---|
   | 
[src/router\_core/route\_control.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlX2NvbnRyb2wuYw==)
 | `94.03% <97.05%> (-3.27%)` | :arrow_down: |
   | 
[src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=)
 | `94.2% <0%> (-0.26%)` | :arrow_down: |
   | 
[src/parse.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3BhcnNlLmM=)
 | `87.64% <0%> (-0.23%)` | :arrow_down: |
   | 
[src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9ub2RlLmM=)
 | `93.01% <0%> (-0.13%)` | :arrow_down: |
   | 
[...re/modules/edge\_addr\_tracking/edge\_addr\_tracking.c](https://codecov.io/gh/apache/qpid-dispatch/pull/567/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9hZGRyX3RyYWNraW5nL2VkZ2VfYWRkcl90cmFja2luZy5j)
 | `86.55% <0%> (+1.61%)` | :arrow_up: |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/567?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/567?src=pr=footer).
 Last update 
[759dfd6...1c4333e](https://codecov.io/gh/apache/qpid-dispatch/pull/567?src=pr=lastupdated).
 Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


With regards,
Apache Git Services

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



[jira] [Commented] (QPIDJMS-473) NPE in AsyncCompletionTask - race condition

2019-09-19 Thread Robbie Gemmell (Jira)


[ 
https://issues.apache.org/jira/browse/QPIDJMS-473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16933557#comment-16933557
 ] 

Robbie Gemmell commented on QPIDJMS-473:


Thanks for the report, we will take a look when we get a chance.

>From your note about performance, I suspect that you are using 'anonymous' 
>producers (either JMSProducer instances, or a MessageProducer created with 
>null as the destination) and that Service Bus isnt advertising support for the 
>'ANONYMOUS-RELAY' capability, meaning the client has to fall back to creating 
>and closing a fixed-address sending link under the covers each time you do a 
>send, which effectively means it is still doing synchronous sending. I suspect 
>the issue is as much or more related to how that fallback process currently 
>works than the placement of the callback queue updates in the higher level, as 
>in the regular cases it wouldn't be possible to receive a disposition back 
>before those steps are taken given they process in a single thread.

Which is all to say, if you are using anonymous producer instances, you might 
instead try using fixed destination MessageProducer instances instead, which 
could both work around the issue and improve performance (first by not opening 
and closing links per send, and separately by allowing actual async sends on 
top).

> NPE in AsyncCompletionTask - race condition
> ---
>
> Key: QPIDJMS-473
> URL: https://issues.apache.org/jira/browse/QPIDJMS-473
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.45.0
> Environment: Windows 10/64
> Dell 5530 8 cores (possibly explaining why the send thread completes faster 
> than the thread recording the SendComplete on the queue?)
> java 8
>  
>Reporter: Consultant Leon
>Priority: Critical
> Attachments: 
> fix_QPID-JMS-473_race_condition_where_SendCompletion_was_not_placed_on_asyncSendQueue_befo.patch
>
>
> When I configure a completion listener and send 50 messages rapidly 
> asynchronous I hit a race condition.
> Debugging the code proves that the envelope has not been placed on 
> asyncSendQueue at the time the very first send completion arrives.
> This results in JmsSession line 1518 within the private AsyncCompletionTask 
> class:
> SendCompletion completion = {color:#660e7a}asyncSendQueue{color}.peek();
> Returning *null* , as the asyncSendQueue does not yet contain the completion 
> as it's still being populated in the other thread!
> The resulting null pointer exception is logged as a DEBUG message (!!! bad 
> this should be a clear ERROR log with stack trace, it should never happen but 
> if it does don't hide it this way !!!)
> Enabling debug logging then shows:
> 2019-09-19_03:53:00.526-DEBUG-[JmsSession 
> [ID:811574d5-f47c-4dd3-82e9-c4aa4ce1d9b9:1:1] completion dispatcher]-Send 
> completion task encounted unexpected error: null 
> \{org.apache.qpid.jms.JmsSession:1567}
>  
> Another comment on the logging style, the exception should be logged not 
> ex.getMessage() !! (you can't see from the log that it's an NPE this way).
>  
> Line 1567:
> {color:#660e7a}LOG{color}.debug({color:#008000}"Send completion task 
> encounted unexpected error: {}"{color}, ex.getMessage());
> -->
> {color:#660e7a}LOG{color}.debug({color:#008000}"Send completion task 
> encounted unexpected error"{color}, ex);
> (never assume getMessage() contains relevant data, log the stack unless 100% 
> sure the exception is known and self descriptive but when are you 100% sure 
> about such?)
> The problem is triggered by the design of the code at line 951:
>  
> {color:#80}if {color}(envelope.isCompletionRequired()) {
>  
> {color:#660e7a}transactionContext{color}.send({color:#660e7a}connection{color},
>  envelope, {color:#80}new {color}ProviderSynchronization() {
>  {color:#808000}@Override
> {color} {color:#80}public void {color}onPendingSuccess() {
>  {color:#808080}// Provider accepted the send request so new we place the 
> marker in
> {color}{color:#808080} // the queue so that it can be completed 
> asynchronously.
> {color} {color:#660e7a}asyncSendQueue{color}.addLast({color:#80}new 
> {color}SendCompletion({color:#660e7a}envelope{color}, 
> {color:#660e7a}listener{color}));
>  }
>  {color:#808000}@Override
> {color} {color:#80}public void {color}onPendingFailure(ProviderException 
> cause) {
>  {color:#808080}// Provider has rejected the send request so we will throw the
> {color}{color:#808080} // exception that is to follow so no completion will 
> be needed.
> {color} }
>  });
> First the message is sent (and the sending is actually completed before the 
> onPendingSuccess() is ever called!
> The design of this code should be changed to first record the outstanding 
> send operation (so first do the 

[GitHub] [qpid-dispatch] grs opened a new pull request #567: DISPATCH-1428

2019-09-19 Thread GitBox
grs opened a new pull request #567: DISPATCH-1428
URL: https://github.com/apache/qpid-dispatch/pull/567
 
 
   Allow a route-container connection to be looked up by connector name, even 
if the container id is the same as a connection from a different connector.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


With regards,
Apache Git Services

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



[jira] [Commented] (DISPATCH-1428) route connection not indexed by 'connection' field of connector

2019-09-19 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on DISPATCH-1428:
--

grs commented on pull request #567: DISPATCH-1428
URL: https://github.com/apache/qpid-dispatch/pull/567
 
 
   Allow a route-container connection to be looked up by connector name, even 
if the container id is the same as a connection from a different connector.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


> route connection not indexed by 'connection' field of connector
> ---
>
> Key: DISPATCH-1428
> URL: https://issues.apache.org/jira/browse/DISPATCH-1428
> Project: Qpid Dispatch
>  Issue Type: Bug
>Reporter: Gordon Sim
>Priority: Major
>
> The connection established by a route-container connector will not be indexed 
> by the 'connection' field of that connector if there is already an existing 
> route-connection with the same container id but established by a different 
> connector.
> E.g. start router on 5672 and a broker (or a separate router emulating a 
> broker) on 5673, then:
> {noformat}
> for n in foo bar; do
> qdmanage CREATE --type connector --name $n role=route-container 
> host=localhost port=5673; 
> qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
> connection=$n;
> done;
> qdstat --linkroute
> {noformat}
> Only one of these link routes is active though both connections are 
> established.
> The issues is that when the first connection is established, it indexes the 
> qdr_conn_identifier_t by container-id and the connection label from the 
> connector. When the second connection is established, it looks up first by 
> container id, so adds itself to the qdr_conn_identifier_t created by the 
> first connection. There is then no entry in the index for the connection 
> label of the second connector, so the second link route can never be 
> activated.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (DISPATCH-1428) route connection not indexed by 'connection' field of connector

2019-09-19 Thread Gordon Sim (Jira)


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

Gordon Sim updated DISPATCH-1428:
-
Description: 
The connection established by a route-container connector will not be indexed 
by the 'connection' field of that connector if there is already an existing 
route-connection with the same container id but established by a different 
connector.

E.g. start router on 5672 and a broker (or a separate router emulating a 
broker) on 5673, then:
{noformat}
for n in foo bar; do
qdmanage CREATE --type connector --name $n role=route-container 
host=localhost port=5673; 
qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
connection=$n;
done;
qdstat --linkroute
{noformat}
Only one of these link routes is active though both connections are established.

The issues is that when the first connection is established, it indexes the 
qdr_conn_identifier_t by container-id and the connection label from the 
connector. When the second connection is established, it looks up first by 
container id, so adds itself to the qdr_conn_identifier_t created by the first 
connection. There is then no entry in the index for the connection label of the 
second connector, so the second link route can never be activated.

  was:
The connection established by a route-container connector will not be indexed 
by the 'connection' field of that connector if there is already an existing 
route-connection with the same container id but established by a different 
connector.

E.g. start one router on port 5673, another (not part of same router network) 
on 5672 then:
{noformat}
for n in foo bar; do
qdmanage CREATE --type connector --name $n role=route-container 
host=localhost port=5673; 
qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
connection=$n;
done;
qdstat --linkroute
{noformat}
Only one of these link routes is active though both connections are established.

The issues is that when the first connection is established, it indexes the 
qdr_conn_identifier_t by container-id and the connection label from the 
connector. When the second connection is established, it looks up first by 
container id, so adds itself to the qdr_conn_identifier_t created by the first 
connection. There is then no entry in the index for the connection label of the 
second connector, so the second link route can never be activated.


> route connection not indexed by 'connection' field of connector
> ---
>
> Key: DISPATCH-1428
> URL: https://issues.apache.org/jira/browse/DISPATCH-1428
> Project: Qpid Dispatch
>  Issue Type: Bug
>Reporter: Gordon Sim
>Priority: Major
>
> The connection established by a route-container connector will not be indexed 
> by the 'connection' field of that connector if there is already an existing 
> route-connection with the same container id but established by a different 
> connector.
> E.g. start router on 5672 and a broker (or a separate router emulating a 
> broker) on 5673, then:
> {noformat}
> for n in foo bar; do
> qdmanage CREATE --type connector --name $n role=route-container 
> host=localhost port=5673; 
> qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
> connection=$n;
> done;
> qdstat --linkroute
> {noformat}
> Only one of these link routes is active though both connections are 
> established.
> The issues is that when the first connection is established, it indexes the 
> qdr_conn_identifier_t by container-id and the connection label from the 
> connector. When the second connection is established, it looks up first by 
> container id, so adds itself to the qdr_conn_identifier_t created by the 
> first connection. There is then no entry in the index for the connection 
> label of the second connector, so the second link route can never be 
> activated.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (DISPATCH-1428) route connection not indexed by 'connection' field of connector

2019-09-19 Thread Gordon Sim (Jira)


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

Gordon Sim updated DISPATCH-1428:
-
Description: 
The connection established by a route-container connector will not be indexed 
by the 'connection' field of that connector if there is already an existing 
route-connection with the same container id but established by a different 
connector.

E.g. start one router on port 5673, another (not part of same router network) 
on 5672 then:
{noformat}
for n in foo bar; do
qdmanage CREATE --type connector --name $n role=route-container 
host=localhost port=5673; 
qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
connection=$n;
done;
qdstat --linkroute
{noformat}
Only one of these link routes is active though both connections are established.

The issues is that when the first connection is established, it indexes the 
qdr_conn_identifier_t by container-id and the connection label from the 
connector. When the second connection is established, it looks up first by 
container id, so adds itself to the qdr_conn_identifier_t created by the first 
connection. There is then no entry in the index for the connection label of the 
second connector, so the second link route can never be activated.

  was:
The connection established by a route-container connector will not be indexed 
by the 'connection' field of that connector if there is already an existing 
route-connection with the same container id but established by a different 
connector.

E.g. start one router on port 5673, another on 5672 then:

{noformat}
for n in foo bar; do
qdmanage CREATE --type connector --name $n role=route-container 
host=localhost port=5673; 
qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
connection=$n;
done;
qdstat --linkroute
{noformat} 

Only one of these link routes is active though both connections are established.

The issues is that when the first connection is established, it indexes the 
qdr_conn_identifier_t by container-id and the connection label from the 
connector. When the second connection is established, it looks up first by 
container id, so adds itself to the qdr_conn_identifier_t created by the first 
connection. There is then no entry in the index for the connection label of the 
second connector, so the second link route can never be activated.


> route connection not indexed by 'connection' field of connector
> ---
>
> Key: DISPATCH-1428
> URL: https://issues.apache.org/jira/browse/DISPATCH-1428
> Project: Qpid Dispatch
>  Issue Type: Bug
>Reporter: Gordon Sim
>Priority: Major
>
> The connection established by a route-container connector will not be indexed 
> by the 'connection' field of that connector if there is already an existing 
> route-connection with the same container id but established by a different 
> connector.
> E.g. start one router on port 5673, another (not part of same router network) 
> on 5672 then:
> {noformat}
> for n in foo bar; do
> qdmanage CREATE --type connector --name $n role=route-container 
> host=localhost port=5673; 
> qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
> connection=$n;
> done;
> qdstat --linkroute
> {noformat}
> Only one of these link routes is active though both connections are 
> established.
> The issues is that when the first connection is established, it indexes the 
> qdr_conn_identifier_t by container-id and the connection label from the 
> connector. When the second connection is established, it looks up first by 
> container id, so adds itself to the qdr_conn_identifier_t created by the 
> first connection. There is then no entry in the index for the connection 
> label of the second connector, so the second link route can never be 
> activated.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (DISPATCH-1428) route connection not indexed by 'connection' field of connector

2019-09-19 Thread Gordon Sim (Jira)


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

Gordon Sim updated DISPATCH-1428:
-
Description: 
The connection established by a route-container connector will not be indexed 
by the 'connection' field of that connector if there is already an existing 
route-connection with the same container id but established by a different 
connector.

E.g. start one router on port 5673, another on 5672 then:

{noformat}
for n in foo bar; do
qdmanage CREATE --type connector --name $n role=route-container 
host=localhost port=5673; 
qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
connection=$n;
done;
qdstat --linkroute
{noformat} 

Only one of these link routes is active though both connections are established.

The issues is that when the first connection is established, it indexes the 
qdr_conn_identifier_t by container-id and the connection label from the 
connector. When the second connection is established, it looks up first by 
container id, so adds itself to the qdr_conn_identifier_t created by the first 
connection. There is then no entry in the index for the connection label of the 
second connector, so the second link route can never be activated.

  was:
The connection established by a route-container connector will not be indexed 
by the 'connection' field of that connector if there is already an existing 
route-connection with the same container id but established by a different 
connector.

E.g. start one router on port 5673, another on 5672 then:

{noformat}
for n in foo bar; do
qdmanage CREATE --type connector --name $n role=route-container 
host=localhost port=5673; 
qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
connection=$n; done;
qdstat --linkroute
{noformat} 

Only one of these link routes is active though both connections are established.

The issues is that when the first connection is established, it indexes the 
qdr_conn_identifier_t by container-id and the connection label from the 
connector. When the second connection is established, it looks up first by 
container id, so adds itself to the qdr_conn_identifier_t created by the first 
connection. There is then no entry in the index for the connection label of the 
second connector, so the second link route can never be activated.


> route connection not indexed by 'connection' field of connector
> ---
>
> Key: DISPATCH-1428
> URL: https://issues.apache.org/jira/browse/DISPATCH-1428
> Project: Qpid Dispatch
>  Issue Type: Bug
>Reporter: Gordon Sim
>Priority: Major
>
> The connection established by a route-container connector will not be indexed 
> by the 'connection' field of that connector if there is already an existing 
> route-connection with the same container id but established by a different 
> connector.
> E.g. start one router on port 5673, another on 5672 then:
> {noformat}
> for n in foo bar; do
> qdmanage CREATE --type connector --name $n role=route-container 
> host=localhost port=5673; 
> qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
> connection=$n;
> done;
> qdstat --linkroute
> {noformat} 
> Only one of these link routes is active though both connections are 
> established.
> The issues is that when the first connection is established, it indexes the 
> qdr_conn_identifier_t by container-id and the connection label from the 
> connector. When the second connection is established, it looks up first by 
> container id, so adds itself to the qdr_conn_identifier_t created by the 
> first connection. There is then no entry in the index for the connection 
> label of the second connector, so the second link route can never be 
> activated.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Created] (DISPATCH-1428) route connection not indexed by 'connection' field of connector

2019-09-19 Thread Gordon Sim (Jira)
Gordon Sim created DISPATCH-1428:


 Summary: route connection not indexed by 'connection' field of 
connector
 Key: DISPATCH-1428
 URL: https://issues.apache.org/jira/browse/DISPATCH-1428
 Project: Qpid Dispatch
  Issue Type: Bug
Reporter: Gordon Sim


The connection established by a route-container connector will not be indexed 
by the 'connection' field of that connector if there is already an existing 
route-connection with the same container id but established by a different 
connector.

E.g. start one router on port 5673, another on 5672 then:

{noformat}
for n in foo bar; do
qdmanage CREATE --type connector --name $n role=route-container 
host=localhost port=5673; 
qdmanage CREATE --type linkRoute --name $n pattern=$n direction=in 
connection=$n; done;
qdstat --linkroute
{noformat} 

Only one of these link routes is active though both connections are established.

The issues is that when the first connection is established, it indexes the 
qdr_conn_identifier_t by container-id and the connection label from the 
connector. When the second connection is established, it looks up first by 
container id, so adds itself to the qdr_conn_identifier_t created by the first 
connection. There is then no entry in the index for the connection label of the 
second connector, so the second link route can never be activated.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (QPIDJMS-474) NPE upon connection failure during transacted session setup

2019-09-19 Thread Mario Schlipf (Jira)


[ 
https://issues.apache.org/jira/browse/QPIDJMS-474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16933460#comment-16933460
 ] 

Mario Schlipf commented on QPIDJMS-474:
---

Thank you very much for the quick resolution of this issue, [~robbie]!

> NPE upon connection failure during transacted session setup
> ---
>
> Key: QPIDJMS-474
> URL: https://issues.apache.org/jira/browse/QPIDJMS-474
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.45.0
>Reporter: Mario Schlipf
>Assignee: Robbie Gemmell
>Priority: Major
> Fix For: 0.46.0
>
>
> Hi,
> I am using qpid-cms-client version 0.39.0, but I can see that the same 
> problem exists in the current version.
> {{The function `JmsLocalTransactionContext.onConnectionInterrupted is missing 
> a null-check for the `transactionInfo` field.}}
> This function is called from `JmsSession.onConnectionInterrupted`. If 
> `transactionInfo` is null, this leads to the fact that consumers and 
> producers are not properly notified of the interrupted connection.
> I am using qpid-jms-client in conjunction with Spring's 
> `SingleConnectionFactory`. I can see rare cases where `transactionInfo` is 
> null and in which the SpringConnectionFactory will not be informed about the 
> transaction loss. In these cases, there is no automatic reconnect from Spring.
>  
> Below some logging when the NPE occurs:
>  
>  
> {code:java}
> 2019-09-19T08:39:17,141 [WARN ] [AmqpProvider :(2):[amqps://10.0.0.12:5672]] 
> AbstractEventExecutor - A task raised an exception. Task: 
> org.apache.qpid.jms.provider.amqp.AmqpProvider$$Lambda$327/2054861790@467bfdd
> java.lang.NullPointerException: null
>         at 
> org.apache.qpid.jms.JmsLocalTransactionContext.onConnectionInterrupted(JmsLocalTransactionContext.java:333)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.JmsSession.onConnectionInterrupted(JmsSession.java:1340) 
> ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.JmsConnection.onConnectionFailure(JmsConnection.java:1356)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException(AmqpProvider.java:1069)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.lambda$onTransportClosed$18(AmqpProvider.java:867)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
>  ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
>         at 
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
>  ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
>         at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:315) 
> ~[netty-transport-native-epoll-4.1.29.Final-linux-x86_64.jar!/:4.1.29.Final]
>         at 
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
>  ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
>         at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
> {code}
>  
> My suspicion is that this NPE is responsible for the exception not properly 
> proparagated, but I am still investigating.
> It would help very much if anyone from the Qpid team could validate this as 
> well.
>  
> Thanks



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Resolved] (QPIDJMS-474) NPE upon connection failure during transacted session setup

2019-09-19 Thread Robbie Gemmell (Jira)


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

Robbie Gemmell resolved QPIDJMS-474.

Fix Version/s: 0.46.0
 Assignee: Robbie Gemmell
   Resolution: Fixed

I've pushed a change to address the issue, which can occur if connection 
failure occurs between a session being created on the wire, but before its 
transaction coordinator is first established and a transaction declared.

> NPE upon connection failure during transacted session setup
> ---
>
> Key: QPIDJMS-474
> URL: https://issues.apache.org/jira/browse/QPIDJMS-474
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.45.0
>Reporter: Mario Schlipf
>Assignee: Robbie Gemmell
>Priority: Major
> Fix For: 0.46.0
>
>
> Hi,
> I am using qpid-cms-client version 0.39.0, but I can see that the same 
> problem exists in the current version.
> {{The function `JmsLocalTransactionContext.onConnectionInterrupted is missing 
> a null-check for the `transactionInfo` field.}}
> This function is called from `JmsSession.onConnectionInterrupted`. If 
> `transactionInfo` is null, this leads to the fact that consumers and 
> producers are not properly notified of the interrupted connection.
> I am using qpid-jms-client in conjunction with Spring's 
> `SingleConnectionFactory`. I can see rare cases where `transactionInfo` is 
> null and in which the SpringConnectionFactory will not be informed about the 
> transaction loss. In these cases, there is no automatic reconnect from Spring.
>  
> Below some logging when the NPE occurs:
>  
>  
> {code:java}
> 2019-09-19T08:39:17,141 [WARN ] [AmqpProvider :(2):[amqps://10.0.0.12:5672]] 
> AbstractEventExecutor - A task raised an exception. Task: 
> org.apache.qpid.jms.provider.amqp.AmqpProvider$$Lambda$327/2054861790@467bfdd
> java.lang.NullPointerException: null
>         at 
> org.apache.qpid.jms.JmsLocalTransactionContext.onConnectionInterrupted(JmsLocalTransactionContext.java:333)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.JmsSession.onConnectionInterrupted(JmsSession.java:1340) 
> ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.JmsConnection.onConnectionFailure(JmsConnection.java:1356)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException(AmqpProvider.java:1069)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.lambda$onTransportClosed$18(AmqpProvider.java:867)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
>  ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
>         at 
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
>  ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
>         at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:315) 
> ~[netty-transport-native-epoll-4.1.29.Final-linux-x86_64.jar!/:4.1.29.Final]
>         at 
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
>  ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
>         at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
> {code}
>  
> My suspicion is that this NPE is responsible for the exception not properly 
> proparagated, but I am still investigating.
> It would help very much if anyone from the Qpid team could validate this as 
> well.
>  
> Thanks



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Updated] (QPIDJMS-474) NPE upon connection failure during transacted session setup

2019-09-19 Thread Robbie Gemmell (Jira)


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

Robbie Gemmell updated QPIDJMS-474:
---
Summary: NPE upon connection failure during transacted session setup  (was: 
Race condition in JmsLocalTransactionContext.onConnectionInterrupted leading to 
NPE)

> NPE upon connection failure during transacted session setup
> ---
>
> Key: QPIDJMS-474
> URL: https://issues.apache.org/jira/browse/QPIDJMS-474
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.45.0
>Reporter: Mario Schlipf
>Priority: Major
>
> Hi,
> I am using qpid-cms-client version 0.39.0, but I can see that the same 
> problem exists in the current version.
> {{The function `JmsLocalTransactionContext.onConnectionInterrupted is missing 
> a null-check for the `transactionInfo` field.}}
> This function is called from `JmsSession.onConnectionInterrupted`. If 
> `transactionInfo` is null, this leads to the fact that consumers and 
> producers are not properly notified of the interrupted connection.
> I am using qpid-jms-client in conjunction with Spring's 
> `SingleConnectionFactory`. I can see rare cases where `transactionInfo` is 
> null and in which the SpringConnectionFactory will not be informed about the 
> transaction loss. In these cases, there is no automatic reconnect from Spring.
>  
> Below some logging when the NPE occurs:
>  
>  
> {code:java}
> 2019-09-19T08:39:17,141 [WARN ] [AmqpProvider :(2):[amqps://10.0.0.12:5672]] 
> AbstractEventExecutor - A task raised an exception. Task: 
> org.apache.qpid.jms.provider.amqp.AmqpProvider$$Lambda$327/2054861790@467bfdd
> java.lang.NullPointerException: null
>         at 
> org.apache.qpid.jms.JmsLocalTransactionContext.onConnectionInterrupted(JmsLocalTransactionContext.java:333)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.JmsSession.onConnectionInterrupted(JmsSession.java:1340) 
> ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.JmsConnection.onConnectionFailure(JmsConnection.java:1356)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException(AmqpProvider.java:1069)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.lambda$onTransportClosed$18(AmqpProvider.java:867)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
>  ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
>         at 
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
>  ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
>         at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:315) 
> ~[netty-transport-native-epoll-4.1.29.Final-linux-x86_64.jar!/:4.1.29.Final]
>         at 
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
>  ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
>         at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
> {code}
>  
> My suspicion is that this NPE is responsible for the exception not properly 
> proparagated, but I am still investigating.
> It would help very much if anyone from the Qpid team could validate this as 
> well.
>  
> Thanks



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (QPIDJMS-474) Race condition in JmsLocalTransactionContext.onConnectionInterrupted leading to NPE

2019-09-19 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/QPIDJMS-474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16933419#comment-16933419
 ] 

ASF subversion and git services commented on QPIDJMS-474:
-

Commit 4a9aab83bca11f7346215a827266e5039df1393d in qpid-jms's branch 
refs/heads/master from Robert Gemmell
[ https://gitbox.apache.org/repos/asf?p=qpid-jms.git;h=4a9aab8 ]

QPIDJMS-474: better handle connection failure mid-creation on transacted session


> Race condition in JmsLocalTransactionContext.onConnectionInterrupted leading 
> to NPE
> ---
>
> Key: QPIDJMS-474
> URL: https://issues.apache.org/jira/browse/QPIDJMS-474
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.45.0
>Reporter: Mario Schlipf
>Priority: Major
>
> Hi,
> I am using qpid-cms-client version 0.39.0, but I can see that the same 
> problem exists in the current version.
> {{The function `JmsLocalTransactionContext.onConnectionInterrupted is missing 
> a null-check for the `transactionInfo` field.}}
> This function is called from `JmsSession.onConnectionInterrupted`. If 
> `transactionInfo` is null, this leads to the fact that consumers and 
> producers are not properly notified of the interrupted connection.
> I am using qpid-jms-client in conjunction with Spring's 
> `SingleConnectionFactory`. I can see rare cases where `transactionInfo` is 
> null and in which the SpringConnectionFactory will not be informed about the 
> transaction loss. In these cases, there is no automatic reconnect from Spring.
>  
> Below some logging when the NPE occurs:
>  
>  
> {code:java}
> 2019-09-19T08:39:17,141 [WARN ] [AmqpProvider :(2):[amqps://10.0.0.12:5672]] 
> AbstractEventExecutor - A task raised an exception. Task: 
> org.apache.qpid.jms.provider.amqp.AmqpProvider$$Lambda$327/2054861790@467bfdd
> java.lang.NullPointerException: null
>         at 
> org.apache.qpid.jms.JmsLocalTransactionContext.onConnectionInterrupted(JmsLocalTransactionContext.java:333)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.JmsSession.onConnectionInterrupted(JmsSession.java:1340) 
> ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.JmsConnection.onConnectionFailure(JmsConnection.java:1356)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException(AmqpProvider.java:1069)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.lambda$onTransportClosed$18(AmqpProvider.java:867)
>  ~[qpid-jms-client-0.39.0.jar!/:?]
>         at 
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
>  ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
>         at 
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
>  ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
>         at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:315) 
> ~[netty-transport-native-epoll-4.1.29.Final-linux-x86_64.jar!/:4.1.29.Final]
>         at 
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
>  ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
>         at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
> {code}
>  
> My suspicion is that this NPE is responsible for the exception not properly 
> proparagated, but I am still investigating.
> It would help very much if anyone from the Qpid team could validate this as 
> well.
>  
> Thanks



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (QPID-8354) [Broker-J][JMS AMQP 0-x] Backlist TLSv1.1

2019-09-19 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on QPID-8354:
--

vavrtom commented on pull request #37: QPID-8354 Blacklist TLSv1.1
URL: https://github.com/apache/qpid-broker-j/pull/37
 
 
   I removed duplicate black list in Broker class and sorted unit tests in 
class TCPandSSLTransportTest.
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


> [Broker-J][JMS AMQP 0-x] Backlist TLSv1.1
> -
>
> Key: QPID-8354
> URL: https://issues.apache.org/jira/browse/QPID-8354
> Project: Qpid
>  Issue Type: Improvement
>  Components: Broker-J, JMS AMQP 0-x
>Reporter: Alex Rudyy
>Priority: Major
> Fix For: qpid-java-broker-8.0.0, qpid-java-broker-7.1.5
>
>
> The TLSv1.1 is allowed by default for establishing TLS connectivity in both 
> Qpid Broker-J and legacy JMS client for AMQP 0-x. TLS 1.0 is already 
> blacklisted in both products.  We can consider restricting allowed TLS 
> protocols to TLSv1.2 and TLSv1.3 by default. The TLSv1.2 can be used with 
> JDK8-10 and TLSv1.3 can be used with JDK 11 and above.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[GitHub] [qpid-broker-j] vavrtom opened a new pull request #37: QPID-8354 Blacklist TLSv1.1

2019-09-19 Thread GitBox
vavrtom opened a new pull request #37: QPID-8354 Blacklist TLSv1.1
URL: https://github.com/apache/qpid-broker-j/pull/37
 
 
   I removed duplicate black list in Broker class and sorted unit tests in 
class TCPandSSLTransportTest.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


With regards,
Apache Git Services

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



[jira] [Updated] (QPIDJMS-474) Race condition in JmsLocalTransactionContext.onConnectionInterrupted leading to NPE

2019-09-19 Thread Mario Schlipf (Jira)


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

Mario Schlipf updated QPIDJMS-474:
--
Description: 
Hi,

I am using qpid-cms-client version 0.39.0, but I can see that the same problem 
exists in the current version.

{{The function `JmsLocalTransactionContext.onConnectionInterrupted is missing a 
null-check for the `transactionInfo` field.}}

This function is called from `JmsSession.onConnectionInterrupted`. If 
`transactionInfo` is null, this leads to the fact that consumers and producers 
are not properly notified of the interrupted connection.

I am using qpid-jms-client in conjunction with Spring's 
`SingleConnectionFactory`. I can see rare cases where `transactionInfo` is null 
and in which the SpringConnectionFactory will not be informed about the 
transaction loss. In these cases, there is no automatic reconnect from Spring.

 

Below some logging when the NPE occurs:

 

 
{code:java}
2019-09-19T08:39:17,141 [WARN ] [AmqpProvider :(2):[amqps://10.0.0.12:5672]] 
AbstractEventExecutor - A task raised an exception. Task: 
org.apache.qpid.jms.provider.amqp.AmqpProvider$$Lambda$327/2054861790@467bfdd
java.lang.NullPointerException: null
        at 
org.apache.qpid.jms.JmsLocalTransactionContext.onConnectionInterrupted(JmsLocalTransactionContext.java:333)
 ~[qpid-jms-client-0.39.0.jar!/:?]
        at 
org.apache.qpid.jms.JmsSession.onConnectionInterrupted(JmsSession.java:1340) 
~[qpid-jms-client-0.39.0.jar!/:?]
        at 
org.apache.qpid.jms.JmsConnection.onConnectionFailure(JmsConnection.java:1356) 
~[qpid-jms-client-0.39.0.jar!/:?]
        at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException(AmqpProvider.java:1069)
 ~[qpid-jms-client-0.39.0.jar!/:?]
        at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.lambda$onTransportClosed$18(AmqpProvider.java:867)
 ~[qpid-jms-client-0.39.0.jar!/:?]
        at 
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
 ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
        at 
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
 ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
        at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:315) 
~[netty-transport-native-epoll-4.1.29.Final-linux-x86_64.jar!/:4.1.29.Final]
        at 
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
 ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
{code}
 

My suspicion is that this NPE is responsible for the exception not properly 
proparagated, but I am still investigating.

It would help very much if anyone from the Qpid team could validate this as 
well.

 

Thanks

  was:
Hi,

I am using qpid-cms-client version 0.39.0, but I can see that the same problem 
exists in the current version.

The function `JmsLocalTransactionContext.onConnectionInterrupted` is missing a 
null-check for the `transactionInfo` field.

This function is called from `JmsSession.onConnectionInterrupted`. If 
`transactionInfo` is null, this leads to the fact that consumers and producers 
are not properly notified of the interrupted connection.

I am using qpid-jms-client in conjunction with Spring's 
`SingleConnectionFactory`. I can see rare cases where `transactionInfo` is null 
and in which the SpringConnectionFactory will not be informed about the 
transaction loss. In these cases, there is no automatic reconnect from Spring.

 

Below some logging when the NPE occurs:

```

2019-09-19T08:39:17,141 [WARN ] [AmqpProvider :(2):[amqps://10.0.0.12:5672]] 
AbstractEventExecutor - A task raised an exception. Task: 
org.apache.qpid.jms.provider.amqp.AmqpProvider$$Lambda$327/2054861790@467bfdd

java.lang.NullPointerException: null

        at 
org.apache.qpid.jms.JmsLocalTransactionContext.onConnectionInterrupted(JmsLocalTransactionContext.java:333)
 ~[qpid-jms-client-0.39.0.jar!/:?]

        at 
org.apache.qpid.jms.JmsSession.onConnectionInterrupted(JmsSession.java:1340) 
~[qpid-jms-client-0.39.0.jar!/:?]

        at 
org.apache.qpid.jms.JmsConnection.onConnectionFailure(JmsConnection.java:1356) 
~[qpid-jms-client-0.39.0.jar!/:?]

        at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException(AmqpProvider.java:1069)
 ~[qpid-jms-client-0.39.0.jar!/:?]

        at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.lambda$onTransportClosed$18(AmqpProvider.java:867)
 ~[qpid-jms-client-0.39.0.jar!/:?]

        at 
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
 ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]

        at 
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
 ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]

        at 

[jira] [Created] (QPIDJMS-474) Race condition in JmsLocalTransactionContext.onConnectionInterrupted leading to NPE

2019-09-19 Thread Mario Schlipf (Jira)
Mario Schlipf created QPIDJMS-474:
-

 Summary: Race condition in 
JmsLocalTransactionContext.onConnectionInterrupted leading to NPE
 Key: QPIDJMS-474
 URL: https://issues.apache.org/jira/browse/QPIDJMS-474
 Project: Qpid JMS
  Issue Type: Bug
  Components: qpid-jms-client
Affects Versions: 0.45.0
Reporter: Mario Schlipf


Hi,

I am using qpid-cms-client version 0.39.0, but I can see that the same problem 
exists in the current version.

The function `JmsLocalTransactionContext.onConnectionInterrupted` is missing a 
null-check for the `transactionInfo` field.

This function is called from `JmsSession.onConnectionInterrupted`. If 
`transactionInfo` is null, this leads to the fact that consumers and producers 
are not properly notified of the interrupted connection.

I am using qpid-jms-client in conjunction with Spring's 
`SingleConnectionFactory`. I can see rare cases where `transactionInfo` is null 
and in which the SpringConnectionFactory will not be informed about the 
transaction loss. In these cases, there is no automatic reconnect from Spring.

 

Below some logging when the NPE occurs:

```

2019-09-19T08:39:17,141 [WARN ] [AmqpProvider :(2):[amqps://10.0.0.12:5672]] 
AbstractEventExecutor - A task raised an exception. Task: 
org.apache.qpid.jms.provider.amqp.AmqpProvider$$Lambda$327/2054861790@467bfdd

java.lang.NullPointerException: null

        at 
org.apache.qpid.jms.JmsLocalTransactionContext.onConnectionInterrupted(JmsLocalTransactionContext.java:333)
 ~[qpid-jms-client-0.39.0.jar!/:?]

        at 
org.apache.qpid.jms.JmsSession.onConnectionInterrupted(JmsSession.java:1340) 
~[qpid-jms-client-0.39.0.jar!/:?]

        at 
org.apache.qpid.jms.JmsConnection.onConnectionFailure(JmsConnection.java:1356) 
~[qpid-jms-client-0.39.0.jar!/:?]

        at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException(AmqpProvider.java:1069)
 ~[qpid-jms-client-0.39.0.jar!/:?]

        at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.lambda$onTransportClosed$18(AmqpProvider.java:867)
 ~[qpid-jms-client-0.39.0.jar!/:?]

        at 
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
 ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]

        at 
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
 ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]

        at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:315) 
~[netty-transport-native-epoll-4.1.29.Final-linux-x86_64.jar!/:4.1.29.Final]

        at 
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
 ~[netty-common-4.1.29.Final.jar!/:4.1.29.Final]

        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]

```

 

My suspicion is that this NPE is responsible for the exception not properly 
proparagated, but I am still investigating.

It would help very much if anyone from the Qpid team could validate this as 
well.

 

Thanks



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (QPID-8361) [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on QPID-8361:
--

vavrtom commented on pull request #36: QPID-8361: [Broker-J] Create a developer 
guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326032450
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/release-instructions.md
 ##
 @@ -0,0 +1,193 @@
+# Releasing Qpid Broker-J
+
+This document summarizes the steps of release process for Qpid Broker-J
+
+
+
+- [Pre-Requirements](#pre-requirements)
+  * [PGP](#pgp)
+  * [Maven](#maven)
+  * [Java](#java)
+  * [Git](#git)
+- [Release Steps](#release-steps)
+
+
+
+## Pre-Requirements
+
+The release process is based on [Apache Release 
Policy](http://www.apache.org/dev/release.html),
+ [Release Signing](http://www.apache.org/dev/release-signing.html) and
+ [Publishing of Maven 
Documents](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+### PGP
+
+Release artifacts needs to be signed. GNU Privacy Guard from 
[OpenPGP](https://www.openpgp.org) is used to sign on
+ Apache. Please, refer [Release 
Signing](http://www.apache.org/dev/release-signing.html) about PGP public key
+ cryptography. The document provides basic information about release signing 
and contains links to various resources
+ about PGP public key cryptography and how to use GNU Privacy Guard to 
generate and sign the PGP keys. Install
+ [GNU Privacy Guard](http://www.gnupg.org), generate keys following steps 
provided here and upload public keys to
+ keyservers . After publishing keys, login into  and 
enter PGP key fingerprint(s),
 
 Review comment:
   Extra space after word 'keyservers'
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


> [Broker-J] Create a developer guide for Qpid Broker-J
> -
>
> Key: QPID-8361
> URL: https://issues.apache.org/jira/browse/QPID-8361
> Project: Qpid
>  Issue Type: Task
>  Components: Broker-J
>Reporter: Alex Rudyy
>Priority: Major
> Fix For: qpid-java-broker-8.0.0
>
>
> The developer documentation is currently scattered over various Qpid 
> confluence pages. It could be challenging for people interested in 
> contributing to the project to find that documentation. A developer guide 
> could be added to cover such aspects as
> * Environment Setup
> * Building project
> * Running tests
> * Releasing
> * Architecture overview
> The following wiki pages are good candidates for inclusion into a developer 
> guide:
> [High Level 
> Architecture|https://cwiki.apache.org/confluence/display/qpid/High+Level+Architecture]
> [How To Build Qpid 
> Broker-J|https://cwiki.apache.org/confluence/display/qpid/How+To+Build+Qpid+Broker-J]
> [Releasing Qpid 
> Broker-J|https://cwiki.apache.org/confluence/display/qpid/Releasing+Qpid+Broker-J]
> The wiki pages below might be included as well
> [Java Coding 
> Standards|https://cwiki.apache.org/confluence/display/qpid/Java+Coding+Standards]
> [Qpid Java Run 
> Scripts|https://cwiki.apache.org/confluence/display/qpid/Qpid+Java+Run+Scripts]
> The developer documentation should be easy to modify, maintain and preview. 
> Thus, it can be written in  markdown or 
> [asciidoc|https://asciidoctor.org/docs/asciidoc-syntax-quick-reference/]. The 
> latter is also supported on github. 
> Potentially, it can be published on Qpid  project site as part of release 
> process.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (QPID-8361) [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on QPID-8361:
--

vavrtom commented on pull request #36: QPID-8361: [Broker-J] Create a developer 
guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326028177
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/architecture.md
 ##
 @@ -408,6 +409,45 @@ There are several store provider implementations:
 
 These interfaces are pluggable.
 
+## Messaging Transactions
+
+Multiple messages can be consumed or/and published as a single atomic 
operation within messaging transaction.
+The transaction is usually initiated and discharged (committed or rolled back) 
on client side, but, `Broker`
+can also use messaging transactions for performing operations on group of 
messages in atomic way, for example,
+moving/copying messages between queues, deleting messages from queue using 
management interfaces, etc.
+
+An interface `ServerTransaction` represents messaging transaction on broker 
side. The following operations
+can be invoked as part of messaging transactions:
+
+ * `dequeue` - dequeue message or collection of messages
+ * `enqueue` - enqueue message into a `TransactionLogResource` or collection 
of `BaseQueue`
+ * `commit` - commit transaction
+ * `rollback` - rollback transaction
+ * `addPostTransactionAction` - an auxiliary operation to add some 
post-transactional work, which is executed after
+transaction is discharged
+
+`LocalTransaction` is a concrete implementation of `ServerTransaction` which 
is responsible for performing messaging
+transaction. It delegates transactional operations to `Transaction` object 
provided by `MesssageStore`. Each message
+store type has its own implementation of `Transaction`.
+
+The class diagram below illustrates the transactional model of Qpid Broker-J.
+
+![Transactions](images/transactions.png)
+
+As per diagram, apart from `LocalTransaction`, there are three other 
implementations of `ServerTransaction`.
+
+ * `DistributedTransaction` is used to run distributed transaction (for AMQP 
protocol 0-10)
+ * `AutoCommitTransaction` is used to model auto-commit transaction 
functionality
+ * `AsyncAutoCommitTransaction` is used to model auto-commit transaction 
functionality
+with asynchronous discharge (i.e., the caller does not wait for finish of 
transaction discharge and proceed
+with invocation of next operations, but, the transaction eventually get 
discharged).
+
+`AsyncAutoCommitTransaction` is used to invoke enueueing and dequeueing 
operations when `client`
 
 Review comment:
   Typo in word 'enueueing'
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


> [Broker-J] Create a developer guide for Qpid Broker-J
> -
>
> Key: QPID-8361
> URL: https://issues.apache.org/jira/browse/QPID-8361
> Project: Qpid
>  Issue Type: Task
>  Components: Broker-J
>Reporter: Alex Rudyy
>Priority: Major
> Fix For: qpid-java-broker-8.0.0
>
>
> The developer documentation is currently scattered over various Qpid 
> confluence pages. It could be challenging for people interested in 
> contributing to the project to find that documentation. A developer guide 
> could be added to cover such aspects as
> * Environment Setup
> * Building project
> * Running tests
> * Releasing
> * Architecture overview
> The following wiki pages are good candidates for inclusion into a developer 
> guide:
> [High Level 
> Architecture|https://cwiki.apache.org/confluence/display/qpid/High+Level+Architecture]
> [How To Build Qpid 
> Broker-J|https://cwiki.apache.org/confluence/display/qpid/How+To+Build+Qpid+Broker-J]
> [Releasing Qpid 
> Broker-J|https://cwiki.apache.org/confluence/display/qpid/Releasing+Qpid+Broker-J]
> The wiki pages below might be included as well
> [Java Coding 
> Standards|https://cwiki.apache.org/confluence/display/qpid/Java+Coding+Standards]
> [Qpid Java Run 
> Scripts|https://cwiki.apache.org/confluence/display/qpid/Qpid+Java+Run+Scripts]
> The developer documentation should be easy to modify, maintain and preview. 
> Thus, it can be written in  markdown or 
> [asciidoc|https://asciidoctor.org/docs/asciidoc-syntax-quick-reference/]. The 
> latter is also supported on github. 
> Potentially, it can be published on Qpid  project site as part of release 
> process.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (QPID-8361) [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on QPID-8361:
--

vavrtom commented on pull request #36: QPID-8361: [Broker-J] Create a developer 
guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326043518
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/release-instructions.md
 ##
 @@ -0,0 +1,193 @@
+# Releasing Qpid Broker-J
+
+This document summarizes the steps of release process for Qpid Broker-J
+
+
+
+- [Pre-Requirements](#pre-requirements)
+  * [PGP](#pgp)
+  * [Maven](#maven)
+  * [Java](#java)
+  * [Git](#git)
+- [Release Steps](#release-steps)
+
+
+
+## Pre-Requirements
+
+The release process is based on [Apache Release 
Policy](http://www.apache.org/dev/release.html),
+ [Release Signing](http://www.apache.org/dev/release-signing.html) and
+ [Publishing of Maven 
Documents](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+### PGP
+
+Release artifacts needs to be signed. GNU Privacy Guard from 
[OpenPGP](https://www.openpgp.org) is used to sign on
+ Apache. Please, refer [Release 
Signing](http://www.apache.org/dev/release-signing.html) about PGP public key
+ cryptography. The document provides basic information about release signing 
and contains links to various resources
+ about PGP public key cryptography and how to use GNU Privacy Guard to 
generate and sign the PGP keys. Install
+ [GNU Privacy Guard](http://www.gnupg.org), generate keys following steps 
provided here and upload public keys to
+ keyservers . After publishing keys, login into  and 
enter PGP key fingerprint(s),
+ then the corresponding keys will be made available under 
 within a few hours.
+ Additionally, qpid project requires adding a public key into 
.
+
+### Maven
+
+Maven is used to build and manage Qpid Java project. 3.x version of maven 
needs to be installed and the development
+ environment should be setup as described at
+ [Publishing of Maven 
Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+Please, note that repository id (server id) in `setting.xml` should be 
**apache.releases.https**. Using different id
+ would result in failures to publish release artifacts into staging maven repo.
+
+
+### Java
+
+JDK 1.8 is required to compile java classes. Install latest 1.8 JDK. At the 
moment of writing this document JDK version
+1.8.0_192  was the latest one.
+
+### Git
+
+Sources are kept in a Git repository. Thus a git client is required.
+
+## Release Steps
+
+1.  Checkout Qpid Broker-J Sources
+* For new major/minor release; checkout sources master
+
+git clone https://gitbox.apache.org/repos/asf/qpid-broker-j.git 
qpid-broker-j
+* For bugfix release
+* if support branch does not exist, cut the support branch and set the 
correct version in maven.
+  For example, here are the  commands to cut branch '8.0.x'
+
+git clone 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git qpid-broker-j
+cd ./qpid-broker-j
+git checkout -b 8.0.x
+git push -u origin 8.0.x
+* if branch exists, checkout branch sources
+
+git clone -b 8.0.x 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git 8.0.x
+cd 8.0.x
+2.  Run RAT tool to verify that all source files have license headers
+
+mvn  apache-rat:check
+3.  Add license headers to the files which do not have licenses. Update RAT 
excludes if required.
+4.  Check that images don't have a non-free ICC profile.
+
+find . -regextype posix-extended -iregex '.*\.(jpg|png|ico|tif)' -exec 
sh -c 'identify -verbose "$0" | grep -i copyright && echo "$0"' {} \;
+5.  Check that build completes successfully using profile **apache-release**
+
+mvn clean install -Papache-release -DskipTests
+The gpg plugin will prompt for the password of PGP  signing key. If 
password is asked for every release artifact,
+then gpg2 should be configured to use. The easiest way to configure gpg2 
is to add an active profile with pgp
+plugin settings into `settings.xml` as illustrated in [maven settings 
example](examples/maven-settings.md).
+6.  Verify third party licenses
+
+mvn -Pdependency-check prepare-package -DskipTests
+The check should finish successfully. Otherwise, dependencies with not 
complaint licenses should be resolved
+before taking next release step.
+7.  Check JIRA system for any unresolved JIRAs for the release and notify 
assigned developers to take actions
+on uncompleted JIRAs.
+8.  Build RC
+* If it is not a first RC, remove previous tag from git
+
+git push --delete origin x.y.z
+git 

[jira] [Commented] (QPID-8361) [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on QPID-8361:
--

vavrtom commented on pull request #36: QPID-8361: [Broker-J] Create a developer 
guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326036035
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/release-instructions.md
 ##
 @@ -0,0 +1,193 @@
+# Releasing Qpid Broker-J
+
+This document summarizes the steps of release process for Qpid Broker-J
+
+
+
+- [Pre-Requirements](#pre-requirements)
+  * [PGP](#pgp)
+  * [Maven](#maven)
+  * [Java](#java)
+  * [Git](#git)
+- [Release Steps](#release-steps)
+
+
+
+## Pre-Requirements
+
+The release process is based on [Apache Release 
Policy](http://www.apache.org/dev/release.html),
+ [Release Signing](http://www.apache.org/dev/release-signing.html) and
+ [Publishing of Maven 
Documents](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+### PGP
+
+Release artifacts needs to be signed. GNU Privacy Guard from 
[OpenPGP](https://www.openpgp.org) is used to sign on
+ Apache. Please, refer [Release 
Signing](http://www.apache.org/dev/release-signing.html) about PGP public key
+ cryptography. The document provides basic information about release signing 
and contains links to various resources
+ about PGP public key cryptography and how to use GNU Privacy Guard to 
generate and sign the PGP keys. Install
+ [GNU Privacy Guard](http://www.gnupg.org), generate keys following steps 
provided here and upload public keys to
+ keyservers . After publishing keys, login into  and 
enter PGP key fingerprint(s),
+ then the corresponding keys will be made available under 
 within a few hours.
+ Additionally, qpid project requires adding a public key into 
.
+
+### Maven
+
+Maven is used to build and manage Qpid Java project. 3.x version of maven 
needs to be installed and the development
+ environment should be setup as described at
+ [Publishing of Maven 
Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+Please, note that repository id (server id) in `setting.xml` should be 
**apache.releases.https**. Using different id
+ would result in failures to publish release artifacts into staging maven repo.
+
+
+### Java
+
+JDK 1.8 is required to compile java classes. Install latest 1.8 JDK. At the 
moment of writing this document JDK version
+1.8.0_192  was the latest one.
+
+### Git
+
+Sources are kept in a Git repository. Thus a git client is required.
+
+## Release Steps
+
+1.  Checkout Qpid Broker-J Sources
+* For new major/minor release; checkout sources master
+
+git clone https://gitbox.apache.org/repos/asf/qpid-broker-j.git 
qpid-broker-j
+* For bugfix release
+* if support branch does not exist, cut the support branch and set the 
correct version in maven.
+  For example, here are the  commands to cut branch '8.0.x'
+
+git clone 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git qpid-broker-j
+cd ./qpid-broker-j
+git checkout -b 8.0.x
+git push -u origin 8.0.x
+* if branch exists, checkout branch sources
+
+git clone -b 8.0.x 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git 8.0.x
+cd 8.0.x
+2.  Run RAT tool to verify that all source files have license headers
+
+mvn  apache-rat:check
+3.  Add license headers to the files which do not have licenses. Update RAT 
excludes if required.
+4.  Check that images don't have a non-free ICC profile.
+
+find . -regextype posix-extended -iregex '.*\.(jpg|png|ico|tif)' -exec 
sh -c 'identify -verbose "$0" | grep -i copyright && echo "$0"' {} \;
+5.  Check that build completes successfully using profile **apache-release**
+
+mvn clean install -Papache-release -DskipTests
+The gpg plugin will prompt for the password of PGP  signing key. If 
password is asked for every release artifact,
+then gpg2 should be configured to use. The easiest way to configure gpg2 
is to add an active profile with pgp
+plugin settings into `settings.xml` as illustrated in [maven settings 
example](examples/maven-settings.md).
+6.  Verify third party licenses
+
+mvn -Pdependency-check prepare-package -DskipTests
+The check should finish successfully. Otherwise, dependencies with not 
complaint licenses should be resolved
 
 Review comment:
   Typo in word 'complaint'
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, 

[jira] [Commented] (QPID-8361) [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on QPID-8361:
--

vavrtom commented on pull request #36: QPID-8361: [Broker-J] Create a developer 
guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326043368
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/release-instructions.md
 ##
 @@ -0,0 +1,193 @@
+# Releasing Qpid Broker-J
+
+This document summarizes the steps of release process for Qpid Broker-J
+
+
+
+- [Pre-Requirements](#pre-requirements)
+  * [PGP](#pgp)
+  * [Maven](#maven)
+  * [Java](#java)
+  * [Git](#git)
+- [Release Steps](#release-steps)
+
+
+
+## Pre-Requirements
+
+The release process is based on [Apache Release 
Policy](http://www.apache.org/dev/release.html),
+ [Release Signing](http://www.apache.org/dev/release-signing.html) and
+ [Publishing of Maven 
Documents](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+### PGP
+
+Release artifacts needs to be signed. GNU Privacy Guard from 
[OpenPGP](https://www.openpgp.org) is used to sign on
+ Apache. Please, refer [Release 
Signing](http://www.apache.org/dev/release-signing.html) about PGP public key
+ cryptography. The document provides basic information about release signing 
and contains links to various resources
+ about PGP public key cryptography and how to use GNU Privacy Guard to 
generate and sign the PGP keys. Install
+ [GNU Privacy Guard](http://www.gnupg.org), generate keys following steps 
provided here and upload public keys to
+ keyservers . After publishing keys, login into  and 
enter PGP key fingerprint(s),
+ then the corresponding keys will be made available under 
 within a few hours.
+ Additionally, qpid project requires adding a public key into 
.
+
+### Maven
+
+Maven is used to build and manage Qpid Java project. 3.x version of maven 
needs to be installed and the development
+ environment should be setup as described at
+ [Publishing of Maven 
Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+Please, note that repository id (server id) in `setting.xml` should be 
**apache.releases.https**. Using different id
+ would result in failures to publish release artifacts into staging maven repo.
+
+
+### Java
+
+JDK 1.8 is required to compile java classes. Install latest 1.8 JDK. At the 
moment of writing this document JDK version
+1.8.0_192  was the latest one.
+
+### Git
+
+Sources are kept in a Git repository. Thus a git client is required.
+
+## Release Steps
+
+1.  Checkout Qpid Broker-J Sources
+* For new major/minor release; checkout sources master
+
+git clone https://gitbox.apache.org/repos/asf/qpid-broker-j.git 
qpid-broker-j
+* For bugfix release
+* if support branch does not exist, cut the support branch and set the 
correct version in maven.
+  For example, here are the  commands to cut branch '8.0.x'
+
+git clone 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git qpid-broker-j
+cd ./qpid-broker-j
+git checkout -b 8.0.x
+git push -u origin 8.0.x
+* if branch exists, checkout branch sources
+
+git clone -b 8.0.x 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git 8.0.x
+cd 8.0.x
+2.  Run RAT tool to verify that all source files have license headers
+
+mvn  apache-rat:check
+3.  Add license headers to the files which do not have licenses. Update RAT 
excludes if required.
+4.  Check that images don't have a non-free ICC profile.
+
+find . -regextype posix-extended -iregex '.*\.(jpg|png|ico|tif)' -exec 
sh -c 'identify -verbose "$0" | grep -i copyright && echo "$0"' {} \;
+5.  Check that build completes successfully using profile **apache-release**
+
+mvn clean install -Papache-release -DskipTests
+The gpg plugin will prompt for the password of PGP  signing key. If 
password is asked for every release artifact,
+then gpg2 should be configured to use. The easiest way to configure gpg2 
is to add an active profile with pgp
+plugin settings into `settings.xml` as illustrated in [maven settings 
example](examples/maven-settings.md).
+6.  Verify third party licenses
+
+mvn -Pdependency-check prepare-package -DskipTests
+The check should finish successfully. Otherwise, dependencies with not 
complaint licenses should be resolved
+before taking next release step.
+7.  Check JIRA system for any unresolved JIRAs for the release and notify 
assigned developers to take actions
+on uncompleted JIRAs.
+8.  Build RC
+* If it is not a first RC, remove previous tag from git
+
+git push --delete origin x.y.z
+git 

[jira] [Commented] (QPID-8361) [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on QPID-8361:
--

vavrtom commented on pull request #36: QPID-8361: [Broker-J] Create a developer 
guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326037679
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/release-instructions.md
 ##
 @@ -0,0 +1,193 @@
+# Releasing Qpid Broker-J
+
+This document summarizes the steps of release process for Qpid Broker-J
+
+
+
+- [Pre-Requirements](#pre-requirements)
+  * [PGP](#pgp)
+  * [Maven](#maven)
+  * [Java](#java)
+  * [Git](#git)
+- [Release Steps](#release-steps)
+
+
+
+## Pre-Requirements
+
+The release process is based on [Apache Release 
Policy](http://www.apache.org/dev/release.html),
+ [Release Signing](http://www.apache.org/dev/release-signing.html) and
+ [Publishing of Maven 
Documents](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+### PGP
+
+Release artifacts needs to be signed. GNU Privacy Guard from 
[OpenPGP](https://www.openpgp.org) is used to sign on
+ Apache. Please, refer [Release 
Signing](http://www.apache.org/dev/release-signing.html) about PGP public key
+ cryptography. The document provides basic information about release signing 
and contains links to various resources
+ about PGP public key cryptography and how to use GNU Privacy Guard to 
generate and sign the PGP keys. Install
+ [GNU Privacy Guard](http://www.gnupg.org), generate keys following steps 
provided here and upload public keys to
+ keyservers . After publishing keys, login into  and 
enter PGP key fingerprint(s),
+ then the corresponding keys will be made available under 
 within a few hours.
+ Additionally, qpid project requires adding a public key into 
.
+
+### Maven
+
+Maven is used to build and manage Qpid Java project. 3.x version of maven 
needs to be installed and the development
+ environment should be setup as described at
+ [Publishing of Maven 
Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+Please, note that repository id (server id) in `setting.xml` should be 
**apache.releases.https**. Using different id
+ would result in failures to publish release artifacts into staging maven repo.
+
+
+### Java
+
+JDK 1.8 is required to compile java classes. Install latest 1.8 JDK. At the 
moment of writing this document JDK version
+1.8.0_192  was the latest one.
+
+### Git
+
+Sources are kept in a Git repository. Thus a git client is required.
+
+## Release Steps
+
+1.  Checkout Qpid Broker-J Sources
+* For new major/minor release; checkout sources master
+
+git clone https://gitbox.apache.org/repos/asf/qpid-broker-j.git 
qpid-broker-j
+* For bugfix release
+* if support branch does not exist, cut the support branch and set the 
correct version in maven.
+  For example, here are the  commands to cut branch '8.0.x'
+
+git clone 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git qpid-broker-j
+cd ./qpid-broker-j
+git checkout -b 8.0.x
+git push -u origin 8.0.x
+* if branch exists, checkout branch sources
+
+git clone -b 8.0.x 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git 8.0.x
+cd 8.0.x
+2.  Run RAT tool to verify that all source files have license headers
+
+mvn  apache-rat:check
+3.  Add license headers to the files which do not have licenses. Update RAT 
excludes if required.
+4.  Check that images don't have a non-free ICC profile.
+
+find . -regextype posix-extended -iregex '.*\.(jpg|png|ico|tif)' -exec 
sh -c 'identify -verbose "$0" | grep -i copyright && echo "$0"' {} \;
+5.  Check that build completes successfully using profile **apache-release**
+
+mvn clean install -Papache-release -DskipTests
+The gpg plugin will prompt for the password of PGP  signing key. If 
password is asked for every release artifact,
+then gpg2 should be configured to use. The easiest way to configure gpg2 
is to add an active profile with pgp
+plugin settings into `settings.xml` as illustrated in [maven settings 
example](examples/maven-settings.md).
+6.  Verify third party licenses
+
+mvn -Pdependency-check prepare-package -DskipTests
+The check should finish successfully. Otherwise, dependencies with not 
complaint licenses should be resolved
+before taking next release step.
+7.  Check JIRA system for any unresolved JIRAs for the release and notify 
assigned developers to take actions
+on uncompleted JIRAs.
+8.  Build RC
+* If it is not a first RC, remove previous tag from git
+
+git push --delete origin x.y.z
+git 

[jira] [Commented] (QPID-8361) [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on QPID-8361:
--

vavrtom commented on pull request #36: QPID-8361: [Broker-J] Create a developer 
guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326034435
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/release-instructions.md
 ##
 @@ -0,0 +1,193 @@
+# Releasing Qpid Broker-J
+
+This document summarizes the steps of release process for Qpid Broker-J
+
+
+
+- [Pre-Requirements](#pre-requirements)
+  * [PGP](#pgp)
+  * [Maven](#maven)
+  * [Java](#java)
+  * [Git](#git)
+- [Release Steps](#release-steps)
+
+
+
+## Pre-Requirements
+
+The release process is based on [Apache Release 
Policy](http://www.apache.org/dev/release.html),
+ [Release Signing](http://www.apache.org/dev/release-signing.html) and
+ [Publishing of Maven 
Documents](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+### PGP
+
+Release artifacts needs to be signed. GNU Privacy Guard from 
[OpenPGP](https://www.openpgp.org) is used to sign on
+ Apache. Please, refer [Release 
Signing](http://www.apache.org/dev/release-signing.html) about PGP public key
+ cryptography. The document provides basic information about release signing 
and contains links to various resources
+ about PGP public key cryptography and how to use GNU Privacy Guard to 
generate and sign the PGP keys. Install
+ [GNU Privacy Guard](http://www.gnupg.org), generate keys following steps 
provided here and upload public keys to
+ keyservers . After publishing keys, login into  and 
enter PGP key fingerprint(s),
+ then the corresponding keys will be made available under 
 within a few hours.
+ Additionally, qpid project requires adding a public key into 
.
+
+### Maven
+
+Maven is used to build and manage Qpid Java project. 3.x version of maven 
needs to be installed and the development
+ environment should be setup as described at
+ [Publishing of Maven 
Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+Please, note that repository id (server id) in `setting.xml` should be 
**apache.releases.https**. Using different id
 
 Review comment:
   Maven settings file should be 'settings.xml'
 

This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


> [Broker-J] Create a developer guide for Qpid Broker-J
> -
>
> Key: QPID-8361
> URL: https://issues.apache.org/jira/browse/QPID-8361
> Project: Qpid
>  Issue Type: Task
>  Components: Broker-J
>Reporter: Alex Rudyy
>Priority: Major
> Fix For: qpid-java-broker-8.0.0
>
>
> The developer documentation is currently scattered over various Qpid 
> confluence pages. It could be challenging for people interested in 
> contributing to the project to find that documentation. A developer guide 
> could be added to cover such aspects as
> * Environment Setup
> * Building project
> * Running tests
> * Releasing
> * Architecture overview
> The following wiki pages are good candidates for inclusion into a developer 
> guide:
> [High Level 
> Architecture|https://cwiki.apache.org/confluence/display/qpid/High+Level+Architecture]
> [How To Build Qpid 
> Broker-J|https://cwiki.apache.org/confluence/display/qpid/How+To+Build+Qpid+Broker-J]
> [Releasing Qpid 
> Broker-J|https://cwiki.apache.org/confluence/display/qpid/Releasing+Qpid+Broker-J]
> The wiki pages below might be included as well
> [Java Coding 
> Standards|https://cwiki.apache.org/confluence/display/qpid/Java+Coding+Standards]
> [Qpid Java Run 
> Scripts|https://cwiki.apache.org/confluence/display/qpid/Qpid+Java+Run+Scripts]
> The developer documentation should be easy to modify, maintain and preview. 
> Thus, it can be written in  markdown or 
> [asciidoc|https://asciidoctor.org/docs/asciidoc-syntax-quick-reference/]. The 
> latter is also supported on github. 
> Potentially, it can be published on Qpid  project site as part of release 
> process.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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



[jira] [Commented] (QPID-8361) [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread ASF GitHub Bot (Jira)


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

ASF GitHub Bot commented on QPID-8361:
--

vavrtom commented on pull request #36: QPID-8361: [Broker-J] Create a developer 
guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326037754
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/release-instructions.md
 ##
 @@ -0,0 +1,193 @@
+# Releasing Qpid Broker-J
+
+This document summarizes the steps of release process for Qpid Broker-J
+
+
+
+- [Pre-Requirements](#pre-requirements)
+  * [PGP](#pgp)
+  * [Maven](#maven)
+  * [Java](#java)
+  * [Git](#git)
+- [Release Steps](#release-steps)
+
+
+
+## Pre-Requirements
+
+The release process is based on [Apache Release 
Policy](http://www.apache.org/dev/release.html),
+ [Release Signing](http://www.apache.org/dev/release-signing.html) and
+ [Publishing of Maven 
Documents](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+### PGP
+
+Release artifacts needs to be signed. GNU Privacy Guard from 
[OpenPGP](https://www.openpgp.org) is used to sign on
+ Apache. Please, refer [Release 
Signing](http://www.apache.org/dev/release-signing.html) about PGP public key
+ cryptography. The document provides basic information about release signing 
and contains links to various resources
+ about PGP public key cryptography and how to use GNU Privacy Guard to 
generate and sign the PGP keys. Install
+ [GNU Privacy Guard](http://www.gnupg.org), generate keys following steps 
provided here and upload public keys to
+ keyservers . After publishing keys, login into  and 
enter PGP key fingerprint(s),
+ then the corresponding keys will be made available under 
 within a few hours.
+ Additionally, qpid project requires adding a public key into 
.
+
+### Maven
+
+Maven is used to build and manage Qpid Java project. 3.x version of maven 
needs to be installed and the development
+ environment should be setup as described at
+ [Publishing of Maven 
Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+Please, note that repository id (server id) in `setting.xml` should be 
**apache.releases.https**. Using different id
+ would result in failures to publish release artifacts into staging maven repo.
+
+
+### Java
+
+JDK 1.8 is required to compile java classes. Install latest 1.8 JDK. At the 
moment of writing this document JDK version
+1.8.0_192  was the latest one.
+
+### Git
+
+Sources are kept in a Git repository. Thus a git client is required.
+
+## Release Steps
+
+1.  Checkout Qpid Broker-J Sources
+* For new major/minor release; checkout sources master
+
+git clone https://gitbox.apache.org/repos/asf/qpid-broker-j.git 
qpid-broker-j
+* For bugfix release
+* if support branch does not exist, cut the support branch and set the 
correct version in maven.
+  For example, here are the  commands to cut branch '8.0.x'
+
+git clone 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git qpid-broker-j
+cd ./qpid-broker-j
+git checkout -b 8.0.x
+git push -u origin 8.0.x
+* if branch exists, checkout branch sources
+
+git clone -b 8.0.x 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git 8.0.x
+cd 8.0.x
+2.  Run RAT tool to verify that all source files have license headers
+
+mvn  apache-rat:check
+3.  Add license headers to the files which do not have licenses. Update RAT 
excludes if required.
+4.  Check that images don't have a non-free ICC profile.
+
+find . -regextype posix-extended -iregex '.*\.(jpg|png|ico|tif)' -exec 
sh -c 'identify -verbose "$0" | grep -i copyright && echo "$0"' {} \;
+5.  Check that build completes successfully using profile **apache-release**
+
+mvn clean install -Papache-release -DskipTests
+The gpg plugin will prompt for the password of PGP  signing key. If 
password is asked for every release artifact,
+then gpg2 should be configured to use. The easiest way to configure gpg2 
is to add an active profile with pgp
+plugin settings into `settings.xml` as illustrated in [maven settings 
example](examples/maven-settings.md).
+6.  Verify third party licenses
+
+mvn -Pdependency-check prepare-package -DskipTests
+The check should finish successfully. Otherwise, dependencies with not 
complaint licenses should be resolved
+before taking next release step.
+7.  Check JIRA system for any unresolved JIRAs for the release and notify 
assigned developers to take actions
+on uncompleted JIRAs.
+8.  Build RC
+* If it is not a first RC, remove previous tag from git
+
+git push --delete origin x.y.z
+git 

[GitHub] [qpid-broker-j] vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread GitBox
vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create 
a developer guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326036035
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/release-instructions.md
 ##
 @@ -0,0 +1,193 @@
+# Releasing Qpid Broker-J
+
+This document summarizes the steps of release process for Qpid Broker-J
+
+
+
+- [Pre-Requirements](#pre-requirements)
+  * [PGP](#pgp)
+  * [Maven](#maven)
+  * [Java](#java)
+  * [Git](#git)
+- [Release Steps](#release-steps)
+
+
+
+## Pre-Requirements
+
+The release process is based on [Apache Release 
Policy](http://www.apache.org/dev/release.html),
+ [Release Signing](http://www.apache.org/dev/release-signing.html) and
+ [Publishing of Maven 
Documents](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+### PGP
+
+Release artifacts needs to be signed. GNU Privacy Guard from 
[OpenPGP](https://www.openpgp.org) is used to sign on
+ Apache. Please, refer [Release 
Signing](http://www.apache.org/dev/release-signing.html) about PGP public key
+ cryptography. The document provides basic information about release signing 
and contains links to various resources
+ about PGP public key cryptography and how to use GNU Privacy Guard to 
generate and sign the PGP keys. Install
+ [GNU Privacy Guard](http://www.gnupg.org), generate keys following steps 
provided here and upload public keys to
+ keyservers . After publishing keys, login into  and 
enter PGP key fingerprint(s),
+ then the corresponding keys will be made available under 
 within a few hours.
+ Additionally, qpid project requires adding a public key into 
.
+
+### Maven
+
+Maven is used to build and manage Qpid Java project. 3.x version of maven 
needs to be installed and the development
+ environment should be setup as described at
+ [Publishing of Maven 
Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+Please, note that repository id (server id) in `setting.xml` should be 
**apache.releases.https**. Using different id
+ would result in failures to publish release artifacts into staging maven repo.
+
+
+### Java
+
+JDK 1.8 is required to compile java classes. Install latest 1.8 JDK. At the 
moment of writing this document JDK version
+1.8.0_192  was the latest one.
+
+### Git
+
+Sources are kept in a Git repository. Thus a git client is required.
+
+## Release Steps
+
+1.  Checkout Qpid Broker-J Sources
+* For new major/minor release; checkout sources master
+
+git clone https://gitbox.apache.org/repos/asf/qpid-broker-j.git 
qpid-broker-j
+* For bugfix release
+* if support branch does not exist, cut the support branch and set the 
correct version in maven.
+  For example, here are the  commands to cut branch '8.0.x'
+
+git clone 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git qpid-broker-j
+cd ./qpid-broker-j
+git checkout -b 8.0.x
+git push -u origin 8.0.x
+* if branch exists, checkout branch sources
+
+git clone -b 8.0.x 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git 8.0.x
+cd 8.0.x
+2.  Run RAT tool to verify that all source files have license headers
+
+mvn  apache-rat:check
+3.  Add license headers to the files which do not have licenses. Update RAT 
excludes if required.
+4.  Check that images don't have a non-free ICC profile.
+
+find . -regextype posix-extended -iregex '.*\.(jpg|png|ico|tif)' -exec 
sh -c 'identify -verbose "$0" | grep -i copyright && echo "$0"' {} \;
+5.  Check that build completes successfully using profile **apache-release**
+
+mvn clean install -Papache-release -DskipTests
+The gpg plugin will prompt for the password of PGP  signing key. If 
password is asked for every release artifact,
+then gpg2 should be configured to use. The easiest way to configure gpg2 
is to add an active profile with pgp
+plugin settings into `settings.xml` as illustrated in [maven settings 
example](examples/maven-settings.md).
+6.  Verify third party licenses
+
+mvn -Pdependency-check prepare-package -DskipTests
+The check should finish successfully. Otherwise, dependencies with not 
complaint licenses should be resolved
 
 Review comment:
   Typo in word 'complaint'


This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


With regards,
Apache Git Services

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

[GitHub] [qpid-broker-j] vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread GitBox
vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create 
a developer guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326043518
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/release-instructions.md
 ##
 @@ -0,0 +1,193 @@
+# Releasing Qpid Broker-J
+
+This document summarizes the steps of release process for Qpid Broker-J
+
+
+
+- [Pre-Requirements](#pre-requirements)
+  * [PGP](#pgp)
+  * [Maven](#maven)
+  * [Java](#java)
+  * [Git](#git)
+- [Release Steps](#release-steps)
+
+
+
+## Pre-Requirements
+
+The release process is based on [Apache Release 
Policy](http://www.apache.org/dev/release.html),
+ [Release Signing](http://www.apache.org/dev/release-signing.html) and
+ [Publishing of Maven 
Documents](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+### PGP
+
+Release artifacts needs to be signed. GNU Privacy Guard from 
[OpenPGP](https://www.openpgp.org) is used to sign on
+ Apache. Please, refer [Release 
Signing](http://www.apache.org/dev/release-signing.html) about PGP public key
+ cryptography. The document provides basic information about release signing 
and contains links to various resources
+ about PGP public key cryptography and how to use GNU Privacy Guard to 
generate and sign the PGP keys. Install
+ [GNU Privacy Guard](http://www.gnupg.org), generate keys following steps 
provided here and upload public keys to
+ keyservers . After publishing keys, login into  and 
enter PGP key fingerprint(s),
+ then the corresponding keys will be made available under 
 within a few hours.
+ Additionally, qpid project requires adding a public key into 
.
+
+### Maven
+
+Maven is used to build and manage Qpid Java project. 3.x version of maven 
needs to be installed and the development
+ environment should be setup as described at
+ [Publishing of Maven 
Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+Please, note that repository id (server id) in `setting.xml` should be 
**apache.releases.https**. Using different id
+ would result in failures to publish release artifacts into staging maven repo.
+
+
+### Java
+
+JDK 1.8 is required to compile java classes. Install latest 1.8 JDK. At the 
moment of writing this document JDK version
+1.8.0_192  was the latest one.
+
+### Git
+
+Sources are kept in a Git repository. Thus a git client is required.
+
+## Release Steps
+
+1.  Checkout Qpid Broker-J Sources
+* For new major/minor release; checkout sources master
+
+git clone https://gitbox.apache.org/repos/asf/qpid-broker-j.git 
qpid-broker-j
+* For bugfix release
+* if support branch does not exist, cut the support branch and set the 
correct version in maven.
+  For example, here are the  commands to cut branch '8.0.x'
+
+git clone 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git qpid-broker-j
+cd ./qpid-broker-j
+git checkout -b 8.0.x
+git push -u origin 8.0.x
+* if branch exists, checkout branch sources
+
+git clone -b 8.0.x 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git 8.0.x
+cd 8.0.x
+2.  Run RAT tool to verify that all source files have license headers
+
+mvn  apache-rat:check
+3.  Add license headers to the files which do not have licenses. Update RAT 
excludes if required.
+4.  Check that images don't have a non-free ICC profile.
+
+find . -regextype posix-extended -iregex '.*\.(jpg|png|ico|tif)' -exec 
sh -c 'identify -verbose "$0" | grep -i copyright && echo "$0"' {} \;
+5.  Check that build completes successfully using profile **apache-release**
+
+mvn clean install -Papache-release -DskipTests
+The gpg plugin will prompt for the password of PGP  signing key. If 
password is asked for every release artifact,
+then gpg2 should be configured to use. The easiest way to configure gpg2 
is to add an active profile with pgp
+plugin settings into `settings.xml` as illustrated in [maven settings 
example](examples/maven-settings.md).
+6.  Verify third party licenses
+
+mvn -Pdependency-check prepare-package -DskipTests
+The check should finish successfully. Otherwise, dependencies with not 
complaint licenses should be resolved
+before taking next release step.
+7.  Check JIRA system for any unresolved JIRAs for the release and notify 
assigned developers to take actions
+on uncompleted JIRAs.
+8.  Build RC
+* If it is not a first RC, remove previous tag from git
+
+git push --delete origin x.y.z
+git tag --delete x.y.z # deletes local tag
+* Cut the tag using maven:prepare
+
+mvn release:clean
+mvn release:prepare -Papache-release,java-mms.1-0  
-DautoVersionSubmodules=true 

[GitHub] [qpid-broker-j] vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread GitBox
vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create 
a developer guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326032450
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/release-instructions.md
 ##
 @@ -0,0 +1,193 @@
+# Releasing Qpid Broker-J
+
+This document summarizes the steps of release process for Qpid Broker-J
+
+
+
+- [Pre-Requirements](#pre-requirements)
+  * [PGP](#pgp)
+  * [Maven](#maven)
+  * [Java](#java)
+  * [Git](#git)
+- [Release Steps](#release-steps)
+
+
+
+## Pre-Requirements
+
+The release process is based on [Apache Release 
Policy](http://www.apache.org/dev/release.html),
+ [Release Signing](http://www.apache.org/dev/release-signing.html) and
+ [Publishing of Maven 
Documents](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+### PGP
+
+Release artifacts needs to be signed. GNU Privacy Guard from 
[OpenPGP](https://www.openpgp.org) is used to sign on
+ Apache. Please, refer [Release 
Signing](http://www.apache.org/dev/release-signing.html) about PGP public key
+ cryptography. The document provides basic information about release signing 
and contains links to various resources
+ about PGP public key cryptography and how to use GNU Privacy Guard to 
generate and sign the PGP keys. Install
+ [GNU Privacy Guard](http://www.gnupg.org), generate keys following steps 
provided here and upload public keys to
+ keyservers . After publishing keys, login into  and 
enter PGP key fingerprint(s),
 
 Review comment:
   Extra space after word 'keyservers'


This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


With regards,
Apache Git Services

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



[GitHub] [qpid-broker-j] vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread GitBox
vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create 
a developer guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326037754
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/release-instructions.md
 ##
 @@ -0,0 +1,193 @@
+# Releasing Qpid Broker-J
+
+This document summarizes the steps of release process for Qpid Broker-J
+
+
+
+- [Pre-Requirements](#pre-requirements)
+  * [PGP](#pgp)
+  * [Maven](#maven)
+  * [Java](#java)
+  * [Git](#git)
+- [Release Steps](#release-steps)
+
+
+
+## Pre-Requirements
+
+The release process is based on [Apache Release 
Policy](http://www.apache.org/dev/release.html),
+ [Release Signing](http://www.apache.org/dev/release-signing.html) and
+ [Publishing of Maven 
Documents](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+### PGP
+
+Release artifacts needs to be signed. GNU Privacy Guard from 
[OpenPGP](https://www.openpgp.org) is used to sign on
+ Apache. Please, refer [Release 
Signing](http://www.apache.org/dev/release-signing.html) about PGP public key
+ cryptography. The document provides basic information about release signing 
and contains links to various resources
+ about PGP public key cryptography and how to use GNU Privacy Guard to 
generate and sign the PGP keys. Install
+ [GNU Privacy Guard](http://www.gnupg.org), generate keys following steps 
provided here and upload public keys to
+ keyservers . After publishing keys, login into  and 
enter PGP key fingerprint(s),
+ then the corresponding keys will be made available under 
 within a few hours.
+ Additionally, qpid project requires adding a public key into 
.
+
+### Maven
+
+Maven is used to build and manage Qpid Java project. 3.x version of maven 
needs to be installed and the development
+ environment should be setup as described at
+ [Publishing of Maven 
Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+Please, note that repository id (server id) in `setting.xml` should be 
**apache.releases.https**. Using different id
+ would result in failures to publish release artifacts into staging maven repo.
+
+
+### Java
+
+JDK 1.8 is required to compile java classes. Install latest 1.8 JDK. At the 
moment of writing this document JDK version
+1.8.0_192  was the latest one.
+
+### Git
+
+Sources are kept in a Git repository. Thus a git client is required.
+
+## Release Steps
+
+1.  Checkout Qpid Broker-J Sources
+* For new major/minor release; checkout sources master
+
+git clone https://gitbox.apache.org/repos/asf/qpid-broker-j.git 
qpid-broker-j
+* For bugfix release
+* if support branch does not exist, cut the support branch and set the 
correct version in maven.
+  For example, here are the  commands to cut branch '8.0.x'
+
+git clone 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git qpid-broker-j
+cd ./qpid-broker-j
+git checkout -b 8.0.x
+git push -u origin 8.0.x
+* if branch exists, checkout branch sources
+
+git clone -b 8.0.x 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git 8.0.x
+cd 8.0.x
+2.  Run RAT tool to verify that all source files have license headers
+
+mvn  apache-rat:check
+3.  Add license headers to the files which do not have licenses. Update RAT 
excludes if required.
+4.  Check that images don't have a non-free ICC profile.
+
+find . -regextype posix-extended -iregex '.*\.(jpg|png|ico|tif)' -exec 
sh -c 'identify -verbose "$0" | grep -i copyright && echo "$0"' {} \;
+5.  Check that build completes successfully using profile **apache-release**
+
+mvn clean install -Papache-release -DskipTests
+The gpg plugin will prompt for the password of PGP  signing key. If 
password is asked for every release artifact,
+then gpg2 should be configured to use. The easiest way to configure gpg2 
is to add an active profile with pgp
+plugin settings into `settings.xml` as illustrated in [maven settings 
example](examples/maven-settings.md).
+6.  Verify third party licenses
+
+mvn -Pdependency-check prepare-package -DskipTests
+The check should finish successfully. Otherwise, dependencies with not 
complaint licenses should be resolved
+before taking next release step.
+7.  Check JIRA system for any unresolved JIRAs for the release and notify 
assigned developers to take actions
+on uncompleted JIRAs.
+8.  Build RC
+* If it is not a first RC, remove previous tag from git
+
+git push --delete origin x.y.z
+git tag --delete x.y.z # deletes local tag
+* Cut the tag using maven:prepare
+
+mvn release:clean
+mvn release:prepare -Papache-release,java-mms.1-0  
-DautoVersionSubmodules=true 

[GitHub] [qpid-broker-j] vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread GitBox
vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create 
a developer guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326034435
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/release-instructions.md
 ##
 @@ -0,0 +1,193 @@
+# Releasing Qpid Broker-J
+
+This document summarizes the steps of release process for Qpid Broker-J
+
+
+
+- [Pre-Requirements](#pre-requirements)
+  * [PGP](#pgp)
+  * [Maven](#maven)
+  * [Java](#java)
+  * [Git](#git)
+- [Release Steps](#release-steps)
+
+
+
+## Pre-Requirements
+
+The release process is based on [Apache Release 
Policy](http://www.apache.org/dev/release.html),
+ [Release Signing](http://www.apache.org/dev/release-signing.html) and
+ [Publishing of Maven 
Documents](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+### PGP
+
+Release artifacts needs to be signed. GNU Privacy Guard from 
[OpenPGP](https://www.openpgp.org) is used to sign on
+ Apache. Please, refer [Release 
Signing](http://www.apache.org/dev/release-signing.html) about PGP public key
+ cryptography. The document provides basic information about release signing 
and contains links to various resources
+ about PGP public key cryptography and how to use GNU Privacy Guard to 
generate and sign the PGP keys. Install
+ [GNU Privacy Guard](http://www.gnupg.org), generate keys following steps 
provided here and upload public keys to
+ keyservers . After publishing keys, login into  and 
enter PGP key fingerprint(s),
+ then the corresponding keys will be made available under 
 within a few hours.
+ Additionally, qpid project requires adding a public key into 
.
+
+### Maven
+
+Maven is used to build and manage Qpid Java project. 3.x version of maven 
needs to be installed and the development
+ environment should be setup as described at
+ [Publishing of Maven 
Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+Please, note that repository id (server id) in `setting.xml` should be 
**apache.releases.https**. Using different id
 
 Review comment:
   Maven settings file should be 'settings.xml'


This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


With regards,
Apache Git Services

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



[GitHub] [qpid-broker-j] vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread GitBox
vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create 
a developer guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326028177
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/architecture.md
 ##
 @@ -408,6 +409,45 @@ There are several store provider implementations:
 
 These interfaces are pluggable.
 
+## Messaging Transactions
+
+Multiple messages can be consumed or/and published as a single atomic 
operation within messaging transaction.
+The transaction is usually initiated and discharged (committed or rolled back) 
on client side, but, `Broker`
+can also use messaging transactions for performing operations on group of 
messages in atomic way, for example,
+moving/copying messages between queues, deleting messages from queue using 
management interfaces, etc.
+
+An interface `ServerTransaction` represents messaging transaction on broker 
side. The following operations
+can be invoked as part of messaging transactions:
+
+ * `dequeue` - dequeue message or collection of messages
+ * `enqueue` - enqueue message into a `TransactionLogResource` or collection 
of `BaseQueue`
+ * `commit` - commit transaction
+ * `rollback` - rollback transaction
+ * `addPostTransactionAction` - an auxiliary operation to add some 
post-transactional work, which is executed after
+transaction is discharged
+
+`LocalTransaction` is a concrete implementation of `ServerTransaction` which 
is responsible for performing messaging
+transaction. It delegates transactional operations to `Transaction` object 
provided by `MesssageStore`. Each message
+store type has its own implementation of `Transaction`.
+
+The class diagram below illustrates the transactional model of Qpid Broker-J.
+
+![Transactions](images/transactions.png)
+
+As per diagram, apart from `LocalTransaction`, there are three other 
implementations of `ServerTransaction`.
+
+ * `DistributedTransaction` is used to run distributed transaction (for AMQP 
protocol 0-10)
+ * `AutoCommitTransaction` is used to model auto-commit transaction 
functionality
+ * `AsyncAutoCommitTransaction` is used to model auto-commit transaction 
functionality
+with asynchronous discharge (i.e., the caller does not wait for finish of 
transaction discharge and proceed
+with invocation of next operations, but, the transaction eventually get 
discharged).
+
+`AsyncAutoCommitTransaction` is used to invoke enueueing and dequeueing 
operations when `client`
 
 Review comment:
   Typo in word 'enueueing'


This is an automated message from the Apache Git Service.
To respond to the message, please log on to 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


With regards,
Apache Git Services

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



[GitHub] [qpid-broker-j] vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread GitBox
vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create 
a developer guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326043368
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/release-instructions.md
 ##
 @@ -0,0 +1,193 @@
+# Releasing Qpid Broker-J
+
+This document summarizes the steps of release process for Qpid Broker-J
+
+
+
+- [Pre-Requirements](#pre-requirements)
+  * [PGP](#pgp)
+  * [Maven](#maven)
+  * [Java](#java)
+  * [Git](#git)
+- [Release Steps](#release-steps)
+
+
+
+## Pre-Requirements
+
+The release process is based on [Apache Release 
Policy](http://www.apache.org/dev/release.html),
+ [Release Signing](http://www.apache.org/dev/release-signing.html) and
+ [Publishing of Maven 
Documents](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+### PGP
+
+Release artifacts needs to be signed. GNU Privacy Guard from 
[OpenPGP](https://www.openpgp.org) is used to sign on
+ Apache. Please, refer [Release 
Signing](http://www.apache.org/dev/release-signing.html) about PGP public key
+ cryptography. The document provides basic information about release signing 
and contains links to various resources
+ about PGP public key cryptography and how to use GNU Privacy Guard to 
generate and sign the PGP keys. Install
+ [GNU Privacy Guard](http://www.gnupg.org), generate keys following steps 
provided here and upload public keys to
+ keyservers . After publishing keys, login into  and 
enter PGP key fingerprint(s),
+ then the corresponding keys will be made available under 
 within a few hours.
+ Additionally, qpid project requires adding a public key into 
.
+
+### Maven
+
+Maven is used to build and manage Qpid Java project. 3.x version of maven 
needs to be installed and the development
+ environment should be setup as described at
+ [Publishing of Maven 
Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+Please, note that repository id (server id) in `setting.xml` should be 
**apache.releases.https**. Using different id
+ would result in failures to publish release artifacts into staging maven repo.
+
+
+### Java
+
+JDK 1.8 is required to compile java classes. Install latest 1.8 JDK. At the 
moment of writing this document JDK version
+1.8.0_192  was the latest one.
+
+### Git
+
+Sources are kept in a Git repository. Thus a git client is required.
+
+## Release Steps
+
+1.  Checkout Qpid Broker-J Sources
+* For new major/minor release; checkout sources master
+
+git clone https://gitbox.apache.org/repos/asf/qpid-broker-j.git 
qpid-broker-j
+* For bugfix release
+* if support branch does not exist, cut the support branch and set the 
correct version in maven.
+  For example, here are the  commands to cut branch '8.0.x'
+
+git clone 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git qpid-broker-j
+cd ./qpid-broker-j
+git checkout -b 8.0.x
+git push -u origin 8.0.x
+* if branch exists, checkout branch sources
+
+git clone -b 8.0.x 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git 8.0.x
+cd 8.0.x
+2.  Run RAT tool to verify that all source files have license headers
+
+mvn  apache-rat:check
+3.  Add license headers to the files which do not have licenses. Update RAT 
excludes if required.
+4.  Check that images don't have a non-free ICC profile.
+
+find . -regextype posix-extended -iregex '.*\.(jpg|png|ico|tif)' -exec 
sh -c 'identify -verbose "$0" | grep -i copyright && echo "$0"' {} \;
+5.  Check that build completes successfully using profile **apache-release**
+
+mvn clean install -Papache-release -DskipTests
+The gpg plugin will prompt for the password of PGP  signing key. If 
password is asked for every release artifact,
+then gpg2 should be configured to use. The easiest way to configure gpg2 
is to add an active profile with pgp
+plugin settings into `settings.xml` as illustrated in [maven settings 
example](examples/maven-settings.md).
+6.  Verify third party licenses
+
+mvn -Pdependency-check prepare-package -DskipTests
+The check should finish successfully. Otherwise, dependencies with not 
complaint licenses should be resolved
+before taking next release step.
+7.  Check JIRA system for any unresolved JIRAs for the release and notify 
assigned developers to take actions
+on uncompleted JIRAs.
+8.  Build RC
+* If it is not a first RC, remove previous tag from git
+
+git push --delete origin x.y.z
+git tag --delete x.y.z # deletes local tag
+* Cut the tag using maven:prepare
+
+mvn release:clean
+mvn release:prepare -Papache-release,java-mms.1-0  
-DautoVersionSubmodules=true 

[GitHub] [qpid-broker-j] vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create a developer guide for Qpid Broker-J

2019-09-19 Thread GitBox
vavrtom commented on a change in pull request #36: QPID-8361: [Broker-J] Create 
a developer guide for Qpid Broker-J
URL: https://github.com/apache/qpid-broker-j/pull/36#discussion_r326037679
 
 

 ##
 File path: doc/developer-guide/src/main/markdown/release-instructions.md
 ##
 @@ -0,0 +1,193 @@
+# Releasing Qpid Broker-J
+
+This document summarizes the steps of release process for Qpid Broker-J
+
+
+
+- [Pre-Requirements](#pre-requirements)
+  * [PGP](#pgp)
+  * [Maven](#maven)
+  * [Java](#java)
+  * [Git](#git)
+- [Release Steps](#release-steps)
+
+
+
+## Pre-Requirements
+
+The release process is based on [Apache Release 
Policy](http://www.apache.org/dev/release.html),
+ [Release Signing](http://www.apache.org/dev/release-signing.html) and
+ [Publishing of Maven 
Documents](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+### PGP
+
+Release artifacts needs to be signed. GNU Privacy Guard from 
[OpenPGP](https://www.openpgp.org) is used to sign on
+ Apache. Please, refer [Release 
Signing](http://www.apache.org/dev/release-signing.html) about PGP public key
+ cryptography. The document provides basic information about release signing 
and contains links to various resources
+ about PGP public key cryptography and how to use GNU Privacy Guard to 
generate and sign the PGP keys. Install
+ [GNU Privacy Guard](http://www.gnupg.org), generate keys following steps 
provided here and upload public keys to
+ keyservers . After publishing keys, login into  and 
enter PGP key fingerprint(s),
+ then the corresponding keys will be made available under 
 within a few hours.
+ Additionally, qpid project requires adding a public key into 
.
+
+### Maven
+
+Maven is used to build and manage Qpid Java project. 3.x version of maven 
needs to be installed and the development
+ environment should be setup as described at
+ [Publishing of Maven 
Artifacts](http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env).
+
+Please, note that repository id (server id) in `setting.xml` should be 
**apache.releases.https**. Using different id
+ would result in failures to publish release artifacts into staging maven repo.
+
+
+### Java
+
+JDK 1.8 is required to compile java classes. Install latest 1.8 JDK. At the 
moment of writing this document JDK version
+1.8.0_192  was the latest one.
+
+### Git
+
+Sources are kept in a Git repository. Thus a git client is required.
+
+## Release Steps
+
+1.  Checkout Qpid Broker-J Sources
+* For new major/minor release; checkout sources master
+
+git clone https://gitbox.apache.org/repos/asf/qpid-broker-j.git 
qpid-broker-j
+* For bugfix release
+* if support branch does not exist, cut the support branch and set the 
correct version in maven.
+  For example, here are the  commands to cut branch '8.0.x'
+
+git clone 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git qpid-broker-j
+cd ./qpid-broker-j
+git checkout -b 8.0.x
+git push -u origin 8.0.x
+* if branch exists, checkout branch sources
+
+git clone -b 8.0.x 
https://gitbox.apache.org/repos/asf/qpid-broker-j.git 8.0.x
+cd 8.0.x
+2.  Run RAT tool to verify that all source files have license headers
+
+mvn  apache-rat:check
+3.  Add license headers to the files which do not have licenses. Update RAT 
excludes if required.
+4.  Check that images don't have a non-free ICC profile.
+
+find . -regextype posix-extended -iregex '.*\.(jpg|png|ico|tif)' -exec 
sh -c 'identify -verbose "$0" | grep -i copyright && echo "$0"' {} \;
+5.  Check that build completes successfully using profile **apache-release**
+
+mvn clean install -Papache-release -DskipTests
+The gpg plugin will prompt for the password of PGP  signing key. If 
password is asked for every release artifact,
+then gpg2 should be configured to use. The easiest way to configure gpg2 
is to add an active profile with pgp
+plugin settings into `settings.xml` as illustrated in [maven settings 
example](examples/maven-settings.md).
+6.  Verify third party licenses
+
+mvn -Pdependency-check prepare-package -DskipTests
+The check should finish successfully. Otherwise, dependencies with not 
complaint licenses should be resolved
+before taking next release step.
+7.  Check JIRA system for any unresolved JIRAs for the release and notify 
assigned developers to take actions
+on uncompleted JIRAs.
+8.  Build RC
+* If it is not a first RC, remove previous tag from git
+
+git push --delete origin x.y.z
+git tag --delete x.y.z # deletes local tag
+* Cut the tag using maven:prepare
+
+mvn release:clean
+mvn release:prepare -Papache-release,java-mms.1-0  
-DautoVersionSubmodules=true