[jira] [Commented] (PROTON-490) [proton-c] Python binding fails to link with Python 3 libraries
[ https://issues.apache.org/jira/browse/PROTON-490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14523463#comment-14523463 ] ASF subversion and git services commented on PROTON-490: Commit e7eb0c579b376e4f91667c4651f5a7fc84a053b2 in qpid-proton's branch refs/heads/kgiusti-python3 from [~kgiusti] [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=e7eb0c5 ] PROTON-490: convert string data to binary for transport push > [proton-c] Python binding fails to link with Python 3 libraries > --- > > Key: PROTON-490 > URL: https://issues.apache.org/jira/browse/PROTON-490 > Project: Qpid Proton > Issue Type: New Feature > Components: python-binding >Affects Versions: 0.6 >Reporter: Ken Giusti >Assignee: Ken Giusti > Attachments: 47_proton-490_fix_cproton.i.patch, > 47_proton-490_fix_import_statements_mllib_init.patch, > 47_proton-490_fix_mllib_dom.patch, 47_proton-490_fix_mllib_parsers.patch, > 47_proton-490_fix_mllib_transforms.py.patch, > 47_proton-490_fix_print_encodings.h.py.patch, > 47_proton-490_fix_print_protocol.h.py.patch, > 47_proton-490_fix_proton_init.patch > > > Attempting to link the Swig generated python bindings against the Python 3 > development libraries produces unresolved symbol errors: > CMakeFiles/_cproton.dir/pythonPYTHON_wrap.c.o: In function `_wrap_pn_bytes': > pythonPYTHON_wrap.c:(.text+0xa567): undefined reference to > `PyString_FromStringAndSize' > CMakeFiles/_cproton.dir/pythonPYTHON_wrap.c.o: In function > `_wrap_pn_bytes_dup': > pythonPYTHON_wrap.c:(.text+0xa701): undefined reference to > `PyString_FromStringAndSize' > CMakeFiles/_cproton.dir/pythonPYTHON_wrap.c.o: In function > `_wrap_pn_message_get_user_id': > pythonPYTHON_wrap.c:(.text+0x1e827): undefined reference to > `PyString_FromStringAndSize' > CMakeFiles/_cproton.dir/pythonPYTHON_wrap.c.o: In function > `_wrap_pn_data_get_decimal128': > pythonPYTHON_wrap.c:(.text+0x31450): undefined reference to > `PyString_FromStringAndSize' > CMakeFiles/_cproton.dir/pythonPYTHON_wrap.c.o: In function > `_wrap_pn_data_get_uuid': > pythonPYTHON_wrap.c:(.text+0x31559): undefined reference to > `PyString_FromStringAndSize' > CMakeFiles/_cproton.dir/pythonPYTHON_wrap.c.o:pythonPYTHON_wrap.c:(.text+0x31664): > more undefined references to `PyString_FromStringAndSize' follow > collect2: error: ld returned 1 exit status > This is due to a name change in the Python 3 API: > http://docs.python.org/2/c-api/string.html?highlight=pystring_fromstring#PyString_FromStringAndSize > http://docs.python.org/2/howto/cporting.html#conditional-compilation > The wrapper C code in proton-c/bindings/python/python.i needs to be updated > to support the Python 3 API. > -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (PROTON-490) [proton-c] Python binding fails to link with Python 3 libraries
[ https://issues.apache.org/jira/browse/PROTON-490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14523443#comment-14523443 ] ASF subversion and git services commented on PROTON-490: Commit 45238b464507871e732ceb363f8fb23b0abdf8df in qpid-proton's branch refs/heads/kgiusti-python3 from [~kgiusti] [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=45238b4 ] PROTON-490: have tests ignore platform-specific line endings > [proton-c] Python binding fails to link with Python 3 libraries > --- > > Key: PROTON-490 > URL: https://issues.apache.org/jira/browse/PROTON-490 > Project: Qpid Proton > Issue Type: New Feature > Components: python-binding >Affects Versions: 0.6 >Reporter: Ken Giusti >Assignee: Ken Giusti > Attachments: 47_proton-490_fix_cproton.i.patch, > 47_proton-490_fix_import_statements_mllib_init.patch, > 47_proton-490_fix_mllib_dom.patch, 47_proton-490_fix_mllib_parsers.patch, > 47_proton-490_fix_mllib_transforms.py.patch, > 47_proton-490_fix_print_encodings.h.py.patch, > 47_proton-490_fix_print_protocol.h.py.patch, > 47_proton-490_fix_proton_init.patch > > > Attempting to link the Swig generated python bindings against the Python 3 > development libraries produces unresolved symbol errors: > CMakeFiles/_cproton.dir/pythonPYTHON_wrap.c.o: In function `_wrap_pn_bytes': > pythonPYTHON_wrap.c:(.text+0xa567): undefined reference to > `PyString_FromStringAndSize' > CMakeFiles/_cproton.dir/pythonPYTHON_wrap.c.o: In function > `_wrap_pn_bytes_dup': > pythonPYTHON_wrap.c:(.text+0xa701): undefined reference to > `PyString_FromStringAndSize' > CMakeFiles/_cproton.dir/pythonPYTHON_wrap.c.o: In function > `_wrap_pn_message_get_user_id': > pythonPYTHON_wrap.c:(.text+0x1e827): undefined reference to > `PyString_FromStringAndSize' > CMakeFiles/_cproton.dir/pythonPYTHON_wrap.c.o: In function > `_wrap_pn_data_get_decimal128': > pythonPYTHON_wrap.c:(.text+0x31450): undefined reference to > `PyString_FromStringAndSize' > CMakeFiles/_cproton.dir/pythonPYTHON_wrap.c.o: In function > `_wrap_pn_data_get_uuid': > pythonPYTHON_wrap.c:(.text+0x31559): undefined reference to > `PyString_FromStringAndSize' > CMakeFiles/_cproton.dir/pythonPYTHON_wrap.c.o:pythonPYTHON_wrap.c:(.text+0x31664): > more undefined references to `PyString_FromStringAndSize' follow > collect2: error: ld returned 1 exit status > This is due to a name change in the Python 3 API: > http://docs.python.org/2/c-api/string.html?highlight=pystring_fromstring#PyString_FromStringAndSize > http://docs.python.org/2/howto/cporting.html#conditional-compilation > The wrapper C code in proton-c/bindings/python/python.i needs to be updated > to support the Python 3 API. > -- This message was sent by Atlassian JIRA (v6.3.4#6332)
Re: [VOTE]: Release Proton 0.9.1-rc1 as 0.9.1
[ X ]: Yes, release Proton 0.9.1-rc1 as 0.9.1 [ ]: No, ... tested with my 30,000-link-in-one-connection code.
Re: [VOTE]: Release Proton 0.9.1-rc1 as 0.9.1
[ X ]: Yes, release Proton 0.9.1-rc1 as 0.9.1 - Original Message - > From: "Rafael Schloming" > To: proton@qpid.apache.org > Sent: Wednesday, April 29, 2015 3:34:43 PM > Subject: [VOTE]: Release Proton 0.9.1-rc1 as 0.9.1 > > Hi Everyone, > > I've put out an RC for 0.9.1 in the usual places. > > Source artifacts are here: > https://people.apache.org/~rhs/qpid-proton-0.9.1-rc1/ > > Java binaries are here: > https://repository.apache.org/content/repositories/orgapacheqpid-1033 > > Please check them out and register your vote: > > [ ]: Yes, release Proton 0.9.1-rc1 as 0.9.1 > [ ]: No, ... > > --Rafael > -- -K
[jira] [Resolved] (PROTON-858) unbalanced maps can get corrupted
[ https://issues.apache.org/jira/browse/PROTON-858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gordon Sim resolved PROTON-858. --- Resolution: Fixed Fix Version/s: (was: 0.9.1) 0.10 Assignee: Gordon Sim > unbalanced maps can get corrupted > - > > Key: PROTON-858 > URL: https://issues.apache.org/jira/browse/PROTON-858 > Project: Qpid Proton > Issue Type: Bug > Components: proton-c >Affects Versions: 0.9 >Reporter: Gordon Sim >Assignee: Gordon Sim >Priority: Critical > Fix For: 0.10 > > > I came across an issue caused by proton's inability to find a delivery for > the id specified in a disposition it received, although the delivery with > that id did indeed exist. > On further analysis, it appears that maps that are not well balanced can get > corrupted, such that the lookup function fails, even when the map 'contains' > an entry with the required key. > When adding an entry whose key maps to the same addressable index in the map > as an existing entry, a free entry is taken from the end of the list and > linked to that existing entry. However if all the entries outside the > addressable range are used - and since addressable = 0.86*capacity, there are > actually not that many of those - then a free entry from the addressable > range is used for a key that does not map to that index. This can then lead > to a situation where the deletion of an entry causes another to become > unfindable. > (Detailed example: assume capacity is 16, i.e. first 13 entries (indices 0 to > 12) are addressable, last three (indices 13, 14 and 15) are not. > Add value a with key 1, value b with key 2, value c with key 3. These take > the first three addressable entries respectively. Now add items that map to > those same addressable indexes, e.g. a2 with key 14, b2 with key 15, c2 with > key 16. The three free non-addressable entries at the end are used for these > i.e. indices 15, 14 and 13 respectively, and they are linked to the first > three entries (at indices 1, 2 and 3 respectively). > Now add d with key 4, which takes the 4th addressable index, then add d2 with > key 17, which maps to the same addressable index. We take the next free entry > which is at index 12 - *inside* the addressable range - set the key to 10, > value to d2 and link it to the entry at index 4. > Now delete key 17, which is at index 15. Then add value n with key 12. Index > 12 is already taken by d2, so we use the newly vacated entry at index15 and > link that to the end of d2 at index 12. > Now we delete key 20 at index 12. Its the middle link in a chain of three so > we join the previous entry - d at index 4 to the next entry n at index 15. > Now you can't find n by its key 12). -- This message was sent by Atlassian JIRA (v6.3.4#6332)
Re: [VOTE]: Release Proton 0.9.1-rc1 as 0.9.1
+1 On 04/29/2015 03:34 PM, Rafael Schloming wrote: Hi Everyone, I've put out an RC for 0.9.1 in the usual places. Source artifacts are here: https://people.apache.org/~rhs/qpid-proton-0.9.1-rc1/ Java binaries are here: https://repository.apache.org/content/repositories/orgapacheqpid-1033 Please check them out and register your vote: [ ]: Yes, release Proton 0.9.1-rc1 as 0.9.1 [ ]: No, ... --Rafael
Re: [VOTE]: Release Proton 0.9.1-rc1 as 0.9.1
On 04/29/2015 08:34 PM, Rafael Schloming wrote: I've put out an RC for 0.9.1 in the usual places. Source artifacts are here: https://people.apache.org/~rhs/qpid-proton-0.9.1-rc1/ Java binaries are here: https://repository.apache.org/content/repositories/orgapacheqpid-1033 Please check them out and register your vote: [ X ]: Yes, release Proton 0.9.1-rc1 as 0.9.1 [ ]: No, ...
[jira] [Created] (PROTON-876) python examples installed under share are not executable
Gordon Sim created PROTON-876: - Summary: python examples installed under share are not executable Key: PROTON-876 URL: https://issues.apache.org/jira/browse/PROTON-876 Project: Qpid Proton Issue Type: Bug Components: python-binding Affects Versions: 0.9, 0.9.1 Reporter: Gordon Sim Assignee: Gordon Sim Priority: Minor Fix For: 0.10 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
Re: candidate commits for 0.9.1
On 1 May 2015 at 13:53, Chuck Rolke wrote: > I ran the patched map fix in the original environment where the issue was > first spotted. > > * Without the fix 4 of 10 tests failed within the first minute. > * With the fix 0 of 20 tests failed within the first minute. > > This is a great candidate for 0.9.1. > ..or, given thats already under vote, maybe 0.9.2, or even the perhaps-sooner-than-expected 0.10 being sounded out on the other thread? > > - Original Message - >> From: "Gordon Sim" >> To: proton@qpid.apache.org >> Sent: Friday, May 1, 2015 6:02:09 AM >> Subject: Re: candidate commits for 0.9.1 >> >> On 04/29/2015 05:38 PM, Gordon Sim wrote: >> > On 04/27/2015 01:45 PM, Gordon Sim wrote: >> >> On 04/27/2015 01:14 PM, Rafael Schloming wrote: >> >>> I also added PROTON-858 as a release blocker. >> >> >> >> I've been trying to get a fix proposal together for that. I'll post it >> >> for review as soon as I'm reasonably confident, still seeing some issues >> >> at present (not 100% sure they are related, but am assuming so). >> > >> > Just to update the status here. Although I have positive reviews for the >> > simple patch, I have encountered some issues even with that during >> > stress testing. >> > >> > I can't say for sure whether these are caused by my change as the test >> > showing them up doesn't run long enough without the change. However >> > until I know for sure I am not keen to commit it. >> >> It turns out the issues are not related to the change nor are they in >> proton, but in qpid::messaging itself. I have therefore committed the >> fix now to master, and posted the optimisation suggested by Alan for >> review: https://reviews.apache.org/r/33750/ (this also passes my stress >> tests). >> >>
[jira] [Commented] (PROTON-875) Proton-C SASL changes break windows self tests
[ https://issues.apache.org/jira/browse/PROTON-875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14523247#comment-14523247 ] Andrew Stitcher commented on PROTON-875: This is the symptom of fallback ANONYMOUS implementation not supporting pipelined frames > Proton-C SASL changes break windows self tests > -- > > Key: PROTON-875 > URL: https://issues.apache.org/jira/browse/PROTON-875 > Project: Qpid Proton > Issue Type: Bug > Components: proton-c, python-binding >Affects Versions: 0.9 > Environment: Windows Server Datacenter SP2, 32-bit > swigwin-2.0.10 > Python26 >Reporter: Chuck Rolke >Assignee: Andrew Stitcher > > After commits 4a09c6, 7cf0aba, and b3bf328 from PROTON-334, self tests > started to fail. > {noformat} > 1: proton_tests.sasl.SaslTest.testPipelined2 ... > fail > 1: Error during test: Traceback (most recent call last): > 1: File > "C:/Jenkins/workspace/rh_qpid_proton-trunk/rh-qpid-proton/tests/python/proton-test", > line 355, in run > 1: phase() > 1: File > "C:\Jenkins\workspace\rh_qpid_proton-trunk\rh-qpid-proton\tests\python\proton_tests\sasl.py", > line 161, in testPipelined2 > 1: assert len(out1) > 0 > 1: AssertionError > 1: proton_tests.sasl.SaslTest.testPipelinedClient .. > fail > 1: Error during test: Traceback (most recent call last): > 1: File > "C:/Jenkins/workspace/rh_qpid_proton-trunk/rh-qpid-proton/tests/python/proton-test", > line 355, in run > 1: phase() > 1: File > "C:\Jenkins\workspace\rh_qpid_proton-trunk\rh-qpid-proton\tests\python\proton_tests\sasl.py", > line 68, in testPipelinedClient > 1: assert self.s1.outcome == SASL.OK > 1: AssertionError > 1: proton_tests.sasl.SaslTest.testPipelinedClientFail .. > fail > 1: Error during test: Traceback (most recent call last): > 1: File > "C:/Jenkins/workspace/rh_qpid_proton-trunk/rh-qpid-proton/tests/python/proton-test", > line 355, in run > 1: phase() > 1: File > "C:\Jenkins\workspace\rh_qpid_proton-trunk\rh-qpid-proton\tests\python\proton_tests\sasl.py", > line 95, in testPipelinedClientFail > 1: assert self.s1.outcome == SASL.AUTH > 1: AssertionError > 1: proton_tests.sasl.SaslTest.testSaslAndAmqpInSingleChunk . > fail > 1: Error during test: Traceback (most recent call last): > 1: File > "C:/Jenkins/workspace/rh_qpid_proton-trunk/rh-qpid-proton/tests/python/proton-test", > line 355, in run > 1: phase() > 1: File > "C:\Jenkins\workspace\rh_qpid_proton-trunk\rh-qpid-proton\tests\python\proton_tests\sasl.py", > line 140, in testSaslAndAmqpInSingleChunk > 1: assert self.s2.outcome == SASL.OK > 1: AssertionError > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Closed] (PROTON-875) Proton-C SASL changes break windows self tests
[ https://issues.apache.org/jira/browse/PROTON-875?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Stitcher closed PROTON-875. -- Resolution: Duplicate > Proton-C SASL changes break windows self tests > -- > > Key: PROTON-875 > URL: https://issues.apache.org/jira/browse/PROTON-875 > Project: Qpid Proton > Issue Type: Bug > Components: proton-c, python-binding >Affects Versions: 0.9 > Environment: Windows Server Datacenter SP2, 32-bit > swigwin-2.0.10 > Python26 >Reporter: Chuck Rolke >Assignee: Andrew Stitcher > > After commits 4a09c6, 7cf0aba, and b3bf328 from PROTON-334, self tests > started to fail. > {noformat} > 1: proton_tests.sasl.SaslTest.testPipelined2 ... > fail > 1: Error during test: Traceback (most recent call last): > 1: File > "C:/Jenkins/workspace/rh_qpid_proton-trunk/rh-qpid-proton/tests/python/proton-test", > line 355, in run > 1: phase() > 1: File > "C:\Jenkins\workspace\rh_qpid_proton-trunk\rh-qpid-proton\tests\python\proton_tests\sasl.py", > line 161, in testPipelined2 > 1: assert len(out1) > 0 > 1: AssertionError > 1: proton_tests.sasl.SaslTest.testPipelinedClient .. > fail > 1: Error during test: Traceback (most recent call last): > 1: File > "C:/Jenkins/workspace/rh_qpid_proton-trunk/rh-qpid-proton/tests/python/proton-test", > line 355, in run > 1: phase() > 1: File > "C:\Jenkins\workspace\rh_qpid_proton-trunk\rh-qpid-proton\tests\python\proton_tests\sasl.py", > line 68, in testPipelinedClient > 1: assert self.s1.outcome == SASL.OK > 1: AssertionError > 1: proton_tests.sasl.SaslTest.testPipelinedClientFail .. > fail > 1: Error during test: Traceback (most recent call last): > 1: File > "C:/Jenkins/workspace/rh_qpid_proton-trunk/rh-qpid-proton/tests/python/proton-test", > line 355, in run > 1: phase() > 1: File > "C:\Jenkins\workspace\rh_qpid_proton-trunk\rh-qpid-proton\tests\python\proton_tests\sasl.py", > line 95, in testPipelinedClientFail > 1: assert self.s1.outcome == SASL.AUTH > 1: AssertionError > 1: proton_tests.sasl.SaslTest.testSaslAndAmqpInSingleChunk . > fail > 1: Error during test: Traceback (most recent call last): > 1: File > "C:/Jenkins/workspace/rh_qpid_proton-trunk/rh-qpid-proton/tests/python/proton-test", > line 355, in run > 1: phase() > 1: File > "C:\Jenkins\workspace\rh_qpid_proton-trunk\rh-qpid-proton\tests\python\proton_tests\sasl.py", > line 140, in testSaslAndAmqpInSingleChunk > 1: assert self.s2.outcome == SASL.OK > 1: AssertionError > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Assigned] (PROTON-875) Proton-C SASL changes break windows self tests
[ https://issues.apache.org/jira/browse/PROTON-875?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Stitcher reassigned PROTON-875: -- Assignee: Andrew Stitcher > Proton-C SASL changes break windows self tests > -- > > Key: PROTON-875 > URL: https://issues.apache.org/jira/browse/PROTON-875 > Project: Qpid Proton > Issue Type: Bug > Components: proton-c, python-binding >Affects Versions: 0.9 > Environment: Windows Server Datacenter SP2, 32-bit > swigwin-2.0.10 > Python26 >Reporter: Chuck Rolke >Assignee: Andrew Stitcher > > After commits 4a09c6, 7cf0aba, and b3bf328 from PROTON-334, self tests > started to fail. > {noformat} > 1: proton_tests.sasl.SaslTest.testPipelined2 ... > fail > 1: Error during test: Traceback (most recent call last): > 1: File > "C:/Jenkins/workspace/rh_qpid_proton-trunk/rh-qpid-proton/tests/python/proton-test", > line 355, in run > 1: phase() > 1: File > "C:\Jenkins\workspace\rh_qpid_proton-trunk\rh-qpid-proton\tests\python\proton_tests\sasl.py", > line 161, in testPipelined2 > 1: assert len(out1) > 0 > 1: AssertionError > 1: proton_tests.sasl.SaslTest.testPipelinedClient .. > fail > 1: Error during test: Traceback (most recent call last): > 1: File > "C:/Jenkins/workspace/rh_qpid_proton-trunk/rh-qpid-proton/tests/python/proton-test", > line 355, in run > 1: phase() > 1: File > "C:\Jenkins\workspace\rh_qpid_proton-trunk\rh-qpid-proton\tests\python\proton_tests\sasl.py", > line 68, in testPipelinedClient > 1: assert self.s1.outcome == SASL.OK > 1: AssertionError > 1: proton_tests.sasl.SaslTest.testPipelinedClientFail .. > fail > 1: Error during test: Traceback (most recent call last): > 1: File > "C:/Jenkins/workspace/rh_qpid_proton-trunk/rh-qpid-proton/tests/python/proton-test", > line 355, in run > 1: phase() > 1: File > "C:\Jenkins\workspace\rh_qpid_proton-trunk\rh-qpid-proton\tests\python\proton_tests\sasl.py", > line 95, in testPipelinedClientFail > 1: assert self.s1.outcome == SASL.AUTH > 1: AssertionError > 1: proton_tests.sasl.SaslTest.testSaslAndAmqpInSingleChunk . > fail > 1: Error during test: Traceback (most recent call last): > 1: File > "C:/Jenkins/workspace/rh_qpid_proton-trunk/rh-qpid-proton/tests/python/proton-test", > line 355, in run > 1: phase() > 1: File > "C:\Jenkins\workspace\rh_qpid_proton-trunk\rh-qpid-proton\tests\python\proton_tests\sasl.py", > line 140, in testSaslAndAmqpInSingleChunk > 1: assert self.s2.outcome == SASL.OK > 1: AssertionError > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
Re: 0.10 release time frame?
+1 I'd like to see an official release with the SASL updates as soon as practical. -Ted On 04/30/2015 09:37 PM, Rafael Schloming wrote: I'd like to see one fairly soon. I'm currently working through a few sasl-related interop issues between proton-c and proton-j, but once that is done and gordon's map fix lands, I think we would be in decent shape to put out a 0.10 in short order. --Rafael On Thu, Apr 30, 2015 at 3:06 PM, Rajith Muditha Attapattu < rajit...@gmail.com> wrote: I'm interested in knowing the timelines the community has in mind for the 0.10 release. A tentative date for alpha and beta cycles would be helpful in planning the work tasks and vacation time. Regards, Rajith
Re: candidate commits for 0.9.1
I ran the patched map fix in the original environment where the issue was first spotted. * Without the fix 4 of 10 tests failed within the first minute. * With the fix 0 of 20 tests failed within the first minute. This is a great candidate for 0.9.1. - Original Message - > From: "Gordon Sim" > To: proton@qpid.apache.org > Sent: Friday, May 1, 2015 6:02:09 AM > Subject: Re: candidate commits for 0.9.1 > > On 04/29/2015 05:38 PM, Gordon Sim wrote: > > On 04/27/2015 01:45 PM, Gordon Sim wrote: > >> On 04/27/2015 01:14 PM, Rafael Schloming wrote: > >>> I also added PROTON-858 as a release blocker. > >> > >> I've been trying to get a fix proposal together for that. I'll post it > >> for review as soon as I'm reasonably confident, still seeing some issues > >> at present (not 100% sure they are related, but am assuming so). > > > > Just to update the status here. Although I have positive reviews for the > > simple patch, I have encountered some issues even with that during > > stress testing. > > > > I can't say for sure whether these are caused by my change as the test > > showing them up doesn't run long enough without the change. However > > until I know for sure I am not keen to commit it. > > It turns out the issues are not related to the change nor are they in > proton, but in qpid::messaging itself. I have therefore committed the > fix now to master, and posted the optimisation suggested by Alan for > review: https://reviews.apache.org/r/33750/ (this also passes my stress > tests). > >
Re: 0.10 release time frame?
On 05/01/2015 02:37 AM, Rafael Schloming wrote: I'd like to see one fairly soon. I'm currently working through a few sasl-related interop issues between proton-c and proton-j, but once that is done and gordon's map fix lands, I think we would be in decent shape to put out a 0.10 in short order. The map fix is now in.
Re: candidate commits for 0.9.1
On 04/29/2015 05:38 PM, Gordon Sim wrote: On 04/27/2015 01:45 PM, Gordon Sim wrote: On 04/27/2015 01:14 PM, Rafael Schloming wrote: I also added PROTON-858 as a release blocker. I've been trying to get a fix proposal together for that. I'll post it for review as soon as I'm reasonably confident, still seeing some issues at present (not 100% sure they are related, but am assuming so). Just to update the status here. Although I have positive reviews for the simple patch, I have encountered some issues even with that during stress testing. I can't say for sure whether these are caused by my change as the test showing them up doesn't run long enough without the change. However until I know for sure I am not keen to commit it. It turns out the issues are not related to the change nor are they in proton, but in qpid::messaging itself. I have therefore committed the fix now to master, and posted the optimisation suggested by Alan for review: https://reviews.apache.org/r/33750/ (this also passes my stress tests).
[jira] [Commented] (PROTON-858) unbalanced maps can get corrupted
[ https://issues.apache.org/jira/browse/PROTON-858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14522926#comment-14522926 ] ASF subversion and git services commented on PROTON-858: Commit 7d1007b479e42b635d9cda530197936a205e4c8e in qpid-proton's branch refs/heads/master from [~gsim] [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=7d1007b ] PROTON-858: fix deletion of entries from map to preserve consistency in coalesced hashing > unbalanced maps can get corrupted > - > > Key: PROTON-858 > URL: https://issues.apache.org/jira/browse/PROTON-858 > Project: Qpid Proton > Issue Type: Bug > Components: proton-c >Affects Versions: 0.9 >Reporter: Gordon Sim >Priority: Critical > Fix For: 0.9.1 > > > I came across an issue caused by proton's inability to find a delivery for > the id specified in a disposition it received, although the delivery with > that id did indeed exist. > On further analysis, it appears that maps that are not well balanced can get > corrupted, such that the lookup function fails, even when the map 'contains' > an entry with the required key. > When adding an entry whose key maps to the same addressable index in the map > as an existing entry, a free entry is taken from the end of the list and > linked to that existing entry. However if all the entries outside the > addressable range are used - and since addressable = 0.86*capacity, there are > actually not that many of those - then a free entry from the addressable > range is used for a key that does not map to that index. This can then lead > to a situation where the deletion of an entry causes another to become > unfindable. > (Detailed example: assume capacity is 16, i.e. first 13 entries (indices 0 to > 12) are addressable, last three (indices 13, 14 and 15) are not. > Add value a with key 1, value b with key 2, value c with key 3. These take > the first three addressable entries respectively. Now add items that map to > those same addressable indexes, e.g. a2 with key 14, b2 with key 15, c2 with > key 16. The three free non-addressable entries at the end are used for these > i.e. indices 15, 14 and 13 respectively, and they are linked to the first > three entries (at indices 1, 2 and 3 respectively). > Now add d with key 4, which takes the 4th addressable index, then add d2 with > key 17, which maps to the same addressable index. We take the next free entry > which is at index 12 - *inside* the addressable range - set the key to 10, > value to d2 and link it to the entry at index 4. > Now delete key 17, which is at index 15. Then add value n with key 12. Index > 12 is already taken by d2, so we use the newly vacated entry at index15 and > link that to the end of d2 at index 12. > Now we delete key 20 at index 12. Its the middle link in a chain of three so > we join the previous entry - d at index 4 to the next entry n at index 15. > Now you can't find n by its key 12). -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (PROTON-858) unbalanced maps can get corrupted
[ https://issues.apache.org/jira/browse/PROTON-858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14522927#comment-14522927 ] ASF subversion and git services commented on PROTON-858: Commit f82f96ab65dbcc61230b39151deb4e5b07b4407f in qpid-proton's branch refs/heads/master from [~gsim] [ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=f82f96a ] PROTON-858: add test case for deletion of entry in a coalesced chain > unbalanced maps can get corrupted > - > > Key: PROTON-858 > URL: https://issues.apache.org/jira/browse/PROTON-858 > Project: Qpid Proton > Issue Type: Bug > Components: proton-c >Affects Versions: 0.9 >Reporter: Gordon Sim >Priority: Critical > Fix For: 0.9.1 > > > I came across an issue caused by proton's inability to find a delivery for > the id specified in a disposition it received, although the delivery with > that id did indeed exist. > On further analysis, it appears that maps that are not well balanced can get > corrupted, such that the lookup function fails, even when the map 'contains' > an entry with the required key. > When adding an entry whose key maps to the same addressable index in the map > as an existing entry, a free entry is taken from the end of the list and > linked to that existing entry. However if all the entries outside the > addressable range are used - and since addressable = 0.86*capacity, there are > actually not that many of those - then a free entry from the addressable > range is used for a key that does not map to that index. This can then lead > to a situation where the deletion of an entry causes another to become > unfindable. > (Detailed example: assume capacity is 16, i.e. first 13 entries (indices 0 to > 12) are addressable, last three (indices 13, 14 and 15) are not. > Add value a with key 1, value b with key 2, value c with key 3. These take > the first three addressable entries respectively. Now add items that map to > those same addressable indexes, e.g. a2 with key 14, b2 with key 15, c2 with > key 16. The three free non-addressable entries at the end are used for these > i.e. indices 15, 14 and 13 respectively, and they are linked to the first > three entries (at indices 1, 2 and 3 respectively). > Now add d with key 4, which takes the 4th addressable index, then add d2 with > key 17, which maps to the same addressable index. We take the next free entry > which is at index 12 - *inside* the addressable range - set the key to 10, > value to d2 and link it to the entry at index 4. > Now delete key 17, which is at index 15. Then add value n with key 12. Index > 12 is already taken by d2, so we use the newly vacated entry at index15 and > link that to the end of d2 at index 12. > Now we delete key 20 at index 12. Its the middle link in a chain of three so > we join the previous entry - d at index 4 to the next entry n at index 15. > Now you can't find n by its key 12). -- This message was sent by Atlassian JIRA (v6.3.4#6332)