[jira] [Commented] (DISPATCH-1742) Plugin-API for protocol adaptors

2020-11-02 Thread ASF subversion and git services (Jira)


[ 
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

2020-11-02 Thread Gordon Sim (Jira)


 [ 
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

2020-11-02 Thread Ganesh Murthy (Jira)


 [ 
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

2020-11-02 Thread Ted Ross (Jira)


 [ 
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

2020-11-02 Thread ASF subversion and git services (Jira)


[ 
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

2020-11-02 Thread Charles E. Rolke (Jira)


 [ 
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

2020-11-02 Thread Robbie Gemmell
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

2020-11-02 Thread Robbie Gemmell
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

2020-11-02 Thread Jira
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 =