[GitHub] asfgit closed pull request #431: DISPATCH-1231: correct credit handling in core client
asfgit closed pull request #431: DISPATCH-1231: correct credit handling in core client URL: https://github.com/apache/qpid-dispatch/pull/431 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/src/router_core/core_client_api.c b/src/router_core/core_client_api.c index 74838692..479a45ff 100644 --- a/src/router_core/core_client_api.c +++ b/src/router_core/core_client_api.c @@ -435,11 +435,11 @@ static void _sender_flow_CT(void *context, qdrc_client_t *client = (qdrc_client_t *)context; qdr_core_t *core = client->core; +client->tx_credit += available_credit; qd_log(core->log, QD_LOG_TRACE, "Core client sender flow granted c=%p credit=%d d=%s", - client, available_credit, (drain) ? "T" : "F"); -client->tx_credit = available_credit; -if (available_credit > 0) { + client, client->tx_credit, (drain) ? "T" : "F"); +if (client->tx_credit > 0) { _flush_send_queue_CT(client); } diff --git a/src/router_core/modules/address_lookup_client/lookup_client.c b/src/router_core/modules/address_lookup_client/lookup_client.c index 048a3997..197bd34d 100644 --- a/src/router_core/modules/address_lookup_client/lookup_client.c +++ b/src/router_core/modules/address_lookup_client/lookup_client.c @@ -575,12 +575,12 @@ static void on_state(qdr_core_t*core, static void on_flow(qdr_core_t*core, qdrc_client_t *api_client, void *user_context, -intavailable_credit, +intmore_credit, bool drain) { qcm_lookup_client_t *client = (qcm_lookup_client_t*) user_context; -client->request_credit = available_credit; +client->request_credit += more_credit; // // If we have positive credit, process any pending requests diff --git a/src/router_core/modules/edge_router/edge_mgmt.c b/src/router_core/modules/edge_router/edge_mgmt.c index 7dd62454..e3f85324 100644 --- a/src/router_core/modules/edge_router/edge_mgmt.c +++ b/src/router_core/modules/edge_router/edge_mgmt.c @@ -139,10 +139,7 @@ static void _mgmt_on_state_cb_CT(qdr_core_t*core, user_context, (active) ? "active" : "down"); -if (!active) { -// stop the syncing of link routes by setting credit=0 -qcm_edge_link_route_proxy_flow_CT(core, 0, true); -} +qcm_edge_link_route_proxy_state_CT(core, active); } @@ -150,16 +147,16 @@ static void _mgmt_on_state_cb_CT(qdr_core_t*core, static void _mgmt_on_flow_cb_CT(qdr_core_t*core, qdrc_client_t *client, void *user_context, -intavailable_credit, +intmore_credit, bool drain) { qd_log(core->log, QD_LOG_TRACE, "edge mgmt client flow: uc=%p c=%d d=%s", - user_context, available_credit, + user_context, more_credit, (drain) ? "T" : "F"); qcm_edge_link_route_proxy_flow_CT(core, - available_credit, + more_credit, drain); } diff --git a/src/router_core/modules/edge_router/link_route_proxy.c b/src/router_core/modules/edge_router/link_route_proxy.c index 79f51ede..eaf6ea9c 100644 --- a/src/router_core/modules/edge_router/link_route_proxy.c +++ b/src/router_core/modules/edge_router/link_route_proxy.c @@ -430,11 +430,20 @@ static void _on_addr_event(void *context, // Public API // +// called by edge mgmt API when link(s) detach +void qcm_edge_link_route_proxy_state_CT(qdr_core_t *core, bool active) +{ +if (!active) +_available_credit = 0; // stop sending pending syncs +else if (_available_credit > 0) +_sync_interior_proxies(core); +} + // called by the edge mgmt API when credit has been granted: void qcm_edge_link_route_proxy_flow_CT(qdr_core_t *core, int available_credit, bool drain) { -_available_credit = available_credit; +_available_credit += available_credit; _sync_interior_proxies(core); if (drain) { _available_credit = 0; diff --git a/src/router_core/modules/edge_router/link_route_proxy.h b/src/router_core/modules/edge_router/link_route_proxy.h index 3f8b0eec..f5307c58 100644 --- a/src/router_core/modules/edge_router/link_route_proxy.h +++ b/src/router_core/modules/edge_router/link_route_proxy.h @@ -29,5 +29,5 @@ void qcm_edge_link_route_init_CT(qdr_core_t *core); void qcm_edge_link_route_final_CT(qdr_core_t *core); void
[GitHub] codecov-io edited a comment on issue #431: DISPATCH-1231: correct credit handling in core client
codecov-io edited a comment on issue #431: DISPATCH-1231: correct credit handling in core client URL: https://github.com/apache/qpid-dispatch/pull/431#issuecomment-449682539 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/431?src=pr=h1) Report > Merging [#431](https://codecov.io/gh/apache/qpid-dispatch/pull/431?src=pr=desc) into [master](https://codecov.io/gh/apache/qpid-dispatch/commit/4503c7d9bab623c15e3feb73697e06e05fffb45f?src=pr=desc) will **increase** coverage by `0.02%`. > The diff coverage is `94.44%`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/431/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/431?src=pr=tree) ```diff @@Coverage Diff @@ ## master #431 +/- ## == + Coverage 86.95% 86.98% +0.02% == Files 85 85 Lines 1867818686 +8 == + Hits1624216254 +12 + Misses 2436 2432 -4 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/431?src=pr=tree) | Coverage Δ | | |---|---|---| | [...c/router\_core/modules/test\_hooks/core\_test\_hooks.c](https://codecov.io/gh/apache/qpid-dispatch/pull/431/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvdGVzdF9ob29rcy9jb3JlX3Rlc3RfaG9va3MuYw==) | `93.61% <100%> (+0.08%)` | :arrow_up: | | [src/router\_core/modules/edge\_router/edge\_mgmt.c](https://codecov.io/gh/apache/qpid-dispatch/pull/431/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvZWRnZV9tZ210LmM=) | `85% <100%> (-0.15%)` | :arrow_down: | | [...core/modules/address\_lookup\_client/lookup\_client.c](https://codecov.io/gh/apache/qpid-dispatch/pull/431/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvYWRkcmVzc19sb29rdXBfY2xpZW50L2xvb2t1cF9jbGllbnQuYw==) | `92.19% <100%> (ø)` | :arrow_up: | | [src/router\_core/core\_client\_api.c](https://codecov.io/gh/apache/qpid-dispatch/pull/431/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2NvcmVfY2xpZW50X2FwaS5j) | `92.67% <100%> (+0.73%)` | :arrow_up: | | [...router\_core/modules/edge\_router/link\_route\_proxy.c](https://codecov.io/gh/apache/qpid-dispatch/pull/431/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvbGlua19yb3V0ZV9wcm94eS5j) | `79.28% <83.33%> (-0.59%)` | :arrow_down: | | [src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/431/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=) | `93.33% <0%> (-0.26%)` | :arrow_down: | | [src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/431/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=) | `90.86% <0%> (-0.15%)` | :arrow_down: | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/431/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `94.07% <0%> (-0.13%)` | :arrow_down: | | [src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/431/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=) | `95.25% <0%> (+0.12%)` | :arrow_up: | | ... and [2 more](https://codecov.io/gh/apache/qpid-dispatch/pull/431/diff?src=pr=tree-more) | | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/431?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/431?src=pr=footer). Last update [4503c7d...8003d6b](https://codecov.io/gh/apache/qpid-dispatch/pull/431?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 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] codecov-io edited a comment on issue #434: DISPATCH-1232 - Improved mechanism to identify openssl version installed
codecov-io edited a comment on issue #434: DISPATCH-1232 - Improved mechanism to identify openssl version installed URL: https://github.com/apache/qpid-dispatch/pull/434#issuecomment-451687930 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/434?src=pr=h1) Report > Merging [#434](https://codecov.io/gh/apache/qpid-dispatch/pull/434?src=pr=desc) into [master](https://codecov.io/gh/apache/qpid-dispatch/commit/ee0d77a57feae97ba21fcfda6f65ac06b29226e5?src=pr=desc) will **increase** coverage by `<.01%`. > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/434/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/434?src=pr=tree) ```diff @@Coverage Diff @@ ## master #434 +/- ## == + Coverage 86.97% 86.98% +<.01% == Files 85 85 Lines 1869918700 +1 == + Hits1626416266 +2 + Misses 2435 2434 -1 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/434?src=pr=tree) | Coverage Δ | | |---|---|---| | [src/router\_core/agent\_link.c](https://codecov.io/gh/apache/qpid-dispatch/pull/434/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2FnZW50X2xpbmsuYw==) | `63.84% <0%> (-0.57%)` | :arrow_down: | | [src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/434/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=) | `90.14% <0%> (-0.45%)` | :arrow_down: | | [src/iterator.c](https://codecov.io/gh/apache/qpid-dispatch/pull/434/diff?src=pr=tree#diff-c3JjL2l0ZXJhdG9yLmM=) | `93.45% <0%> (-0.22%)` | :arrow_down: | | [src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/434/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=) | `95.12% <0%> (-0.13%)` | :arrow_down: | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/434/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `94.2% <0%> (+0.12%)` | :arrow_up: | | [src/router\_core/route\_tables.c](https://codecov.io/gh/apache/qpid-dispatch/pull/434/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlX3RhYmxlcy5j) | `76.92% <0%> (+0.24%)` | :arrow_up: | | [src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/434/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=) | `93.58% <0%> (+0.25%)` | :arrow_up: | | [src/router\_core/core\_client\_api.c](https://codecov.io/gh/apache/qpid-dispatch/pull/434/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2NvcmVfY2xpZW50X2FwaS5j) | `92.67% <0%> (+0.36%)` | :arrow_up: | | [src/router\_core/forwarder.c](https://codecov.io/gh/apache/qpid-dispatch/pull/434/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2ZvcndhcmRlci5j) | `93.92% <0%> (+0.7%)` | :arrow_up: | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/434?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/434?src=pr=footer). Last update [ee0d77a...11a5d22](https://codecov.io/gh/apache/qpid-dispatch/pull/434?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 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] codecov-io commented on issue #434: DISPATCH-1232 - Improved mechanism to identify openssl version installed
codecov-io commented on issue #434: DISPATCH-1232 - Improved mechanism to identify openssl version installed URL: https://github.com/apache/qpid-dispatch/pull/434#issuecomment-451687930 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/434?src=pr=h1) Report > Merging [#434](https://codecov.io/gh/apache/qpid-dispatch/pull/434?src=pr=desc) into [master](https://codecov.io/gh/apache/qpid-dispatch/commit/ee0d77a57feae97ba21fcfda6f65ac06b29226e5?src=pr=desc) will **decrease** coverage by `0.03%`. > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/434/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/434?src=pr=tree) ```diff @@Coverage Diff @@ ## master #434 +/- ## == - Coverage 86.97% 86.94% -0.04% == Files 85 85 Lines 1869918699 == - Hits1626416258 -6 - Misses 2435 2441 +6 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/434?src=pr=tree) | Coverage Δ | | |---|---|---| | [...re/modules/edge\_addr\_tracking/edge\_addr\_tracking.c](https://codecov.io/gh/apache/qpid-dispatch/pull/434/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9hZGRyX3RyYWNraW5nL2VkZ2VfYWRkcl90cmFja2luZy5j) | `90.05% <0%> (-1.17%)` | :arrow_down: | | [src/router\_core/agent\_link.c](https://codecov.io/gh/apache/qpid-dispatch/pull/434/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2FnZW50X2xpbmsuYw==) | `63.84% <0%> (-0.57%)` | :arrow_down: | | [src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/434/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=) | `90.14% <0%> (-0.45%)` | :arrow_down: | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/434/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `94.07% <0%> (ø)` | :arrow_up: | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/434?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/434?src=pr=footer). Last update [ee0d77a...b2329e7](https://codecov.io/gh/apache/qpid-dispatch/pull/434?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 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] ganeshmurthy opened a new pull request #436: DISPATCH-1237 - Modified link cleanup code to not release a multicast…
ganeshmurthy opened a new pull request #436: DISPATCH-1237 - Modified link cleanup code to not release a multicast… URL: https://github.com/apache/qpid-dispatch/pull/436 …ed peer if there are being delivered to one of more receivers This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] codecov-io commented on issue #436: DISPATCH-1237 - Modified link cleanup code to not release a multicast…
codecov-io commented on issue #436: DISPATCH-1237 - Modified link cleanup code to not release a multicast… URL: https://github.com/apache/qpid-dispatch/pull/436#issuecomment-451772267 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/436?src=pr=h1) Report > Merging [#436](https://codecov.io/gh/apache/qpid-dispatch/pull/436?src=pr=desc) into [master](https://codecov.io/gh/apache/qpid-dispatch/commit/ee0d77a57feae97ba21fcfda6f65ac06b29226e5?src=pr=desc) will **decrease** coverage by `0.03%`. > The diff coverage is `66.66%`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/436/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/436?src=pr=tree) ```diff @@Coverage Diff @@ ## master #436 +/- ## == - Coverage 86.97% 86.93% -0.04% == Files 85 85 Lines 1869918705 +6 == - Hits1626416262 -2 - Misses 2435 2443 +8 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/436?src=pr=tree) | Coverage Δ | | |---|---|---| | [src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=) | `94.9% <66.66%> (-0.35%)` | :arrow_down: | | [src/container.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL2NvbnRhaW5lci5j) | `77.4% <0%> (-0.76%)` | :arrow_down: | | [src/router\_core/agent\_link.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2FnZW50X2xpbmsuYw==) | `63.84% <0%> (-0.57%)` | :arrow_down: | | [src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=) | `90.14% <0%> (-0.45%)` | :arrow_down: | | [src/iterator.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL2l0ZXJhdG9yLmM=) | `93.45% <0%> (-0.22%)` | :arrow_down: | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `93.95% <0%> (-0.13%)` | :arrow_down: | | [src/remote\_sasl.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JlbW90ZV9zYXNsLmM=) | `83.52% <0%> (+0.28%)` | :arrow_up: | | [src/router\_core/core\_client\_api.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2NvcmVfY2xpZW50X2FwaS5j) | `92.67% <0%> (+0.36%)` | :arrow_up: | | [src/router\_core/forwarder.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2ZvcndhcmRlci5j) | `93.92% <0%> (+0.7%)` | :arrow_up: | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/436?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/436?src=pr=footer). Last update [ee0d77a...52e4660](https://codecov.io/gh/apache/qpid-dispatch/pull/436?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 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] codecov-io edited a comment on issue #436: DISPATCH-1237 - Modified link cleanup code to not release a multicast…
codecov-io edited a comment on issue #436: DISPATCH-1237 - Modified link cleanup code to not release a multicast… URL: https://github.com/apache/qpid-dispatch/pull/436#issuecomment-451772267 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/436?src=pr=h1) Report > Merging [#436](https://codecov.io/gh/apache/qpid-dispatch/pull/436?src=pr=desc) into [master](https://codecov.io/gh/apache/qpid-dispatch/commit/ee0d77a57feae97ba21fcfda6f65ac06b29226e5?src=pr=desc) will **decrease** coverage by `0.03%`. > The diff coverage is `50%`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/436/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/436?src=pr=tree) ```diff @@Coverage Diff @@ ## master #436 +/- ## == - Coverage 86.97% 86.94% -0.04% == Files 85 85 Lines 1869918703 +4 == - Hits1626416261 -3 - Misses 2435 2442 +7 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/436?src=pr=tree) | Coverage Δ | | |---|---|---| | [src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=) | `94.89% <50%> (-0.36%)` | :arrow_down: | | [src/container.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL2NvbnRhaW5lci5j) | `77.4% <0%> (-0.76%)` | :arrow_down: | | [src/router\_core/agent\_link.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2FnZW50X2xpbmsuYw==) | `63.84% <0%> (-0.57%)` | :arrow_down: | | [src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=) | `90.29% <0%> (-0.3%)` | :arrow_down: | | [src/iterator.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL2l0ZXJhdG9yLmM=) | `93.45% <0%> (-0.22%)` | :arrow_down: | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `93.95% <0%> (-0.13%)` | :arrow_down: | | [src/remote\_sasl.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JlbW90ZV9zYXNsLmM=) | `83.52% <0%> (+0.28%)` | :arrow_up: | | [src/router\_core/core\_client\_api.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2NvcmVfY2xpZW50X2FwaS5j) | `92.67% <0%> (+0.36%)` | :arrow_up: | | [src/router\_core/forwarder.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2ZvcndhcmRlci5j) | `93.92% <0%> (+0.7%)` | :arrow_up: | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/436?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/436?src=pr=footer). Last update [ee0d77a...52e4660](https://codecov.io/gh/apache/qpid-dispatch/pull/436?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 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] kgiusti opened a new pull request #440: DISPATCH-1243: modify unit test to only run qdrouterd under valgrind
kgiusti opened a new pull request #440: DISPATCH-1243: modify unit test to only run qdrouterd under valgrind URL: https://github.com/apache/qpid-dispatch/pull/440 Added bonus: cuts down on the time taken to run the unit tests by ~25% This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] astitcher opened a new pull request #173: Rework Python binding to use only core APIs
astitcher opened a new pull request #173: Rework Python binding to use only core APIs URL: https://github.com/apache/qpid-proton/pull/173 This is a reworking of the Python binding to Proton to avoid using APIs outside the Proton Core library. Thus the Python based reactive code has been rewritten so that the proton.reactor and proton.handler modules use only core APIs. Necessarily this is a large change to the Python binding code, but a lot of effort has gone into maintaining the existing proton.reactor and proton.handler APIs. However any code that relied on functionality of the Proton-C reactor APIs directly will no longer work as these APIs aren't available from Python any longer. One area that may be different and is still not 100% solid is in the area of error/exception handling. I think that you will get exceptions in the same cases as before, but they could very probably be different exceptions. It is also possible that some errors are handled differently. Please raise bugs for any differences/problems found. This code has been tested with the integrated tests and passes on Linux, MacOS and Windows on CI systems. Some tests (related to SSL/TLS) fail on some Windows systems, but the same tests fail previous to these changes on the the same systems - the failures don't seem due to these changes. The included python examples all run with this reworked binding. It has also been tested with the quiver benchmark tool and is broadly the same performance as the previous binding. Please try this with your Python code and let me know of any problems. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] ErnieAllen opened a new pull request #441: DISPATCH-1245 Update console dependencies to avoid build warnings
ErnieAllen opened a new pull request #441: DISPATCH-1245 Update console dependencies to avoid build warnings URL: https://github.com/apache/qpid-dispatch/pull/441 Updated the package.json find and re-generated the package-lock.json file to avoid build warnings. Other edits to the console build were done as a consequence. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] ChugR commented on issue #173: Rework Python binding to use only core APIs
ChugR commented on issue #173: Rework Python binding to use only core APIs URL: https://github.com/apache/qpid-proton/pull/173#issuecomment-455247612 Built qpid-proton; passes self tests. Built qpid-dispatch; fails several self tests: 19 - system_tests_one_router (Failed) 31 - system_tests_two_routers (Failed) 39 - system_tests_authz_service_plugin (Failed) 55 - system_tests_core_client (Failed) The one_router and two_router tests fail with a ctest output of: 19: == 19: ERROR: test_21_semantics_balanced (system_tests_one_router.OneRouterTest) 19: -- 19: Traceback (most recent call last): 19: File "/home/chug/git/qpid-dispatch/tests/system_tests_one_router.py", line 253, in test_21_semantics_balanced 19: test.run() 19: File "/home/chug/git/qpid-dispatch/tests/system_tests_one_router.py", line 949, in run 19: Container(self).run() 19: File "/opt/local/lib64/proton/bindings/python/proton/_reactor.py", line 176, in run 19: while self.process(): pass 19: File "/opt/local/lib64/proton/bindings/python/proton/_reactor.py", line 233, in process 19: event.dispatch(handler) 19: File "/opt/local/lib64/proton/bindings/python/proton/_events.py", line 135, in dispatch 19: _dispatch(handler, type.method, self) 19: File "/opt/local/lib64/proton/bindings/python/proton/_events.py", line 115, in _dispatch 19: m(*args) 19: File "/home/chug/git/qpid-dispatch/tests/system_tests_one_router.py", line 863, in on_timer_task 19: self.parent.create_sender(event) 19: File "/home/chug/git/qpid-dispatch/tests/system_tests_one_router.py", line 909, in create_sender 19: self.sender = event.container.create_sender(self.conn, self.dest) 19: AttributeError: 'NoneType' object has no attribute 'create_sender' Does the event still have a container? Is there another way to get at the container from the event? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] kgiusti opened a new pull request #443: DISPATCH-1248: free autolink core timers on shutdown
kgiusti opened a new pull request #443: DISPATCH-1248: free autolink core timers on shutdown URL: https://github.com/apache/qpid-dispatch/pull/443 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] kgiusti opened a new pull request #442: DISPATCH-1247: fix minor bitmask leak
kgiusti opened a new pull request #442: DISPATCH-1247: fix minor bitmask leak URL: https://github.com/apache/qpid-dispatch/pull/442 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] kgiusti opened a new pull request #439: DISPATCH-1214: remove shutdown leak reported by Valgrind
kgiusti opened a new pull request #439: DISPATCH-1214: remove shutdown leak reported by Valgrind URL: https://github.com/apache/qpid-dispatch/pull/439 This leak is filling up the valgrind results with noise. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] astitcher commented on issue #173: Rework Python binding to use only core APIs
astitcher commented on issue #173: Rework Python binding to use only core APIs URL: https://github.com/apache/qpid-proton/pull/173#issuecomment-456838959 @ganeshmurthy Thank you - I'll fix that issue then get back to you again. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] ganeshmurthy commented on issue #173: Rework Python binding to use only core APIs
ganeshmurthy commented on issue #173: Rework Python binding to use only core APIs URL: https://github.com/apache/qpid-proton/pull/173#issuecomment-456837203 Hi @astitcher, I got down the very latest code from this PR and ran qpid-dispatch master against this PR. All but one test passed. The test is called system_tests_authz_service_plugin. This test never fails against proton master branch. Here is the traceback from the failure - ` 39: Test command: /usr/bin/python "/home/gmurthy/opensource/qpid-dispatch/build/tests/run.py" "unit2" "-v" "system_tests_authz_service_plugin" 39: Test timeout computed to be: 1500 39: test_authorized (system_tests_authz_service_plugin.AuthServicePluginAuthzDeprecatedTest) ... ok 39: test_dynamic_source_anonymous_sender (system_tests_authz_service_plugin.AuthServicePluginAuthzDeprecatedTest) ... ok 39: test_unauthorized (system_tests_authz_service_plugin.AuthServicePluginAuthzDeprecatedTest) ... ok 39: test_wildcard (system_tests_authz_service_plugin.AuthServicePluginAuthzDeprecatedTest) ... ok 39: ERROR 39: test_authorized (system_tests_authz_service_plugin.AuthServicePluginAuthzTest) ... ok 39: test_dynamic_source_anonymous_sender (system_tests_authz_service_plugin.AuthServicePluginAuthzTest) ... ok 39: test_unauthorized (system_tests_authz_service_plugin.AuthServicePluginAuthzTest) ... ok 39: test_wildcard (system_tests_authz_service_plugin.AuthServicePluginAuthzTest) ... ok 39: ERROR 39: 39: == 39: ERROR: tearDownClass (system_tests_authz_service_plugin.AuthServicePluginAuthzDeprecatedTest) 39: -- 39: Traceback (most recent call last): 39: File "/home/gmurthy/opensource/qpid-dispatch/tests/system_test.py", line 609, in tearDownClass 39: cls.tester.teardown() 39: File "/home/gmurthy/opensource/qpid-dispatch/tests/system_test.py", line 555, in teardown 39: raise RuntimeError("Errors during teardown: \n\n%s" % "\n\n".join([str(e) for e in errors])) 39: RuntimeError: Errors during teardown: 39: 39: Process 9720 error: exit code 1, expected 0 39: /usr/bin/env python /home/gmurthy/opensource/qpid-dispatch/tests/authservice.py -a amqps://127.0.0.1:29873 -c /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_authz_service_plugin/AuthServicePluginAuthzDeprecatedTest/setUpClass 39: /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_authz_service_plugin/AuthServicePluginAuthzDeprecatedTest/setUpClass/env-1.cmd 39: 39: starting 39: set sasl config path to /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_authz_service_plugin/AuthServicePluginAuthzDeprecatedTest/setUpClass 39: Traceback (most recent call last): 39: File "/home/gmurthy/opensource/qpid-dispatch/tests/authservice.py", line 84, in 39: Container(handler).run() 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_reactor.py", line 180, in run 39: while self.process(): pass 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_reactor.py", line 239, in process 39: event.dispatch(self._global_handler) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_events.py", line 135, in dispatch 39: _dispatch(handler, type.method, self) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_events.py", line 117, in _dispatch 39: handler.on_unhandled(method, *args) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_reactor.py", line 664, in on_unhandled 39: event.dispatch(self.base) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_events.py", line 135, in dispatch 39: _dispatch(handler, type.method, self) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_events.py", line 115, in _dispatch 39: m(*args) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_handlers.py", line 767, in on_reactor_quiesced 39: readable, writable, expired = self._selector.select(r.timeout) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_io.py", line 131, in select 39: r, w, _ = select_inner(timeout) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_io.py", line 122, in select_inner 39: return IO.select(r, w, [], timeout) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_io.py", line 51, in select 39: return select.select(*args, **kwargs) 39: select.error: (4, 'Interrupted system call') 39: 39: 39:
[GitHub] ganeshmurthy edited a comment on issue #173: Rework Python binding to use only core APIs
ganeshmurthy edited a comment on issue #173: Rework Python binding to use only core APIs URL: https://github.com/apache/qpid-proton/pull/173#issuecomment-456837203 Hi @astitcher, I got down the very latest code from this PR and ran qpid-dispatch master against this PR. All but one test passed. The test is called system_tests_authz_service_plugin. This test never fails against proton master branch. Here is the traceback from the failure - 39: Test command: /usr/bin/python "/home/gmurthy/opensource/qpid-dispatch/build/tests/run.py" "unit2" "-v" "system_tests_authz_service_plugin" 39: Test timeout computed to be: 1500 39: test_authorized (system_tests_authz_service_plugin.AuthServicePluginAuthzDeprecatedTest) ... ok 39: test_dynamic_source_anonymous_sender (system_tests_authz_service_plugin.AuthServicePluginAuthzDeprecatedTest) ... ok 39: test_unauthorized (system_tests_authz_service_plugin.AuthServicePluginAuthzDeprecatedTest) ... ok 39: test_wildcard (system_tests_authz_service_plugin.AuthServicePluginAuthzDeprecatedTest) ... ok 39: ERROR 39: test_authorized (system_tests_authz_service_plugin.AuthServicePluginAuthzTest) ... ok 39: test_dynamic_source_anonymous_sender (system_tests_authz_service_plugin.AuthServicePluginAuthzTest) ... ok 39: test_unauthorized (system_tests_authz_service_plugin.AuthServicePluginAuthzTest) ... ok 39: test_wildcard (system_tests_authz_service_plugin.AuthServicePluginAuthzTest) ... ok 39: ERROR 39: 39: == 39: ERROR: tearDownClass (system_tests_authz_service_plugin.AuthServicePluginAuthzDeprecatedTest) 39: -- 39: Traceback (most recent call last): 39: File "/home/gmurthy/opensource/qpid-dispatch/tests/system_test.py", line 609, in tearDownClass 39: cls.tester.teardown() 39: File "/home/gmurthy/opensource/qpid-dispatch/tests/system_test.py", line 555, in teardown 39: raise RuntimeError("Errors during teardown: \n\n%s" % "\n\n".join([str(e) for e in errors])) 39: RuntimeError: Errors during teardown: 39: 39: Process 9720 error: exit code 1, expected 0 39: /usr/bin/env python /home/gmurthy/opensource/qpid-dispatch/tests/authservice.py -a amqps://127.0.0.1:29873 -c /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_authz_service_plugin/AuthServicePluginAuthzDeprecatedTest/setUpClass 39: /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_authz_service_plugin/AuthServicePluginAuthzDeprecatedTest/setUpClass/env-1.cmd 39: 39: starting 39: set sasl config path to /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_authz_service_plugin/AuthServicePluginAuthzDeprecatedTest/setUpClass 39: Traceback (most recent call last): 39: File "/home/gmurthy/opensource/qpid-dispatch/tests/authservice.py", line 84, in 39: Container(handler).run() 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_reactor.py", line 180, in run 39: while self.process(): pass 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_reactor.py", line 239, in process 39: event.dispatch(self._global_handler) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_events.py", line 135, in dispatch 39: _dispatch(handler, type.method, self) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_events.py", line 117, in _dispatch 39: handler.on_unhandled(method, *args) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_reactor.py", line 664, in on_unhandled 39: event.dispatch(self.base) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_events.py", line 135, in dispatch 39: _dispatch(handler, type.method, self) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_events.py", line 115, in _dispatch 39: m(*args) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_handlers.py", line 767, in on_reactor_quiesced 39: readable, writable, expired = self._selector.select(r.timeout) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_io.py", line 131, in select 39: r, w, _ = select_inner(timeout) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_io.py", line 122, in select_inner 39: return IO.select(r, w, [], timeout) 39: File "/opt/qpid-proton/qpid-proton/lib64/proton/bindings/python/proton/_io.py", line 51, in select 39: return select.select(*args, **kwargs) 39: select.error: (4, 'Interrupted system call') 39: 39: 39:
[GitHub] ChugR commented on issue #173: Rework Python binding to use only core APIs
ChugR commented on issue #173: Rework Python binding to use only core APIs URL: https://github.com/apache/qpid-proton/pull/173#issuecomment-456849349 I get the same two errors/stack traces seen by @ganeshmurthy. In addition, I occasionally (50%) see a failure in system_tests_delivery_abort. The stack trace starts out the same but then diverges for the last three frames: (M=1914e ?6) chug@unused build> ctest -VV -R system_tests_delivery_abort UpdateCTestConfiguration from :/home/chug/git/qpid-dispatch/build/DartConfiguration.tcl Parse Config file:/home/chug/git/qpid-dispatch/build/DartConfiguration.tcl UpdateCTestConfiguration from :/home/chug/git/qpid-dispatch/build/DartConfiguration.tcl Parse Config file:/home/chug/git/qpid-dispatch/build/DartConfiguration.tcl Test project /home/chug/git/qpid-dispatch/build Constructing a list of tests Done constructing a list of tests Updating test list for fixtures Added 0 tests to meet fixture requirements Checking test dependency graph... Checking test dependency graph end test 40 Start 40: system_tests_delivery_abort 40: Test command: /bin/python "/home/chug/git/qpid-dispatch/build/tests/run.py" "unit2" "-v" "system_tests_delivery_abort" 40: Test timeout computed to be: 1500 40: test_01_message_route_truncated_one_router (system_tests_delivery_abort.RouterTest) ... ok 40: test_02_message_route_truncated_two_routers (system_tests_delivery_abort.RouterTest) ... ok 40: test_03_link_route_truncated_one_router (system_tests_delivery_abort.RouterTest) ... ok 40: test_04_link_route_truncated_two_routers (system_tests_delivery_abort.RouterTest) ... ok 40: test_05_message_route_abort_one_router (system_tests_delivery_abort.RouterTest) ... ok 40: test_06_message_route_abort_two_routers (system_tests_delivery_abort.RouterTest) ... ERROR 40: test_07_multicast_truncate_one_router (system_tests_delivery_abort.RouterTest) ... ok 40: ERROR 40: 40: == 40: ERROR: test_06_message_route_abort_two_routers (system_tests_delivery_abort.RouterTest) 40: -- 40: Traceback (most recent call last): 40: File "/home/chug/git/qpid-dispatch/tests/system_tests_delivery_abort.py", line 117, in test_06_message_route_abort_two_routers 40: test.run() 40: File "/home/chug/git/qpid-dispatch/tests/system_tests_delivery_abort.py", line 473, in run 40: Container(self).run() 40: File "/opt/local/lib64/proton/bindings/python/proton/_reactor.py", line 180, in run 40: while self.process(): pass 40: File "/opt/local/lib64/proton/bindings/python/proton/_reactor.py", line 239, in process 40: event.dispatch(self._global_handler) 40: File "/opt/local/lib64/proton/bindings/python/proton/_events.py", line 135, in dispatch 40: _dispatch(handler, type.method, self) 40: File "/opt/local/lib64/proton/bindings/python/proton/_events.py", line 117, in _dispatch 40: handler.on_unhandled(method, *args) 40: File "/opt/local/lib64/proton/bindings/python/proton/_reactor.py", line 664, in on_unhandled 40: event.dispatch(self.base) 40: File "/opt/local/lib64/proton/bindings/python/proton/_events.py", line 135, in dispatch 40: _dispatch(handler, type.method, self) 40: File "/opt/local/lib64/proton/bindings/python/proton/_events.py", line 115, in _dispatch 40: m(*args) 40: File "/opt/local/lib64/proton/bindings/python/proton/_handlers.py", line 888, in on_connection_bound 40: sock = IO.connect(host, int(port)) 40: File "/opt/local/lib64/proton/bindings/python/proton/_io.py", line 47, in connect 40: return socket.create_connection((host, port)) 40: File "/usr/lib64/python2.7/socket.py", line 575, in create_connection 40: raise err 40: socket.error: [Errno 111] Connection refused 40: 40: == 40: ERROR: tearDownClass (system_tests_delivery_abort.RouterTest) 40: -- 40: Traceback (most recent call last): 40: File "/home/chug/git/qpid-dispatch/tests/system_test.py", line 609, in tearDownClass 40: cls.tester.teardown() 40: File "/home/chug/git/qpid-dispatch/tests/system_test.py", line 555, in teardown 40: raise RuntimeError("Errors during teardown: \n\n%s" % "\n\n".join([str(e) for e in errors])) 40: RuntimeError: Errors during teardown: 40: 40: Process 10418 error: exit code -11, expected -1 40: qdrouterd -c B.conf -I /home/chug/git/qpid-dispatch/python 40: /home/chug/git/qpid-dispatch/build/tests/system_test.dir/system_tests_delivery_abort/RouterTest/setUpClass/B-2.cmd 40: 40: 40: 40:
[GitHub] ganeshmurthy opened a new pull request #444: DISPATCH-1254 - Fix a corner cases, usually when a router is just sta…
ganeshmurthy opened a new pull request #444: DISPATCH-1254 - Fix a corner cases, usually when a router is just sta… URL: https://github.com/apache/qpid-dispatch/pull/444 …rting up, where the validOrigins list can come across as None This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] codecov-io commented on issue #444: DISPATCH-1254 - Fix a corner cases, usually when a router is just sta…
codecov-io commented on issue #444: DISPATCH-1254 - Fix a corner cases, usually when a router is just sta… URL: https://github.com/apache/qpid-dispatch/pull/444#issuecomment-456918948 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/444?src=pr=h1) Report > :exclamation: No coverage uploaded for pull request base (`master@1914ebe`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-base-commit). > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/444/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/444?src=pr=tree) ```diff @@Coverage Diff@@ ## master #444 +/- ## = Coverage ? 86.98% = Files ? 85 Lines ?18711 Branches ?0 = Hits ?16275 Misses? 2436 Partials ?0 ``` -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/444?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/444?src=pr=footer). Last update [1914ebe...e5a3a89](https://codecov.io/gh/apache/qpid-dispatch/pull/444?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 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] ChugR commented on issue #173: Rework Python binding to use only core APIs
ChugR commented on issue #173: Rework Python binding to use only core APIs URL: https://github.com/apache/qpid-proton/pull/173#issuecomment-456951784 I get the same two errors/stack traces seen by @ganeshmurthy. In addition, I occasionally (50%) see a failure in system_tests_delivery_abort. The stack trace starts out the same but then diverges for the last three frames: (M=1914e ?6) chug@unused build> ctest -VV -R system_tests_delivery_abort UpdateCTestConfiguration from :/home/chug/git/qpid-dispatch/build/DartConfiguration.tcl Parse Config file:/home/chug/git/qpid-dispatch/build/DartConfiguration.tcl UpdateCTestConfiguration from :/home/chug/git/qpid-dispatch/build/DartConfiguration.tcl Parse Config file:/home/chug/git/qpid-dispatch/build/DartConfiguration.tcl Test project /home/chug/git/qpid-dispatch/build Constructing a list of tests Done constructing a list of tests Updating test list for fixtures Added 0 tests to meet fixture requirements Checking test dependency graph... Checking test dependency graph end test 40 Start 40: system_tests_delivery_abort 40: Test command: /bin/python "/home/chug/git/qpid-dispatch/build/tests/run.py" "unit2" "-v" "system_tests_delivery_abort" 40: Test timeout computed to be: 1500 40: test_01_message_route_truncated_one_router (system_tests_delivery_abort.RouterTest) ... ok 40: test_02_message_route_truncated_two_routers (system_tests_delivery_abort.RouterTest) ... ok 40: test_03_link_route_truncated_one_router (system_tests_delivery_abort.RouterTest) ... ok 40: test_04_link_route_truncated_two_routers (system_tests_delivery_abort.RouterTest) ... ok 40: test_05_message_route_abort_one_router (system_tests_delivery_abort.RouterTest) ... ok 40: test_06_message_route_abort_two_routers (system_tests_delivery_abort.RouterTest) ... ERROR 40: test_07_multicast_truncate_one_router (system_tests_delivery_abort.RouterTest) ... ok 40: ERROR 40: 40: == 40: ERROR: test_06_message_route_abort_two_routers (system_tests_delivery_abort.RouterTest) 40: -- 40: Traceback (most recent call last): 40: File "/home/chug/git/qpid-dispatch/tests/system_tests_delivery_abort.py", line 117, in test_06_message_route_abort_two_routers 40: test.run() 40: File "/home/chug/git/qpid-dispatch/tests/system_tests_delivery_abort.py", line 473, in run 40: Container(self).run() 40: File "/opt/local/lib64/proton/bindings/python/proton/_reactor.py", line 180, in run 40: while self.process(): pass 40: File "/opt/local/lib64/proton/bindings/python/proton/_reactor.py", line 239, in process 40: event.dispatch(self._global_handler) 40: File "/opt/local/lib64/proton/bindings/python/proton/_events.py", line 135, in dispatch 40: _dispatch(handler, type.method, self) 40: File "/opt/local/lib64/proton/bindings/python/proton/_events.py", line 117, in _dispatch 40: handler.on_unhandled(method, *args) 40: File "/opt/local/lib64/proton/bindings/python/proton/_reactor.py", line 664, in on_unhandled 40: event.dispatch(self.base) 40: File "/opt/local/lib64/proton/bindings/python/proton/_events.py", line 135, in dispatch 40: _dispatch(handler, type.method, self) 40: File "/opt/local/lib64/proton/bindings/python/proton/_events.py", line 115, in _dispatch 40: m(*args) 40: File "/opt/local/lib64/proton/bindings/python/proton/_handlers.py", line 888, in on_connection_bound 40: sock = IO.connect(host, int(port)) 40: File "/opt/local/lib64/proton/bindings/python/proton/_io.py", line 47, in connect 40: return socket.create_connection((host, port)) 40: File "/usr/lib64/python2.7/socket.py", line 575, in create_connection 40: raise err 40: socket.error: [Errno 111] Connection refused 40: 40: == 40: ERROR: tearDownClass (system_tests_delivery_abort.RouterTest) 40: -- 40: Traceback (most recent call last): 40: File "/home/chug/git/qpid-dispatch/tests/system_test.py", line 609, in tearDownClass 40: cls.tester.teardown() 40: File "/home/chug/git/qpid-dispatch/tests/system_test.py", line 555, in teardown 40: raise RuntimeError("Errors during teardown: \n\n%s" % "\n\n".join([str(e) for e in errors])) 40: RuntimeError: Errors during teardown: 40: 40: Process 10418 error: exit code -11, expected -1 40: qdrouterd -c B.conf -I /home/chug/git/qpid-dispatch/python 40: /home/chug/git/qpid-dispatch/build/tests/system_test.dir/system_tests_delivery_abort/RouterTest/setUpClass/B-2.cmd 40: 40: 40: 40:
[GitHub] astitcher commented on issue #173: Rework Python binding to use only core APIs
astitcher commented on issue #173: Rework Python binding to use only core APIs URL: https://github.com/apache/qpid-proton/pull/173#issuecomment-455357921 @ChugR I'll take a look at the new code, but from the stack trace you gave I'd say the event here in on_timer_task() does not have a container! This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] ErnieAllen closed pull request #441: DISPATCH-1245 Update console dependencies to avoid build warnings
ErnieAllen closed pull request #441: DISPATCH-1245 Update console dependencies to avoid build warnings URL: https://github.com/apache/qpid-dispatch/pull/441 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] astitcher commented on issue #173: Rework Python binding to use only core APIs
astitcher commented on issue #173: Rework Python binding to use only core APIs URL: https://github.com/apache/qpid-proton/pull/173#issuecomment-456674280 @ChugR @ganeshmurthy I've fixed the problem of the missing container for on_timer_task events. If you have a moment please run the dispatch tests again and tell me what the other problems are. It has been difficult (and unreliable) for me to run the entire dispatch built in test suite although I'm making some progress with that. So I'd be grateful if you can give it another go. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] asfgit closed pull request #425: DISPATCH-1213 - Prevent stalling of presettled large message senders …
asfgit closed pull request #425: DISPATCH-1213 - Prevent stalling of presettled large message senders … URL: https://github.com/apache/qpid-dispatch/pull/425 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/include/qpid/dispatch/router_core.h b/include/qpid/dispatch/router_core.h index a03db277..7215d2bf 100644 --- a/include/qpid/dispatch/router_core.h +++ b/include/qpid/dispatch/router_core.h @@ -682,6 +682,7 @@ void qdr_delivery_decref(qdr_core_t *core, qdr_delivery_t *delivery, const char void qdr_delivery_tag(const qdr_delivery_t *delivery, const char **tag, int *length); qd_message_t *qdr_delivery_message(const qdr_delivery_t *delivery); qdr_error_t *qdr_delivery_error(const qdr_delivery_t *delivery); +bool qdr_delivery_presettled(const qdr_delivery_t *delivery); void qdr_delivery_write_extension_state(qdr_delivery_t *dlv, pn_delivery_t* pdlv, bool update_disposition); bool qdr_delivery_send_complete(const qdr_delivery_t *delivery); bool qdr_delivery_tag_sent(const qdr_delivery_t *delivery); diff --git a/src/router_core/transfer.c b/src/router_core/transfer.c index 1cce8de6..ecf7eea9 100644 --- a/src/router_core/transfer.c +++ b/src/router_core/transfer.c @@ -434,6 +434,11 @@ qdr_error_t *qdr_delivery_error(const qdr_delivery_t *delivery) return delivery->error; } +bool qdr_delivery_presettled(const qdr_delivery_t *delivery) +{ +return delivery->presettled; +} + //== // In-Thread Functions @@ -441,11 +446,24 @@ qdr_error_t *qdr_delivery_error(const qdr_delivery_t *delivery) void qdr_delivery_release_CT(qdr_core_t *core, qdr_delivery_t *dlv) { -bool push = dlv->disposition != PN_RELEASED; +bool push = false; +bool moved = false; -dlv->disposition = PN_RELEASED; -dlv->settled = true; -bool moved = qdr_delivery_settled_CT(core, dlv); +if (dlv->presettled) { +// +// The delivery is presettled. We simply want to call CORE_delivery_update which in turn will +// restart stalled links if the q2_holdoff has been hit. +// For single frame presettled deliveries, calling CORE_delivery_update does not do anything. +// +push = true; +} +else { +push = dlv->disposition != PN_RELEASED; +dlv->disposition = PN_RELEASED; +dlv->settled = true; +moved = qdr_delivery_settled_CT(core, dlv); + +} if (push || moved) qdr_delivery_push_CT(core, dlv); @@ -848,6 +866,13 @@ static void qdr_link_forward_CT(qdr_core_t *core, qdr_link_t *link, qdr_delivery link->dropped_presettled_deliveries++; if (dlv->link->link_type == QD_LINK_ENDPOINT) core->dropped_presettled_deliveries++; + +// +// The delivery is pre-settled. Call the qdr_delivery_release_CT so if this delivery is multi-frame +// we can restart receiving the delivery in case it is stalled. Note that messages will not +// *actually* be released because these are presettled messages. +// +qdr_delivery_release_CT(core, dlv); } else { qdr_delivery_release_CT(core, dlv); diff --git a/src/router_node.c b/src/router_node.c index 597b8452..f6f305c2 100644 --- a/src/router_node.c +++ b/src/router_node.c @@ -1608,7 +1608,7 @@ static void CORE_delivery_update(void *context, qdr_delivery_t *dlv, uint64_t di // // If the disposition has changed, update the proton delivery. // -if (disp != pn_delivery_remote_state(pnd)) { +if (disp != pn_delivery_remote_state(pnd) && !qdr_delivery_presettled(dlv)) { qd_message_t *msg = qdr_delivery_message(dlv); if (disp == PN_MODIFIED) @@ -1638,7 +1638,7 @@ static void CORE_delivery_update(void *context, qdr_delivery_t *dlv, uint64_t di // If the delivery is settled and it is still arriving, defer the settlement // until the content has fully arrived. // -if (disp == PN_RELEASED || disp == PN_MODIFIED) { +if (disp == PN_RELEASED || disp == PN_MODIFIED || qdr_delivery_presettled(dlv)) { // // If the disposition is RELEASED or MODIFIED, set the message to discard // and if it is blocked by holdoff, get the link rolling again. diff --git a/tests/system_tests_one_router.py b/tests/system_tests_one_router.py index dd7cd31a..fd8ed597 100644 --- a/tests/system_tests_one_router.py +++ b/tests/system_tests_one_router.py @@ -422,6 +422,16 @@ def test_41_large_streaming_close_conn_test(self): test.run() self.assertEqual(None, test.error) +def
[GitHub] kgiusti opened a new pull request #426: DISPATCH-1225: fill freed memory with a pattern for debugging
kgiusti opened a new pull request #426: DISPATCH-1225: fill freed memory with a pattern for debugging URL: https://github.com/apache/qpid-dispatch/pull/426 Hold off on merging this until DISPATCH-1226 lands. Ready for review now. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] kgiusti opened a new pull request #427: DISPATCH-1226: fix race during link detach handling
kgiusti opened a new pull request #427: DISPATCH-1226: fix race during link detach handling URL: https://github.com/apache/qpid-dispatch/pull/427 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] gemmellr commented on issue #428: DISPATCH-1115: make TravisCI job use a Proton release in addition to master
gemmellr commented on issue #428: DISPATCH-1115: make TravisCI job use a Proton release in addition to master URL: https://github.com/apache/qpid-dispatch/pull/428#issuecomment-449088645 Updated to only do the coverage build and reporting tasks on one of the sub-jobs This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] fgiorgetti opened a new pull request #429: DISPATCH-1229 - Fixed imports causing issues to system tests on python3.7
fgiorgetti opened a new pull request #429: DISPATCH-1229 - Fixed imports causing issues to system tests on python3.7 URL: https://github.com/apache/qpid-dispatch/pull/429 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] kgiusti closed pull request #429: DISPATCH-1229 - Fixed imports causing issues to system tests on python3.7
kgiusti closed pull request #429: DISPATCH-1229 - Fixed imports causing issues to system tests on python3.7 URL: https://github.com/apache/qpid-dispatch/pull/429 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/python/qpid_dispatch_internal/tools/command.py b/python/qpid_dispatch_internal/tools/command.py index ace9391f..b7da384b 100644 --- a/python/qpid_dispatch_internal/tools/command.py +++ b/python/qpid_dispatch_internal/tools/command.py @@ -26,7 +26,10 @@ from __future__ import print_function import sys, json, optparse, os -from collections import Sequence, Mapping +try: +from collections.abc import Mapping, Sequence +except ImportError: +from collections import Mapping, Sequence from qpid_dispatch_site import VERSION from proton import SSLDomain, Url from proton.utils import SyncRequestResponse, BlockingConnection diff --git a/tests/tox.ini.in b/tests/tox.ini.in index af724a43..4885e61d 100644 --- a/tests/tox.ini.in +++ b/tests/tox.ini.in @@ -18,7 +18,7 @@ # [tox] -envlist = py27,py35,py36 +envlist = py27,py35,py36,py37 skipsdist = True minversion = ${TOX_VERSION} skip_missing_interpreters = True @@ -43,4 +43,6 @@ basepython = python3.5 [testenv:py36] basepython = python3.6 +[testenv:py37] +basepython = python3.7 diff --git a/tools/qdmanage.in b/tools/qdmanage.in index 9ed3adb8..b1480e36 100755 --- a/tools/qdmanage.in +++ b/tools/qdmanage.in @@ -27,7 +27,10 @@ from __future__ import print_function import sys, json, re import qpid_dispatch_site from qpid_dispatch.management.client import Node, Url -from collections import Mapping, Sequence +try: +from collections.abc import Mapping, Sequence +except ImportError: +from collections import Mapping, Sequence from optparse import OptionGroup from qpid_dispatch_internal.tools.command import OptionParser, Option, UsageError, connection_options, check_args, \ main, opts_ssl_domain, opts_url, opts_sasl This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] gemmellr commented on issue #428: DISPATCH-1115: make TravisCI job use a Proton release in addition to master
gemmellr commented on issue #428: DISPATCH-1115: make TravisCI job use a Proton release in addition to master URL: https://github.com/apache/qpid-dispatch/pull/428#issuecomment-449358062 Pushed this as it seems to work as desired, if folks have other improvements we can add them later. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] asfgit closed pull request #428: DISPATCH-1115: make TravisCI job use a Proton release in addition to master
asfgit closed pull request #428: DISPATCH-1115: make TravisCI job use a Proton release in addition to master URL: https://github.com/apache/qpid-dispatch/pull/428 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/.travis.yml b/.travis.yml index fc6b8445..43164bd4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,6 +22,9 @@ dist: trusty sudo: true language: c cache: ccache +env: + - PROTON_VERSION=master BUILD_TYPE=Coverage + - PROTON_VERSION=0.26.0 BUILD_TYPE=RelWithDebInfo addons: apt: @@ -47,8 +50,7 @@ addons: install: - PREFIX=$PWD/install -- git submodule add https://gitbox.apache.org/repos/asf/qpid-proton.git -- git submodule update --init +- git clone --depth=10 --branch=$PROTON_VERSION https://github.com/apache/qpid-proton.git # Build and install latest proton from source. - mkdir qpid-proton/build @@ -63,18 +65,17 @@ before_script: - source qpid-proton/build/config.sh - mkdir build - pushd build -- cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX -DUSE_VALGRIND=NO -DCMAKE_BUILD_TYPE=Coverage +- cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX -DUSE_VALGRIND=NO -DCMAKE_BUILD_TYPE=${BUILD_TYPE} - cmake --build . --target install script: - pushd ../qpid-proton -- echo $(echo "Current proton checkout:") $(git rev-parse HEAD) +- echo $(echo "Current proton commit:") $(git rev-parse HEAD) "(${PROTON_VERSION})" - popd -- ctest -V && cmake --build . --target coverage +- ctest -V && if [ "$BUILD_TYPE" = "Coverage" ]; then cmake --build . --target coverage; fi - popd - mvn apache-rat:check after_success: - pushd build -- bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports" - +- if [ "$BUILD_TYPE" = "Coverage" ]; then bash <(curl -s https://codecov.io/bash); fi This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] codecov-io commented on issue #431: DISPATCH-1231: correct credit handling in core client
codecov-io commented on issue #431: DISPATCH-1231: correct credit handling in core client URL: https://github.com/apache/qpid-dispatch/pull/431#issuecomment-449682539 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/431?src=pr=h1) Report > :exclamation: No coverage uploaded for pull request base (`master@b74263e`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-base-commit). > The diff coverage is `90%`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/431/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/431?src=pr=tree) ```diff @@Coverage Diff@@ ## master #431 +/- ## = Coverage ? 86.95% = Files ? 85 Lines ?18682 Branches ?0 = Hits ?16245 Misses? 2437 Partials ?0 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/431?src=pr=tree) | Coverage Δ | | |---|---|---| | [src/router\_core/modules/edge\_router/edge\_mgmt.c](https://codecov.io/gh/apache/qpid-dispatch/pull/431/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvZWRnZV9tZ210LmM=) | `85% <100%> (ø)` | | | [src/router\_core/core\_client\_api.c](https://codecov.io/gh/apache/qpid-dispatch/pull/431/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2NvcmVfY2xpZW50X2FwaS5j) | `91.94% <100%> (ø)` | | | [...core/modules/address\_lookup\_client/lookup\_client.c](https://codecov.io/gh/apache/qpid-dispatch/pull/431/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvYWRkcmVzc19sb29rdXBfY2xpZW50L2xvb2t1cF9jbGllbnQuYw==) | `92.19% <100%> (ø)` | | | [...router\_core/modules/edge\_router/link\_route\_proxy.c](https://codecov.io/gh/apache/qpid-dispatch/pull/431/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvbGlua19yb3V0ZV9wcm94eS5j) | `79.28% <83.33%> (ø)` | | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/431?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/431?src=pr=footer). Last update [b74263e...990c2a2](https://codecov.io/gh/apache/qpid-dispatch/pull/431?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 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] fgiorgetti opened a new pull request #432: DISPATCH-1232 - Adjusted FakeBroker to be compatible with python2.6
fgiorgetti opened a new pull request #432: DISPATCH-1232 - Adjusted FakeBroker to be compatible with python2.6 URL: https://github.com/apache/qpid-dispatch/pull/432 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] kgiusti opened a new pull request #431: DISPATCH-1231: correct credit handling in core client
kgiusti opened a new pull request #431: DISPATCH-1231: correct credit handling in core client URL: https://github.com/apache/qpid-dispatch/pull/431 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] codecov-io commented on issue #430: DISPATCH-1230 - Fixed system_tests_ssl when using OpenSSL 1.1 or greater
codecov-io commented on issue #430: DISPATCH-1230 - Fixed system_tests_ssl when using OpenSSL 1.1 or greater URL: https://github.com/apache/qpid-dispatch/pull/430#issuecomment-449725317 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/430?src=pr=h1) Report > :exclamation: No coverage uploaded for pull request base (`master@b74263e`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-base-commit). > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/430/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/430?src=pr=tree) ```diff @@Coverage Diff@@ ## master #430 +/- ## = Coverage ? 86.99% = Files ? 85 Lines ?18678 Branches ?0 = Hits ?16248 Misses? 2430 Partials ?0 ``` -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/430?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/430?src=pr=footer). Last update [b74263e...46d0160](https://codecov.io/gh/apache/qpid-dispatch/pull/430?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 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] fgiorgetti opened a new pull request #430: DISPATCH-1230 - Fixed system_tests_ssl when using OpenSSL 1.1 or greater
fgiorgetti opened a new pull request #430: DISPATCH-1230 - Fixed system_tests_ssl when using OpenSSL 1.1 or greater URL: https://github.com/apache/qpid-dispatch/pull/430 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] grs commented on issue #20: QPID-5285 [AMQP 1.0] timestamped messages not supported
grs commented on issue #20: QPID-5285 [AMQP 1.0] timestamped messages not supported URL: https://github.com/apache/qpid-cpp/pull/20#issuecomment-452404614 Looks good, existing tests all pass and I've verified the timestamp is added as expected when enabled (but not otherwise). This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] grs commented on a change in pull request #20: QPID-5285 [AMQP 1.0] timestamped messages not supported
grs commented on a change in pull request #20: QPID-5285 [AMQP 1.0] timestamped messages not supported URL: https://github.com/apache/qpid-cpp/pull/20#discussion_r246104594 ## File path: src/qpid/broker/amqp/Incoming.cpp ## @@ -108,7 +109,11 @@ namespace { } DecodingIncoming::DecodingIncoming(pn_link_t* link, Broker& broker, Session& parent, const std::string& source, const std::string& target, const std::string& name) -: Incoming(link, broker, parent, source, target, name), sessionPtr(parent.shared_from_this()) {} Review comment: Might be nicer to set in initialiser for consistency (could then also make the attribute a const) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] grs commented on a change in pull request #20: QPID-5285 [AMQP 1.0] timestamped messages not supported
grs commented on a change in pull request #20: QPID-5285 [AMQP 1.0] timestamped messages not supported URL: https://github.com/apache/qpid-cpp/pull/20#discussion_r246099807 ## File path: src/qpid/broker/amqp/Incoming.cpp ## @@ -146,6 +151,10 @@ void DecodingIncoming::readable(pn_delivery_t* delivery) void DecodingIncoming::deliver(boost::intrusive_ptr received, pn_delivery_t* delivery) { qpid::broker::Message message(received, received); +if (isTimestamping) { +qpid::sys::Duration d(qpid::sys::AbsTime::epoch(), qpid::sys::AbsTime::now()); Review comment: Minor point: indentation is not correct here. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] codecov-io edited a comment on issue #436: DISPATCH-1237 - Modified link cleanup code to not release a multicast…
codecov-io edited a comment on issue #436: DISPATCH-1237 - Modified link cleanup code to not release a multicast… URL: https://github.com/apache/qpid-dispatch/pull/436#issuecomment-451772267 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/436?src=pr=h1) Report > Merging [#436](https://codecov.io/gh/apache/qpid-dispatch/pull/436?src=pr=desc) into [master](https://codecov.io/gh/apache/qpid-dispatch/commit/85847d62f694c0717c5db32c60aaa80bf7940ab2?src=pr=desc) will **increase** coverage by `0.07%`. > The diff coverage is `90%`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/436/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/436?src=pr=tree) ```diff @@Coverage Diff @@ ## master #436 +/- ## == + Coverage 86.93% 87.01% +0.07% == Files 85 85 Lines 1870018716 +16 == + Hits1625716285 +28 + Misses 2443 2431 -12 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/436?src=pr=tree) | Coverage Δ | | |---|---|---| | [src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=) | `91.06% <100%> (+0.77%)` | :arrow_up: | | [src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=) | `95.15% <83.33%> (+0.03%)` | :arrow_up: | | [src/message.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL21lc3NhZ2UuYw==) | `88.84% <90%> (-0.02%)` | :arrow_down: | | [src/remote\_sasl.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JlbW90ZV9zYXNsLmM=) | `83.52% <0%> (+0.28%)` | :arrow_up: | | [src/router\_core/agent\_link.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2FnZW50X2xpbmsuYw==) | `64.4% <0%> (+0.56%)` | :arrow_up: | | [src/router\_core/forwarder.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2ZvcndhcmRlci5j) | `93.92% <0%> (+0.7%)` | :arrow_up: | | [...c/router\_core/modules/test\_hooks/core\_test\_hooks.c](https://codecov.io/gh/apache/qpid-dispatch/pull/436/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvdGVzdF9ob29rcy9jb3JlX3Rlc3RfaG9va3MuYw==) | `93.61% <0%> (+0.95%)` | :arrow_up: | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/436?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/436?src=pr=footer). Last update [85847d6...963c3b4](https://codecov.io/gh/apache/qpid-dispatch/pull/436?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 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] asfgit closed pull request #436: DISPATCH-1237 - Modified link cleanup code to not release a multicast…
asfgit closed pull request #436: DISPATCH-1237 - Modified link cleanup code to not release a multicast… URL: https://github.com/apache/qpid-dispatch/pull/436 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/include/qpid/dispatch/message.h b/include/qpid/dispatch/message.h index 48408ab2..3aaea807 100644 --- a/include/qpid/dispatch/message.h +++ b/include/qpid/dispatch/message.h @@ -373,6 +373,17 @@ size_t qd_message_fanout(qd_message_t *msg); */ void qd_message_add_fanout(qd_message_t *msg); +/** + * Increments the num_closed_receivers by 1. This is necessary to track the number of receivers that + * dropped out during or just before transmission of a large message. + */ +void qd_message_add_num_closed_receivers(qd_message_t *in_msg); + +/** + * Returns the value of num_closed_receivers + */ +int qd_message_num_closed_receivers(qd_message_t *msg); + /** * Disable the Q2-holdoff for this message. * diff --git a/include/qpid/dispatch/router_core.h b/include/qpid/dispatch/router_core.h index 11275d32..f7d6c514 100644 --- a/include/qpid/dispatch/router_core.h +++ b/include/qpid/dispatch/router_core.h @@ -705,6 +705,7 @@ void qdr_delivery_set_disposition(qdr_delivery_t *delivery, uint64_t disposition uint64_t qdr_delivery_disposition(const qdr_delivery_t *delivery); void qdr_delivery_set_aborted(const qdr_delivery_t *delivery, bool aborted); bool qdr_delivery_is_aborted(const qdr_delivery_t *delivery); +void qdr_delivery_add_num_closed_receivers(qdr_delivery_t *delivery); /** ** diff --git a/src/message.c b/src/message.c index 16060d34..d527974a 100644 --- a/src/message.c +++ b/src/message.c @@ -1077,6 +1077,22 @@ void qd_message_add_fanout(qd_message_t *in_msg) sys_atomic_inc(>content->fanout); } +int qd_message_num_closed_receivers(qd_message_t *in_msg) +{ +if (!in_msg) +return 0; +qd_message_pvt_t *msg = (qd_message_pvt_t*) in_msg; +return msg->content->num_closed_receivers; +} + +void qd_message_add_num_closed_receivers(qd_message_t *in_msg) +{ +assert(in_msg); +qd_message_pvt_t *msg = (qd_message_pvt_t*) in_msg; +msg->content->num_closed_receivers++; +} + + /** * There are two sources of priority information -- * message and address. Address takes precedence, falling @@ -1466,7 +1482,6 @@ void qd_message_send(qd_message_t *in_msg, qd_buffer_t *buf = 0; pn_link_t*pnl = qd_link_pn(link); -int fanout = qd_message_fanout(in_msg); *restart_rx = false; *q3_stalled = false; @@ -1606,7 +1621,8 @@ void qd_message_send(qd_message_t *in_msg, if (next_buf) { // There is a next buffer, the previous buffer has been fully sent by now. qd_buffer_add_fanout(buf); -if (fanout == qd_buffer_fanout(buf)) { + +if (qd_message_fanout(in_msg) - qd_message_num_closed_receivers(in_msg) == qd_buffer_fanout(buf)) { qd_buffer_t *local_buf = DEQ_HEAD(content->buffers); while (local_buf && local_buf != next_buf) { DEQ_REMOVE_HEAD(content->buffers); diff --git a/src/message_private.h b/src/message_private.h index 36585977..2402e583 100644 --- a/src/message_private.h +++ b/src/message_private.h @@ -108,6 +108,7 @@ typedef struct { qd_parsed_field_t *ma_pf_trace; int ma_int_phase; sys_atomic_t fanout; // The number of receivers for this message. This number does not include in-process subscribers. +int num_closed_receivers; qd_link_t *input_link; // message received on this link bool ma_parsed; // have parsed annotations in incoming message diff --git a/src/router_core/connections.c b/src/router_core/connections.c index 54a27be8..19b257c4 100644 --- a/src/router_core/connections.c +++ b/src/router_core/connections.c @@ -687,11 +687,27 @@ static void qdr_link_cleanup_deliveries_CT(qdr_core_t *core, qdr_connection_t *c DEQ_REMOVE_HEAD(undelivered); peer = qdr_delivery_first_peer_CT(dlv); while (peer) { -qdr_delivery_release_CT(core, peer); +if (peer->multicast) { +// +// If the address of the delivery is a multicast address and if there are no receivers for this address, the peer delivery must be released. +// +// If the address of the delivery is a multicast address and there is at least one other receiver for the address, dont do anything +// +
[GitHub] porrafabrizio opened a new pull request #20: Update Incoming.cpp
porrafabrizio opened a new pull request #20: Update Incoming.cpp URL: https://github.com/apache/qpid-cpp/pull/20 Added a timestamp marking the actual arrival time at the broker. Change affects the DecodingIncoming:deliver method. Property "x-opt-ingress-timestamp" has been added to the received qpid::broker::Message to be set as nanoseconds from epoch. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] codecov-io commented on issue #437: DISPATCH-1239 - Modified system tests to work with python2.6
codecov-io commented on issue #437: DISPATCH-1239 - Modified system tests to work with python2.6 URL: https://github.com/apache/qpid-dispatch/pull/437#issuecomment-452055157 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/437?src=pr=h1) Report > Merging [#437](https://codecov.io/gh/apache/qpid-dispatch/pull/437?src=pr=desc) into [master](https://codecov.io/gh/apache/qpid-dispatch/commit/ee0d77a57feae97ba21fcfda6f65ac06b29226e5?src=pr=desc) will **decrease** coverage by `<.01%`. > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/437/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/437?src=pr=tree) ```diff @@Coverage Diff @@ ## master #437 +/- ## == - Coverage 86.97% 86.97% -0.01% == Files 85 85 Lines 1869918700 +1 == Hits1626416264 - Misses 2435 2436 +1 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/437?src=pr=tree) | Coverage Δ | | |---|---|---| | [...re/modules/edge\_addr\_tracking/edge\_addr\_tracking.c](https://codecov.io/gh/apache/qpid-dispatch/pull/437/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9hZGRyX3RyYWNraW5nL2VkZ2VfYWRkcl90cmFja2luZy5j) | `90.05% <0%> (-1.17%)` | :arrow_down: | | [...c/router\_core/modules/test\_hooks/core\_test\_hooks.c](https://codecov.io/gh/apache/qpid-dispatch/pull/437/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvdGVzdF9ob29rcy9jb3JlX3Rlc3RfaG9va3MuYw==) | `92.65% <0%> (-0.96%)` | :arrow_down: | | [src/router\_core/agent\_link.c](https://codecov.io/gh/apache/qpid-dispatch/pull/437/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2FnZW50X2xpbmsuYw==) | `63.84% <0%> (-0.57%)` | :arrow_down: | | [src/iterator.c](https://codecov.io/gh/apache/qpid-dispatch/pull/437/diff?src=pr=tree#diff-c3JjL2l0ZXJhdG9yLmM=) | `93.45% <0%> (-0.22%)` | :arrow_down: | | [src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/437/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=) | `95.12% <0%> (-0.13%)` | :arrow_down: | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/437/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `94.2% <0%> (+0.12%)` | :arrow_up: | | [src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/437/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=) | `93.58% <0%> (+0.25%)` | :arrow_up: | | [src/remote\_sasl.c](https://codecov.io/gh/apache/qpid-dispatch/pull/437/diff?src=pr=tree#diff-c3JjL3JlbW90ZV9zYXNsLmM=) | `83.52% <0%> (+0.28%)` | :arrow_up: | | [src/router\_core/core\_client\_api.c](https://codecov.io/gh/apache/qpid-dispatch/pull/437/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2NvcmVfY2xpZW50X2FwaS5j) | `92.67% <0%> (+0.36%)` | :arrow_up: | | [src/router\_core/forwarder.c](https://codecov.io/gh/apache/qpid-dispatch/pull/437/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2ZvcndhcmRlci5j) | `93.92% <0%> (+0.7%)` | :arrow_up: | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/437?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/437?src=pr=footer). Last update [ee0d77a...aaa12bd](https://codecov.io/gh/apache/qpid-dispatch/pull/437?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 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] fgiorgetti opened a new pull request #437: DISPATCH-1239 - Modified system tests to work with python2.6
fgiorgetti opened a new pull request #437: DISPATCH-1239 - Modified system tests to work with python2.6 URL: https://github.com/apache/qpid-dispatch/pull/437 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] porrafabrizio commented on issue #20: QPID-5285 [AMQP 1.0] timestamped messages not supported
porrafabrizio commented on issue #20: QPID-5285 [AMQP 1.0] timestamped messages not supported URL: https://github.com/apache/qpid-cpp/pull/20#issuecomment-452303378 Timestamping is now configurable by parameter "enable-timestamp" as in amqp 0-10: property "x-opt-ingress-timestamp" is set only when Broker::isTimestamping() call returns true. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] porrafabrizio edited a comment on issue #20: QPID-5285 [AMQP 1.0] timestamped messages not supported
porrafabrizio edited a comment on issue #20: QPID-5285 [AMQP 1.0] timestamped messages not supported URL: https://github.com/apache/qpid-cpp/pull/20#issuecomment-452303378 Thank you, grs. Timestamping is now configurable by parameter "enable-timestamp" as in amqp 0-10: property "x-opt-ingress-timestamp" is set only when Broker::isTimestamping() call returns true. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] ganeshmurthy opened a new pull request #433: DISPATCH-1234 - Zero out the edge context on the link before the edge…
ganeshmurthy opened a new pull request #433: DISPATCH-1234 - Zero out the edge context on the link before the edge… URL: https://github.com/apache/qpid-dispatch/pull/433 … context is freed. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] codecov-io commented on issue #433: DISPATCH-1234 - Zero out the edge context on the link before the edge…
codecov-io commented on issue #433: DISPATCH-1234 - Zero out the edge context on the link before the edge… URL: https://github.com/apache/qpid-dispatch/pull/433#issuecomment-451225511 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/433?src=pr=h1) Report > :exclamation: No coverage uploaded for pull request base (`master@e54e0f4`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-base-commit). > The diff coverage is `100%`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/433/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/433?src=pr=tree) ```diff @@Coverage Diff@@ ## master #433 +/- ## = Coverage ? 86.99% = Files ? 85 Lines ?18696 Branches ?0 = Hits ?16265 Misses? 2431 Partials ?0 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/433?src=pr=tree) | Coverage Δ | | |---|---|---| | [...re/modules/edge\_addr\_tracking/edge\_addr\_tracking.c](https://codecov.io/gh/apache/qpid-dispatch/pull/433/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9hZGRyX3RyYWNraW5nL2VkZ2VfYWRkcl90cmFja2luZy5j) | `89.88% <100%> (ø)` | | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/433?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/433?src=pr=footer). Last update [e54e0f4...57c84d2](https://codecov.io/gh/apache/qpid-dispatch/pull/433?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 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] asfgit closed pull request #433: DISPATCH-1234 - Zero out the edge context on the link before the edge…
asfgit closed pull request #433: DISPATCH-1234 - Zero out the edge context on the link before the edge… URL: https://github.com/apache/qpid-dispatch/pull/433 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/src/router_core/modules/edge_addr_tracking/edge_addr_tracking.c b/src/router_core/modules/edge_addr_tracking/edge_addr_tracking.c index a7ea0a71..e1619638 100644 --- a/src/router_core/modules/edge_addr_tracking/edge_addr_tracking.c +++ b/src/router_core/modules/edge_addr_tracking/edge_addr_tracking.c @@ -31,6 +31,7 @@ struct qdr_addr_endpoint_state_t { qdrc_endpoint_t*endpoint; qdr_connection_t *conn;// The connection associated with the endpoint. qdr_addr_tracking_module_context_t *mc; +qdr_link_t *link; }; DEQ_DECLARE(qdr_addr_endpoint_state_t, qdr_addr_endpoint_state_list_t); @@ -134,6 +135,12 @@ static void qdrc_address_endpoint_on_first_detach(void *link_context, qdrc_endpoint_detach_CT(endpoint_state->mc->core, endpoint_state->endpoint, 0); qdr_addr_tracking_module_context_t *mc = endpoint_state->mc; DEQ_REMOVE(mc->endpoint_state_list, endpoint_state); +endpoint_state->conn = 0; +endpoint_state->endpoint = 0; +if (endpoint_state->link) { +endpoint_state->link->edge_context = 0; +endpoint_state->link = 0; +} free_qdr_addr_endpoint_state_t(endpoint_state); qdr_error_free(error); } @@ -217,7 +224,8 @@ static void on_addr_event(void *context, qdrc_event_t event, qdr_address_t *addr qdr_addr_endpoint_state_t *endpoint_state = (qdr_addr_endpoint_state_t *)inlink->link->edge_context; if (qdrc_can_send_address(addr, endpoint_state->conn) ) { qdrc_endpoint_t *endpoint = endpoint_state->endpoint; -qdrc_send_message(addr_tracking->core, addr, endpoint, true); +if (endpoint) +qdrc_send_message(addr_tracking->core, addr, endpoint, true); } } inlink = DEQ_NEXT(inlink); @@ -237,7 +245,8 @@ static void on_addr_event(void *context, qdrc_event_t event, qdr_address_t *addr if(inlink->link->edge_context != 0) { qdr_addr_endpoint_state_t *endpoint_state = (qdr_addr_endpoint_state_t *)inlink->link->edge_context; qdrc_endpoint_t *endpoint = endpoint_state->endpoint; -qdrc_send_message(addr_tracking->core, addr, endpoint, false); +if (endpoint) +qdrc_send_message(addr_tracking->core, addr, endpoint, false); } inlink = DEQ_NEXT(inlink); } @@ -308,6 +317,7 @@ static void on_link_event(void *context, qdrc_event_t event, qdr_link_t *link) if (addr && qdr_address_is_mobile_CT(addr)) { qdr_addr_endpoint_state_t *endpoint_state = qdrc_get_endpoint_state_for_connection(mc->endpoint_state_list, link->conn, link); link->edge_context = endpoint_state; +endpoint_state->link = link; if (qdrc_can_send_address(addr, link->conn) && endpoint_state) { qdrc_send_message(mc->core, addr, endpoint_state->endpoint, true); @@ -315,6 +325,17 @@ static void on_link_event(void *context, qdrc_event_t event, qdr_link_t *link) } break; } +case QDRC_EVENT_LINK_EDGE_DATA_DETACHED : +{ +if (link->edge_context) { +qdr_addr_endpoint_state_t *endpoint_state = (qdr_addr_endpoint_state_t *)link->edge_context; +endpoint_state->link = 0; +link->edge_context = 0; +} + +break; +} + default: break; } @@ -348,7 +369,7 @@ static void qdrc_edge_address_tracking_init_CT(qdr_core_t *core, void **module_c context->event_sub = qdrc_event_subscribe_CT(core, QDRC_EVENT_ADDR_BECAME_LOCAL_DEST | QDRC_EVENT_ADDR_ONE_LOCAL_DEST | QDRC_EVENT_ADDR_NO_LONGER_LOCAL_DEST | QDRC_EVENT_ADDR_BECAME_DEST | QDRC_EVENT_ADDR_TWO_DEST | -QDRC_EVENT_LINK_EDGE_DATA_ATTACHED, +QDRC_EVENT_LINK_EDGE_DATA_ATTACHED | QDRC_EVENT_LINK_EDGE_DATA_DETACHED, 0, on_link_event, on_addr_event, This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this
[GitHub] kgiusti opened a new pull request #435: DISPATCH-1235: properly unlink peer deliveries in the case of multicast
kgiusti opened a new pull request #435: DISPATCH-1235: properly unlink peer deliveries in the case of multicast URL: https://github.com/apache/qpid-dispatch/pull/435 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] asfgit closed pull request #435: DISPATCH-1235: properly unlink peer deliveries in the case of multicast
asfgit closed pull request #435: DISPATCH-1235: properly unlink peer deliveries in the case of multicast URL: https://github.com/apache/qpid-dispatch/pull/435 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/src/router_core/transfer.c b/src/router_core/transfer.c index e58e77d8..ecb3e7da 100644 --- a/src/router_core/transfer.c +++ b/src/router_core/transfer.c @@ -655,18 +655,19 @@ void qdr_delivery_link_peers_CT(qdr_delivery_t *in_dlv, qdr_delivery_t *out_dlv) out_dlv->peer = in_dlv; -qdr_delivery_incref(out_dlv, "qdr_delivery_link_peers_CT - linked to peer (1)"); -qdr_delivery_incref(in_dlv, "qdr_delivery_link_peers_CT - linked to peer (2)"); +qdr_delivery_incref(out_dlv, "qdr_delivery_link_peers_CT - linked to peer (out delivery)"); +qdr_delivery_incref(in_dlv, "qdr_delivery_link_peers_CT - linked to peer (in delivery)"); } void qdr_delivery_unlink_peers_CT(qdr_core_t *core, qdr_delivery_t *dlv, qdr_delivery_t *peer) { - // If there is no delivery or a peer, we cannot proceed. if (!dlv || !peer) return; +// first, drop dlv's reference to its peer +// if (dlv->peer) { // // This is the easy case. One delivery has only one peer. we can simply @@ -674,30 +675,37 @@ void qdr_delivery_unlink_peers_CT(qdr_core_t *core, qdr_delivery_t *dlv, qdr_del // assert(dlv->peer == peer); dlv->peer = 0; -peer->peer = 0; -qdr_delivery_decref_CT(core, dlv, "qdr_delivery_unlink_peers_CT - unlinked from peer (1)"); -qdr_delivery_decref_CT(core, peer, "qdr_delivery_unlink_peers_CT - unlinked from peer (2)"); -} -else { +} else { +// +// This is the not so easy case // -// The dlv has more than one peer. We are going to find the peer of dlv that match with the passed in peer -// and delete that peer. +// dlv has more than one peer, so we have to search for our target peer +// in the list of peers // qdr_delivery_ref_t *peer_ref = DEQ_HEAD(dlv->peers); -while (peer_ref) { -qdr_delivery_t *peer_dlv = peer_ref->dlv; -if (peer_dlv == peer) { -qdr_del_delivery_ref(>peers, peer_ref); -if (peer->peer == dlv) { -peer->peer = 0; -qdr_delivery_decref_CT(core, dlv, "qdr_delivery_unlink_peers_CT - unlinked from peer (3)"); -} -qdr_delivery_decref_CT(core, peer, "qdr_delivery_unlink_peers_CT - unlinked from peer (4)"); -break; -} +while (peer_ref && peer_ref->dlv != peer) { +peer_ref = DEQ_NEXT(peer_ref); +} +assert(peer_ref != 0); +qdr_del_delivery_ref(>peers, peer_ref); +} + +// now drop the peer's reference to dlv +// +if (peer->peer) { +assert(peer->peer == dlv); +peer->peer = 0; +} else { +qdr_delivery_ref_t *peer_ref = DEQ_HEAD(peer->peers); +while (peer_ref && peer_ref->dlv != dlv) { peer_ref = DEQ_NEXT(peer_ref); } +assert(peer_ref != 0); +qdr_del_delivery_ref(>peers, peer_ref); } + +qdr_delivery_decref_CT(core, dlv, "qdr_delivery_unlink_peers_CT - unlinked from peer (delivery)"); +qdr_delivery_decref_CT(core, peer, "qdr_delivery_unlink_peers_CT - unlinked from delivery (peer)"); } diff --git a/tests/system_tests_edge_router.py b/tests/system_tests_edge_router.py index ce063309..2fe31903 100644 --- a/tests/system_tests_edge_router.py +++ b/tests/system_tests_edge_router.py @@ -1420,11 +1420,8 @@ def check_address(self): local_node.close() def on_start(self, event): -if self.large_msg: -self.timer = event.reactor.schedule(10.0, Timeout(self)) -else: -self.timer = event.reactor.schedule(20.0, Timeout(self)) - +self.timer = event.reactor.schedule(20.0 if self.large_msg else 10.0, +Timeout(self)) # Create two receivers self.receiver1_conn = event.container.connect(self.receiver1_host) self.receiver2_conn = event.container.connect(self.receiver2_host) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services - To unsubscribe, e-mail:
[GitHub] franz1981 commented on issue #26: QPIDJMS-430 Lock-Free FifoMessageQueue
franz1981 commented on issue #26: QPIDJMS-430 Lock-Free FifoMessageQueue URL: https://github.com/apache/qpid-jms/pull/26#issuecomment-453601630 @tabish121 I haven't had the chance to measure the gains now that https://github.com/apache/activemq-artemis/pull/2467 has been merged and sadly I don't have such a fast box ATM, but I would try it and see if it can make any difference. I can surely avoid the padding even if it will lower the performance, given that it would be anyway better then the orignal version, that was locked. @gemmellr @tabish121 My only worry is that the original version were having a resizable backlog of messages while this version is quite strict and never grows exceeding a configured capacity ie `prefetchSize`, I hope it is not a limitation, given that it would (yield)wait on offer side until one slot became available. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] franz1981 closed pull request #26: QPIDJMS-430 Lock-Free FifoMessageQueue
franz1981 closed pull request #26: QPIDJMS-430 Lock-Free FifoMessageQueue URL: https://github.com/apache/qpid-jms/pull/26 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/FifoMessageQueue.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/FifoMessageQueue.java index 83fa532b..db699b5c 100644 --- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/FifoMessageQueue.java +++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/FifoMessageQueue.java @@ -16,133 +16,392 @@ */ package org.apache.qpid.jms.util; -import java.util.ArrayDeque; -import java.util.Deque; +import org.apache.qpid.jms.message.JmsInboundMessageDispatch; + import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; +import java.util.concurrent.atomic.AtomicLongFieldUpdater; +import java.util.concurrent.atomic.AtomicReferenceArray; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; -import org.apache.qpid.jms.message.JmsInboundMessageDispatch; +abstract class FifoMessageQueuePad0 { +long p01, p02, p03, p04, p05, p06, p07; +long p10, p11, p12, p13, p14, p15, p16, p17; +} -/** - * Simple first in / first out Message Queue. - */ -public final class FifoMessageQueue implements MessageQueue { +abstract class FifoMessageQueueProducerFields extends FifoMessageQueuePad0 { +private static final AtomicLongFieldUpdater TAIL_FIELD_UPDATER = + AtomicLongFieldUpdater.newUpdater(FifoMessageQueueProducerFields.class, "tail"); + +private volatile long tail; +protected long producerLimit; -protected static final AtomicIntegerFieldUpdater STATE_FIELD_UPDATER = -AtomicIntegerFieldUpdater.newUpdater(FifoMessageQueue.class, "state"); +protected final long lvTail() { +return tail; +} + +protected final void soTail(long value) { +TAIL_FIELD_UPDATER.lazySet(this, value); +} +protected final void svTail(long value) { +tail = value; +} +} + +abstract class FifoMessageQueuePad1 extends FifoMessageQueueProducerFields { +long p01, p02, p03, p04, p05, p06, p07, p08; +long p10, p11, p12, p13, p14, p15, p16, p17; +} + +abstract class FifoMessageQueueConsumerFields extends FifoMessageQueuePad1 { +protected static final AtomicLongFieldUpdater HEAD_FIELD_UPDATER = + AtomicLongFieldUpdater.newUpdater(FifoMessageQueueConsumerFields.class, "head"); + +protected static final AtomicLongFieldUpdater HEAD_LOCK_FIELD_UPDATER = + AtomicLongFieldUpdater.newUpdater(FifoMessageQueueConsumerFields.class, "headLock"); +protected static final AtomicIntegerFieldUpdater STATE_FIELD_UPDATER = + AtomicIntegerFieldUpdater.newUpdater(FifoMessageQueueConsumerFields.class, "state"); protected static final int CLOSED = 0; protected static final int STOPPED = 1; protected static final int RUNNING = 2; +private volatile long head; +private volatile long headLock; +protected volatile int state = STOPPED; -private volatile int state = STOPPED; +protected final boolean tryLockHead() { +return HEAD_LOCK_FIELD_UPDATER.getAndIncrement(this) == 0; +} -protected final ReentrantLock lock = new ReentrantLock(); -protected final Condition condition = lock.newCondition(); +protected final void unlockLockHead() { +HEAD_LOCK_FIELD_UPDATER.lazySet(this, 0); +} -protected final Deque queue; +protected final long lvHead() { +return head; +} + +protected final void soHead(long value) { +HEAD_FIELD_UPDATER.lazySet(this, value); +} + +protected final void svHead(long value) { +head = value; +} +} + +abstract class FifoMessageQueuePad2 extends FifoMessageQueueConsumerFields { +long p01, p02, p03, p04, p05, p06, p07, p08; +long p10, p11, p12, p13, p14, p15, p16, p17; +} + +abstract class FifoMessageQueueSharedFields extends FifoMessageQueuePad2 { +protected static final AtomicLongFieldUpdater WAITING_THREADS_FIELD_UPDATER = + AtomicLongFieldUpdater.newUpdater(FifoMessageQueueSharedFields.class, "waitingThreads"); +private volatile long waitingThreads = 0; +protected final ReentrantLock notEmptyLock = new ReentrantLock(); +protected final Condition notEmptyCondition = notEmptyLock.newCondition(); + +public void signalNotEmpty() { +if (isWaiting()) { +notEmptyLock.lock(); +try { +if (isWaiting()) { +notEmptyCondition.signalAll(); +} +} finally { +notEmptyLock.unlock(); +
[GitHub] franz1981 opened a new pull request #26: QPIDJMS-430 Lock-Free FifoMessageQueue
franz1981 opened a new pull request #26: QPIDJMS-430 Lock-Free FifoMessageQueue URL: https://github.com/apache/qpid-jms/pull/26 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] franz1981 commented on issue #26: QPIDJMS-430 Lock-Free FifoMessageQueue
franz1981 commented on issue #26: QPIDJMS-430 Lock-Free FifoMessageQueue URL: https://github.com/apache/qpid-jms/pull/26#issuecomment-453593690 @tabish121 I can make this impl simpler (eg no padding) because it is an improvement over the original version, but needs some macro test: thanks to https://github.com/apache/activemq-artemis/pull/2467 we could have This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] franz1981 removed a comment on issue #26: QPIDJMS-430 Lock-Free FifoMessageQueue
franz1981 removed a comment on issue #26: QPIDJMS-430 Lock-Free FifoMessageQueue URL: https://github.com/apache/qpid-jms/pull/26#issuecomment-453593690 @tabish121 I can make this impl simpler (eg no padding) because it is an improvement over the original version, but needs some macro test: thanks to https://github.com/apache/activemq-artemis/pull/2467 we could have This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] franz1981 edited a comment on issue #26: QPIDJMS-430 Lock-Free FifoMessageQueue
franz1981 edited a comment on issue #26: QPIDJMS-430 Lock-Free FifoMessageQueue URL: https://github.com/apache/qpid-jms/pull/26#issuecomment-453601630 @tabish121 I haven't had the chance to measure the gains now that https://github.com/apache/activemq-artemis/pull/2467 has been merged and sadly I don't have such a fast box ATM, but I would try it and see if it can make any difference. I can surely avoid the padding even if it will lower the performance, given that it would be anyway better then the orignal version, that was locked. @gemmellr @tabish121 My only worry is that the original version was using a resizable q of messages while this version is quite strict and never grows exceeding a configured capacity ie `prefetchSize`, I hope it is not a limitation, given that it would (yield)wait on offer side until one slot became available. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] grs commented on issue #20: QPID-5285 [AMQP 1.0] timestamped messages not supported
grs commented on issue #20: QPID-5285 [AMQP 1.0] timestamped messages not supported URL: https://github.com/apache/qpid-cpp/pull/20#issuecomment-452683759 @porrafabrizio Thank you very much! Your change is now merged to master. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] asfgit closed pull request #438: DISPATCH-1240: prevent truncation of correlation id
asfgit closed pull request #438: DISPATCH-1240: prevent truncation of correlation id URL: https://github.com/apache/qpid-dispatch/pull/438 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/src/router_core/core_client_api.c b/src/router_core/core_client_api.c index 479a45ff..3b32b319 100644 --- a/src/router_core/core_client_api.c +++ b/src/router_core/core_client_api.c @@ -26,7 +26,7 @@ #include #define CORRELATION_ID_LEN 32 -const char *CORRELATION_ID_FMT = "client-%016"PRIxPTR"%08"PRIx32; +const char *CORRELATION_ID_FMT = "client-%016"PRIx64"%08"PRIx32; typedef struct qdrc_client_request_t qdrc_client_request_t; struct qdrc_client_request_t { This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] asfgit closed pull request #437: DISPATCH-1239 - Modified system tests to work with python2.6
asfgit closed pull request #437: DISPATCH-1239 - Modified system tests to work with python2.6 URL: https://github.com/apache/qpid-dispatch/pull/437 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/tests/system_tests_address_lookup.py b/tests/system_tests_address_lookup.py index a69886c1..fa2bf434 100644 --- a/tests/system_tests_address_lookup.py +++ b/tests/system_tests_address_lookup.py @@ -272,17 +272,14 @@ def test_lookup_bad_connection(self): Verify that clients connected via non-edge connections fail """ bc = BlockingConnection(self.INT_A.listener, timeout=TIMEOUT) -with self.assertRaises(LinkDetached): -SyncRequestResponse(bc, self.QD_TERMINUS_ADDRESS_LOOKUP) +self.assertRaises(LinkDetached, SyncRequestResponse, bc, self.QD_TERMINUS_ADDRESS_LOOKUP) bc.close() bc = BlockingConnection(self.INT_A.inter_router_listener, timeout=TIMEOUT) -with self.assertRaises(LinkDetached): -SyncRequestResponse(bc, self.QD_TERMINUS_ADDRESS_LOOKUP) +self.assertRaises(LinkDetached, SyncRequestResponse, bc, self.QD_TERMINUS_ADDRESS_LOOKUP) bc.close() # consuming from the lookup address is forbidden: bc = BlockingConnection(self.INT_A.edge_listener, timeout=TIMEOUT) -with self.assertRaises(LinkDetached): -rcv = bc.create_receiver(self.QD_TERMINUS_ADDRESS_LOOKUP) +self.assertRaises(LinkDetached, bc.create_receiver, self.QD_TERMINUS_ADDRESS_LOOKUP) bc.close() diff --git a/tests/system_tests_qdstat.py b/tests/system_tests_qdstat.py index 3ce9cf16..16614f72 100644 --- a/tests/system_tests_qdstat.py +++ b/tests/system_tests_qdstat.py @@ -92,22 +92,22 @@ def test_address_priority(self): lines = out.split("\n") # make sure the output contains a header line -self.assertGreaterEqual(len(lines), 2) +self.assertTrue(len(lines) >= 2) # see if the header line has the word priority in it priorityregexp = r'pri' priority_column = re.search(priorityregexp, lines[1]).start() -self.assertGreater(priority_column, -1) +self.assertTrue(priority_column > -1) # extract the number in the priority column of every address for i in range(3, len(lines) - 1): pri = re.findall('\d+', lines[i][priority_column:]) # make sure the priority found is a number -self.assertGreater(len(pri), 0, "Can not find numeric priority in '%s'" % lines[i]) +self.assertTrue(len(pri) > 0, "Can not find numeric priority in '%s'" % lines[i]) priority = int(pri[0]) # make sure the priority is from -1 to 9 -self.assertGreaterEqual(priority, -1, "Priority was less than -1") -self.assertLessEqual(priority, 9, "Priority was greater than 9") +self.assertTrue(priority >= -1, "Priority was less than -1") +self.assertTrue(priority <= 9, "Priority was greater than 9") def test_address_with_limit(self): out = self.run_qdstat(['--address', '--limit=1']) @@ -164,12 +164,12 @@ def test_link_priority(self): lines = out.split("\n") # make sure the output contains a header line -self.assertGreaterEqual(len(lines), 2) +self.assertTrue(len(lines) >= 2) # see if the header line has the word priority in it priorityregexp = r'pri' priority_column = re.search(priorityregexp, lines[1]).start() -self.assertGreater(priority_column, -1) +self.assertTrue(priority_column > -1) # extract the number in the priority column of every inter-router link priorities = {} @@ -177,11 +177,11 @@ def test_link_priority(self): if re.search(r'inter-router', lines[i]): pri = re.findall('\d+', lines[i][priority_column:]) # make sure the priority found is a number -self.assertGreater(len(pri), 0, "Can not find numeric priority in '%s'" % lines[i]) +self.assertTrue(len(pri) > 0, "Can not find numeric priority in '%s'" % lines[i]) priority = int(pri[0]) # make sure the priority is from 0 to 9 -self.assertGreaterEqual(priority, 0, "Priority was less than 0") -self.assertLessEqual(priority, 9, "Priority was greater than 9") +self.assertTrue(priority >= 0, "Priority was less than 0") +self.assertTrue(priority <= 9, "Priority was greater than 9") # mark this priority as present priorities[priority] = True
[GitHub] asfgit closed pull request #432: DISPATCH-1232 - Adjusted FakeBroker to be compatible with python2.6
asfgit closed pull request #432: DISPATCH-1232 - Adjusted FakeBroker to be compatible with python2.6 URL: https://github.com/apache/qpid-dispatch/pull/432 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/tests/test_broker.py b/tests/test_broker.py index 5eade131..89bf6fd7 100644 --- a/tests/test_broker.py +++ b/tests/test_broker.py @@ -55,7 +55,7 @@ def subscribe(self, consumer): def unsubscribe(self, consumer): if consumer in self.consumers: self.consumers.remove(consumer) -return len(self.consumers) == 0 and (self.dynamic or self.queue.count == 0) +return len(self.consumers) == 0 and (self.dynamic or len(self.queue) == 0) def publish(self, message): self.queue.append(message) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] fgiorgetti closed pull request #430: DISPATCH-1230 - Fixed system_tests_ssl when using OpenSSL 1.1 or greater
fgiorgetti closed pull request #430: DISPATCH-1230 - Fixed system_tests_ssl when using OpenSSL 1.1 or greater URL: https://github.com/apache/qpid-dispatch/pull/430 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/tests/system_tests_ssl.py b/tests/system_tests_ssl.py index 5eb9a6f9..feabfea9 100644 --- a/tests/system_tests_ssl.py +++ b/tests/system_tests_ssl.py @@ -21,6 +21,8 @@ Provides tests related with allowed TLS protocol version restrictions. """ import os +import ssl +import sys from subprocess import Popen, PIPE from qpid_dispatch.management.client import Node from system_test import TestCase, main_module, Qdrouterd, DIR, SkipIfNeeded @@ -35,6 +37,9 @@ class RouterTestSslBase(TestCase): """ Base class to help with SSL related testing. """ +# If unable to determine which protocol versions are allowed system wide +DISABLE_SSL_TESTING = False + @staticmethod def ssl_file(name): """ @@ -89,6 +94,30 @@ class RouterTestSslClient(RouterTestSslBase): PORT_SSL3 = 0 TIMEOUT = 3 +# If using OpenSSL 1.1 or greater, TLSv1.2 is always being allowed +OPENSSL_VER_1_1_GT = ssl.OPENSSL_VERSION_INFO[:2] >= (1, 1) + +# Following variables define TLS versions allowed by openssl +OPENSSL_MIN_VER = 0 +OPENSSL_MAX_VER = +OPENSSL_ALLOW_TLSV1 = True +OPENSSL_ALLOW_TLSV1_1 = True +OPENSSL_ALLOW_TLSV1_2 = True + +# When using OpenSSL >= 1.1 and python >= 3.7, we can retrieve OpenSSL min and max protocols +if OPENSSL_VER_1_1_GT: +if sys.version_info >= (3, 7): +OPENSSL_CTX = ssl.create_default_context() +OPENSSL_MIN_VER = OPENSSL_CTX.minimum_version +OPENSSL_MAX_VER = OPENSSL_CTX.maximum_version if OPENSSL_CTX.maximum_version > 0 else +OPENSSL_ALLOW_TLSV1 = OPENSSL_MIN_VER <= ssl.TLSVersion.TLSv1 <= OPENSSL_MAX_VER +OPENSSL_ALLOW_TLSV1_1 = OPENSSL_MIN_VER <= ssl.TLSVersion.TLSv1_1 <= OPENSSL_MAX_VER +OPENSSL_ALLOW_TLSV1_2 = OPENSSL_MIN_VER <= ssl.TLSVersion.TLSv1_2 <= OPENSSL_MAX_VER +else: +# At this point we are not able to precisely determine what are the minimum and maximum +# TLS versions allowed in the system, so tests will be disabled +RouterTestSslBase.DISABLE_SSL_TESTING = True + @classmethod def setUpClass(cls): """ @@ -324,55 +353,81 @@ def is_ssl_sasl_client_accepted(self, listener_port, tls_protocol): connection.close() return True +def get_expected_tls_result(self, expected_results): +""" +Expects a list with three boolean elements, representing +TLSv1, TLSv1.1 and TLSv1.2 (in the respective order). +When using OpenSSL >= 1.1.x, allowance of a given TLS version is +based on MinProtocol / MaxProtocol definitions. +It is also important +to mention that TLSv1.2 is being allowed even when not specified in a +listener when using OpenSSL >= 1.1.x. + +:param expected_results: +:return: +""" +(tlsv1, tlsv1_1, tlsv1_2) = expected_results +return [self.OPENSSL_ALLOW_TLSV1 and tlsv1, +self.OPENSSL_ALLOW_TLSV1_1 and tlsv1_1, +self.OPENSSL_VER_1_1_GT or (self.OPENSSL_ALLOW_TLSV1_2 and tlsv1_2)] + +@SkipIfNeeded(RouterTestSslBase.DISABLE_SSL_TESTING, "Unable to determine MinProtocol") def test_tls1_only(self): """ Expects TLSv1 only is allowed """ -self.assertEquals([True, False, False], +self.assertEquals(self.get_expected_tls_result([True, False, False]), self.get_allowed_protocols(self.PORT_TLS1)) +@SkipIfNeeded(RouterTestSslBase.DISABLE_SSL_TESTING, "Unable to determine MinProtocol") def test_tls11_only(self): """ Expects TLSv1.1 only is allowed """ -self.assertEquals([False, True, False], +self.assertEquals(self.get_expected_tls_result([False, True, False]), self.get_allowed_protocols(self.PORT_TLS11)) +@SkipIfNeeded(RouterTestSslBase.DISABLE_SSL_TESTING, "Unable to determine MinProtocol") def test_tls12_only(self): """ Expects TLSv1.2 only is allowed """ -self.assertEquals([False, False, True], +self.assertEquals(self.get_expected_tls_result([False, False, True]), self.get_allowed_protocols(self.PORT_TLS12)) +@SkipIfNeeded(RouterTestSslBase.DISABLE_SSL_TESTING, "Unable to determine MinProtocol") def test_tls1_tls11_only(self): """ Expects TLSv1 and TLSv1.1 only are allowed """ -
[GitHub] kgiusti commented on a change in pull request #433: DISPATCH-1234 - Zero out the edge context on the link before the edge…
kgiusti commented on a change in pull request #433: DISPATCH-1234 - Zero out the edge context on the link before the edge… URL: https://github.com/apache/qpid-dispatch/pull/433#discussion_r245089295 ## File path: src/router_core/modules/edge_addr_tracking/edge_addr_tracking.c ## @@ -308,13 +316,20 @@ static void on_link_event(void *context, qdrc_event_t event, qdr_link_t *link) if (addr && qdr_address_is_mobile_CT(addr)) { qdr_addr_endpoint_state_t *endpoint_state = qdrc_get_endpoint_state_for_connection(mc->endpoint_state_list, link->conn, link); link->edge_context = endpoint_state; +endpoint_state->link = link; if (qdrc_can_send_address(addr, link->conn) && endpoint_state) { qdrc_send_message(mc->core, addr, endpoint_state->endpoint, true); } } break; } +case QDRC_EVENT_LINK_EDGE_DATA_DETACHED : +{ +link->edge_context = 0; Review comment: should the corresponding endpoint_state->link be reset also? This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] kgiusti commented on a change in pull request #433: DISPATCH-1234 - Zero out the edge context on the link before the edge…
kgiusti commented on a change in pull request #433: DISPATCH-1234 - Zero out the edge context on the link before the edge… URL: https://github.com/apache/qpid-dispatch/pull/433#discussion_r245089130 ## File path: src/router_core/modules/edge_addr_tracking/edge_addr_tracking.c ## @@ -237,7 +243,9 @@ static void on_addr_event(void *context, qdrc_event_t event, qdr_address_t *addr if(inlink->link->edge_context != 0) { qdr_addr_endpoint_state_t *endpoint_state = (qdr_addr_endpoint_state_t *)inlink->link->edge_context; qdrc_endpoint_t *endpoint = endpoint_state->endpoint; -qdrc_send_message(addr_tracking->core, addr, endpoint, false); +assert(endpoint != (void *)0x); Review comment: nuke me This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] fgiorgetti opened a new pull request #434: DISPATCH-1232 - Improved mechanism to identify openssl version installed
fgiorgetti opened a new pull request #434: DISPATCH-1232 - Improved mechanism to identify openssl version installed URL: https://github.com/apache/qpid-dispatch/pull/434 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] asfgit closed pull request #426: DISPATCH-1225: fill freed memory with a pattern for debugging
asfgit closed pull request #426: DISPATCH-1225: fill freed memory with a pattern for debugging URL: https://github.com/apache/qpid-dispatch/pull/426 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/include/qpid/dispatch/alloc.h b/include/qpid/dispatch/alloc.h index 1f6a3c85..3ee45661 100644 --- a/include/qpid/dispatch/alloc.h +++ b/include/qpid/dispatch/alloc.h @@ -20,6 +20,19 @@ */ #include "config.h" +#include + + +#if !defined(NDEBUG) +#define QD_MEMORY_DEBUG 1 +// when debugging fill allocated/deallocated memory +// to catch uinitialized access or use after free +#define QD_MEMORY_FREE 0x99 +#define QD_MEMORY_INIT 0x11 +#define QD_MEMORY_FILL(P,C,S) do { if (P) { memset((P),(C),(S)); } } while (0) +#else +#define QD_MEMORY_FILL(P,C,S) +#endif #if USE_MEMORY_POOL #include "alloc_pool.h" diff --git a/include/qpid/dispatch/alloc_malloc.h b/include/qpid/dispatch/alloc_malloc.h index 3ba6cf34..12d683e0 100644 --- a/include/qpid/dispatch/alloc_malloc.h +++ b/include/qpid/dispatch/alloc_malloc.h @@ -20,6 +20,7 @@ */ #include +#include /** *@file @@ -32,9 +33,14 @@ T *new_##T(void); \ void free_##T(T *p) -#define ALLOC_DEFINE_CONFIG(T,S,A,C)\ -T *new_##T(void) { size_t *a = (A); return (T*) malloc((S)+ (a ? *a : 0)); } \ -void free_##T(T *p) { free(p); } \ +#define ALLOC_DEFINE_CONFIG(T,S,A,C)\ +T *new_##T(void) { size_t *a = (A); \ +T *p = malloc((S)+ (a ? *a : 0)); \ +QD_MEMORY_FILL(p, QD_MEMORY_INIT, (S) + (a ? *a : 0)); \ +return p; } \ +void free_##T(T *p) { size_t *a = (A); \ +QD_MEMORY_FILL(p, QD_MEMORY_FREE, (S) + (a ? *a : 0)); \ +free(p); } \ void *unused##T #define ALLOC_DEFINE(T) ALLOC_DEFINE_CONFIG(T, sizeof(T), 0, 0) diff --git a/src/alloc_pool.c b/src/alloc_pool.c index 170fd578..28e8da33 100644 --- a/src/alloc_pool.c +++ b/src/alloc_pool.c @@ -28,10 +28,6 @@ #include "entity_cache.h" #include "config.h" -#if !defined(NDEBUG) -#define QD_MEMORY_DEBUG 1 -#endif - const char *QD_ALLOCATOR_TYPE = "allocator"; typedef struct qd_alloc_type_t qd_alloc_type_t; @@ -149,6 +145,7 @@ void *qd_alloc(qd_alloc_type_desc_t *desc, qd_alloc_pool_t **tpool) item->desc = desc; item->header = PATTERN_FRONT; *((uint32_t*) ((char*) [1] + desc->total_size))= PATTERN_BACK; +QD_MEMORY_FILL([1], QD_MEMORY_INIT, desc->total_size); #endif return [1]; } @@ -202,6 +199,7 @@ void *qd_alloc(qd_alloc_type_desc_t *desc, qd_alloc_pool_t **tpool) item->desc = desc; item->header = PATTERN_FRONT; *((uint32_t*) ((char*) [1] + desc->total_size))= PATTERN_BACK; +QD_MEMORY_FILL([1], QD_MEMORY_INIT, desc->total_size); #endif return [1]; } @@ -224,6 +222,7 @@ void qd_dealloc(qd_alloc_type_desc_t *desc, qd_alloc_pool_t **tpool, char *p) assert (*((uint32_t*) (p + desc->total_size)) == PATTERN_BACK); assert (item->desc == desc); // Check for double-free item->desc = 0; +QD_MEMORY_FILL(p, QD_MEMORY_FREE, desc->total_size); #endif // This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] asfgit closed pull request #427: DISPATCH-1226: fix race during link detach handling
asfgit closed pull request #427: DISPATCH-1226: fix race during link detach handling URL: https://github.com/apache/qpid-dispatch/pull/427 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/src/router_core/connections.c b/src/router_core/connections.c index d6ced984..a528d261 100644 --- a/src/router_core/connections.c +++ b/src/router_core/connections.c @@ -32,7 +32,8 @@ static void qdr_connection_closed_CT(qdr_core_t *core, qdr_action_t *action, boo static void qdr_link_inbound_first_attach_CT(qdr_core_t *core, qdr_action_t *action, bool discard); static void qdr_link_inbound_second_attach_CT(qdr_core_t *core, qdr_action_t *action, bool discard); static void qdr_link_inbound_detach_CT(qdr_core_t *core, qdr_action_t *action, bool discard); -static void qdr_link_delete_CT(qdr_core_t *core, qdr_action_t *action, bool discard); +static void qdr_link_detach_sent_CT(qdr_core_t *core, qdr_action_t *action, bool discard); +static void qdr_link_detach_sent(qdr_link_t *link); ALLOC_DEFINE(qdr_connection_t); ALLOC_DEFINE(qdr_connection_work_t); @@ -215,7 +216,7 @@ int qdr_connection_process(qdr_connection_t *conn) qdr_link_ref_t *ref; qdr_link_t *link; -boolfree_link; +booldetach_sent; int event_count = 0; @@ -262,7 +263,7 @@ int qdr_connection_process(qdr_connection_t *conn) for (int priority = QDR_MAX_PRIORITY; priority >= 0; -- priority) { do { qdr_link_work_t *link_work; -free_link = false; +detach_sent = false; ref = DEQ_HEAD(links_with_work[priority]); if (ref) { @@ -323,12 +324,11 @@ int qdr_connection_process(qdr_connection_t *conn) break; case QDR_LINK_WORK_FIRST_DETACH : -core->detach_handler(core->user_context, link, link_work->error, true, link_work->close_link); -break; - case QDR_LINK_WORK_SECOND_DETACH : -core->detach_handler(core->user_context, link, link_work->error, false, link_work->close_link); -free_link = true; +core->detach_handler(core->user_context, link, link_work->error, + link_work->work_type == QDR_LINK_WORK_FIRST_DETACH, + link_work->close_link); +detach_sent = true; break; } @@ -350,10 +350,12 @@ int qdr_connection_process(qdr_connection_t *conn) event_count++; } -if (free_link) -qdr_link_delete(link); +if (detach_sent) { +// let the core thread know so it can clean up +qdr_link_detach_sent(link); +} } -} while (free_link || link); +} while (detach_sent || link); } return event_count; @@ -526,9 +528,11 @@ void qdr_link_detach(qdr_link_t *link, qd_detach_type_t dt, qdr_error_t *error) } -void qdr_link_delete(qdr_link_t *link) +/* let the core thread know that a dispatch has been sent by the I/O thread + */ +static void qdr_link_detach_sent(qdr_link_t *link) { -qdr_action_t *action = qdr_action(qdr_link_delete_CT, "link_delete"); +qdr_action_t *action = qdr_action(qdr_link_detach_sent_CT, "link_detach_sent"); action->args.connection.link = link; qdr_action_enqueue(link->core, action); @@ -909,9 +913,6 @@ void qdr_link_outbound_detach_CT(qdr_core_t *core, qdr_link_t *link, qdr_error_t qdr_link_work_t *work = new_qdr_link_work_t(); ZERO(work); work->work_type = ++link->detach_count == 1 ? QDR_LINK_WORK_FIRST_DETACH : QDR_LINK_WORK_SECOND_DETACH; -if (work->work_type == QDR_LINK_WORK_SECOND_DETACH) { -link->detach_received = true; -} work->close_link = close; if (error) @@ -1536,10 +1537,11 @@ static void qdr_link_inbound_detach_CT(qdr_core_t *core, qdr_action_t *action, b qd_detach_type_t dt= action->args.connection.dt; qdr_address_t*addr = link->owning_addr; -// -// Bump the detach count to track half and full detaches -// -link->detach_count++; +if (link->detach_received) +return; + +link->detach_received = true; +++link->detach_count; if (link->core_endpoint) { qdrc_endpoint_do_detach_CT(core, link->core_endpoint, error); @@ -1568,7 +1570,7 @@ static void qdr_link_inbound_detach_CT(qdr_core_t *core, qdr_action_t *action, b // // If the link is completely detached, release its resources
[GitHub] gemmellr opened a new pull request #428: DISPATCH-1115: make TravisCI job use a Proton release in addition to master
gemmellr opened a new pull request #428: DISPATCH-1115: make TravisCI job use a Proton release in addition to master URL: https://github.com/apache/qpid-dispatch/pull/428 There have been various cases that using only Proton master for CI caused Dispatch test failures, or lead to Dispatch master only working with proton master when this wasn't particularly desired at the time. This can cause wasted time when investigating test failures, and complicate release cycles / compatibility unnecessarily. This change swaps to getting Proton from a checkout rather than submodule, and makes the proton version an env variable forming a matrix of sub-jobs to test different versions, such as master and last release as currently used here. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] gemmellr commented on issue #428: DISPATCH-1115: make TravisCI job use a Proton release in addition to master
gemmellr commented on issue #428: DISPATCH-1115: make TravisCI job use a Proton release in addition to master URL: https://github.com/apache/qpid-dispatch/pull/428#issuecomment-448672524 Ignore this comment (but not the PR), testing integration again. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] gemmellr commented on issue #428: DISPATCH-1115: make TravisCI job use a Proton release in addition to master
gemmellr commented on issue #428: DISPATCH-1115: make TravisCI job use a Proton release in addition to master URL: https://github.com/apache/qpid-dispatch/pull/428#issuecomment-448666834 Ignore this comment (but not the PR), testing integration. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] kgiusti opened a new pull request #445: DISPATCH-1246: clean up core link endpoints on shutdown
kgiusti opened a new pull request #445: DISPATCH-1246: clean up core link endpoints on shutdown URL: https://github.com/apache/qpid-dispatch/pull/445 This patch makes the following changes: o) the do_cleanup callback is always invoked then the core link endpoint is released. The callback is normally called right after second detach occurs, but it can also be called when the link is freed without cleanly detaching. o) moved the module finalization after the cleanup of links and endpoints on router shutdown. This ensures that all core link endpoints used by the modules are cleaned up before the finalization occurs. o) if the link has been lost (e.g. connection closed) then the detach link endpoint callback will not be called. The do_cleanup callback will be called instead. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] Rahulbuk opened a new pull request #27: QPIDJMS-442 - Options to bind local address and port
Rahulbuk opened a new pull request #27: QPIDJMS-442 - Options to bind local address and port URL: https://github.com/apache/qpid-jms/pull/27 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] asfgit closed pull request #443: DISPATCH-1248: free autolink core timers on shutdown
asfgit closed pull request #443: DISPATCH-1248: free autolink core timers on shutdown URL: https://github.com/apache/qpid-dispatch/pull/443 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] asfgit closed pull request #440: DISPATCH-1243: modify unit test to only run qdrouterd under valgrind
asfgit closed pull request #440: DISPATCH-1243: modify unit test to only run qdrouterd under valgrind URL: https://github.com/apache/qpid-dispatch/pull/440 This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] ganeshmurthy commented on a change in pull request #439: DISPATCH-1214: remove shutdown leak reported by Valgrind
ganeshmurthy commented on a change in pull request #439: DISPATCH-1214: remove shutdown leak reported by Valgrind URL: https://github.com/apache/qpid-dispatch/pull/439#discussion_r249841944 ## File path: src/router_core/router_core.c ## @@ -173,6 +173,9 @@ void qdr_core_free(qdr_core_t *core) free(link->insert_prefix); free(link->strip_prefix); link->name = 0; +for (int i = 0; i < QDR_LINK_LIST_CLASSES; ++i) { +free_qdr_link_ref_t(link->ref[i]); Review comment: instead of calling free_qdr_link_ref_t is it worth calling bool qdr_del_link_ref(qdr_link_ref_list_t *ref_list, qdr_link_t *link, int cls) This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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] gemmellr commented on issue #27: QPIDJMS-442 - Options to bind local address and port
gemmellr commented on issue #27: QPIDJMS-442 - Options to bind local address and port URL: https://github.com/apache/qpid-jms/pull/27#issuecomment-458199926 Thanks for the PR. I have pushed a change based on it, with some modifications and more tests, feel free to give it a try out. This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org 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 opened a new pull request #479: Dispatch 1302
kgiusti opened a new pull request #479: Dispatch 1302 URL: https://github.com/apache/qpid-dispatch/pull/479 The "multicast" tests are not actually multicast for now - I'll merge more tests there once unsettled mcast is done. It happened to have a simple reproducer for the settlement race this patch addresses. 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] codecov-io commented on issue #479: Dispatch 1302
codecov-io commented on issue #479: Dispatch 1302 URL: https://github.com/apache/qpid-dispatch/pull/479#issuecomment-479124065 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/479?src=pr=h1) Report > Merging [#479](https://codecov.io/gh/apache/qpid-dispatch/pull/479?src=pr=desc) into [master](https://codecov.io/gh/apache/qpid-dispatch/commit/512449e3000466a744dd9a2aba35b5f819ea1bf4?src=pr=desc) will **increase** coverage by `0.01%`. > The diff coverage is `94.44%`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/479/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/479?src=pr=tree) ```diff @@Coverage Diff@@ ## master#479 +/- ## = + Coverage 86.88% 86.9% +0.01% = Files 85 85 Lines 19224 19215 -9 = - Hits16703 16699 -4 + Misses 25212516 -5 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/479?src=pr=tree) | Coverage Δ | | |---|---|---| | [src/message.c](https://codecov.io/gh/apache/qpid-dispatch/pull/479/diff?src=pr=tree#diff-c3JjL21lc3NhZ2UuYw==) | `88.42% <ø> (-0.02%)` | :arrow_down: | | [src/container.c](https://codecov.io/gh/apache/qpid-dispatch/pull/479/diff?src=pr=tree#diff-c3JjL2NvbnRhaW5lci5j) | `79.77% <100%> (ø)` | :arrow_up: | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/479/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `94.24% <100%> (-0.09%)` | :arrow_down: | | [src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/479/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=) | `91.4% <88.88%> (+0.33%)` | :arrow_up: | | [src/router\_core/modules/edge\_router/addr\_proxy.c](https://codecov.io/gh/apache/qpid-dispatch/pull/479/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvYWRkcl9wcm94eS5j) | `94.04% <0%> (-0.6%)` | :arrow_down: | | [src/router\_core/route\_tables.c](https://codecov.io/gh/apache/qpid-dispatch/pull/479/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlX3RhYmxlcy5j) | `76.67% <0%> (-0.25%)` | :arrow_down: | | [src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/479/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=) | `86.88% <0%> (-0.22%)` | :arrow_down: | | [src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/479/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=) | `94.76% <0%> (-0.12%)` | :arrow_down: | | [src/router\_core/agent\_link.c](https://codecov.io/gh/apache/qpid-dispatch/pull/479/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL2FnZW50X2xpbmsuYw==) | `67.52% <0%> (+0.51%)` | :arrow_up: | | ... and [2 more](https://codecov.io/gh/apache/qpid-dispatch/pull/479/diff?src=pr=tree-more) | | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/479?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/479?src=pr=footer). Last update [512449e...f2482b4](https://codecov.io/gh/apache/qpid-dispatch/pull/479?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
[GitHub] [qpid-dispatch] kgiusti opened a new pull request #474: NO-JIRA: prevent python system paths from leaking into the test envir…
kgiusti opened a new pull request #474: NO-JIRA: prevent python system paths from leaking into the test envir… URL: https://github.com/apache/qpid-dispatch/pull/474 …onment 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] asfgit closed pull request #22: QPID-8286: [Broker-J] Add operations into priority queue to change message priority
asfgit closed pull request #22: QPID-8286: [Broker-J] Add operations into priority queue to change message priority URL: https://github.com/apache/qpid-broker-j/pull/22 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 issue #474: NO-JIRA: prevent python system paths from leaking into the test envir…
kgiusti commented on issue #474: NO-JIRA: prevent python system paths from leaking into the test envir… URL: https://github.com/apache/qpid-dispatch/pull/474#issuecomment-475214388 Do Not Merge! Breaks the travis-ci build 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] asfgit closed pull request #473: DISPATCH-1297: Fix the outgoing buffer reference counting
asfgit closed pull request #473: DISPATCH-1297: Fix the outgoing buffer reference counting URL: https://github.com/apache/qpid-dispatch/pull/473 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] ChugR commented on issue #477: DISPATCH-1301 - Updated test test_18_management_not_implemented to wa…
ChugR commented on issue #477: DISPATCH-1301 - Updated test test_18_management_not_implemented to wa… URL: https://github.com/apache/qpid-dispatch/pull/477#issuecomment-476015524 This may get the test to pass but there has been a bad behavior change somewhere in the router. "on_sendable" now means "start a timer and when that expires then you can send". Is that the case? If so then that will break customer code as surely as it broke the self tests. 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] ted-ross commented on issue #477: DISPATCH-1301 - Updated test test_18_management_not_implemented to wa…
ted-ross commented on issue #477: DISPATCH-1301 - Updated test test_18_management_not_implemented to wa… URL: https://github.com/apache/qpid-dispatch/pull/477#issuecomment-476034872 Don’t use a timer. You can get the reply address in the on_link_opened event. There are many examples of this in the tests. 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] ganeshmurthy commented on issue #477: DISPATCH-1301 - Updated test test_18_management_not_implemented to wa…
ganeshmurthy commented on issue #477: DISPATCH-1301 - Updated test test_18_management_not_implemented to wa… URL: https://github.com/apache/qpid-dispatch/pull/477#issuecomment-476022892 Here is the output of the test failure when running the same test in v1.5.0 [gmurthy@localhost build]$ /usr/bin/python "/home/gmurthy/opensource/qpid-dispatch/build/tests/run.py" "-m" "unittest" "-v" "system_tests_one_router.OneRouterTest.test_18_management_not_implemented" test_18_management_not_implemented (system_tests_one_router.OneRouterTest) ... FAIL == FAIL: test_18_management_not_implemented (system_tests_one_router.OneRouterTest) -- Traceback (most recent call last): File "/home/gmurthy/opensource/qpid-dispatch/tests/system_tests_one_router.py", line 239, in test_18_management_not_implemented self.assertEqual(None, test.error) AssertionError: None != u'No response received for management request' -- Ran 1 test in 60.176s FAILED (failures=1) [gmurthy@localhost build]$ 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] ganeshmurthy commented on issue #477: DISPATCH-1301 - Updated test test_18_management_not_implemented to wa…
ganeshmurthy commented on issue #477: DISPATCH-1301 - Updated test test_18_management_not_implemented to wa… URL: https://github.com/apache/qpid-dispatch/pull/477#issuecomment-476186200 Closing this PR. Will be using on_link_opened as @ted-ross suggested. Will open a new PR with the changes. 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] ganeshmurthy closed pull request #477: DISPATCH-1301 - Updated test test_18_management_not_implemented to wa…
ganeshmurthy closed pull request #477: DISPATCH-1301 - Updated test test_18_management_not_implemented to wa… URL: https://github.com/apache/qpid-dispatch/pull/477 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] ganeshmurthy opened a new pull request #478: DISPATCH-1301 - Got the reply_to address from inside of on_link_opene…
ganeshmurthy opened a new pull request #478: DISPATCH-1301 - Got the reply_to address from inside of on_link_opene… URL: https://github.com/apache/qpid-dispatch/pull/478 …d. This prevents test failures due to prematurely getting the rely address 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] cliffjansen commented on issue #476: DISPATCH-1295 - Reduce lock contention and make fewer system calls.
cliffjansen commented on issue #476: DISPATCH-1295 - Reduce lock contention and make fewer system calls. URL: https://github.com/apache/qpid-dispatch/pull/476#issuecomment-476237398 Since this pull request builds on top of DISPATCH-1274, and that has been removed for the next release, I am closing this for now. Next steps TBD. 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] cliffjansen closed pull request #476: DISPATCH-1295 - Reduce lock contention and make fewer system calls.
cliffjansen closed pull request #476: DISPATCH-1295 - Reduce lock contention and make fewer system calls. URL: https://github.com/apache/qpid-dispatch/pull/476 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] cliffjansen opened a new pull request #476: DISPATCH-1295 - Reduce lock contention and make fewer system calls.
cliffjansen opened a new pull request #476: DISPATCH-1295 - Reduce lock contention and make fewer system calls. URL: https://github.com/apache/qpid-dispatch/pull/476 Flamegraphs show on a single quiver run that there is lock contention in setting timers. Locks are held across system calls and also cause thread stalls as seen in offcpu runs. This change restricts the main timer lock to updating internal data structures. A second lock is used to prevent setting timer values out of order. The main benefit is that immediate timer calls have much less contention with non-immediate timers. Using a standard quiver C client run of 9,000,000 message, which lasts about a minute, we get 19% of the offcpu related to qd_timer_schedule and qd_timer_visit. This drops to 0 with the change. Regular on-cpu profiling samples in qd_timer drop from 9.1% of samples to 0.2%. Samples in qd_immediate drop modestly from 0.6% to 0.5%. 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] codecov-io commented on issue #476: DISPATCH-1295 - Reduce lock contention and make fewer system calls.
codecov-io commented on issue #476: DISPATCH-1295 - Reduce lock contention and make fewer system calls. URL: https://github.com/apache/qpid-dispatch/pull/476#issuecomment-475874874 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/476?src=pr=h1) Report > Merging [#476](https://codecov.io/gh/apache/qpid-dispatch/pull/476?src=pr=desc) into [master](https://codecov.io/gh/apache/qpid-dispatch/commit/106ba6cdc174232302692a9d9dfa7714e7ce6497?src=pr=desc) will **increase** coverage by `0.12%`. > The diff coverage is `89.83%`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/476/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/476?src=pr=tree) ```diff @@Coverage Diff @@ ## master #476 +/- ## == + Coverage 86.97% 87.09% +0.12% == Files 86 86 Lines 1928119332 +51 == + Hits1677016838 +68 + Misses 2511 2494 -17 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/476?src=pr=tree) | Coverage Δ | | |---|---|---| | [src/immediate.c](https://codecov.io/gh/apache/qpid-dispatch/pull/476/diff?src=pr=tree#diff-c3JjL2ltbWVkaWF0ZS5j) | `81.15% <84.84%> (-16.28%)` | :arrow_down: | | [src/timer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/476/diff?src=pr=tree#diff-c3JjL3RpbWVyLmM=) | `94.4% <96.15%> (+0.16%)` | :arrow_up: | | [src/parse.c](https://codecov.io/gh/apache/qpid-dispatch/pull/476/diff?src=pr=tree#diff-c3JjL3BhcnNlLmM=) | `87.9% <0%> (-0.26%)` | :arrow_down: | | [src/container.c](https://codecov.io/gh/apache/qpid-dispatch/pull/476/diff?src=pr=tree#diff-c3JjL2NvbnRhaW5lci5j) | `79.77% <0%> (+0.18%)` | :arrow_up: | | [src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/476/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=) | `87.09% <0%> (+0.21%)` | :arrow_up: | | [src/router\_pynode.c](https://codecov.io/gh/apache/qpid-dispatch/pull/476/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9weW5vZGUuYw==) | `87.96% <0%> (+3.7%)` | :arrow_up: | | [src/router\_core/route\_tables.c](https://codecov.io/gh/apache/qpid-dispatch/pull/476/diff?src=pr=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlX3RhYmxlcy5j) | `81.88% <0%> (+5.21%)` | :arrow_up: | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/476?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/476?src=pr=footer). Last update [106ba6c...7765a6a](https://codecov.io/gh/apache/qpid-dispatch/pull/476?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
[GitHub] [qpid-dispatch] asfgit closed pull request #478: DISPATCH-1301 - Got the reply_to address from inside of on_link_opene…
asfgit closed pull request #478: DISPATCH-1301 - Got the reply_to address from inside of on_link_opene… URL: https://github.com/apache/qpid-dispatch/pull/478 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 opened a new pull request #480: NO-JIRA: update travis configuration
kgiusti opened a new pull request #480: NO-JIRA: update travis configuration URL: https://github.com/apache/qpid-dispatch/pull/480 - update proton to current release (0.27.0) - add a debug-enabled build environment - change the Coverage build to use stable proton - remove the distribution constraint 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] asfgit closed pull request #479: Dispatch 1302
asfgit closed pull request #479: Dispatch 1302 URL: https://github.com/apache/qpid-dispatch/pull/479 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] codecov-io commented on issue #480: NO-JIRA: update travis configuration
codecov-io commented on issue #480: NO-JIRA: update travis configuration URL: https://github.com/apache/qpid-dispatch/pull/480#issuecomment-479561691 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/480?src=pr=h1) Report > :exclamation: No coverage uploaded for pull request base (`master@2c81460`). [Click here to learn what that means](https://docs.codecov.io/docs/error-reference#section-missing-base-commit). > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/480/graphs/tree.svg?width=650=rk2Cgd27pP=150=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/480?src=pr=tree) ```diff @@Coverage Diff@@ ## master #480 +/- ## = Coverage ? 86.89% = Files ? 85 Lines ?19223 Branches ?0 = Hits ?16703 Misses? 2520 Partials ?0 ``` -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/480?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/480?src=pr=footer). Last update [2c81460...92e0481](https://codecov.io/gh/apache/qpid-dispatch/pull/480?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
[GitHub] [qpid-broker-j] overmeulen opened a new pull request #23: QPID-8294: [Broker-J][Oracle Message Store] Batch delete fails for mo…
overmeulen opened a new pull request #23: QPID-8294: [Broker-J][Oracle Message Store] Batch delete fails for mo… URL: https://github.com/apache/qpid-broker-j/pull/23 … 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] asfgit closed pull request #481: DISPATCH_1309 - Prevent crash seen with connection close from the console
asfgit closed pull request #481: DISPATCH_1309 - Prevent crash seen with connection close from the console URL: https://github.com/apache/qpid-dispatch/pull/481 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] alex-rufous commented on a change in pull request #23: QPID-8294: [Broker-J][Oracle Message Store] Batch delete fails for more than 1000 messages
alex-rufous commented on a change in pull request #23: QPID-8294: [Broker-J][Oracle Message Store] Batch delete fails for more than 1000 messages URL: https://github.com/apache/qpid-broker-j/pull/23#discussion_r272668667 ## File path: broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/AbstractJDBCMessageStore.java ## @@ -82,6 +82,8 @@ private static final String XID_TABLE_NAME_SUFFIX = "QPID_XIDS"; private static final String XID_ACTIONS_TABLE_NAME_SUFFIX = "QPID_XID_ACTIONS"; +private static final int MAX_DELETE_BATCH_SIZE = 1000; Review comment: I think it would be beneficial to set maximum delete batch size using JVM system variable in case if other RDBMS have a lower limit. Something like below `private static final int MAX_DELETE_BATCH_SIZE = Integer.getInteger("qpid.jdbcStoreMaxDeleteBatchSize",1000);` 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