[jira] [Commented] (DISPATCH-1742) Plugin-API for protocol adaptors
[ https://issues.apache.org/jira/browse/DISPATCH-1742?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17224983#comment-17224983 ] ASF subversion and git services commented on DISPATCH-1742: --- Commit 46e04ed7f89f01fbe945ea754b224df07fd20982 in qpid-dispatch's branch refs/heads/dev-protocol-adaptors-2 from Ted Ross [ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=46e04ed ] DISPATCH-1742 - Remove buffers when refcount goes to zero on send. > Plugin-API for protocol adaptors > > > Key: DISPATCH-1742 > URL: https://issues.apache.org/jira/browse/DISPATCH-1742 > Project: Qpid Dispatch > Issue Type: New Feature > Components: Protocol Adaptors >Reporter: Ted Ross >Assignee: Ted Ross >Priority: Major > Fix For: Backlog > > > This Jira tracks the creation of a protocol-adaptor API to be used in Qpid > Dispatch Router to implement protocol access from non-AMQP protocols. These > adaptors run in the I/O thread pool and use the services of the router-core > via the router-core API. > -- 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] [Assigned] (DISPATCH-1780) multicast support for http 1.1 adaptor
[ https://issues.apache.org/jira/browse/DISPATCH-1780?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gordon Sim reassigned DISPATCH-1780: Assignee: Gordon Sim > multicast support for http 1.1 adaptor > -- > > Key: DISPATCH-1780 > URL: https://issues.apache.org/jira/browse/DISPATCH-1780 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.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] [Reopened] (DISPATCH-1735) system_tests_management failing on Fedora 32
[ https://issues.apache.org/jira/browse/DISPATCH-1735?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ganesh Murthy reopened DISPATCH-1735: - > system_tests_management failing on Fedora 32 > > > Key: DISPATCH-1735 > URL: https://issues.apache.org/jira/browse/DISPATCH-1735 > Project: Qpid Dispatch > Issue Type: Bug > Components: Tests >Reporter: Ganesh Murthy >Assignee: Ganesh Murthy >Priority: Major > Fix For: 1.15.0 > > > {noformat} > 19: == > 19: FAIL: test_dummy (system_tests_management.ManagementTest) > 19: Test all operations on the dummy test entity > 19: -- > 19: Traceback (most recent call last): > 19: File > "/home/gmurthy/opensource/qpid-dispatch/tests/system_tests_management.py", > line 347, in test_dummy > 19: self.assertEqual( > 19: AssertionError: {'operation': 'callme', 'type': 'org.apache[58 > chars]tes'} != {'type': 'org.apache.qpid.dispatch.dummy', [57 chars]y/0'} > 19: - {'data': b'bytes', > 19: ? - > 19: > 19: + {'data': 'bytes', > 19:'identity': 'dummy/0', > 19:'operation': 'callme', > 19:'type': 'org.apache.qpid.dispatch.dummy'} > 19: > 19: -- > 19: Ran 21 tests in 9.483s > 19: > 19: FAILED (failures=1) > 1/1 Test #19: system_tests_management ..***Failed9.69 sec > {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] [Updated] (DISPATCH-1804) Add AMQ Footer support to Body Data API
[ https://issues.apache.org/jira/browse/DISPATCH-1804?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ted Ross updated DISPATCH-1804: --- Fix Version/s: 1.15.0 > Add AMQ Footer support to Body Data API > > > Key: DISPATCH-1804 > URL: https://issues.apache.org/jira/browse/DISPATCH-1804 > Project: Qpid Dispatch > Issue Type: Improvement > Components: Protocol Adaptors >Reporter: Ganesh Murthy >Assignee: Ted Ross >Priority: Major > Fix For: 1.15.0 > > > Process footers as part of the message Body Data API -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1779) http stats/metrics
[ https://issues.apache.org/jira/browse/DISPATCH-1779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17224904#comment-17224904 ] ASF subversion and git services commented on DISPATCH-1779: --- Commit 5f95b8e32374cb50ddb26f75a19e162092a22beb in qpid-dispatch's branch refs/heads/dev-protocol-adaptors-2 from Ganesh Murthy [ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=5f95b8e ] DISPATCH-1779: Additional fix to use stream_data->request_status on the client and server side > http stats/metrics > -- > > Key: DISPATCH-1779 > URL: https://issues.apache.org/jira/browse/DISPATCH-1779 > Project: Qpid Dispatch > Issue Type: Improvement >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Major > Fix For: 1.15.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] [Resolved] (DISPATCH-1751) unexpected incoming-window in begin frame when running Dispatch on 32 bit system
[ https://issues.apache.org/jira/browse/DISPATCH-1751?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Charles E. Rolke resolved DISPATCH-1751. Resolution: Fixed Fixed at Commit 5371dfb > unexpected incoming-window in begin frame when running Dispatch on 32 bit > system > > > Key: DISPATCH-1751 > URL: https://issues.apache.org/jira/browse/DISPATCH-1751 > Project: Qpid Dispatch > Issue Type: Bug >Affects Versions: 1.13.0 >Reporter: Ganesh Murthy >Priority: Major > Fix For: 1.15.0 > > > On 32bit systems, an unexpected incoming-window value is set. This for > example causes system_tests_protocol_settings failures on 32bit systems, with > test expecting to see the incoming-window be 2147483647 but instead finding > it much less, e.g 131071. > This is due to the way the session capacity is configured, particularly on > 32bit systems. See more details (output, code, etc) from prior discussions on > PROTON-2255 (raised when this was incorrectly thought to be a proton issue). -- 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
[ANNOUNCE] Apache Qpid Proton-J 0.33.7 released
The Apache Qpid (http://qpid.apache.org) community is pleased to announce the immediate availability of Apache Qpid Proton-J 0.33.7. Apache Qpid Proton-J is a messaging library for the Advanced Message Queuing Protocol 1.0 (AMQP 1.0, ISO/IEC 19464, http://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: http://qpid.apache.org/download.html Binaries are also available via Maven Central: http://qpid.apache.org/maven.html Release notes can be found at: http://qpid.apache.org/releases/qpid-proton-j-0.33.7/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
Re: Amqp Spec : multiple byte[] is not supported for DATA
The comment you linked to outlined three separate potential ways to send multiple data sections. You implemented a kind of hybrid of the 1st and 2nd of the routes given, with the 2nd probably being the clunkiest approach by far. I'd suggest you go for purely the 1st route (encoding a Message object with only a Data body set will get you the bytes for only the Data section, as your code below is already relying on..so you can simply repeat that process for each section), or use the 3rd route (manually encode the data sections, by trivially writing the 5 or 8 bytes needed to set the appropriate descriptor and length of the section, e.g as demonstrated by how the actual encoding does it at [1]+[2]), or avoid all of those and head straight to using the encoder+decoder as Tim's comment about looking at the message impl and doing your own would result. You will have to do the latter if you want to receive multiple such data sections, the Message object simply cant help you there. If you use the newer ReadableBuffer and WritableBuffer decoding/encoding variants you wont need to do most of the array tracking your code is doing, the buffers would handle it themselves (youd simply pull the underlying array/buffer at the end if you want it). You'll see the message impl and encoder always do that internally. Please use the users list for future threads. [1] https://github.com/apache/qpid-proton-j/blob/0.33.7/proton-j/src/main/java/org/apache/qpid/proton/codec/messaging/FastPathDataType.java#L121-L127 [2] https://github.com/apache/qpid-proton-j/blob/0.33.7/proton-j/src/main/java/org/apache/qpid/proton/codec/BinaryType.java#L70-L88 On Sun, 1 Nov 2020 at 04:23, hemanttanwar wrote: > > Thank you for your timely response. > > I will look into the MessageImpl.java implementation you referenced. > > Another way to achieve this was explained in following thread and I tried to > implement it But this is treated as "three separate amqp messages with one > data section" rather than "one amqp message with three data sections". > > I want to make sure I am implementing it correctly as explained here > > https://issues.apache.org/jira/browse/PROTON-1098?focusedCommentId=15098238=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-15098238 > > Here is my implementation. > > https://github.com/hemanttanwar/proton-j-multiple-data/blob/main/data-multi-section/src/main/java/com/protonj/app/MultipleDataSender.java#L43 > > Appreciate your input on this. > > > > > -- > Sent from: > http://qpid.2158936.n2.nabble.com/Apache-Qpid-developers-f7254403.html > > - > To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org > For additional commands, e-mail: dev-h...@qpid.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Created] (DISPATCH-1821) Double-free in qd_entity_configure_policy on error
Jiri Daněk created DISPATCH-1821: Summary: Double-free in qd_entity_configure_policy on error Key: DISPATCH-1821 URL: https://issues.apache.org/jira/browse/DISPATCH-1821 Project: Qpid Dispatch Issue Type: Bug Components: Policy Engine Affects Versions: 1.14.0 Reporter: Jiri Daněk As far as I can tell, this double-free is near impossible in normal operation of the router. Below, it is reproduced using a test, which passes in a value for that cannot be converted to a Python bool. There is no way for a legitimate user to make this happen. Regarding a fix, I am not sure what the router should do when it detect invalid configuration. Freeing qd->policy is IMO not the right response, because that is normally freed in qd_dispatch_free. Printing an error and carying on (that now happens for {{maxConnections < 0}}) does not seem right to me either (but it's probably needed in case the config is changed through remote management interface), {noformat} 2020-11-02 09:48:51.887312 +0100 ROUTER_CORE (info) In-process subscription L/$management 2020-11-02 09:48:51.939210 +0100 ERROR (error) Python: NotImplementedError: 2020-11-02 09:48:51.941666 +0100 ERROR (error) Traceback (most recent call last): File "test_module", line 3, in __bool__ NotImplementedError = ==27615==ERROR: AddressSanitizer: attempting double-free on 0x60201810 in thread T0: #0 0x7f876d5191d7 in __interceptor_free (/nix/store/zhbhxp4jgalycwffildy2bwcgmrsmayk-gcc-9.2.0-lib/lib/libasan.so.5+0x10a1d7) #1 0x7f876cd33b95 in qd_policy_free ../src/policy.c:136 #2 0x7f876cd347cf in qd_entity_configure_policy ../src/policy.c:178 #3 0x4ef6a6 in _DOCTEST_ANON_FUNC_6 ../tests/c_unittests/test_policy.cpp:75 #4 0x493edd in doctest::Context::run() ../tests/c_unittests/doctest.h:5849 #5 0x4974e9 in main ../tests/c_unittests/doctest.h:5933 #6 0x7f876b610d8a in __libc_start_main (/nix/store/xg6ilb9g9zhi2zg1dpi4zcp288rhnvns-glibc-2.30/lib/libc.so.6+0x23d8a) #7 0x43cd99 in _start (/home/jdanek/repos/qpid/qpid-dispatch/cmake-build-debug/tests/c_unittests/c_unittests+0x43cd99) 0x60201810 is located 0 bytes inside of 5-byte region [0x60201810,0x60201815) freed by thread T0 here: #0 0x7f876d5191d7 in __interceptor_free (/nix/store/zhbhxp4jgalycwffildy2bwcgmrsmayk-gcc-9.2.0-lib/lib/libasan.so.5+0x10a1d7) #1 0x7f876cd347c3 in qd_entity_configure_policy ../src/policy.c:177 #2 0x4ef6a6 in _DOCTEST_ANON_FUNC_6 ../tests/c_unittests/test_policy.cpp:75 #3 0x493edd in doctest::Context::run() ../tests/c_unittests/doctest.h:5849 #4 0x4974e9 in main ../tests/c_unittests/doctest.h:5933 #5 0x7f876b610d8a in __libc_start_main (/nix/store/xg6ilb9g9zhi2zg1dpi4zcp288rhnvns-glibc-2.30/lib/libc.so.6+0x23d8a) previously allocated by thread T0 here: #0 0x7f876d4a40b5 in strdup (/nix/store/zhbhxp4jgalycwffildy2bwcgmrsmayk-gcc-9.2.0-lib/lib/libasan.so.5+0x950b5) #1 0x7f876cec8c99 in py_string_2_c ../src/python_utils.c:35 #2 0x7f876cce21e2 in qd_entity_get_string ../src/entity.c:49 #3 0x7f876cce2b5f in qd_entity_opt_string ../src/entity.c:84 #4 0x7f876cd341b0 in qd_entity_configure_policy ../src/policy.c:161 #5 0x4ef6a6 in _DOCTEST_ANON_FUNC_6 ../tests/c_unittests/test_policy.cpp:75 #6 0x493edd in doctest::Context::run() ../tests/c_unittests/doctest.h:5849 #7 0x4974e9 in main ../tests/c_unittests/doctest.h:5933 #8 0x7f876b610d8a in __libc_start_main (/nix/store/xg6ilb9g9zhi2zg1dpi4zcp288rhnvns-glibc-2.30/lib/libc.so.6+0x23d8a) SUMMARY: AddressSanitizer: double-free (/nix/store/zhbhxp4jgalycwffildy2bwcgmrsmayk-gcc-9.2.0-lib/lib/libasan.so.5+0x10a1d7) in __interceptor_free ==27615==ABORTING Process finished with exit code 1 {noformat} The test which follows is currently missing PY decrefs. {noformat} #include #include #include "helpers.hpp" #include "qdr_doctest.h" extern "C" { #include #include #include #include #include #include #include } TEST_CASE("policy") { std::thread([]() { WithNoMemoryLeaks leaks{}; QDR qdr; qdr.start(); qdr.wait(); { auto qd = qdr.qd; PyObject *module = Py_CompileString( // language: Python R"EOT( class NotBool: def __bool__(self): raise NotImplementedError() fake_policy = { "maxConnections": 4, "policyDir": "/tmp", "enableVhostPolicy": 4, "enableVhostNamePatterns": NotBool(), })EOT", "test_module", Py_file_input); REQUIRE(module != nullptr); PyObject *pModuleObj = PyImport_ExecCodeModule("test_module", module); CHECK(pModuleObj != nullptr); PyErr_Print(); PyObject *pAttrObj =