[jira] [Commented] (DISPATCH-2271) Implement win32/threading.c
[ https://issues.apache.org/jira/browse/DISPATCH-2271?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439578#comment-17439578 ] ASF GitHub Bot commented on DISPATCH-2271: -- codecov-commenter edited a comment on pull request #1412: URL: https://github.com/apache/qpid-dispatch/pull/1412#issuecomment-955700671 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/1412?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) Report > Merging [#1412](https://codecov.io/gh/apache/qpid-dispatch/pull/1412?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (6c63c0b) into [main](https://codecov.io/gh/apache/qpid-dispatch/commit/f14a4b8d14f9c1280461ee43c306b0866f09535d?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (f14a4b8) will **decrease** coverage by `0.04%`. > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/graphs/tree.svg?width=650=150=pr=rk2Cgd27pP_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/qpid-dispatch/pull/1412?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) ```diff @@Coverage Diff @@ ## main#1412 +/- ## == - Coverage 84.78% 84.74% -0.05% == Files 116 116 Lines 2861328613 == - Hits2425924247 -12 - Misses 4354 4366 +12 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/1412?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) | Coverage Δ | | |---|---|---| | [src/adaptors/tcp\_adaptor.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL2FkYXB0b3JzL3RjcF9hZGFwdG9yLmM=) | `77.00% <0.00%> (-2.11%)` | :arrow_down: | | [src/router\_core/modules/mobile\_sync/mobile.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvbW9iaWxlX3N5bmMvbW9iaWxlLmM=) | `92.36% <0.00%> (-0.24%)` | :arrow_down: | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `93.45% <0.00%> (-0.20%)` | :arrow_down: | | [src/message.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL21lc3NhZ2UuYw==) | `87.35% <0.00%> (-0.14%)` | :arrow_down: | | [src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=) | `90.11% <0.00%> (+0.28%)` | :arrow_up: | | [src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=) | `93.95% <0.00%> (+0.43%)` | :arrow_up: | | [src/router\_core/modules/edge\_router/edge\_mgmt.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvZWRnZV9tZ210LmM=) | `85.14% <0.00%> (+0.99%)` | :arrow_up: | | [...router\_core/modules/edge\_router/link\_route\_proxy.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvbGlua19yb3V0ZV9wcm94eS5j) | `82.84% <0.00%> (+4.14%)` | :arrow_up: | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/1412?src=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation). > **Legend** - [Click here to learn
[GitHub] [qpid-dispatch] codecov-commenter edited a comment on pull request #1412: DISPATCH-2271 Implement win32/threading.c
codecov-commenter edited a comment on pull request #1412: URL: https://github.com/apache/qpid-dispatch/pull/1412#issuecomment-955700671 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/1412?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) Report > Merging [#1412](https://codecov.io/gh/apache/qpid-dispatch/pull/1412?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (6c63c0b) into [main](https://codecov.io/gh/apache/qpid-dispatch/commit/f14a4b8d14f9c1280461ee43c306b0866f09535d?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (f14a4b8) will **decrease** coverage by `0.04%`. > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/graphs/tree.svg?width=650=150=pr=rk2Cgd27pP_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/qpid-dispatch/pull/1412?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) ```diff @@Coverage Diff @@ ## main#1412 +/- ## == - Coverage 84.78% 84.74% -0.05% == Files 116 116 Lines 2861328613 == - Hits2425924247 -12 - Misses 4354 4366 +12 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/1412?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) | Coverage Δ | | |---|---|---| | [src/adaptors/tcp\_adaptor.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL2FkYXB0b3JzL3RjcF9hZGFwdG9yLmM=) | `77.00% <0.00%> (-2.11%)` | :arrow_down: | | [src/router\_core/modules/mobile\_sync/mobile.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvbW9iaWxlX3N5bmMvbW9iaWxlLmM=) | `92.36% <0.00%> (-0.24%)` | :arrow_down: | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `93.45% <0.00%> (-0.20%)` | :arrow_down: | | [src/message.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL21lc3NhZ2UuYw==) | `87.35% <0.00%> (-0.14%)` | :arrow_down: | | [src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=) | `90.11% <0.00%> (+0.28%)` | :arrow_up: | | [src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=) | `93.95% <0.00%> (+0.43%)` | :arrow_up: | | [src/router\_core/modules/edge\_router/edge\_mgmt.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvZWRnZV9tZ210LmM=) | `85.14% <0.00%> (+0.99%)` | :arrow_up: | | [...router\_core/modules/edge\_router/link\_route\_proxy.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1412/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvbGlua19yb3V0ZV9wcm94eS5j) | `82.84% <0.00%> (+4.14%)` | :arrow_up: | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/1412?src=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by
[GitHub] [qpid-dispatch] codecov-commenter commented on pull request #1428: NO-JIRA Set minimal required libwebsockets version to 3.0.1
codecov-commenter commented on pull request #1428: URL: https://github.com/apache/qpid-dispatch/pull/1428#issuecomment-962291041 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/1428?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) Report > Merging [#1428](https://codecov.io/gh/apache/qpid-dispatch/pull/1428?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (46a30b7) into [main](https://codecov.io/gh/apache/qpid-dispatch/commit/f14a4b8d14f9c1280461ee43c306b0866f09535d?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (f14a4b8) will **decrease** coverage by `0.04%`. > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/1428/graphs/tree.svg?width=650=150=pr=rk2Cgd27pP_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/qpid-dispatch/pull/1428?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) ```diff @@Coverage Diff @@ ## main#1428 +/- ## == - Coverage 84.78% 84.73% -0.05% == Files 116 116 Lines 2861328613 == - Hits2425924246 -13 - Misses 4354 4367 +13 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/1428?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) | Coverage Δ | | |---|---|---| | [src/adaptors/tcp\_adaptor.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1428/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL2FkYXB0b3JzL3RjcF9hZGFwdG9yLmM=) | `77.32% <0.00%> (-1.80%)` | :arrow_down: | | [src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1428/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=) | `89.44% <0.00%> (-0.39%)` | :arrow_down: | | [src/message.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1428/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL21lc3NhZ2UuYw==) | `87.21% <0.00%> (-0.28%)` | :arrow_down: | | [src/router\_core/modules/mobile\_sync/mobile.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1428/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvbW9iaWxlX3N5bmMvbW9iaWxlLmM=) | `92.36% <0.00%> (-0.24%)` | :arrow_down: | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1428/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `93.55% <0.00%> (-0.10%)` | :arrow_down: | | [src/router\_core/delivery.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1428/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL2RlbGl2ZXJ5LmM=) | `94.08% <0.00%> (+0.18%)` | :arrow_up: | | [src/parse.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1428/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3BhcnNlLmM=) | `88.18% <0.00%> (+0.21%)` | :arrow_up: | | [src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1428/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=) | `94.38% <0.00%> (+0.86%)` | :arrow_up: | | [src/router\_core/modules/edge\_router/edge\_mgmt.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1428/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvZWRnZV9tZ210LmM=) | `85.14% <0.00%> (+0.99%)` | :arrow_up: | | [...router\_core/modules/edge\_router/link\_route\_proxy.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1428/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvbGlua19yb3V0ZV9wcm94eS5j) | `82.84% <0.00%> (+4.14%)` | :arrow_up:
[jira] [Commented] (DISPATCH-2103) Log the actual HTTP websocket listener port when 0 was specified in config
[ https://issues.apache.org/jira/browse/DISPATCH-2103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439562#comment-17439562 ] ASF GitHub Bot commented on DISPATCH-2103: -- codecov-commenter commented on pull request #1425: URL: https://github.com/apache/qpid-dispatch/pull/1425#issuecomment-962281395 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/1425?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) Report > Merging [#1425](https://codecov.io/gh/apache/qpid-dispatch/pull/1425?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (6c0a590) into [main](https://codecov.io/gh/apache/qpid-dispatch/commit/f14a4b8d14f9c1280461ee43c306b0866f09535d?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (f14a4b8) will **decrease** coverage by `0.02%`. > The diff coverage is `100.00%`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/graphs/tree.svg?width=650=150=pr=rk2Cgd27pP_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/qpid-dispatch/pull/1425?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) ```diff @@Coverage Diff @@ ## main#1425 +/- ## == - Coverage 84.78% 84.75% -0.03% == Files 116 116 Lines 2861328613 == - Hits2425924252 -7 - Misses 4354 4361 +7 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/1425?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) | Coverage Δ | | |---|---|---| | [src/server.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3NlcnZlci5j) | `87.38% <100.00%> (+1.15%)` | :arrow_up: | | [src/adaptors/tcp\_adaptor.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL2FkYXB0b3JzL3RjcF9hZGFwdG9yLmM=) | `77.00% <0.00%> (-2.11%)` | :arrow_down: | | [src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=) | `86.09% <0.00%> (-0.95%)` | :arrow_down: | | [src/router\_core/delivery.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL2RlbGl2ZXJ5LmM=) | `93.34% <0.00%> (-0.56%)` | :arrow_down: | | [src/router\_core/modules/mobile\_sync/mobile.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvbW9iaWxlX3N5bmMvbW9iaWxlLmM=) | `92.36% <0.00%> (-0.24%)` | :arrow_down: | | [src/message.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL21lc3NhZ2UuYw==) | `87.35% <0.00%> (-0.14%)` | :arrow_down: | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `93.65% <0.00%> (ø)` | | | [src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=) | `89.92% <0.00%> (+0.09%)` | :arrow_up: | | [src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=) | `94.38% <0.00%> (+0.86%)` | :arrow_up: | |
[GitHub] [qpid-dispatch] codecov-commenter commented on pull request #1425: DISPATCH-2103 Log actual HTTP listener port number when 0 is configured
codecov-commenter commented on pull request #1425: URL: https://github.com/apache/qpid-dispatch/pull/1425#issuecomment-962281395 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/1425?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) Report > Merging [#1425](https://codecov.io/gh/apache/qpid-dispatch/pull/1425?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (6c0a590) into [main](https://codecov.io/gh/apache/qpid-dispatch/commit/f14a4b8d14f9c1280461ee43c306b0866f09535d?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (f14a4b8) will **decrease** coverage by `0.02%`. > The diff coverage is `100.00%`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/graphs/tree.svg?width=650=150=pr=rk2Cgd27pP_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/qpid-dispatch/pull/1425?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) ```diff @@Coverage Diff @@ ## main#1425 +/- ## == - Coverage 84.78% 84.75% -0.03% == Files 116 116 Lines 2861328613 == - Hits2425924252 -7 - Misses 4354 4361 +7 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/1425?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) | Coverage Δ | | |---|---|---| | [src/server.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3NlcnZlci5j) | `87.38% <100.00%> (+1.15%)` | :arrow_up: | | [src/adaptors/tcp\_adaptor.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL2FkYXB0b3JzL3RjcF9hZGFwdG9yLmM=) | `77.00% <0.00%> (-2.11%)` | :arrow_down: | | [src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=) | `86.09% <0.00%> (-0.95%)` | :arrow_down: | | [src/router\_core/delivery.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL2RlbGl2ZXJ5LmM=) | `93.34% <0.00%> (-0.56%)` | :arrow_down: | | [src/router\_core/modules/mobile\_sync/mobile.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvbW9iaWxlX3N5bmMvbW9iaWxlLmM=) | `92.36% <0.00%> (-0.24%)` | :arrow_down: | | [src/message.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL21lc3NhZ2UuYw==) | `87.35% <0.00%> (-0.14%)` | :arrow_down: | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `93.65% <0.00%> (ø)` | | | [src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=) | `89.92% <0.00%> (+0.09%)` | :arrow_up: | | [src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=) | `94.38% <0.00%> (+0.86%)` | :arrow_up: | | [src/router\_core/modules/edge\_router/edge\_mgmt.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1425/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvZWRnZV9tZ210LmM=) | `85.14% <0.00%> (+0.99%)` | :arrow_up: | | ... and [3
[GitHub] [qpid-dispatch] codecov-commenter commented on pull request #1427: NO-JIRA Update GHA to Fedora 35; Add Python 3.10 tox profile
codecov-commenter commented on pull request #1427: URL: https://github.com/apache/qpid-dispatch/pull/1427#issuecomment-962230518 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/1427?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) Report > Merging [#1427](https://codecov.io/gh/apache/qpid-dispatch/pull/1427?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (04d0ca6) into [main](https://codecov.io/gh/apache/qpid-dispatch/commit/df03efbacd97ea44ec8d636d10d0065cbccc4611?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (df03efb) will **increase** coverage by `0.00%`. > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/1427/graphs/tree.svg?width=650=150=pr=rk2Cgd27pP_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/qpid-dispatch/pull/1427?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) ```diff @@ Coverage Diff @@ ## main#1427 +/- ## === Coverage 84.67% 84.68% === Files 116 116 Lines 2859428612 +18 === + Hits2421324230 +17 - Misses 4381 4382+1 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/1427?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) | Coverage Δ | | |---|---|---| | [src/router\_core/forwarder.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1427/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL2ZvcndhcmRlci5j) | `93.06% <0.00%> (-0.40%)` | :arrow_down: | | [src/message.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1427/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL21lc3NhZ2UuYw==) | `87.34% <0.00%> (-0.15%)` | :arrow_down: | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1427/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `93.45% <0.00%> (-0.10%)` | :arrow_down: | | [src/router\_core/delivery.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1427/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL2RlbGl2ZXJ5LmM=) | `93.34% <0.00%> (ø)` | | | [src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1427/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=) | `93.95% <0.00%> (ø)` | | | [src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1427/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=) | `87.04% <0.00%> (+0.04%)` | :arrow_up: | | [src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1427/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=) | `89.15% <0.00%> (+0.08%)` | :arrow_up: | | [src/adaptors/http1/http1\_server.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1427/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL2FkYXB0b3JzL2h0dHAxL2h0dHAxX3NlcnZlci5j) | `86.01% <0.00%> (+0.27%)` | :arrow_up: | | [src/adaptors/tcp\_adaptor.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1427/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL2FkYXB0b3JzL3RjcF9hZGFwdG9yLmM=) | `77.53% <0.00%> (+0.31%)` | :arrow_up: | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/1427?src=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) > `Δ = absolute
[GitHub] [qpid-dispatch] codecov-commenter commented on pull request #1426: NO-JIRA Update Clang versions in Travis CI; remove workarounds
codecov-commenter commented on pull request #1426: URL: https://github.com/apache/qpid-dispatch/pull/1426#issuecomment-962226053 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/1426?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) Report > Merging [#1426](https://codecov.io/gh/apache/qpid-dispatch/pull/1426?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (7fa332e) into [main](https://codecov.io/gh/apache/qpid-dispatch/commit/df03efbacd97ea44ec8d636d10d0065cbccc4611?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) (df03efb) will **increase** coverage by `0.01%`. > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/1426/graphs/tree.svg?width=650=150=pr=rk2Cgd27pP_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/qpid-dispatch/pull/1426?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) ```diff @@Coverage Diff @@ ## main#1426 +/- ## == + Coverage 84.67% 84.69% +0.01% == Files 116 116 Lines 2859428594 == + Hits2421324217 +4 + Misses 4381 4377 -4 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/1426?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation) | Coverage Δ | | |---|---|---| | [src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1426/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=) | `85.57% <0.00%> (-1.43%)` | :arrow_down: | | [src/router\_core/forwarder.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1426/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL2ZvcndhcmRlci5j) | `93.06% <0.00%> (-0.40%)` | :arrow_down: | | [src/message.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1426/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL21lc3NhZ2UuYw==) | `87.35% <0.00%> (-0.14%)` | :arrow_down: | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1426/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `93.45% <0.00%> (-0.10%)` | :arrow_down: | | [src/adaptors/tcp\_adaptor.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1426/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL2FkYXB0b3JzL3RjcF9hZGFwdG9yLmM=) | `77.32% <0.00%> (+0.10%)` | :arrow_up: | | [src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1426/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=) | `94.38% <0.00%> (+0.43%)` | :arrow_up: | | [src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1426/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=) | `89.75% <0.00%> (+0.68%)` | :arrow_up: | | [src/router\_core/modules/edge\_router/edge\_mgmt.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1426/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvZWRnZV9tZ210LmM=) | `85.14% <0.00%> (+0.99%)` | :arrow_up: | | [...router\_core/modules/edge\_router/link\_route\_proxy.c](https://codecov.io/gh/apache/qpid-dispatch/pull/1426/diff?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvbGlua19yb3V0ZV9wcm94eS5j) | `82.84% <0.00%> (+4.14%)` | :arrow_up: | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/1426?src=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=The+Apache+Software+Foundation). > **Legend** - [Click here to learn
[jira] [Commented] (DISPATCH-2226) Fix system_tests_topology_disposition.test_02_topology_disposition (flakey)
[ https://issues.apache.org/jira/browse/DISPATCH-2226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439507#comment-17439507 ] ASF GitHub Bot commented on DISPATCH-2226: -- asfgit merged pull request #1424: URL: https://github.com/apache/qpid-dispatch/pull/1424 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Fix system_tests_topology_disposition.test_02_topology_disposition (flakey) > --- > > Key: DISPATCH-2226 > URL: https://issues.apache.org/jira/browse/DISPATCH-2226 > Project: Qpid Dispatch > Issue Type: Test > Components: Tests >Affects Versions: 1.16.1 >Reporter: Ken Giusti >Assignee: Ganesh Murthy >Priority: Major > Fix For: 1.18.0 > > > This test times out. IIUC it needs to wait until all the router-side sending > links have capacity before starting the test. If possible it should be > simplified. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] asfgit merged pull request #1424: DISPATCH-2226: Added more logging to see where the test stalls
asfgit merged pull request #1424: URL: https://github.com/apache/qpid-dispatch/pull/1424 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] jiridanek commented on pull request #1427: NO-JIRA Update GHA to Fedora 35; Add Python 3.10 tox profile
jiridanek commented on pull request #1427: URL: https://github.com/apache/qpid-dispatch/pull/1427#issuecomment-962192872 TSAN is known issue, https://bugzilla.redhat.com/show_bug.cgi?id=1992727 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-2274) system_tests_router_mesh: ERROR: AddressSanitizer: use-after-poison in qd_link_pn container.c:1029
[ https://issues.apache.org/jira/browse/DISPATCH-2274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439505#comment-17439505 ] ASF GitHub Bot commented on DISPATCH-2274: -- asfgit merged pull request #1421: URL: https://github.com/apache/qpid-dispatch/pull/1421 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > system_tests_router_mesh: ERROR: AddressSanitizer: use-after-poison in > qd_link_pn container.c:1029 > -- > > Key: DISPATCH-2274 > URL: https://issues.apache.org/jira/browse/DISPATCH-2274 > Project: Qpid Dispatch > Issue Type: Bug >Affects Versions: 1.18.0 > Environment: Aarch64 Linux, amd64 macOS >Reporter: Jiri Daněk >Assignee: Ganesh Murthy >Priority: Major > Fix For: 1.18.0 > > > https://app.travis-ci.com/github/apache/qpid-dispatch/jobs/545969177 > {noformat} > 66: Create 10 senders each with a different priority. ... ERROR > 66: ERROR > 66: > 66: Router RouterC output file: > 66: > 66: = > 66: ==21601==ERROR: AddressSanitizer: use-after-poison on address > 0x6137d828 at pc 0x0001064a6469 bp 0x7843bca0 sp 0x7843bc98 > 66: READ of size 8 at 0x6137d828 thread T4 > 66: #0 0x1064a6468 in qd_link_pn container.c:1029 > 66: #1 0x1066d0e37 in CORE_link_push router_node.c:1920 > 66: #2 0x106576df6 in qdr_connection_process connections.c:414 > 66: #3 0x1064956ce in writable_handler container.c:396 > 66: #4 0x1066edb36 in thread_run server.c:1149 > 66: #5 0x7fff5fa152ea in _pthread_body > (libsystem_pthread.dylib:x86_64+0x32ea) > 66: #6 0x7fff5fa18248 in _pthread_start > (libsystem_pthread.dylib:x86_64+0x6248) > 66: #7 0x7fff5fa1440c in thread_start > (libsystem_pthread.dylib:x86_64+0x240c) > 66: > 66: 0x6137d828 is located 168 bytes inside of 320-byte region > [0x6137d780,0x6137d8c0) > 66: allocated by thread T4 here: > 66: #0 0x106f823a7 in wrap_posix_memalign > (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x5f3a7) > 66: #1 0x1064555df in qd_alloc alloc_pool.c:396 > 66: #2 0x10649691a in qd_container_handle_event container.c:75 > 66: #3 0x1066f4366 in handle server.c:1108 > 66: #4 0x1066eda23 in thread_run server.c:1133 > 66: #5 0x7fff5fa152ea in _pthread_body > (libsystem_pthread.dylib:x86_64+0x32ea) > 66: #6 0x7fff5fa18248 in _pthread_start > (libsystem_pthread.dylib:x86_64+0x6248) > 66: #7 0x7fff5fa1440c in thread_start > (libsystem_pthread.dylib:x86_64+0x240c) > 66: > 66: Thread T4 created by T0 here: > 66: #0 0x106f79add in wrap_pthread_create > (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x56add) > 66: #1 0x106535a6d in sys_thread threading.c:181 > 66: #2 0x1066ed1af in qd_server_run server.c:1525 > 66: #3 0x1063b081e in main_process main.c:115 > 66: #4 0x1063af12b in main main.c:369 > 66: #5 0x7fff5f8213d4 in start (libdyld.dylib:x86_64+0x163d4) > 66: > 66: SUMMARY: AddressSanitizer: use-after-poison container.c:1029 in qd_link_pn > 66: Shadow bytes around the buggy address: > 66: 0x1c26fab0: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 > 66: 0x1c26fac0: 00 00 00 00 00 00 00 00 00 00 f7 f7 f7 f7 f7 f7 > 66: 0x1c26fad0: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 00 00 00 00 > 66: 0x1c26fae0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa > 66: 0x1c26faf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 66: =>0x1c26fb00: 00 00 f7 f7 f7[f7]f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 > 66: 0x1c26fb10: f7 f7 f7 f7 00 00 00 00 fa fa fa fa fa fa fa fa > 66: 0x1c26fb20: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 > 66: 0x1c26fb30: 00 00 00 00 00 00 00 00 00 00 f7 f7 f7 f7 f7 f7 > 66: 0x1c26fb40: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 00 00 00 00 > 66: 0x1c26fb50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa > 66: Shadow byte legend (one shadow byte represents 8 application bytes): > 66: Addressable: 00 > 66: Partially addressable: 01 02 03 04 05 06 07 > 66: Heap left redzone: fa > 66: Freed heap region: fd > 66: Stack left redzone: f1 > 66: Stack mid redzone: f2 > 66: Stack right redzone: f3 > 66: Stack after return: f5 > 66: Stack use after scope: f8 > 66: Global redzone: f9 > 66: Global init order: f6 > 66: Poisoned by user:f7 > 66: Container overflow: fc > 66: Array cookie:ac > 66: Intra object
[GitHub] [qpid-dispatch] asfgit merged pull request #1421: DISPATCH-2274: Fix use after free of qd_link_t by using safe pointer …
asfgit merged pull request #1421: URL: https://github.com/apache/qpid-dispatch/pull/1421 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPIDJMS-552) JMS 2 Completion threads shouldn't scale with the number of sessions
[ https://issues.apache.org/jira/browse/QPIDJMS-552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439504#comment-17439504 ] ASF GitHub Bot commented on QPIDJMS-552: franz1981 commented on a change in pull request #44: URL: https://github.com/apache/qpid-jms/pull/44#discussion_r743939643 ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -591,6 +613,14 @@ public long getConnectTimeout() { return this.connectTimeout; } +public void setCompletionThreads(final int completionThreads) { Review comment: > EDIT: actually, is it? I'm not seeing where it would actually share? The completion factory create a singleton instance of `sharedRefCnt` of `ForkJoinPool` that allows sharing the same FJ pool unless every connection that reference it, got closed. If that happen, the last one would dispose it, leaving incoming connections (if any) able to create a new one, similarly to the shared event loop group of #45 ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -591,6 +613,14 @@ public long getConnectTimeout() { return this.connectTimeout; } +public void setCompletionThreads(final int completionThreads) { Review comment: > EDIT: actually, is it? I'm not seeing where it would actually share? The completion factory create a singleton instance of `sharedRefCnt` of `ForkJoinPool` that allows sharing the same FJ pool unless every connection that reference it get closed. If that happen, the last one would dispose it, leaving incoming connections (if any) able to create a new one, similarly to the shared event loop group of #45 ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -368,6 +377,19 @@ protected static URI createURI(String name) { return null; } +protected Supplier> getCompletionExecutorServiceFactory() { +if (this.completionThreads == 0) { +return null; +} +synchronized (this) { +if (completionExecutorServiceFactory == null) { +QpidJMSForkJoinWorkerThreadFactory fjThreadFactory = new QpidJMSForkJoinWorkerThreadFactory("completion thread pool", true); +completionExecutorServiceFactory = sharedRefCnt(() -> new ForkJoinPool(completionThreads, fjThreadFactory, null, false), ThreadPoolUtils::shutdown); Review comment: > I assume thats to try and avoid creating it? Given that we cannot rely on finalization of connection factory, I cannot pre-allocate it if there are no actual "users" ie connections. And I would like it to be correctly disposed and shutdown while every connection belonging to the connction factory got closed. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java ## @@ -194,6 +198,48 @@ public void onPendingFailure(ProviderException cause) { } } +private void processCompletions() { +assert processCompletion.get(); +completionThread = Thread.currentThread(); +try { +final Runnable completionTask = completionTasks.poll(); +if (completionTask != null) { +try { +completionTask.run(); +} catch (Throwable t) { +LOG.debug("errored on processCompletions duty cycle", t); +} +} +} finally { +completionThread = null; +processCompletion.set(false); +} +if (completionTasks.isEmpty()) { +return; +} +// a racing asyncProcessCompletion has won: no need to fire a continuation +if (!processCompletion.compareAndSet(false, true)) { +return; +} +getCompletionExecutor().execute(this::processCompletions); +} + +private void asyncProcessCompletion(final Runnable completionTask) { +asyncProcessCompletion(completionTask, false); +} + +private void asyncProcessCompletion(final Runnable completionTask, final boolean ignoreSessionClosed) { +if (!ignoreSessionClosed) { Review comment: I can let them to pass, but this one was to mimic the original reject handler installed for the completion single threaded executor: I admit I didn't put much thoughts on this to validate if it can be saved ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -591,6 +613,14 @@ public long getConnectTimeout() { return this.connectTimeout; } +public void setCompletionThreads(final int completionThreads) { Review comment: > EDIT: actually, is it? I'm not seeing where it would actually share? The completion factory create a singleton
[GitHub] [qpid-jms] franz1981 commented on a change in pull request #44: QPIDJMS-552 JMS 2 Completion threads shouldn't scale with the number of sessions
franz1981 commented on a change in pull request #44: URL: https://github.com/apache/qpid-jms/pull/44#discussion_r743939643 ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -591,6 +613,14 @@ public long getConnectTimeout() { return this.connectTimeout; } +public void setCompletionThreads(final int completionThreads) { Review comment: > EDIT: actually, is it? I'm not seeing where it would actually share? The completion factory create a singleton instance of `sharedRefCnt` of `ForkJoinPool` that allows sharing the same FJ pool unless every connection that reference it, got closed. If that happen, the last one would dispose it, leaving incoming connections (if any) able to create a new one, similarly to the shared event loop group of #45 ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -591,6 +613,14 @@ public long getConnectTimeout() { return this.connectTimeout; } +public void setCompletionThreads(final int completionThreads) { Review comment: > EDIT: actually, is it? I'm not seeing where it would actually share? The completion factory create a singleton instance of `sharedRefCnt` of `ForkJoinPool` that allows sharing the same FJ pool unless every connection that reference it get closed. If that happen, the last one would dispose it, leaving incoming connections (if any) able to create a new one, similarly to the shared event loop group of #45 ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -368,6 +377,19 @@ protected static URI createURI(String name) { return null; } +protected Supplier> getCompletionExecutorServiceFactory() { +if (this.completionThreads == 0) { +return null; +} +synchronized (this) { +if (completionExecutorServiceFactory == null) { +QpidJMSForkJoinWorkerThreadFactory fjThreadFactory = new QpidJMSForkJoinWorkerThreadFactory("completion thread pool", true); +completionExecutorServiceFactory = sharedRefCnt(() -> new ForkJoinPool(completionThreads, fjThreadFactory, null, false), ThreadPoolUtils::shutdown); Review comment: > I assume thats to try and avoid creating it? Given that we cannot rely on finalization of connection factory, I cannot pre-allocate it if there are no actual "users" ie connections. And I would like it to be correctly disposed and shutdown while every connection belonging to the connction factory got closed. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java ## @@ -194,6 +198,48 @@ public void onPendingFailure(ProviderException cause) { } } +private void processCompletions() { +assert processCompletion.get(); +completionThread = Thread.currentThread(); +try { +final Runnable completionTask = completionTasks.poll(); +if (completionTask != null) { +try { +completionTask.run(); +} catch (Throwable t) { +LOG.debug("errored on processCompletions duty cycle", t); +} +} +} finally { +completionThread = null; +processCompletion.set(false); +} +if (completionTasks.isEmpty()) { +return; +} +// a racing asyncProcessCompletion has won: no need to fire a continuation +if (!processCompletion.compareAndSet(false, true)) { +return; +} +getCompletionExecutor().execute(this::processCompletions); +} + +private void asyncProcessCompletion(final Runnable completionTask) { +asyncProcessCompletion(completionTask, false); +} + +private void asyncProcessCompletion(final Runnable completionTask, final boolean ignoreSessionClosed) { +if (!ignoreSessionClosed) { Review comment: I can let them to pass, but this one was to mimic the original reject handler installed for the completion single threaded executor: I admit I didn't put much thoughts on this to validate if it can be saved ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -591,6 +613,14 @@ public long getConnectTimeout() { return this.connectTimeout; } +public void setCompletionThreads(final int completionThreads) { Review comment: > EDIT: actually, is it? I'm not seeing where it would actually share? The completion factory create a singleton instance of `sharedRefCnt` of `ForkJoinPool` that allows sharing the same FJ pool unless every connection that reference it, got closed. If that happen, the last one would dispose it, leaving incoming connections (if any) able to create a new
[GitHub] [qpid-dispatch] asfgit closed pull request #1422: NO-JIRA: bump proton stable release to 0.36.0 in CI
asfgit closed pull request #1422: URL: https://github.com/apache/qpid-dispatch/pull/1422 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-2266) system_tests_edge_router stalls on Travis CI
[ https://issues.apache.org/jira/browse/DISPATCH-2266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439495#comment-17439495 ] ASF subversion and git services commented on DISPATCH-2266: --- Commit f14a4b8d14f9c1280461ee43c306b0866f09535d in qpid-dispatch's branch refs/heads/main from Ganesh Murthy [ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=f14a4b8 ] DISPATCH-2266: Added more logging to see where the test stalls > system_tests_edge_router stalls on Travis CI > > > Key: DISPATCH-2266 > URL: https://issues.apache.org/jira/browse/DISPATCH-2266 > Project: Qpid Dispatch > Issue Type: Test > Components: Tests >Affects Versions: 1.17.0 >Reporter: Ganesh Murthy >Assignee: Ganesh Murthy >Priority: Major > > The system_tests_edge_router stalls on Travis CI intermittently > {noformat} > 55: test_50_link_topology (system_tests_edge_router.LinkRouteProxyTest) ... ok > No output has been received in the last 10m0s, this potentially indicates a > stalled build or something wrong with the build itself. > Check the details on how to adjust your build configuration on: > https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received > The build has been terminated > {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-8565) [Broker-J] Enhancement of ACL rule predicates evaluation
[ https://issues.apache.org/jira/browse/QPID-8565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439486#comment-17439486 ] ASF GitHub Bot commented on QPID-8565: -- mklaca commented on a change in pull request #113: URL: https://github.com/apache/qpid-broker-j/pull/113#discussion_r743745075 ## File path: broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java ## @@ -123,6 +123,16 @@ else if (property == Property.ATTRIBUTES) { _attributeNames.addAll(splitToSet(value)); } +else if (property == Property.CONNECTION_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_limit' has been deprecated"); Review comment: I changed the message to be precise. ## File path: broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java ## @@ -123,6 +123,16 @@ else if (property == Property.ATTRIBUTES) { _attributeNames.addAll(splitToSet(value)); } +else if (property == Property.CONNECTION_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_limit' has been deprecated"); +return false; +} +else if (property == Property.CONNECTION_FREQUENCY_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_frequency_limit' has been deprecated"); Review comment: I changed the message to be precise. -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > [Broker-J] Enhancement of ACL rule predicates evaluation > > > Key: QPID-8565 > URL: https://issues.apache.org/jira/browse/QPID-8565 > Project: Qpid > Issue Type: Improvement > Components: Broker-J >Reporter: Marek Laca >Priority: Minor > Labels: Broker, Java > > The access control plugin checks the rights of the user to perform an action > on the broker's component. The access control plugin iterates through the ACL > rules and checks their predicates. The user action is denied or allowed based > on the test result. > The aim of this task are refactoring of the code that is required for the > [QPID-8487|https://issues.apache.org/jira/browse/QPID-8487] and > [QPID-8488|https://issues.apache.org/jira/browse/QPID-8488], improving the > test of the ACL rule predicates and removing useless classes. Changes should > not have any impact on the functionality of the access control plugin. > The ObjectProperties class has two responsibilities, it holds the rule > predicates and also the objects properties that are checked. The > responsibilities of ObjectProperties class should be split because the code > should honor the principle of one responsibility per class. > The Rule class is treated as immutable but the immutability is not enforce by > the code. > The Action, AclAction and ClientAction classes are only data holders that > don't have any real responsibility. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-broker-j] mklaca commented on a change in pull request #113: QPID-8565: [Broker-J] Enhancement of ACL rule predicates evaluation
mklaca commented on a change in pull request #113: URL: https://github.com/apache/qpid-broker-j/pull/113#discussion_r743745075 ## File path: broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java ## @@ -123,6 +123,16 @@ else if (property == Property.ATTRIBUTES) { _attributeNames.addAll(splitToSet(value)); } +else if (property == Property.CONNECTION_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_limit' has been deprecated"); Review comment: I changed the message to be precise. ## File path: broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java ## @@ -123,6 +123,16 @@ else if (property == Property.ATTRIBUTES) { _attributeNames.addAll(splitToSet(value)); } +else if (property == Property.CONNECTION_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_limit' has been deprecated"); +return false; +} +else if (property == Property.CONNECTION_FREQUENCY_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_frequency_limit' has been deprecated"); Review comment: I changed the message to be precise. -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] jiridanek commented on pull request #1419: NO MERGE, Trying to run Travis
jiridanek commented on pull request #1419: URL: https://github.com/apache/qpid-dispatch/pull/1419#issuecomment-962126583 Information provided on https://issues.apache.org/jira/browse/DISPATCH-2274 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-2274) system_tests_router_mesh: ERROR: AddressSanitizer: use-after-poison in qd_link_pn container.c:1029
[ https://issues.apache.org/jira/browse/DISPATCH-2274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439481#comment-17439481 ] ASF GitHub Bot commented on DISPATCH-2274: -- ganeshmurthy opened a new pull request #1421: URL: https://github.com/apache/qpid-dispatch/pull/1421 …as context -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > system_tests_router_mesh: ERROR: AddressSanitizer: use-after-poison in > qd_link_pn container.c:1029 > -- > > Key: DISPATCH-2274 > URL: https://issues.apache.org/jira/browse/DISPATCH-2274 > Project: Qpid Dispatch > Issue Type: Bug >Affects Versions: 1.18.0 > Environment: Aarch64 Linux, amd64 macOS >Reporter: Jiri Daněk >Assignee: Ganesh Murthy >Priority: Major > Fix For: 1.18.0 > > > https://app.travis-ci.com/github/apache/qpid-dispatch/jobs/545969177 > {noformat} > 66: Create 10 senders each with a different priority. ... ERROR > 66: ERROR > 66: > 66: Router RouterC output file: > 66: > 66: = > 66: ==21601==ERROR: AddressSanitizer: use-after-poison on address > 0x6137d828 at pc 0x0001064a6469 bp 0x7843bca0 sp 0x7843bc98 > 66: READ of size 8 at 0x6137d828 thread T4 > 66: #0 0x1064a6468 in qd_link_pn container.c:1029 > 66: #1 0x1066d0e37 in CORE_link_push router_node.c:1920 > 66: #2 0x106576df6 in qdr_connection_process connections.c:414 > 66: #3 0x1064956ce in writable_handler container.c:396 > 66: #4 0x1066edb36 in thread_run server.c:1149 > 66: #5 0x7fff5fa152ea in _pthread_body > (libsystem_pthread.dylib:x86_64+0x32ea) > 66: #6 0x7fff5fa18248 in _pthread_start > (libsystem_pthread.dylib:x86_64+0x6248) > 66: #7 0x7fff5fa1440c in thread_start > (libsystem_pthread.dylib:x86_64+0x240c) > 66: > 66: 0x6137d828 is located 168 bytes inside of 320-byte region > [0x6137d780,0x6137d8c0) > 66: allocated by thread T4 here: > 66: #0 0x106f823a7 in wrap_posix_memalign > (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x5f3a7) > 66: #1 0x1064555df in qd_alloc alloc_pool.c:396 > 66: #2 0x10649691a in qd_container_handle_event container.c:75 > 66: #3 0x1066f4366 in handle server.c:1108 > 66: #4 0x1066eda23 in thread_run server.c:1133 > 66: #5 0x7fff5fa152ea in _pthread_body > (libsystem_pthread.dylib:x86_64+0x32ea) > 66: #6 0x7fff5fa18248 in _pthread_start > (libsystem_pthread.dylib:x86_64+0x6248) > 66: #7 0x7fff5fa1440c in thread_start > (libsystem_pthread.dylib:x86_64+0x240c) > 66: > 66: Thread T4 created by T0 here: > 66: #0 0x106f79add in wrap_pthread_create > (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x56add) > 66: #1 0x106535a6d in sys_thread threading.c:181 > 66: #2 0x1066ed1af in qd_server_run server.c:1525 > 66: #3 0x1063b081e in main_process main.c:115 > 66: #4 0x1063af12b in main main.c:369 > 66: #5 0x7fff5f8213d4 in start (libdyld.dylib:x86_64+0x163d4) > 66: > 66: SUMMARY: AddressSanitizer: use-after-poison container.c:1029 in qd_link_pn > 66: Shadow bytes around the buggy address: > 66: 0x1c26fab0: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 > 66: 0x1c26fac0: 00 00 00 00 00 00 00 00 00 00 f7 f7 f7 f7 f7 f7 > 66: 0x1c26fad0: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 00 00 00 00 > 66: 0x1c26fae0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa > 66: 0x1c26faf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 66: =>0x1c26fb00: 00 00 f7 f7 f7[f7]f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 > 66: 0x1c26fb10: f7 f7 f7 f7 00 00 00 00 fa fa fa fa fa fa fa fa > 66: 0x1c26fb20: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 > 66: 0x1c26fb30: 00 00 00 00 00 00 00 00 00 00 f7 f7 f7 f7 f7 f7 > 66: 0x1c26fb40: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 00 00 00 00 > 66: 0x1c26fb50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa > 66: Shadow byte legend (one shadow byte represents 8 application bytes): > 66: Addressable: 00 > 66: Partially addressable: 01 02 03 04 05 06 07 > 66: Heap left redzone: fa > 66: Freed heap region: fd > 66: Stack left redzone: f1 > 66: Stack mid redzone: f2 > 66: Stack right redzone: f3 > 66: Stack after return: f5 > 66: Stack use after scope: f8 > 66: Global redzone: f9 > 66: Global init order: f6 > 66: Poisoned by user:f7 > 66: Container overflow: fc > 66: Array cookie:
[GitHub] [qpid-dispatch] jiridanek commented on pull request #1426: NO-JIRA Update Clang versions in Travis CI; remove workarounds
jiridanek commented on pull request #1426: URL: https://github.com/apache/qpid-dispatch/pull/1426#issuecomment-962144676 GHA failure is known issue https://issues.apache.org/jira/browse/DISPATCH-2143 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPIDJMS-552) JMS 2 Completion threads shouldn't scale with the number of sessions
[ https://issues.apache.org/jira/browse/QPIDJMS-552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439475#comment-17439475 ] ASF GitHub Bot commented on QPIDJMS-552: gemmellr commented on a change in pull request #44: URL: https://github.com/apache/qpid-jms/pull/44#discussion_r740906037 ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java ## @@ -151,6 +155,7 @@ public void run() { this.connectionInfo = connectionInfo; this.connectionInfo.setConnection(this); +this.completionExecutorService = this.connectionInfo.getCompletionExecutorServiceFactory().map(Supplier::get).orElse(null); Review comment: Calling the field e.g 'sharedCompletionExecutorHolder' would make its use clearer. Similarly the getCompletionExecutorServiceFactory feels a bit lengthy, and not reflective that it only covers the shared one, e.g getSharedCompletionExecutorFactory. Actually, it feels like most of this line could be done up front, either in the ConnectionFactory or inside the ConnectionInfo, such that this line was a simple getSharedCompletionExecutorHolder that either returns null (as it will by default) or not. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -591,6 +613,14 @@ public long getConnectTimeout() { return this.connectTimeout; } +public void setCompletionThreads(final int completionThreads) { Review comment: I'd go with SharedCompletionThreads to emphasize its shared, given its both same and cross-connection sharing. EDIT: actually, is it? I'm not seeing where it would actually share? A new SharedDisposable looks to be made afresh each time, and has no statics to share across anything, which would seem to mean its just a bigger per-connection pool. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java ## @@ -194,6 +198,48 @@ public void onPendingFailure(ProviderException cause) { } } +private void processCompletions() { +assert processCompletion.get(); +completionThread = Thread.currentThread(); +try { +final Runnable completionTask = completionTasks.poll(); +if (completionTask != null) { +try { +completionTask.run(); +} catch (Throwable t) { +LOG.debug("errored on processCompletions duty cycle", t); +} +} +} finally { +completionThread = null; +processCompletion.set(false); +} +if (completionTasks.isEmpty()) { +return; +} +// a racing asyncProcessCompletion has won: no need to fire a continuation +if (!processCompletion.compareAndSet(false, true)) { +return; +} +getCompletionExecutor().execute(this::processCompletions); +} + +private void asyncProcessCompletion(final Runnable completionTask) { +asyncProcessCompletion(completionTask, false); +} + +private void asyncProcessCompletion(final Runnable completionTask, final boolean ignoreSessionClosed) { +if (!ignoreSessionClosed) { Review comment: I dont think the session closed check thing works. The closed boolean is set true as soon as session shutdown starts, but its possible for successfull async completions to arrive before the closure completes, simply because they are async and so is the session close, so they may be in flight and arrive before the session closure. I expect this change would mean they get could be marked as failed when they shouldnt, as the completion task would get dropped instead of running and then the fallback 'session closed, fail all outstanding completions' task would run and say they failed. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java ## @@ -194,6 +198,48 @@ public void onPendingFailure(ProviderException cause) { } } +private void processCompletions() { +assert processCompletion.get(); +completionThread = Thread.currentThread(); +try { +final Runnable completionTask = completionTasks.poll(); +if (completionTask != null) { +try { +completionTask.run(); +} catch (Throwable t) { +LOG.debug("errored on processCompletions duty cycle", t); +} +} +} finally { +completionThread = null; +processCompletion.set(false); +} +if (completionTasks.isEmpty()) { +return; +} +// a racing asyncProcessCompletion has won: no need to fire a continuation +if (!processCompletion.compareAndSet(false, true)) { +
[GitHub] [qpid-jms] gemmellr commented on a change in pull request #44: QPIDJMS-552 JMS 2 Completion threads shouldn't scale with the number of sessions
gemmellr commented on a change in pull request #44: URL: https://github.com/apache/qpid-jms/pull/44#discussion_r740906037 ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java ## @@ -151,6 +155,7 @@ public void run() { this.connectionInfo = connectionInfo; this.connectionInfo.setConnection(this); +this.completionExecutorService = this.connectionInfo.getCompletionExecutorServiceFactory().map(Supplier::get).orElse(null); Review comment: Calling the field e.g 'sharedCompletionExecutorHolder' would make its use clearer. Similarly the getCompletionExecutorServiceFactory feels a bit lengthy, and not reflective that it only covers the shared one, e.g getSharedCompletionExecutorFactory. Actually, it feels like most of this line could be done up front, either in the ConnectionFactory or inside the ConnectionInfo, such that this line was a simple getSharedCompletionExecutorHolder that either returns null (as it will by default) or not. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -591,6 +613,14 @@ public long getConnectTimeout() { return this.connectTimeout; } +public void setCompletionThreads(final int completionThreads) { Review comment: I'd go with SharedCompletionThreads to emphasize its shared, given its both same and cross-connection sharing. EDIT: actually, is it? I'm not seeing where it would actually share? A new SharedDisposable looks to be made afresh each time, and has no statics to share across anything, which would seem to mean its just a bigger per-connection pool. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java ## @@ -194,6 +198,48 @@ public void onPendingFailure(ProviderException cause) { } } +private void processCompletions() { +assert processCompletion.get(); +completionThread = Thread.currentThread(); +try { +final Runnable completionTask = completionTasks.poll(); +if (completionTask != null) { +try { +completionTask.run(); +} catch (Throwable t) { +LOG.debug("errored on processCompletions duty cycle", t); +} +} +} finally { +completionThread = null; +processCompletion.set(false); +} +if (completionTasks.isEmpty()) { +return; +} +// a racing asyncProcessCompletion has won: no need to fire a continuation +if (!processCompletion.compareAndSet(false, true)) { +return; +} +getCompletionExecutor().execute(this::processCompletions); +} + +private void asyncProcessCompletion(final Runnable completionTask) { +asyncProcessCompletion(completionTask, false); +} + +private void asyncProcessCompletion(final Runnable completionTask, final boolean ignoreSessionClosed) { +if (!ignoreSessionClosed) { Review comment: I dont think the session closed check thing works. The closed boolean is set true as soon as session shutdown starts, but its possible for successfull async completions to arrive before the closure completes, simply because they are async and so is the session close, so they may be in flight and arrive before the session closure. I expect this change would mean they get could be marked as failed when they shouldnt, as the completion task would get dropped instead of running and then the fallback 'session closed, fail all outstanding completions' task would run and say they failed. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java ## @@ -194,6 +198,48 @@ public void onPendingFailure(ProviderException cause) { } } +private void processCompletions() { +assert processCompletion.get(); +completionThread = Thread.currentThread(); +try { +final Runnable completionTask = completionTasks.poll(); +if (completionTask != null) { +try { +completionTask.run(); +} catch (Throwable t) { +LOG.debug("errored on processCompletions duty cycle", t); +} +} +} finally { +completionThread = null; +processCompletion.set(false); +} +if (completionTasks.isEmpty()) { +return; +} +// a racing asyncProcessCompletion has won: no need to fire a continuation +if (!processCompletion.compareAndSet(false, true)) { +return; +} +getCompletionExecutor().execute(this::processCompletions); Review comment: Newline before isEmpty, its on to a different unit of the work really. I think it would be more readable to
[jira] [Commented] (QPID-8565) [Broker-J] Enhancement of ACL rule predicates evaluation
[ https://issues.apache.org/jira/browse/QPID-8565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439472#comment-17439472 ] ASF GitHub Bot commented on QPID-8565: -- mklaca commented on pull request #113: URL: https://github.com/apache/qpid-broker-j/pull/113#issuecomment-961997263 Hi Alex, regarding the RulePredicate.Any performance optimization, I have measured the impact of the chain of rule predicates optimization on the performance. The time of ACL rules check decreases by 2-3%, it depends on the structure of ACL rules of course. But the optimization has always a positive impact. The whole ACL plugin performance optimization is based on the set of many small improvements that together will improve the performance significantly. I disagree that > The code readability has improved significantly without additional "any" check From my point of view, it is a small change and it allows "null check free code". The RulePredicate.Any can be used as the default value instead of null and so it could be added to the predicate chain multiple times and any null check is not needed. -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > [Broker-J] Enhancement of ACL rule predicates evaluation > > > Key: QPID-8565 > URL: https://issues.apache.org/jira/browse/QPID-8565 > Project: Qpid > Issue Type: Improvement > Components: Broker-J >Reporter: Marek Laca >Priority: Minor > Labels: Broker, Java > > The access control plugin checks the rights of the user to perform an action > on the broker's component. The access control plugin iterates through the ACL > rules and checks their predicates. The user action is denied or allowed based > on the test result. > The aim of this task are refactoring of the code that is required for the > [QPID-8487|https://issues.apache.org/jira/browse/QPID-8487] and > [QPID-8488|https://issues.apache.org/jira/browse/QPID-8488], improving the > test of the ACL rule predicates and removing useless classes. Changes should > not have any impact on the functionality of the access control plugin. > The ObjectProperties class has two responsibilities, it holds the rule > predicates and also the objects properties that are checked. The > responsibilities of ObjectProperties class should be split because the code > should honor the principle of one responsibility per class. > The Rule class is treated as immutable but the immutability is not enforce by > the code. > The Action, AclAction and ClientAction classes are only data holders that > don't have any real responsibility. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-broker-j] mklaca commented on pull request #113: QPID-8565: [Broker-J] Enhancement of ACL rule predicates evaluation
mklaca commented on pull request #113: URL: https://github.com/apache/qpid-broker-j/pull/113#issuecomment-961997263 Hi Alex, regarding the RulePredicate.Any performance optimization, I have measured the impact of the chain of rule predicates optimization on the performance. The time of ACL rules check decreases by 2-3%, it depends on the structure of ACL rules of course. But the optimization has always a positive impact. The whole ACL plugin performance optimization is based on the set of many small improvements that together will improve the performance significantly. I disagree that > The code readability has improved significantly without additional "any" check From my point of view, it is a small change and it allows "null check free code". The RulePredicate.Any can be used as the default value instead of null and so it could be added to the predicate chain multiple times and any null check is not needed. -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] jiridanek closed pull request #1419: NO MERGE, Trying to run Travis
jiridanek closed pull request #1419: URL: https://github.com/apache/qpid-dispatch/pull/1419 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-2103) Log the actual HTTP websocket listener port when 0 was specified in config
[ https://issues.apache.org/jira/browse/DISPATCH-2103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439471#comment-17439471 ] ASF GitHub Bot commented on DISPATCH-2103: -- jiridanek opened a new pull request #1425: URL: https://github.com/apache/qpid-dispatch/pull/1425 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Log the actual HTTP websocket listener port when 0 was specified in config > -- > > Key: DISPATCH-2103 > URL: https://issues.apache.org/jira/browse/DISPATCH-2103 > Project: Qpid Dispatch > Issue Type: New Feature >Affects Versions: 1.15.0 >Reporter: Jiri Daněk >Assignee: Jiri Daněk >Priority: Major > Fix For: 1.19.0 > > > {code} > if (hl->vhost) { > /* Store hl pointer in vhost */ > void *vp = lws_protocol_vh_priv_zalloc(hl->vhost, [0], > sizeof(hl)); > memcpy(vp, , sizeof(hl)); > qd_log(hs->log, QD_LOG_NOTICE, "Listening for HTTP on %s", > config->host_port); > return; > } else { > qd_log(hs->log, QD_LOG_NOTICE, "Error listening for HTTP on %s", > config->host_port); > goto error; > } > return; > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (DISPATCH-2274) system_tests_router_mesh: ERROR: AddressSanitizer: use-after-poison in qd_link_pn container.c:1029
[ https://issues.apache.org/jira/browse/DISPATCH-2274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ganesh Murthy resolved DISPATCH-2274. - Assignee: Ganesh Murthy (was: Ken Giusti) Resolution: Fixed > system_tests_router_mesh: ERROR: AddressSanitizer: use-after-poison in > qd_link_pn container.c:1029 > -- > > Key: DISPATCH-2274 > URL: https://issues.apache.org/jira/browse/DISPATCH-2274 > Project: Qpid Dispatch > Issue Type: Bug >Affects Versions: 1.18.0 > Environment: Aarch64 Linux, amd64 macOS >Reporter: Jiri Daněk >Assignee: Ganesh Murthy >Priority: Major > Fix For: 1.18.0 > > > https://app.travis-ci.com/github/apache/qpid-dispatch/jobs/545969177 > {noformat} > 66: Create 10 senders each with a different priority. ... ERROR > 66: ERROR > 66: > 66: Router RouterC output file: > 66: > 66: = > 66: ==21601==ERROR: AddressSanitizer: use-after-poison on address > 0x6137d828 at pc 0x0001064a6469 bp 0x7843bca0 sp 0x7843bc98 > 66: READ of size 8 at 0x6137d828 thread T4 > 66: #0 0x1064a6468 in qd_link_pn container.c:1029 > 66: #1 0x1066d0e37 in CORE_link_push router_node.c:1920 > 66: #2 0x106576df6 in qdr_connection_process connections.c:414 > 66: #3 0x1064956ce in writable_handler container.c:396 > 66: #4 0x1066edb36 in thread_run server.c:1149 > 66: #5 0x7fff5fa152ea in _pthread_body > (libsystem_pthread.dylib:x86_64+0x32ea) > 66: #6 0x7fff5fa18248 in _pthread_start > (libsystem_pthread.dylib:x86_64+0x6248) > 66: #7 0x7fff5fa1440c in thread_start > (libsystem_pthread.dylib:x86_64+0x240c) > 66: > 66: 0x6137d828 is located 168 bytes inside of 320-byte region > [0x6137d780,0x6137d8c0) > 66: allocated by thread T4 here: > 66: #0 0x106f823a7 in wrap_posix_memalign > (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x5f3a7) > 66: #1 0x1064555df in qd_alloc alloc_pool.c:396 > 66: #2 0x10649691a in qd_container_handle_event container.c:75 > 66: #3 0x1066f4366 in handle server.c:1108 > 66: #4 0x1066eda23 in thread_run server.c:1133 > 66: #5 0x7fff5fa152ea in _pthread_body > (libsystem_pthread.dylib:x86_64+0x32ea) > 66: #6 0x7fff5fa18248 in _pthread_start > (libsystem_pthread.dylib:x86_64+0x6248) > 66: #7 0x7fff5fa1440c in thread_start > (libsystem_pthread.dylib:x86_64+0x240c) > 66: > 66: Thread T4 created by T0 here: > 66: #0 0x106f79add in wrap_pthread_create > (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x56add) > 66: #1 0x106535a6d in sys_thread threading.c:181 > 66: #2 0x1066ed1af in qd_server_run server.c:1525 > 66: #3 0x1063b081e in main_process main.c:115 > 66: #4 0x1063af12b in main main.c:369 > 66: #5 0x7fff5f8213d4 in start (libdyld.dylib:x86_64+0x163d4) > 66: > 66: SUMMARY: AddressSanitizer: use-after-poison container.c:1029 in qd_link_pn > 66: Shadow bytes around the buggy address: > 66: 0x1c26fab0: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 > 66: 0x1c26fac0: 00 00 00 00 00 00 00 00 00 00 f7 f7 f7 f7 f7 f7 > 66: 0x1c26fad0: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 00 00 00 00 > 66: 0x1c26fae0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa > 66: 0x1c26faf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 66: =>0x1c26fb00: 00 00 f7 f7 f7[f7]f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 > 66: 0x1c26fb10: f7 f7 f7 f7 00 00 00 00 fa fa fa fa fa fa fa fa > 66: 0x1c26fb20: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 > 66: 0x1c26fb30: 00 00 00 00 00 00 00 00 00 00 f7 f7 f7 f7 f7 f7 > 66: 0x1c26fb40: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 00 00 00 00 > 66: 0x1c26fb50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa > 66: Shadow byte legend (one shadow byte represents 8 application bytes): > 66: Addressable: 00 > 66: Partially addressable: 01 02 03 04 05 06 07 > 66: Heap left redzone: fa > 66: Freed heap region: fd > 66: Stack left redzone: f1 > 66: Stack mid redzone: f2 > 66: Stack right redzone: f3 > 66: Stack after return: f5 > 66: Stack use after scope: f8 > 66: Global redzone: f9 > 66: Global init order: f6 > 66: Poisoned by user:f7 > 66: Container overflow: fc > 66: Array cookie:ac > 66: Intra object redzone:bb > 66: ASan internal: fe > 66: Left alloca redzone: ca > 66: Right alloca redzone:cb > 66: Shadow gap: cc > 66: ==21601==ABORTING > {noformat} > essentially the same stacktrace in the same job > {noformat} > 27: ERROR > 27: test_90_block_link_route_EB1_INTB >
[jira] [Commented] (DISPATCH-2274) system_tests_router_mesh: ERROR: AddressSanitizer: use-after-poison in qd_link_pn container.c:1029
[ https://issues.apache.org/jira/browse/DISPATCH-2274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439460#comment-17439460 ] ASF subversion and git services commented on DISPATCH-2274: --- Commit a2785d25e0ce2c0c9253fe26ab7d8470d6912b6d in qpid-dispatch's branch refs/heads/main from Ganesh Murthy [ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=a2785d2 ] DISPATCH-2274: Fix use after free of qd_link_t by using safe pointer as context > system_tests_router_mesh: ERROR: AddressSanitizer: use-after-poison in > qd_link_pn container.c:1029 > -- > > Key: DISPATCH-2274 > URL: https://issues.apache.org/jira/browse/DISPATCH-2274 > Project: Qpid Dispatch > Issue Type: Bug >Affects Versions: 1.18.0 > Environment: Aarch64 Linux, amd64 macOS >Reporter: Jiri Daněk >Assignee: Ken Giusti >Priority: Major > Fix For: 1.18.0 > > > https://app.travis-ci.com/github/apache/qpid-dispatch/jobs/545969177 > {noformat} > 66: Create 10 senders each with a different priority. ... ERROR > 66: ERROR > 66: > 66: Router RouterC output file: > 66: > 66: = > 66: ==21601==ERROR: AddressSanitizer: use-after-poison on address > 0x6137d828 at pc 0x0001064a6469 bp 0x7843bca0 sp 0x7843bc98 > 66: READ of size 8 at 0x6137d828 thread T4 > 66: #0 0x1064a6468 in qd_link_pn container.c:1029 > 66: #1 0x1066d0e37 in CORE_link_push router_node.c:1920 > 66: #2 0x106576df6 in qdr_connection_process connections.c:414 > 66: #3 0x1064956ce in writable_handler container.c:396 > 66: #4 0x1066edb36 in thread_run server.c:1149 > 66: #5 0x7fff5fa152ea in _pthread_body > (libsystem_pthread.dylib:x86_64+0x32ea) > 66: #6 0x7fff5fa18248 in _pthread_start > (libsystem_pthread.dylib:x86_64+0x6248) > 66: #7 0x7fff5fa1440c in thread_start > (libsystem_pthread.dylib:x86_64+0x240c) > 66: > 66: 0x6137d828 is located 168 bytes inside of 320-byte region > [0x6137d780,0x6137d8c0) > 66: allocated by thread T4 here: > 66: #0 0x106f823a7 in wrap_posix_memalign > (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x5f3a7) > 66: #1 0x1064555df in qd_alloc alloc_pool.c:396 > 66: #2 0x10649691a in qd_container_handle_event container.c:75 > 66: #3 0x1066f4366 in handle server.c:1108 > 66: #4 0x1066eda23 in thread_run server.c:1133 > 66: #5 0x7fff5fa152ea in _pthread_body > (libsystem_pthread.dylib:x86_64+0x32ea) > 66: #6 0x7fff5fa18248 in _pthread_start > (libsystem_pthread.dylib:x86_64+0x6248) > 66: #7 0x7fff5fa1440c in thread_start > (libsystem_pthread.dylib:x86_64+0x240c) > 66: > 66: Thread T4 created by T0 here: > 66: #0 0x106f79add in wrap_pthread_create > (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x56add) > 66: #1 0x106535a6d in sys_thread threading.c:181 > 66: #2 0x1066ed1af in qd_server_run server.c:1525 > 66: #3 0x1063b081e in main_process main.c:115 > 66: #4 0x1063af12b in main main.c:369 > 66: #5 0x7fff5f8213d4 in start (libdyld.dylib:x86_64+0x163d4) > 66: > 66: SUMMARY: AddressSanitizer: use-after-poison container.c:1029 in qd_link_pn > 66: Shadow bytes around the buggy address: > 66: 0x1c26fab0: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 > 66: 0x1c26fac0: 00 00 00 00 00 00 00 00 00 00 f7 f7 f7 f7 f7 f7 > 66: 0x1c26fad0: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 00 00 00 00 > 66: 0x1c26fae0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa > 66: 0x1c26faf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 66: =>0x1c26fb00: 00 00 f7 f7 f7[f7]f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 > 66: 0x1c26fb10: f7 f7 f7 f7 00 00 00 00 fa fa fa fa fa fa fa fa > 66: 0x1c26fb20: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 > 66: 0x1c26fb30: 00 00 00 00 00 00 00 00 00 00 f7 f7 f7 f7 f7 f7 > 66: 0x1c26fb40: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 00 00 00 00 > 66: 0x1c26fb50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa > 66: Shadow byte legend (one shadow byte represents 8 application bytes): > 66: Addressable: 00 > 66: Partially addressable: 01 02 03 04 05 06 07 > 66: Heap left redzone: fa > 66: Freed heap region: fd > 66: Stack left redzone: f1 > 66: Stack mid redzone: f2 > 66: Stack right redzone: f3 > 66: Stack after return: f5 > 66: Stack use after scope: f8 > 66: Global redzone: f9 > 66: Global init order: f6 > 66: Poisoned by user:f7 > 66: Container overflow: fc > 66: Array cookie:ac > 66: Intra object redzone:bb > 66: ASan internal: fe > 66: Left alloca redzone: ca > 66: Right alloca redzone:
[GitHub] [qpid-dispatch] asfgit closed pull request #1422: NO-JIRA: bump proton stable release to 0.36.0 in CI
asfgit closed pull request #1422: URL: https://github.com/apache/qpid-dispatch/pull/1422 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-8565) [Broker-J] Enhancement of ACL rule predicates evaluation
[ https://issues.apache.org/jira/browse/QPID-8565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439446#comment-17439446 ] ASF GitHub Bot commented on QPID-8565: -- mklaca commented on a change in pull request #113: URL: https://github.com/apache/qpid-broker-j/pull/113#discussion_r743745075 ## File path: broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java ## @@ -123,6 +123,16 @@ else if (property == Property.ATTRIBUTES) { _attributeNames.addAll(splitToSet(value)); } +else if (property == Property.CONNECTION_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_limit' has been deprecated"); Review comment: I changed the message to be precise. ## File path: broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java ## @@ -123,6 +123,16 @@ else if (property == Property.ATTRIBUTES) { _attributeNames.addAll(splitToSet(value)); } +else if (property == Property.CONNECTION_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_limit' has been deprecated"); +return false; +} +else if (property == Property.CONNECTION_FREQUENCY_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_frequency_limit' has been deprecated"); Review comment: I changed the message to be precise. -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > [Broker-J] Enhancement of ACL rule predicates evaluation > > > Key: QPID-8565 > URL: https://issues.apache.org/jira/browse/QPID-8565 > Project: Qpid > Issue Type: Improvement > Components: Broker-J >Reporter: Marek Laca >Priority: Minor > Labels: Broker, Java > > The access control plugin checks the rights of the user to perform an action > on the broker's component. The access control plugin iterates through the ACL > rules and checks their predicates. The user action is denied or allowed based > on the test result. > The aim of this task are refactoring of the code that is required for the > [QPID-8487|https://issues.apache.org/jira/browse/QPID-8487] and > [QPID-8488|https://issues.apache.org/jira/browse/QPID-8488], improving the > test of the ACL rule predicates and removing useless classes. Changes should > not have any impact on the functionality of the access control plugin. > The ObjectProperties class has two responsibilities, it holds the rule > predicates and also the objects properties that are checked. The > responsibilities of ObjectProperties class should be split because the code > should honor the principle of one responsibility per class. > The Rule class is treated as immutable but the immutability is not enforce by > the code. > The Action, AclAction and ClientAction classes are only data holders that > don't have any real responsibility. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-broker-j] mklaca commented on a change in pull request #113: QPID-8565: [Broker-J] Enhancement of ACL rule predicates evaluation
mklaca commented on a change in pull request #113: URL: https://github.com/apache/qpid-broker-j/pull/113#discussion_r743745075 ## File path: broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java ## @@ -123,6 +123,16 @@ else if (property == Property.ATTRIBUTES) { _attributeNames.addAll(splitToSet(value)); } +else if (property == Property.CONNECTION_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_limit' has been deprecated"); Review comment: I changed the message to be precise. ## File path: broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java ## @@ -123,6 +123,16 @@ else if (property == Property.ATTRIBUTES) { _attributeNames.addAll(splitToSet(value)); } +else if (property == Property.CONNECTION_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_limit' has been deprecated"); +return false; +} +else if (property == Property.CONNECTION_FREQUENCY_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_frequency_limit' has been deprecated"); Review comment: I changed the message to be precise. -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] jiridanek commented on pull request #1419: NO MERGE, Trying to run Travis
jiridanek commented on pull request #1419: URL: https://github.com/apache/qpid-dispatch/pull/1419#issuecomment-962126583 Information provided on https://issues.apache.org/jira/browse/DISPATCH-2274 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-proton] asfgit merged pull request #339: This is the nearly final set of changes for replacing the frame codec
asfgit merged pull request #339: URL: https://github.com/apache/qpid-proton/pull/339 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-2274) system_tests_router_mesh: ERROR: AddressSanitizer: use-after-poison in qd_link_pn container.c:1029
[ https://issues.apache.org/jira/browse/DISPATCH-2274?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439443#comment-17439443 ] ASF GitHub Bot commented on DISPATCH-2274: -- ganeshmurthy opened a new pull request #1421: URL: https://github.com/apache/qpid-dispatch/pull/1421 …as context -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > system_tests_router_mesh: ERROR: AddressSanitizer: use-after-poison in > qd_link_pn container.c:1029 > -- > > Key: DISPATCH-2274 > URL: https://issues.apache.org/jira/browse/DISPATCH-2274 > Project: Qpid Dispatch > Issue Type: Bug >Affects Versions: 1.18.0 > Environment: Aarch64 Linux, amd64 macOS >Reporter: Jiri Daněk >Assignee: Ken Giusti >Priority: Major > Fix For: 1.18.0 > > > https://app.travis-ci.com/github/apache/qpid-dispatch/jobs/545969177 > {noformat} > 66: Create 10 senders each with a different priority. ... ERROR > 66: ERROR > 66: > 66: Router RouterC output file: > 66: > 66: = > 66: ==21601==ERROR: AddressSanitizer: use-after-poison on address > 0x6137d828 at pc 0x0001064a6469 bp 0x7843bca0 sp 0x7843bc98 > 66: READ of size 8 at 0x6137d828 thread T4 > 66: #0 0x1064a6468 in qd_link_pn container.c:1029 > 66: #1 0x1066d0e37 in CORE_link_push router_node.c:1920 > 66: #2 0x106576df6 in qdr_connection_process connections.c:414 > 66: #3 0x1064956ce in writable_handler container.c:396 > 66: #4 0x1066edb36 in thread_run server.c:1149 > 66: #5 0x7fff5fa152ea in _pthread_body > (libsystem_pthread.dylib:x86_64+0x32ea) > 66: #6 0x7fff5fa18248 in _pthread_start > (libsystem_pthread.dylib:x86_64+0x6248) > 66: #7 0x7fff5fa1440c in thread_start > (libsystem_pthread.dylib:x86_64+0x240c) > 66: > 66: 0x6137d828 is located 168 bytes inside of 320-byte region > [0x6137d780,0x6137d8c0) > 66: allocated by thread T4 here: > 66: #0 0x106f823a7 in wrap_posix_memalign > (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x5f3a7) > 66: #1 0x1064555df in qd_alloc alloc_pool.c:396 > 66: #2 0x10649691a in qd_container_handle_event container.c:75 > 66: #3 0x1066f4366 in handle server.c:1108 > 66: #4 0x1066eda23 in thread_run server.c:1133 > 66: #5 0x7fff5fa152ea in _pthread_body > (libsystem_pthread.dylib:x86_64+0x32ea) > 66: #6 0x7fff5fa18248 in _pthread_start > (libsystem_pthread.dylib:x86_64+0x6248) > 66: #7 0x7fff5fa1440c in thread_start > (libsystem_pthread.dylib:x86_64+0x240c) > 66: > 66: Thread T4 created by T0 here: > 66: #0 0x106f79add in wrap_pthread_create > (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x56add) > 66: #1 0x106535a6d in sys_thread threading.c:181 > 66: #2 0x1066ed1af in qd_server_run server.c:1525 > 66: #3 0x1063b081e in main_process main.c:115 > 66: #4 0x1063af12b in main main.c:369 > 66: #5 0x7fff5f8213d4 in start (libdyld.dylib:x86_64+0x163d4) > 66: > 66: SUMMARY: AddressSanitizer: use-after-poison container.c:1029 in qd_link_pn > 66: Shadow bytes around the buggy address: > 66: 0x1c26fab0: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 > 66: 0x1c26fac0: 00 00 00 00 00 00 00 00 00 00 f7 f7 f7 f7 f7 f7 > 66: 0x1c26fad0: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 00 00 00 00 > 66: 0x1c26fae0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa > 66: 0x1c26faf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 66: =>0x1c26fb00: 00 00 f7 f7 f7[f7]f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 > 66: 0x1c26fb10: f7 f7 f7 f7 00 00 00 00 fa fa fa fa fa fa fa fa > 66: 0x1c26fb20: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 > 66: 0x1c26fb30: 00 00 00 00 00 00 00 00 00 00 f7 f7 f7 f7 f7 f7 > 66: 0x1c26fb40: f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 f7 00 00 00 00 > 66: 0x1c26fb50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa > 66: Shadow byte legend (one shadow byte represents 8 application bytes): > 66: Addressable: 00 > 66: Partially addressable: 01 02 03 04 05 06 07 > 66: Heap left redzone: fa > 66: Freed heap region: fd > 66: Stack left redzone: f1 > 66: Stack mid redzone: f2 > 66: Stack right redzone: f3 > 66: Stack after return: f5 > 66: Stack use after scope: f8 > 66: Global redzone: f9 > 66: Global init order: f6 > 66: Poisoned by user:f7 > 66: Container overflow: fc > 66: Array cookie:ac
[GitHub] [qpid-dispatch] jiridanek commented on pull request #1426: NO-JIRA Update Clang versions in Travis CI; remove workarounds
jiridanek commented on pull request #1426: URL: https://github.com/apache/qpid-dispatch/pull/1426#issuecomment-962144676 GHA failure is known issue https://issues.apache.org/jira/browse/DISPATCH-2143 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPIDJMS-552) JMS 2 Completion threads shouldn't scale with the number of sessions
[ https://issues.apache.org/jira/browse/QPIDJMS-552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439438#comment-17439438 ] ASF GitHub Bot commented on QPIDJMS-552: gemmellr commented on a change in pull request #44: URL: https://github.com/apache/qpid-jms/pull/44#discussion_r740906037 ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java ## @@ -151,6 +155,7 @@ public void run() { this.connectionInfo = connectionInfo; this.connectionInfo.setConnection(this); +this.completionExecutorService = this.connectionInfo.getCompletionExecutorServiceFactory().map(Supplier::get).orElse(null); Review comment: Calling the field e.g 'sharedCompletionExecutorHolder' would make its use clearer. Similarly the getCompletionExecutorServiceFactory feels a bit lengthy, and not reflective that it only covers the shared one, e.g getSharedCompletionExecutorFactory. Actually, it feels like most of this line could be done up front, either in the ConnectionFactory or inside the ConnectionInfo, such that this line was a simple getSharedCompletionExecutorHolder that either returns null (as it will by default) or not. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -591,6 +613,14 @@ public long getConnectTimeout() { return this.connectTimeout; } +public void setCompletionThreads(final int completionThreads) { Review comment: I'd go with SharedCompletionThreads to emphasize its shared, given its both same and cross-connection sharing. EDIT: actually, is it? I'm not seeing where it would actually share? A new SharedDisposable looks to be made afresh each time, and has no statics to share across anything, which would seem to mean its just a bigger per-connection pool. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java ## @@ -194,6 +198,48 @@ public void onPendingFailure(ProviderException cause) { } } +private void processCompletions() { +assert processCompletion.get(); +completionThread = Thread.currentThread(); +try { +final Runnable completionTask = completionTasks.poll(); +if (completionTask != null) { +try { +completionTask.run(); +} catch (Throwable t) { +LOG.debug("errored on processCompletions duty cycle", t); +} +} +} finally { +completionThread = null; +processCompletion.set(false); +} +if (completionTasks.isEmpty()) { +return; +} +// a racing asyncProcessCompletion has won: no need to fire a continuation +if (!processCompletion.compareAndSet(false, true)) { +return; +} +getCompletionExecutor().execute(this::processCompletions); +} + +private void asyncProcessCompletion(final Runnable completionTask) { +asyncProcessCompletion(completionTask, false); +} + +private void asyncProcessCompletion(final Runnable completionTask, final boolean ignoreSessionClosed) { +if (!ignoreSessionClosed) { Review comment: I dont think the session closed check thing works. The closed boolean is set true as soon as session shutdown starts, but its possible for successfull async completions to arrive before the closure completes, simply because they are async and so is the session close, so they may be in flight and arrive before the session closure. I expect this change would mean they get could be marked as failed when they shouldnt, as the completion task would get dropped instead of running and then the fallback 'session closed, fail all outstanding completions' task would run and say they failed. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java ## @@ -194,6 +198,48 @@ public void onPendingFailure(ProviderException cause) { } } +private void processCompletions() { +assert processCompletion.get(); +completionThread = Thread.currentThread(); +try { +final Runnable completionTask = completionTasks.poll(); +if (completionTask != null) { +try { +completionTask.run(); +} catch (Throwable t) { +LOG.debug("errored on processCompletions duty cycle", t); +} +} +} finally { +completionThread = null; +processCompletion.set(false); +} +if (completionTasks.isEmpty()) { +return; +} +// a racing asyncProcessCompletion has won: no need to fire a continuation +if (!processCompletion.compareAndSet(false, true)) { +
[GitHub] [qpid-jms] gemmellr commented on a change in pull request #44: QPIDJMS-552 JMS 2 Completion threads shouldn't scale with the number of sessions
gemmellr commented on a change in pull request #44: URL: https://github.com/apache/qpid-jms/pull/44#discussion_r740906037 ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java ## @@ -151,6 +155,7 @@ public void run() { this.connectionInfo = connectionInfo; this.connectionInfo.setConnection(this); +this.completionExecutorService = this.connectionInfo.getCompletionExecutorServiceFactory().map(Supplier::get).orElse(null); Review comment: Calling the field e.g 'sharedCompletionExecutorHolder' would make its use clearer. Similarly the getCompletionExecutorServiceFactory feels a bit lengthy, and not reflective that it only covers the shared one, e.g getSharedCompletionExecutorFactory. Actually, it feels like most of this line could be done up front, either in the ConnectionFactory or inside the ConnectionInfo, such that this line was a simple getSharedCompletionExecutorHolder that either returns null (as it will by default) or not. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -591,6 +613,14 @@ public long getConnectTimeout() { return this.connectTimeout; } +public void setCompletionThreads(final int completionThreads) { Review comment: I'd go with SharedCompletionThreads to emphasize its shared, given its both same and cross-connection sharing. EDIT: actually, is it? I'm not seeing where it would actually share? A new SharedDisposable looks to be made afresh each time, and has no statics to share across anything, which would seem to mean its just a bigger per-connection pool. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java ## @@ -194,6 +198,48 @@ public void onPendingFailure(ProviderException cause) { } } +private void processCompletions() { +assert processCompletion.get(); +completionThread = Thread.currentThread(); +try { +final Runnable completionTask = completionTasks.poll(); +if (completionTask != null) { +try { +completionTask.run(); +} catch (Throwable t) { +LOG.debug("errored on processCompletions duty cycle", t); +} +} +} finally { +completionThread = null; +processCompletion.set(false); +} +if (completionTasks.isEmpty()) { +return; +} +// a racing asyncProcessCompletion has won: no need to fire a continuation +if (!processCompletion.compareAndSet(false, true)) { +return; +} +getCompletionExecutor().execute(this::processCompletions); +} + +private void asyncProcessCompletion(final Runnable completionTask) { +asyncProcessCompletion(completionTask, false); +} + +private void asyncProcessCompletion(final Runnable completionTask, final boolean ignoreSessionClosed) { +if (!ignoreSessionClosed) { Review comment: I dont think the session closed check thing works. The closed boolean is set true as soon as session shutdown starts, but its possible for successfull async completions to arrive before the closure completes, simply because they are async and so is the session close, so they may be in flight and arrive before the session closure. I expect this change would mean they get could be marked as failed when they shouldnt, as the completion task would get dropped instead of running and then the fallback 'session closed, fail all outstanding completions' task would run and say they failed. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java ## @@ -194,6 +198,48 @@ public void onPendingFailure(ProviderException cause) { } } +private void processCompletions() { +assert processCompletion.get(); +completionThread = Thread.currentThread(); +try { +final Runnable completionTask = completionTasks.poll(); +if (completionTask != null) { +try { +completionTask.run(); +} catch (Throwable t) { +LOG.debug("errored on processCompletions duty cycle", t); +} +} +} finally { +completionThread = null; +processCompletion.set(false); +} +if (completionTasks.isEmpty()) { +return; +} +// a racing asyncProcessCompletion has won: no need to fire a continuation +if (!processCompletion.compareAndSet(false, true)) { +return; +} +getCompletionExecutor().execute(this::processCompletions); Review comment: Newline before isEmpty, its on to a different unit of the work really. I think it would be more readable to
[jira] [Commented] (QPID-8565) [Broker-J] Enhancement of ACL rule predicates evaluation
[ https://issues.apache.org/jira/browse/QPID-8565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439435#comment-17439435 ] ASF GitHub Bot commented on QPID-8565: -- mklaca commented on pull request #113: URL: https://github.com/apache/qpid-broker-j/pull/113#issuecomment-961997263 Hi Alex, regarding the RulePredicate.Any performance optimization, I have measured the impact of the chain of rule predicates optimization on the performance. The time of ACL rules check decreases by 2-3%, it depends on the structure of ACL rules of course. But the optimization has always a positive impact. The whole ACL plugin performance optimization is based on the set of many small improvements that together will improve the performance significantly. I disagree that > The code readability has improved significantly without additional "any" check From my point of view, it is a small change and it allows "null check free code". The RulePredicate.Any can be used as the default value instead of null and so it could be added to the predicate chain multiple times and any null check is not needed. -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > [Broker-J] Enhancement of ACL rule predicates evaluation > > > Key: QPID-8565 > URL: https://issues.apache.org/jira/browse/QPID-8565 > Project: Qpid > Issue Type: Improvement > Components: Broker-J >Reporter: Marek Laca >Priority: Minor > Labels: Broker, Java > > The access control plugin checks the rights of the user to perform an action > on the broker's component. The access control plugin iterates through the ACL > rules and checks their predicates. The user action is denied or allowed based > on the test result. > The aim of this task are refactoring of the code that is required for the > [QPID-8487|https://issues.apache.org/jira/browse/QPID-8487] and > [QPID-8488|https://issues.apache.org/jira/browse/QPID-8488], improving the > test of the ACL rule predicates and removing useless classes. Changes should > not have any impact on the functionality of the access control plugin. > The ObjectProperties class has two responsibilities, it holds the rule > predicates and also the objects properties that are checked. The > responsibilities of ObjectProperties class should be split because the code > should honor the principle of one responsibility per class. > The Rule class is treated as immutable but the immutability is not enforce by > the code. > The Action, AclAction and ClientAction classes are only data holders that > don't have any real responsibility. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-broker-j] mklaca commented on pull request #113: QPID-8565: [Broker-J] Enhancement of ACL rule predicates evaluation
mklaca commented on pull request #113: URL: https://github.com/apache/qpid-broker-j/pull/113#issuecomment-961997263 Hi Alex, regarding the RulePredicate.Any performance optimization, I have measured the impact of the chain of rule predicates optimization on the performance. The time of ACL rules check decreases by 2-3%, it depends on the structure of ACL rules of course. But the optimization has always a positive impact. The whole ACL plugin performance optimization is based on the set of many small improvements that together will improve the performance significantly. I disagree that > The code readability has improved significantly without additional "any" check From my point of view, it is a small change and it allows "null check free code". The RulePredicate.Any can be used as the default value instead of null and so it could be added to the predicate chain multiple times and any null check is not needed. -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] jiridanek closed pull request #1419: NO MERGE, Trying to run Travis
jiridanek closed pull request #1419: URL: https://github.com/apache/qpid-dispatch/pull/1419 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] jiridanek commented on pull request #1426: NO-JIRA Update Clang versions in Travis CI; remove workarounds
jiridanek commented on pull request #1426: URL: https://github.com/apache/qpid-dispatch/pull/1426#issuecomment-962144676 GHA failure is known issue https://issues.apache.org/jira/browse/DISPATCH-2143 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Updated] (DISPATCH-2221) Create automated webconsole tests using either Webdriver (Selenium) or Playwright
[ https://issues.apache.org/jira/browse/DISPATCH-2221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiri Daněk updated DISPATCH-2221: - Description: Here's a reasonably recent overview of website end-to-end test automation tooling: https://www.testim.io/blog/puppeteer-selenium-playwright-cypress-how-to-choose/ (presentation https://www.youtube.com/watch?v=JuSF6BDs7Ow). End-to-end should mean that the test interacts with the Dispatch web console by sending clicks to the browser window. The clicks are targeted using CSS-like selectors (often button/link texts and aria selector), and they are dispatched through browser debug protocol, so it is not _exactly_ simulating the user, but it is simulating the user to a very great degree. The advantage of doing the clicks this way is obviously maintainability; if a link moves 10 px to the left, it will still be clicked just fine. The idea for writing (and structuring) the tests is to first start with record/playback, then export the recording as a program in a supported programming language using supported assertions API (Java, JavaScript, Python, ... Pytest, Playwright Test, Jest, ...), and finally mold it into well-factored and maintainable test suite (by extracting common steps, creating helper functions, page objects, ...). I considered Selenium with Python and Pytest, Selenium with Java and Junit, and Playwright with Typescript. Python is the language of the router, and it is usually known by QA-minded folks. Java is statically typed (which I prefer), is used by ActiveMQ messaging projects (that also need webconsole testing), and should be also well known. JavaScript/TypeScript is the language of the webconsole, so the tests will be easily understood by anyone developing the webconsole. Selenium Webdriver is old and well-known. Playwright is more recent iteration on the same theme, and it has nice test framework in TypeScript on top. Both PlayWright and Selenium can run with headless browsers in Docker container. For reverence, my tests from 2017 in Webdriver, Python binding, written for the Hawt.io Dispatch plugin, https://github.com/jirkadanek/dispatch-console-tests. I personally feel a deep dislike towards Cypress, but I have no factual basis for it, and in fact the tooling and the supporting documentation and some of the debugging features seem excellent https://github.com/muratkeremozcan/playwright-vs-cypress#readme. * https://github.com/Microsoft/playwright/issues/8955 * https://playwright.dev/docs/trace-viewer/#recording-a-trace * https://playwright.dev/docs/next/inspector/ * https://github.com/microsoft/playwright/pull/8990 was: Here's a reasonably recent overview of website end-to-end test automation tooling: https://www.testim.io/blog/puppeteer-selenium-playwright-cypress-how-to-choose/ (presentation https://www.youtube.com/watch?v=JuSF6BDs7Ow). End-to-end should mean that the test interacts with the Dispatch web console by sending clicks to the browser window. The clicks are targeted using CSS-like selectors (often button/link texts and aria selector), and they are dispatched through browser debug protocol, so it is not _exactly_ simulating the user, but it is simulating the user to a very great degree. The advantage of doing the clicks this way is obviously maintainability; if a link moves 10 px to the left, it will still be clicked just fine. The idea for writing (and structuring) the tests is to first start with record/playback, then export the recording as a program in a supported programming language using supported assertions API (Java, JavaScript, Python, ... Pytest, Playwright Test, Jest, ...), and finally mold it into well-factored and maintainable test suite (by extracting common steps, creating helper functions, page objects, ...). I considered Selenium with Python and Pytest, Selenium with Java and Junit, and Playwright with Typescript. Python is the language of the router, and it is usually known by QA-minded folks. Java is statically typed (which I prefer), is used by ActiveMQ messaging projects (that also need webconsole testing), and should be also well known. JavaScript/TypeScript is the language of the webconsole, so the tests will be easily understood by anyone developing the webconsole. Selenium Webdriver is old and well-known. Playwright is more recent iteration on the same theme, and it has nice test framework in TypeScript on top. Both PlayWright and Selenium can run with headless browsers in Docker container. For reverence, my tests from 2017 in Webdriver, Python binding, written for the Hawt.io Dispatch plugin, https://github.com/jirkadanek/dispatch-console-tests. I personally feel a deep dislike towards Cypress, but I have no factual basis for it, and in fact the tooling and the supporting documentation and some of the debugging features seem excellent
[jira] [Updated] (DISPATCH-2221) Create automated webconsole tests using either Webdriver (Selenium) or Playwright
[ https://issues.apache.org/jira/browse/DISPATCH-2221?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiri Daněk updated DISPATCH-2221: - Description: Here's a reasonably recent overview of website end-to-end test automation tooling: https://www.testim.io/blog/puppeteer-selenium-playwright-cypress-how-to-choose/ (presentation https://www.youtube.com/watch?v=JuSF6BDs7Ow). End-to-end should mean that the test interacts with the Dispatch web console by sending clicks to the browser window. The clicks are targeted using CSS-like selectors (often button/link texts and aria selector), and they are dispatched through browser debug protocol, so it is not _exactly_ simulating the user, but it is simulating the user to a very great degree. The advantage of doing the clicks this way is obviously maintainability; if a link moves 10 px to the left, it will still be clicked just fine. The idea for writing (and structuring) the tests is to first start with record/playback, then export the recording as a program in a supported programming language using supported assertions API (Java, JavaScript, Python, ... Pytest, Playwright Test, Jest, ...), and finally mold it into well-factored and maintainable test suite (by extracting common steps, creating helper functions, page objects, ...). I considered Selenium with Python and Pytest, Selenium with Java and Junit, and Playwright with Typescript. Python is the language of the router, and it is usually known by QA-minded folks. Java is statically typed (which I prefer), is used by ActiveMQ messaging projects (that also need webconsole testing), and should be also well known. JavaScript/TypeScript is the language of the webconsole, so the tests will be easily understood by anyone developing the webconsole. Selenium Webdriver is old and well-known. Playwright is more recent iteration on the same theme, and it has nice test framework in TypeScript on top. Both PlayWright and Selenium can run with headless browsers in Docker container. For reverence, my tests from 2017 in Webdriver, Python binding, written for the Hawt.io Dispatch plugin, https://github.com/jirkadanek/dispatch-console-tests. I personally feel a deep dislike towards Cypress, but I have no factual basis for it, and in fact the tooling and the supporting documentation and some of the debugging features seem excellent https://github.com/muratkeremozcan/playwright-vs-cypress#readme. was: Here's a reasonably recent overview of website end-to-end test automation tooling: https://www.testim.io/blog/puppeteer-selenium-playwright-cypress-how-to-choose/ (presentation https://www.youtube.com/watch?v=JuSF6BDs7Ow). End-to-end should mean that the test interacts with the Dispatch web console by sending clicks to the browser window. The clicks are targeted using CSS-like selectors (often button/link texts and aria selector), and they are dispatched through browser debug protocol, so it is not _exactly_ simulating the user, but it is simulating the user to a very great degree. The advantage of doing the clicks this way is obviously maintainability; if a link moves 10 px to the left, it will still be clicked just fine. The idea for writing (and structuring) the tests is to first start with record/playback, then export the recording as a program in a supported programming language using supported assertions API (Java, JavaScript, Python, ... Pytest, Playwright Test, Jest, ...), and finally mold it into well-factored and maintainable test suite (by extracting common steps, creating helper functions, page objects, ...). I considered Selenium with Python and Pytest, Selenium with Java and Junit, and Playwright with Typescript. Python is the language of the router, and it is usually known by QA-minded folks. Java is statically typed (which I prefer), is used by ActiveMQ messaging projects (that also need webconsole testing), and should be also well known. JavaScript/TypeScript is the language of the webconsole, so the tests will be easily understood by anyone developing the webconsole. Selenium Webdriver is old and well-known. Playwright is more recent iteration on the same theme, and it has nice test framework in TypeScript on top. Both PlayWright and Selenium can run with headless browsers in Docker container. For reverence, my tests from 2017 in Webdriver, Python binding, written for the Hawt.io Dispatch plugin, https://github.com/jirkadanek/dispatch-console-tests. > Create automated webconsole tests using either Webdriver (Selenium) or > Playwright > - > > Key: DISPATCH-2221 > URL: https://issues.apache.org/jira/browse/DISPATCH-2221 > Project: Qpid Dispatch > Issue Type: Test > Components: Console, Tests >Reporter: Jiri Daněk >Assignee:
[GitHub] [qpid-dispatch] jiridanek opened a new pull request #1427: NO-JIRA Update GHA to Fedora 35; Add Python 3.10 tox profile
jiridanek opened a new pull request #1427: URL: https://github.com/apache/qpid-dispatch/pull/1427 Tsan seems to complain here a lot. -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] jiridanek commented on pull request #1419: NO MERGE, Trying to run Travis
jiridanek commented on pull request #1419: URL: https://github.com/apache/qpid-dispatch/pull/1419#issuecomment-962126583 Information provided on https://issues.apache.org/jira/browse/DISPATCH-2274 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] jiridanek closed pull request #1419: NO MERGE, Trying to run Travis
jiridanek closed pull request #1419: URL: https://github.com/apache/qpid-dispatch/pull/1419 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-2103) Log the actual HTTP websocket listener port when 0 was specified in config
[ https://issues.apache.org/jira/browse/DISPATCH-2103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439414#comment-17439414 ] ASF GitHub Bot commented on DISPATCH-2103: -- jiridanek opened a new pull request #1425: URL: https://github.com/apache/qpid-dispatch/pull/1425 Unit tests and related changes for the log message amount to much of the bulk of this commit. * Old g++ (RHEL 7) does not properly implement regexes * On Ubuntu and rarely Fedora, and all other modern Linuxes, the qd_lws_listener_free is sometimes not called in my test. This is resolved with the .finalize, available only in LibWebSockets 3.1 (RHEL 7 has version 3.0.1) -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Log the actual HTTP websocket listener port when 0 was specified in config > -- > > Key: DISPATCH-2103 > URL: https://issues.apache.org/jira/browse/DISPATCH-2103 > Project: Qpid Dispatch > Issue Type: New Feature >Affects Versions: 1.15.0 >Reporter: Jiri Daněk >Assignee: Jiri Daněk >Priority: Major > Fix For: 1.19.0 > > > {code} > if (hl->vhost) { > /* Store hl pointer in vhost */ > void *vp = lws_protocol_vh_priv_zalloc(hl->vhost, [0], > sizeof(hl)); > memcpy(vp, , sizeof(hl)); > qd_log(hs->log, QD_LOG_NOTICE, "Listening for HTTP on %s", > config->host_port); > return; > } else { > qd_log(hs->log, QD_LOG_NOTICE, "Error listening for HTTP on %s", > config->host_port); > goto error; > } > return; > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] jiridanek opened a new pull request #1425: DISPATCH-2103 Log actual HTTP listener port number when 0 is configured
jiridanek opened a new pull request #1425: URL: https://github.com/apache/qpid-dispatch/pull/1425 Unit tests and related changes for the log message amount to much of the bulk of this commit. * Old g++ (RHEL 7) does not properly implement regexes * On Ubuntu and rarely Fedora, and all other modern Linuxes, the qd_lws_listener_free is sometimes not called in my test. This is resolved with the .finalize, available only in LibWebSockets 3.1 (RHEL 7 has version 3.0.1) -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Assigned] (DISPATCH-2276) The latest release of proton (pre-0.37.0) breaks scraper
[ https://issues.apache.org/jira/browse/DISPATCH-2276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ken Giusti reassigned DISPATCH-2276: Assignee: Ken Giusti > The latest release of proton (pre-0.37.0) breaks scraper > > > Key: DISPATCH-2276 > URL: https://issues.apache.org/jira/browse/DISPATCH-2276 > Project: Qpid Dispatch > Issue Type: Bug >Reporter: Ken Giusti >Assignee: Ken Giusti >Priority: Major > > The next version of proton changes the format of the message tracing log > messages. > Scraper needs to be updated to work with these new log formats. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (DISPATCH-2276) The latest release of proton (pre-0.37.0) breaks scraper
Ken Giusti created DISPATCH-2276: Summary: The latest release of proton (pre-0.37.0) breaks scraper Key: DISPATCH-2276 URL: https://issues.apache.org/jira/browse/DISPATCH-2276 Project: Qpid Dispatch Issue Type: Bug Reporter: Ken Giusti The next version of proton changes the format of the message tracing log messages. Scraper needs to be updated to work with these new log formats. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] kgiusti opened a new pull request #1423: NO-JIRA: bump proton stable release to 0.36.0 in CI
kgiusti opened a new pull request #1423: URL: https://github.com/apache/qpid-dispatch/pull/1423 This needs to be done until DISPATCH-2257 is fixed. This closes #1422 (cherry picked from commit df03efbacd97ea44ec8d636d10d0065cbccc4611) -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-2257) listener with http=true uses AF_INTE6 even when ipv6 is not supported
[ https://issues.apache.org/jira/browse/DISPATCH-2257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439380#comment-17439380 ] ASF subversion and git services commented on DISPATCH-2257: --- Commit df03efbacd97ea44ec8d636d10d0065cbccc4611 in qpid-dispatch's branch refs/heads/main from Ken Giusti [ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=df03efb ] NO-JIRA: bump proton stable release to 0.36.0 in CI This needs to be done until DISPATCH-2257 is fixed. This closes #1422 > listener with http=true uses AF_INTE6 even when ipv6 is not supported > - > > Key: DISPATCH-2257 > URL: https://issues.apache.org/jira/browse/DISPATCH-2257 > Project: Qpid Dispatch > Issue Type: Bug >Affects Versions: 1.17.0 >Reporter: Gordon Sim >Priority: Major > Fix For: 1.17.1 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-dispatch] asfgit closed pull request #1422: NO-JIRA: bump proton stable release to 0.36.0 in CI
asfgit closed pull request #1422: URL: https://github.com/apache/qpid-dispatch/pull/1422 -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPIDJMS-552) JMS 2 Completion threads shouldn't scale with the number of sessions
[ https://issues.apache.org/jira/browse/QPIDJMS-552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439367#comment-17439367 ] ASF GitHub Bot commented on QPIDJMS-552: gemmellr commented on a change in pull request #44: URL: https://github.com/apache/qpid-jms/pull/44#discussion_r743617569 ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -591,6 +613,14 @@ public long getConnectTimeout() { return this.connectTimeout; } +public void setCompletionThreads(final int completionThreads) { Review comment: I'd go with SharedCompletionThreads to emphasize its shared, given its both same and cross-connection sharing. EDIT: actually, is it? I'm not seeing where it would actually share? A new SharedDisposable looks to be made afresh each time, and has no statics to share across connections, which would seem to mean its just a bigger per-connection pool. -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > JMS 2 Completion threads shouldn't scale with the number of sessions > > > Key: QPIDJMS-552 > URL: https://issues.apache.org/jira/browse/QPIDJMS-552 > Project: Qpid JMS > Issue Type: Bug > Components: qpid-jms-client >Affects Versions: 1.3.0 >Reporter: Francesco Nigro >Priority: Major > > JMS 2 Completion threads are now tied to be one per JMS Session ie a client > application with N JMS sessions need N completion threads to handle the > completion events. > Given that the asynchronous model of JMS 2 allows users to have few threads > handling many JMS sessions, should be better to reduce the amount of > completion threads without exceeding the number of available cores and > shrink/grow according to the completion event processing load. > If the user confine a connection in a thread handling many JMS sessions and > the completion events are issued by the same Netty thread in sequence, if the > completion processing for a JMS Session is fast enough, next JMS Sessions can > reuse existing completion threads instead of using a new one. > This model save using too many completion threads for users tasks that are > supposed to be very fast: if the user task cause a specific JMS Session > completion thread to block, the expectation is that the system should be able > to create a new completion thread to handle other JMS Session completion > events, as expected. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-jms] gemmellr commented on a change in pull request #44: QPIDJMS-552 JMS 2 Completion threads shouldn't scale with the number of sessions
gemmellr commented on a change in pull request #44: URL: https://github.com/apache/qpid-jms/pull/44#discussion_r743617569 ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -591,6 +613,14 @@ public long getConnectTimeout() { return this.connectTimeout; } +public void setCompletionThreads(final int completionThreads) { Review comment: I'd go with SharedCompletionThreads to emphasize its shared, given its both same and cross-connection sharing. EDIT: actually, is it? I'm not seeing where it would actually share? A new SharedDisposable looks to be made afresh each time, and has no statics to share across connections, which would seem to mean its just a bigger per-connection pool. -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPIDJMS-552) JMS 2 Completion threads shouldn't scale with the number of sessions
[ https://issues.apache.org/jira/browse/QPIDJMS-552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439364#comment-17439364 ] ASF GitHub Bot commented on QPIDJMS-552: gemmellr commented on a change in pull request #44: URL: https://github.com/apache/qpid-jms/pull/44#discussion_r740906037 ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java ## @@ -151,6 +155,7 @@ public void run() { this.connectionInfo = connectionInfo; this.connectionInfo.setConnection(this); +this.completionExecutorService = this.connectionInfo.getCompletionExecutorServiceFactory().map(Supplier::get).orElse(null); Review comment: Calling the field e.g 'sharedCompletionExecutorHolder' would make its use clearer. Similarly the getCompletionExecutorServiceFactory feels a bit lengthy, and not reflective that it only covers the shared one, e.g getSharedCompletionExecutorFactory. Actually, it feels like most of this line could be done up front, either in the ConnectionFactory or inside the ConnectionInfo, such that this line was a simple getSharedCompletionExecutorHolder that either returns null (as it will by default) or not. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -591,6 +613,14 @@ public long getConnectTimeout() { return this.connectTimeout; } +public void setCompletionThreads(final int completionThreads) { Review comment: I'd go with SharedCompletionThreads to emphasize its shared, given its both same and cross-connection sharing. EDIT: actually, is it? I'm not seeing where it would actually share? A new SharedDisposable looks to be made afresh each time, and has no statics to share across anything, which would seem to mean its just a bigger per-connection pool. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java ## @@ -194,6 +198,48 @@ public void onPendingFailure(ProviderException cause) { } } +private void processCompletions() { +assert processCompletion.get(); +completionThread = Thread.currentThread(); +try { +final Runnable completionTask = completionTasks.poll(); +if (completionTask != null) { +try { +completionTask.run(); +} catch (Throwable t) { +LOG.debug("errored on processCompletions duty cycle", t); +} +} +} finally { +completionThread = null; +processCompletion.set(false); +} +if (completionTasks.isEmpty()) { +return; +} +// a racing asyncProcessCompletion has won: no need to fire a continuation +if (!processCompletion.compareAndSet(false, true)) { +return; +} +getCompletionExecutor().execute(this::processCompletions); +} + +private void asyncProcessCompletion(final Runnable completionTask) { +asyncProcessCompletion(completionTask, false); +} + +private void asyncProcessCompletion(final Runnable completionTask, final boolean ignoreSessionClosed) { +if (!ignoreSessionClosed) { Review comment: I dont think the session closed check thing works. The closed boolean is set true as soon as session shutdown starts, but its possible for successfull async completions to arrive before the closure completes, simply because they are async and so is the session close, so they may be in flight and arrive before the session closure. I expect this change would mean they get could be marked as failed when they shouldnt, as the completion task would get dropped instead of running and then the fallback 'session closed, fail all outstanding completions' task would run and say they failed. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java ## @@ -194,6 +198,48 @@ public void onPendingFailure(ProviderException cause) { } } +private void processCompletions() { +assert processCompletion.get(); +completionThread = Thread.currentThread(); +try { +final Runnable completionTask = completionTasks.poll(); +if (completionTask != null) { +try { +completionTask.run(); +} catch (Throwable t) { +LOG.debug("errored on processCompletions duty cycle", t); +} +} +} finally { +completionThread = null; +processCompletion.set(false); +} +if (completionTasks.isEmpty()) { +return; +} +// a racing asyncProcessCompletion has won: no need to fire a continuation +if (!processCompletion.compareAndSet(false, true)) { +
[GitHub] [qpid-jms] gemmellr commented on a change in pull request #44: QPIDJMS-552 JMS 2 Completion threads shouldn't scale with the number of sessions
gemmellr commented on a change in pull request #44: URL: https://github.com/apache/qpid-jms/pull/44#discussion_r740906037 ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java ## @@ -151,6 +155,7 @@ public void run() { this.connectionInfo = connectionInfo; this.connectionInfo.setConnection(this); +this.completionExecutorService = this.connectionInfo.getCompletionExecutorServiceFactory().map(Supplier::get).orElse(null); Review comment: Calling the field e.g 'sharedCompletionExecutorHolder' would make its use clearer. Similarly the getCompletionExecutorServiceFactory feels a bit lengthy, and not reflective that it only covers the shared one, e.g getSharedCompletionExecutorFactory. Actually, it feels like most of this line could be done up front, either in the ConnectionFactory or inside the ConnectionInfo, such that this line was a simple getSharedCompletionExecutorHolder that either returns null (as it will by default) or not. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionFactory.java ## @@ -591,6 +613,14 @@ public long getConnectTimeout() { return this.connectTimeout; } +public void setCompletionThreads(final int completionThreads) { Review comment: I'd go with SharedCompletionThreads to emphasize its shared, given its both same and cross-connection sharing. EDIT: actually, is it? I'm not seeing where it would actually share? A new SharedDisposable looks to be made afresh each time, and has no statics to share across anything, which would seem to mean its just a bigger per-connection pool. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java ## @@ -194,6 +198,48 @@ public void onPendingFailure(ProviderException cause) { } } +private void processCompletions() { +assert processCompletion.get(); +completionThread = Thread.currentThread(); +try { +final Runnable completionTask = completionTasks.poll(); +if (completionTask != null) { +try { +completionTask.run(); +} catch (Throwable t) { +LOG.debug("errored on processCompletions duty cycle", t); +} +} +} finally { +completionThread = null; +processCompletion.set(false); +} +if (completionTasks.isEmpty()) { +return; +} +// a racing asyncProcessCompletion has won: no need to fire a continuation +if (!processCompletion.compareAndSet(false, true)) { +return; +} +getCompletionExecutor().execute(this::processCompletions); +} + +private void asyncProcessCompletion(final Runnable completionTask) { +asyncProcessCompletion(completionTask, false); +} + +private void asyncProcessCompletion(final Runnable completionTask, final boolean ignoreSessionClosed) { +if (!ignoreSessionClosed) { Review comment: I dont think the session closed check thing works. The closed boolean is set true as soon as session shutdown starts, but its possible for successfull async completions to arrive before the closure completes, simply because they are async and so is the session close, so they may be in flight and arrive before the session closure. I expect this change would mean they get could be marked as failed when they shouldnt, as the completion task would get dropped instead of running and then the fallback 'session closed, fail all outstanding completions' task would run and say they failed. ## File path: qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java ## @@ -194,6 +198,48 @@ public void onPendingFailure(ProviderException cause) { } } +private void processCompletions() { +assert processCompletion.get(); +completionThread = Thread.currentThread(); +try { +final Runnable completionTask = completionTasks.poll(); +if (completionTask != null) { +try { +completionTask.run(); +} catch (Throwable t) { +LOG.debug("errored on processCompletions duty cycle", t); +} +} +} finally { +completionThread = null; +processCompletion.set(false); +} +if (completionTasks.isEmpty()) { +return; +} +// a racing asyncProcessCompletion has won: no need to fire a continuation +if (!processCompletion.compareAndSet(false, true)) { +return; +} +getCompletionExecutor().execute(this::processCompletions); Review comment: Newline before isEmpty, its on to a different unit of the work really. I think it would be more readable to
[jira] [Created] (DISPATCH-2275) Dispatch test failures with the latest from proton main branch
Ganesh Murthy created DISPATCH-2275: --- Summary: Dispatch test failures with the latest from proton main branch Key: DISPATCH-2275 URL: https://issues.apache.org/jira/browse/DISPATCH-2275 Project: Qpid Dispatch Issue Type: Test Components: Tests Affects Versions: 1.17.1 Reporter: Ganesh Murthy Assignee: Ken Giusti There are 3 test errors {noformat} 47: Error text: Process 2801860 error: exit code 1, expected 0 47: /usr/bin/python3.9 /home/gmurthy/opensource/qpid-dispatch/build/tests/scraper/scraper.py -f /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/A.log /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/B.log /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/C.log /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/D.log 47: /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/test_04_scraper_tool/python3.9-1.cmd 47: 47: 47: FAIL 75: 2021-11-05 10:49:25.394391 TCP_TEST test_01_tcp_EB1_EA1 Client test_01_tcp_EB1_EA1_0_1_1 exited normally 75: 2021-11-05 10:49:25.394507 TCP_TEST test_01_tcp_EB1_EA1 SUCCESS 75: 2021-11-05 10:49:25.394626 TCP_TEST test_01_tcp_basic_connectivity Stop test_01_tcp_EB1_EA1 SUCCESS 75: 2021-11-05 10:49:25.394673 TCP_TEST test_01_tcp_basic_connectivity Start test_01_tcp_EB1_EA2 75: 2021-11-05 10:49:25.394726 TCP_TEST test_01_tcp_EB1_EA2 Start do_tcp_echo_n_routers 75: 2021-11-05 10:49:25.394774 TCP_TEST test_01_tcp_EB1_EA2 Running pair 0 EB1->EA2 size=1 count=1 47: 47: == 47: FAIL: test_04_scraper_tool (system_tests_topology_disposition.TopologyDispositionTests) 47: -- 47: Traceback (most recent call last): 47: File "/home/gmurthy/opensource/qpid-dispatch/tests/system_tests_topology_disposition.py", line 432, in test_04_scraper_tool 47: self.assertEqual(str(None), error) 47: AssertionError: 'None' != 'Process 2801860 error: exit code 1, expec[842 chars]' 47: - None 47: + Process 2801860 error: exit code 1, expected 0 47: /usr/bin/python3.9 /home/gmurthy/opensource/qpid-dispatch/build/tests/scraper/scraper.py -f /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/A.log /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/B.log /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/C.log /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/setUpClass/D.log 47: /home/gmurthy/opensource/qpid-dispatch/build/tests/system_test.dir/system_tests_topology_disposition/TopologyDispositionTests/test_04_scraper_tool/python3.9-1.cmd 47: 47: {noformat} {noformat} 29: test_max_sessions_zero (system_tests_protocol_settings.MaxSessionsZeroTest) ... FAIL 29: 29: == 29: FAIL: test_connector_default (system_tests_protocol_settings.ConnectorSettingsDefaultTest) 29: -- 29: Traceback (most recent call last): 29: File "/home/gmurthy/opensource/qpid-dispatch/tests/system_tests_protocol_settings.py", line 322, in test_connector_default 29: self.assertIn(' max-frame-size=16384,', open_lines[0]) 29: AssertionError: ' max-frame-size=16384,' not found in '2021-11-05 10:50:24.161355 -0400 PROTOCOL (trace) [C3]:FRAME: 0 <- @open(16) [container-id="QDR.B", hostname="127.0.0.1", max-frame-size=0x4000, channel-max=0x7fff, idle-time-out=0xea60, outgoing-locales=null, incoming-locales=null, offered-capabilities=@[:ANONYMOUS-RELAY, :"qd.streaming-links"], desired-capabilities=@[:ANONYMOUS-RELAY, :"qd.streaming-links"], properties={:product="qpid-dispatch-router", :version="1.19.0-SNAPSHOT", :"qd.conn-id"=1}] (/home/gmurthy/opensource/qpid-dispatch/src/server.c:111)' 29: 29: == 29: FAIL: test_connector_default (system_tests_protocol_settings.ConnectorSettingsNondefaultTest) 29: -- 29: Traceback (most recent call last): 29: File
[jira] [Commented] (QPID-8565) [Broker-J] Enhancement of ACL rule predicates evaluation
[ https://issues.apache.org/jira/browse/QPID-8565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439343#comment-17439343 ] ASF GitHub Bot commented on QPID-8565: -- mklaca commented on pull request #113: URL: https://github.com/apache/qpid-broker-j/pull/113#issuecomment-961997263 Hi Alex, regarding the RulePredicate.Any performance optimization, I have measured the impact of the chain of rule predicates optimization on the performance. The time of ACL rules check decreases by 2-3%, it depends on the structure of ACL rules of course. But the optimization has always a positive impact. The whole ACL plugin performance optimization is based on the set of many small improvements that together will improve the performance significantly. I disagree that > The code readability has improved significantly without additional "any" check From my point of view, it is a small change and it allows "null check free code". The RulePredicate.Any can be used as the default value instead of null and so it could be added to the predicate chain multiple times and any null check is not needed. -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > [Broker-J] Enhancement of ACL rule predicates evaluation > > > Key: QPID-8565 > URL: https://issues.apache.org/jira/browse/QPID-8565 > Project: Qpid > Issue Type: Improvement > Components: Broker-J >Reporter: Marek Laca >Priority: Minor > Labels: Broker, Java > > The access control plugin checks the rights of the user to perform an action > on the broker's component. The access control plugin iterates through the ACL > rules and checks their predicates. The user action is denied or allowed based > on the test result. > The aim of this task are refactoring of the code that is required for the > [QPID-8487|https://issues.apache.org/jira/browse/QPID-8487] and > [QPID-8488|https://issues.apache.org/jira/browse/QPID-8488], improving the > test of the ACL rule predicates and removing useless classes. Changes should > not have any impact on the functionality of the access control plugin. > The ObjectProperties class has two responsibilities, it holds the rule > predicates and also the objects properties that are checked. The > responsibilities of ObjectProperties class should be split because the code > should honor the principle of one responsibility per class. > The Rule class is treated as immutable but the immutability is not enforce by > the code. > The Action, AclAction and ClientAction classes are only data holders that > don't have any real responsibility. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-broker-j] mklaca commented on pull request #113: QPID-8565: [Broker-J] Enhancement of ACL rule predicates evaluation
mklaca commented on pull request #113: URL: https://github.com/apache/qpid-broker-j/pull/113#issuecomment-961997263 Hi Alex, regarding the RulePredicate.Any performance optimization, I have measured the impact of the chain of rule predicates optimization on the performance. The time of ACL rules check decreases by 2-3%, it depends on the structure of ACL rules of course. But the optimization has always a positive impact. The whole ACL plugin performance optimization is based on the set of many small improvements that together will improve the performance significantly. I disagree that > The code readability has improved significantly without additional "any" check From my point of view, it is a small change and it allows "null check free code". The RulePredicate.Any can be used as the default value instead of null and so it could be added to the predicate chain multiple times and any null check is not needed. -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-8565) [Broker-J] Enhancement of ACL rule predicates evaluation
[ https://issues.apache.org/jira/browse/QPID-8565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439328#comment-17439328 ] ASF GitHub Bot commented on QPID-8565: -- mklaca commented on a change in pull request #113: URL: https://github.com/apache/qpid-broker-j/pull/113#discussion_r743745075 ## File path: broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java ## @@ -123,6 +123,16 @@ else if (property == Property.ATTRIBUTES) { _attributeNames.addAll(splitToSet(value)); } +else if (property == Property.CONNECTION_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_limit' has been deprecated"); Review comment: I changed the message to be precise. ## File path: broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java ## @@ -123,6 +123,16 @@ else if (property == Property.ATTRIBUTES) { _attributeNames.addAll(splitToSet(value)); } +else if (property == Property.CONNECTION_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_limit' has been deprecated"); +return false; +} +else if (property == Property.CONNECTION_FREQUENCY_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_frequency_limit' has been deprecated"); Review comment: I changed the message to be precise. -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org > [Broker-J] Enhancement of ACL rule predicates evaluation > > > Key: QPID-8565 > URL: https://issues.apache.org/jira/browse/QPID-8565 > Project: Qpid > Issue Type: Improvement > Components: Broker-J >Reporter: Marek Laca >Priority: Minor > Labels: Broker, Java > > The access control plugin checks the rights of the user to perform an action > on the broker's component. The access control plugin iterates through the ACL > rules and checks their predicates. The user action is denied or allowed based > on the test result. > The aim of this task are refactoring of the code that is required for the > [QPID-8487|https://issues.apache.org/jira/browse/QPID-8487] and > [QPID-8488|https://issues.apache.org/jira/browse/QPID-8488], improving the > test of the ACL rule predicates and removing useless classes. Changes should > not have any impact on the functionality of the access control plugin. > The ObjectProperties class has two responsibilities, it holds the rule > predicates and also the objects properties that are checked. The > responsibilities of ObjectProperties class should be split because the code > should honor the principle of one responsibility per class. > The Rule class is treated as immutable but the immutability is not enforce by > the code. > The Action, AclAction and ClientAction classes are only data holders that > don't have any real responsibility. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] [qpid-broker-j] mklaca commented on a change in pull request #113: QPID-8565: [Broker-J] Enhancement of ACL rule predicates evaluation
mklaca commented on a change in pull request #113: URL: https://github.com/apache/qpid-broker-j/pull/113#discussion_r743745075 ## File path: broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java ## @@ -123,6 +123,16 @@ else if (property == Property.ATTRIBUTES) { _attributeNames.addAll(splitToSet(value)); } +else if (property == Property.CONNECTION_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_limit' has been deprecated"); Review comment: I changed the message to be precise. ## File path: broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/AclRulePredicatesBuilder.java ## @@ -123,6 +123,16 @@ else if (property == Property.ATTRIBUTES) { _attributeNames.addAll(splitToSet(value)); } +else if (property == Property.CONNECTION_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_limit' has been deprecated"); +return false; +} +else if (property == Property.CONNECTION_FREQUENCY_LIMIT) +{ +LOGGER.warn("The ACL Rule property 'connection_frequency_limit' has been deprecated"); Review comment: I changed the message to be precise. -- 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. To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (PROTON-2457) Bugs found by os-fuzzer
[ https://issues.apache.org/jira/browse/PROTON-2457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17439298#comment-17439298 ] ASF subversion and git services commented on PROTON-2457: - Commit b788baad3e9d9ba028d3d115e272e94a30227e17 in qpid-proton's branch refs/heads/main from Andrew Stitcher [ https://gitbox.apache.org/repos/asf?p=qpid-proton.git;h=b788baa ] PROTON-2457: Buffer overrun found by fuzzing > Bugs found by os-fuzzer > --- > > Key: PROTON-2457 > URL: https://issues.apache.org/jira/browse/PROTON-2457 > Project: Qpid Proton > Issue Type: Bug > Components: proton-c >Affects Versions: proton-c-0.37.0 >Reporter: Andrew Stitcher >Assignee: Andrew Stitcher >Priority: Major > Fix For: proton-c-0.37.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (PROTON-2457) Bugs found by os-fuzzer
Andrew Stitcher created PROTON-2457: --- Summary: Bugs found by os-fuzzer Key: PROTON-2457 URL: https://issues.apache.org/jira/browse/PROTON-2457 Project: Qpid Proton Issue Type: Bug Components: proton-c Affects Versions: proton-c-0.37.0 Reporter: Andrew Stitcher Assignee: Andrew Stitcher Fix For: proton-c-0.37.0 -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[NOTE] current-release downloads now served via CDN rather than mirror system
For anyone, particularly release managers, that didnt spot previous blogs etc [1] ... Note that once a new release is published to the dist area, you wont need to wait e.g up to a day anymore for it to sufficiently mirror before then updating the site and announcing. The current-release downloads are now being served via a CDN instead of the previous mirroring system. As a result you'll only need to wait for the release files to hit the CDN (dlcdn.a.o currently). Mails elsewhere suggest it should be ~15 minutes. [1] https://blogs.apache.org/foundation/entry/apache-software-foundation-moves-to - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[ANNOUNCE] Apache Qpid Proton 0.36.0 released
The Apache Qpid (https://qpid.apache.org) community is pleased to announce the immediate availability of Apache Qpid Proton 0.36.0. Apache Qpid Proton is a messaging library for the Advanced Message Queuing Protocol 1.0 (AMQP 1.0, ISO/IEC 19464, https://www.amqp.org). It can be used in a wide range of messaging applications including brokers, clients, routers, bridges, proxies, and more. The release is available now from our website: https://qpid.apache.org/download.html Release notes can be found at: https://qpid.apache.org/releases/qpid-proton-0.36.0/release-notes.html Thanks to all involved, Robbie - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Resolved] (PROTON-2400) 0.36.0 release tasks
[ https://issues.apache.org/jira/browse/PROTON-2400?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robbie Gemmell resolved PROTON-2400. Resolution: Done > 0.36.0 release tasks > > > Key: PROTON-2400 > URL: https://issues.apache.org/jira/browse/PROTON-2400 > Project: Qpid Proton > Issue Type: Task > Components: proton-c, release >Reporter: Robbie Gemmell >Assignee: Robbie Gemmell >Priority: Major > Fix For: proton-c-0.36.0 > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org