[jira] [Commented] (PROTON-490) [proton-c] Python binding fails to link with Python 3 libraries

2015-04-27 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14515035#comment-14515035
 ] 

ASF subversion and git services commented on PROTON-490:


Commit d31100aae5b8e539111fc65a13f1bc8b782c787e in qpid-proton's branch 
refs/heads/kgiusti-python3 from [~kgiusti]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=d31100a ]

PROTON-490: covert python examples using 2to3


 [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-334) SASL Implementation for Proton C

2015-04-27 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14515034#comment-14515034
 ] 

ASF subversion and git services commented on PROTON-334:


Commit f05810e95908d6614c4ef9694234329d05af7384 in qpid-proton's branch 
refs/heads/kgiusti-python3 from [~chug]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=f05810e ]

PROTON-334: MBED mods breaks windows (no stdint.h) builds.


 SASL Implementation for Proton C
 

 Key: PROTON-334
 URL: https://issues.apache.org/jira/browse/PROTON-334
 Project: Qpid Proton
  Issue Type: Wish
  Components: proton-c
Reporter: Ted Ross
Assignee: Andrew Stitcher

 It would be desirable to have the ability to use a plug-in module for SASL in 
 Proton.  The following implementations could then be developed:
 1) A portable stand-alone plugin that does ANONYMOUS, PLAIN, and EXTERNAL
 2) A Cyrus-Sasl based plugin for Linux
 3) A Windows plugin



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (PROTON-344) Need Ruby version of msgr-send/msgr-recv tools

2015-04-27 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14515033#comment-14515033
 ] 

ASF subversion and git services commented on PROTON-344:


Commit 2f1a98991fafe5ef7f1bbe09dc8d8ead2b1119b5 in qpid-proton's branch 
refs/heads/kgiusti-python3 from [~astitcher]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=2f1a989 ]

PROTON-344: Fix header file documentation for new sasl API


 Need Ruby version of msgr-send/msgr-recv tools
 --

 Key: PROTON-344
 URL: https://issues.apache.org/jira/browse/PROTON-344
 Project: Qpid Proton
  Issue Type: Task
  Components: proton-c
Affects Versions: 0.4
Reporter: Ken Giusti
Assignee: Ken Giusti

 A ruby variant of msgr-send/recv traffic generators should be added to the 
 soak tests.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] qpid-proton pull request: Fixes for Mac OS X

2015-04-27 Thread dnwe
Github user dnwe commented on the pull request:

https://github.com/apache/qpid-proton/pull/23#issuecomment-96820535
  
@rhs readily reproducible, [output from 20 
runs](https://gist.github.com/dnwe/76c504f2a3067b32b904)
and [python trace 
bz2](https://dl.dropboxusercontent.com/u/951543/trace.log.bz2) from a single 
run of the four tests


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Resolved] (PROTON-790) Use git tag for release (rather than branch)

2015-04-27 Thread Rafael H. Schloming (JIRA)

 [ 
https://issues.apache.org/jira/browse/PROTON-790?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rafael H. Schloming resolved PROTON-790.

Resolution: Fixed

 Use git tag for release (rather than branch)
 

 Key: PROTON-790
 URL: https://issues.apache.org/jira/browse/PROTON-790
 Project: Qpid Proton
  Issue Type: Improvement
  Components: release
Affects Versions: 0.9
Reporter: Andrew Stitcher
Assignee: Rafael H. Schloming
Priority: Minor

 I think it would make sense to use git tags to indicate the versions of 
 releases including alphas and betas.
 So instead of having  branch with a single change on it we should use a tag 
 to indicate a release. This would also allow the branching structure and the 
 releases to be independent.
 As an example the recent 0.9-alpha-1 could be a tag on a 0.9-release  branch. 
 Or it could just be a tag on a one change branch (to change the version).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (PROTON-790) Use git tag for release (rather than branch)

2015-04-27 Thread Rafael H. Schloming (JIRA)

 [ 
https://issues.apache.org/jira/browse/PROTON-790?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rafael H. Schloming updated PROTON-790:
---
Fix Version/s: 0.9

 Use git tag for release (rather than branch)
 

 Key: PROTON-790
 URL: https://issues.apache.org/jira/browse/PROTON-790
 Project: Qpid Proton
  Issue Type: Improvement
  Components: release
Affects Versions: 0.9
Reporter: Andrew Stitcher
Assignee: Rafael H. Schloming
Priority: Minor
 Fix For: 0.9


 I think it would make sense to use git tags to indicate the versions of 
 releases including alphas and betas.
 So instead of having  branch with a single change on it we should use a tag 
 to indicate a release. This would also allow the branching structure and the 
 releases to be independent.
 As an example the recent 0.9-alpha-1 could be a tag on a 0.9-release  branch. 
 Or it could just be a tag on a one change branch (to change the version).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (PROTON-858) unbalanced maps can get corrupted

2015-04-27 Thread Gordon Sim (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14514059#comment-14514059
 ] 

Gordon Sim commented on PROTON-858:
---

As it turns out the use of the addressable region for entries that don't 
actually map there is *intended* and is a technique known as coalesced hashing. 
The error then is on the delete algorithm.

 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)


Re: candidate commits for 0.9.1

2015-04-27 Thread Gordon Sim

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).


Re: candidate commits for 0.9.1

2015-04-27 Thread Robbie Gemmell
On 27 April 2015 at 13:44, Robbie Gemmell robbie.gemm...@gmail.com wrote:
 On 27 April 2015 at 13:23, Dominic Evans dominic.ev...@uk.ibm.com wrote:
 -Robbie Gemmell robbie.gemm...@gmail.com wrote: -

 I have gone through the git cherry output and categorised the
 remaining commits from master that dont have a direct equivalent on
 the 0.9.x branch, splitting according to what they update i.e. mainly
 by language. I listed some as excluded based on what they are for,
 e.g
 the 0.10 sasl work, and any Go-only changes (because the Go bits were
 not in 0.9).

 http://people.apache.org/~robbie/qpid/proton/0.9.1/git-cherry-pass1-c
 ategorised.txt

 I'd like to get the 0.9.1 release out this week, which would mean
 starting a vote tomorrow, so if you want specific commits included
 then please shout now.

 I'd suggest you also pull in the following commits from that list:

 Python (+Examples)
 ==

 4653cdc Some sphinx based documentation of the python reactive api, 
 including a tutorial to accompany the examples.
 65aa64c fixed exception handling for events occuring during reactor shutdown
 5bf533c PROTON-846: check whether connection is valid

 README etc
 ==

 b532cf2 NO-JIRA: README improvements
 1aa7bce NO-JIRA: rename README -- README.md
 c1a6de2 NO-JIRA: some additional README improvements
 425c008 NO-JIRA: update README filename in CMakeLists

 Cheers,
 Dom


 Unless stated otherwise above:
 IBM United Kingdom Limited - Registered in England and Wales with number 
 741598.
 Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


Or, as I meant to say before Firefox stutter-scrolled an extra step
and I clicked the wrong thing, Ok, I'll pick them in.


Re: candidate commits for 0.9.1

2015-04-27 Thread Robbie Gemmell
I have gone through the git cherry output and categorised the
remaining commits from master that dont have a direct equivalent on
the 0.9.x branch, splitting according to what they update i.e. mainly
by language. I listed some as excluded based on what they are for, e.g
the 0.10 sasl work, and any Go-only changes (because the Go bits were
not in 0.9).

http://people.apache.org/~robbie/qpid/proton/0.9.1/git-cherry-pass1-categorised.txt

I'd like to get the 0.9.1 release out this week, which would mean
starting a vote tomorrow, so if you want specific commits included
then please shout now.

Robbie

On 25 April 2015 at 21:10, Robbie Gemmell robbie.gemm...@gmail.com wrote:
 New 0.9.x branch created, against the actual 0.9 tag this time. I have
 updated the JIRAs for the all the commits included so far to add the
 0.9.1 fix version. If you want any commits included, either git
 cherry-pick -x them to the branch yourself or reply with the SHAs.

 Output of git cherry -v 0.9.x master after the first pass including
 commits for proton-j and 1 for proton-c:
 http://people.apache.org/~robbie/qpid/proton/0.9.1/git-cherry-pass1.txt

 Robbie

 On 24 April 2015 at 16:54, Robbie Gemmell robbie.gemm...@gmail.com wrote:
 Ok ignore all that for now. Andrew has noted a problem with the branch.

 I seemingly had a stale set of tags and an old 0.9 branch, so when I
 thought I was branching from the 0.9 tag I was actually not, but
 rather the 0.9-rc3 tag (which in my case happened to be the same as
 0.9, but in an up to date checkout is not). All the relevant commits
 are there, but its not based on the right thing so I'll delete the
 branch and redo it over the weekend.

 Robbie

 On 24 April 2015 at 16:42, Robbie Gemmell robbie.gemm...@gmail.com wrote:
 I branched 0.9.x from the 0.9 tag and cherry picked the commits I
 mentioned earlier. I have added a 0.9.1 version in JIRA, though I
 havent yet updated the JIRAs for the commits which had one, I'll get
 that over the weekend.

 Here is an updated output from git-cherry of master agaisnt 0.9.x, for
 any remaining commits people might want included. Note that several of
 them are for the Go bits which werent in 0.9 and so those arent really
 applicable here, I just havent gone through the list to remove them.

 - 97ca1441ab656e54c666a4ac736836ada29900d2 NO-JIRA: lack of ssl
 support should not prevent Container being used
 - bc2b630eb969710b04a861797567ab2dc368020a NO-JIRA: fix documentation build
 - 36e32d2309bb0a96e63e9874758de8906a22ec69 add missing NOTICE file
 + 0816badb2361af12403c10768a38fd5794c5b84a PROTON-827: go binding -
 unmarshal  all basic types.
 + 3f64ad7998b0d42bbefe672f08110893d96a94c9 NO-JIRA: minor cleanups for
 issues uncovered by Coverity Scan.
 - a3b8bb1805f5ffc24c487fd039ce47797a458437 NO-JIRA: Add missing import
 for SSLUnavailable in reactor.py
 + 8235ba1f1da41e67c284b866777b28118e4691d8 NO-JIRA: add a simple
 broker against which intermediated examples can be run
 + 4653cdc6fddb311d9805c6839ef7f0d1f718442f Some sphinx based
 documentation of the python reactive api, including a tutorial to
 accompany the examples.
 + 7e42628edb5c7d6cadc5fad1d5299aed15e11d38 PROTON-827: Marshal and
 unmarshal all basic types and reflect.Value
 + faf925c4afe02da2dced7a6592586b575ceea2ec PROTON-827:
 Marshal/unmarshal maps and lists.
 + 695f8e5b96c75640bcf10fb12252a0130b70d0a0 PROTON-827: go binding -
 send.go, listen.go examples with implementation stubs.
 - f8ca35f3e007b99e0a5365e154e067840adcefb0 PROTON-838:
 proton-hawtdispatch cannot connect with SSL
 - e31df015a79d791e62caf9bef3f29bdfd77042ef PROTON-839: Proton 0.9 RC 2
 blocker - proton_tests.utils.SyncRequestResponseTest.test_request_response
  fail
 - 7b9b516d445ab9e86a0313709c77218d901435b1 PROTON-834: further UTF-8
 encoder fixes
 + fac7c86c8bc818ea845d6426fd85095a189522d6 NO-JIRA: Measure size of
 encoded data.
 + 51ddf8a7cc8c0b93c6d6f0c19ffa49ba7c52c2a0 PROTON-827: Removed go examples.
 + dfbd744f2db59ce5ec5316d9739aea83c7f9c96d NO-JIRA: Removed gem
 dependency on driver.h
 + f32643492ba6763d46caccc59752ce1fb64ced9e PROTON-582: Added in
 missing is_float method to Perl bindings.
 + a73b8f4d0cb37365570121664033e6c654507170 NO-JIRA: Fix how gemspec
 generates extension
 + 94e92428109bc72eb49c4b68bf2a2f6402e16883 NO-JIRA: Fix install of Perl 
 bindings
 + 973bad033ba3a1b700ab80ab4edee209ab81f05a NO-JIRA: Restore data
 position when measuring size of encoded data.
 + 262009958d45823791b8c41619d59df7a2128a35 NO-JIRA: Added json
 dependency to Ruby gemspec.
 + df2cd6c0cb19beb4d74690581005f9cb662cb856 Fixed a very minor spelling
 mistake. Please enter the commit message for your changes. Lines
 starting
 + 65aa64c0e3ce88e119b0a4bf416fc2b924cf5bfb fixed exception handling
 for events occuring during reactor shutdown
 - ea9ca783cd7e7516f37f23b661ae27ba326b128b NO-JIRA: export.sh creates
 pax-based tar
 - 938f4cb8c2e31c2bcc20fba7d973214ee38d650a fixed release.sh to work on tags
 - 

Re: Messenger race condition on Android?

2015-04-27 Thread Rafael Schloming
On Mon, Apr 20, 2015 at 8:12 PM, Adam Wynne awy...@gmail.com wrote:

 Hi Rafael,

 My answers to your questions are below...

 On Fri, Apr 17, 2015 at 8:33 AM Rafael Schloming-3 [via Qpid] 
 ml-node+s2158936n7623117...@n2.nabble.com wrote:

  On Fri, Apr 17, 2015 at 8:09 AM, Adam Wynne [hidden email]
  http:///user/SendEmail.jtp?type=nodenode=7623117i=0 wrote:
 
   Sorry for the cross-post but I didn't get any hits on the user list and
  I
   now
   think this could be a bug.
  
   I think I am seeing a race condition with Messenger on Android only:
  
   When I do the typical put/send sequence in a Thread started from an
  Android
   Activity, the message is not received by a subscribed peer.  If I kill
  the
   Activity, the peer will complain that the connection is broken.  So it
   seems that the connection is being made but the data is not sent.  Here
  is
   an example code snippet:
  
   Messenger messenger = Messenger.Factory.create();
   // do other things like create a message
   messenger.put(msg)
  // Thread.sleep(200)
   messenger.send()
  
   However when  I uncomment the sleep statement above, the message is
   received without any problem.   The message is also received if I
  attempt
   to debug to see what is happening in put().
  
   I noticed that put() does not simply add the message to a queue, it
 also
   uses nio methods to do some encoding of the message.  I'm wondering if
   since it is not blocking, is there some encoding method happening while
  the
   send() is being processed, causing the message to be lost.
  
   We also noticed that there is a big CPU usage (up to 40%) spike during
  the
   put/send process, which seems extreme for just a tcp send.
  
 
  Hi Adam,
 
  Apologies in advance for the barrage of questions, but  some additional
  information would be helpful.
 
  What version of the code are you working with?
 
 I first tried with 0.9, then I built the latest from source and had the
 same results each time

  Is your thread a long running thread or does it terminate shortly after
  the
  code you have posted?
 
 The thread is long running

  What exactly is receiving the message at the other end of the connection?
 
 I have tried 2 subscribers with the same results:  one in android and one
 on a macbook.  I get the same results on mac.

  Does a similar thread arrangement reproduce the issue outside of Android,
  and if so would it be possible to post a reproducer?
 
 No, I couldn't reproduce in a standard JVM.   Do you want me to post the
 android app?


That would certainly be helpful.

--Rafael


[jira] [Updated] (PROTON-858) unbalanced maps can get corrupted

2015-04-27 Thread Rafael H. Schloming (JIRA)

 [ 
https://issues.apache.org/jira/browse/PROTON-858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rafael H. Schloming updated PROTON-858:
---
Fix Version/s: 0.9.1

 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)


Re: candidate commits for 0.9.1

2015-04-27 Thread Robbie Gemmell
On 27 April 2015 at 13:14, Rafael Schloming r...@alum.mit.edu wrote:
 This one should definitely go in:


Ok, I'll pick it in.

 + aa5ea2b62fd5680bc2a36bee14f72e037d8cc276 close the transport when the
 selector reports an error

 I also added PROTON-858 as a release blocker.

 --Rafael


 On Mon, Apr 27, 2015 at 8:07 AM, Gordon Sim g...@redhat.com wrote:

 On 04/27/2015 12:46 PM, Robbie Gemmell wrote:

 I have gone through the git cherry output and categorised the
 remaining commits from master that dont have a direct equivalent on
 the 0.9.x branch, splitting according to what they update i.e. mainly
 by language. I listed some as excluded based on what they are for, e.g
 the 0.10 sasl work, and any Go-only changes (because the Go bits were
 not in 0.9).


 http://people.apache.org/~robbie/qpid/proton/0.9.1/git-cherry-pass1-categorised.txt

 I'd like to get the 0.9.1 release out this week, which would mean
 starting a vote tomorrow, so if you want specific commits included
 then please shout now.


 I think all the commits under 'Python (+Examples)' can be included for
 0.9.1.




Re: candidate commits for 0.9.1

2015-04-27 Thread Gordon Sim

On 04/27/2015 12:46 PM, Robbie Gemmell wrote:

I have gone through the git cherry output and categorised the
remaining commits from master that dont have a direct equivalent on
the 0.9.x branch, splitting according to what they update i.e. mainly
by language. I listed some as excluded based on what they are for, e.g
the 0.10 sasl work, and any Go-only changes (because the Go bits were
not in 0.9).

http://people.apache.org/~robbie/qpid/proton/0.9.1/git-cherry-pass1-categorised.txt

I'd like to get the 0.9.1 release out this week, which would mean
starting a vote tomorrow, so if you want specific commits included
then please shout now.


I think all the commits under 'Python (+Examples)' can be included for 
0.9.1.




Re: candidate commits for 0.9.1

2015-04-27 Thread Rafael Schloming
This one should definitely go in:

+ aa5ea2b62fd5680bc2a36bee14f72e037d8cc276 close the transport when the
selector reports an error

I also added PROTON-858 as a release blocker.

--Rafael


On Mon, Apr 27, 2015 at 8:07 AM, Gordon Sim g...@redhat.com wrote:

 On 04/27/2015 12:46 PM, Robbie Gemmell wrote:

 I have gone through the git cherry output and categorised the
 remaining commits from master that dont have a direct equivalent on
 the 0.9.x branch, splitting according to what they update i.e. mainly
 by language. I listed some as excluded based on what they are for, e.g
 the 0.10 sasl work, and any Go-only changes (because the Go bits were
 not in 0.9).


 http://people.apache.org/~robbie/qpid/proton/0.9.1/git-cherry-pass1-categorised.txt

 I'd like to get the 0.9.1 release out this week, which would mean
 starting a vote tomorrow, so if you want specific commits included
 then please shout now.


 I think all the commits under 'Python (+Examples)' can be included for
 0.9.1.




Re: candidate commits for 0.9.1

2015-04-27 Thread Dominic Evans
-Robbie Gemmell robbie.gemm...@gmail.com wrote: -

 I have gone through the git cherry output and categorised the
 remaining commits from master that dont have a direct equivalent on
 the 0.9.x branch, splitting according to what they update i.e. mainly
 by language. I listed some as excluded based on what they are for,
 e.g
 the 0.10 sasl work, and any Go-only changes (because the Go bits were
 not in 0.9).
 
 http://people.apache.org/~robbie/qpid/proton/0.9.1/git-cherry-pass1-c
 ategorised.txt
 
 I'd like to get the 0.9.1 release out this week, which would mean
 starting a vote tomorrow, so if you want specific commits included
 then please shout now.

I'd suggest you also pull in the following commits from that list:

Python (+Examples)
==

4653cdc Some sphinx based documentation of the python reactive api, including a 
tutorial to accompany the examples.
65aa64c fixed exception handling for events occuring during reactor shutdown
5bf533c PROTON-846: check whether connection is valid

README etc
==

b532cf2 NO-JIRA: README improvements
1aa7bce NO-JIRA: rename README -- README.md
c1a6de2 NO-JIRA: some additional README improvements
425c008 NO-JIRA: update README filename in CMakeLists

Cheers,
Dom


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU



Re: candidate commits for 0.9.1

2015-04-27 Thread Robbie Gemmell
On 27 April 2015 at 13:07, Gordon Sim g...@redhat.com wrote:
 On 04/27/2015 12:46 PM, Robbie Gemmell wrote:

 I have gone through the git cherry output and categorised the
 remaining commits from master that dont have a direct equivalent on
 the 0.9.x branch, splitting according to what they update i.e. mainly
 by language. I listed some as excluded based on what they are for, e.g
 the 0.10 sasl work, and any Go-only changes (because the Go bits were
 not in 0.9).


 http://people.apache.org/~robbie/qpid/proton/0.9.1/git-cherry-pass1-categorised.txt

 I'd like to get the 0.9.1 release out this week, which would mean
 starting a vote tomorrow, so if you want specific commits included
 then please shout now.


 I think all the commits under 'Python (+Examples)' can be included for
 0.9.1.


Ok, I'll pick them in.


Re: candidate commits for 0.9.1

2015-04-27 Thread Robbie Gemmell
On 27 April 2015 at 13:23, Dominic Evans dominic.ev...@uk.ibm.com wrote:
 -Robbie Gemmell robbie.gemm...@gmail.com wrote: -

 I have gone through the git cherry output and categorised the
 remaining commits from master that dont have a direct equivalent on
 the 0.9.x branch, splitting according to what they update i.e. mainly
 by language. I listed some as excluded based on what they are for,
 e.g
 the 0.10 sasl work, and any Go-only changes (because the Go bits were
 not in 0.9).

 http://people.apache.org/~robbie/qpid/proton/0.9.1/git-cherry-pass1-c
 ategorised.txt

 I'd like to get the 0.9.1 release out this week, which would mean
 starting a vote tomorrow, so if you want specific commits included
 then please shout now.

 I'd suggest you also pull in the following commits from that list:

 Python (+Examples)
 ==

 4653cdc Some sphinx based documentation of the python reactive api, including 
 a tutorial to accompany the examples.
 65aa64c fixed exception handling for events occuring during reactor shutdown
 5bf533c PROTON-846: check whether connection is valid

 README etc
 ==

 b532cf2 NO-JIRA: README improvements
 1aa7bce NO-JIRA: rename README -- README.md
 c1a6de2 NO-JIRA: some additional README improvements
 425c008 NO-JIRA: update README filename in CMakeLists

 Cheers,
 Dom


 Unless stated otherwise above:
 IBM United Kingdom Limited - Registered in England and Wales with number 
 741598.
 Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU



[jira] [Created] (PROTON-869) [proton-c] should be straightforward to associate handlers with acceptors

2015-04-27 Thread Adrian Preston (JIRA)
Adrian Preston created PROTON-869:
-

 Summary: [proton-c] should be straightforward to associate 
handlers with acceptors
 Key: PROTON-869
 URL: https://issues.apache.org/jira/browse/PROTON-869
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-c
Affects Versions: 0.9
Reporter: Adrian Preston
Priority: Minor


Currently it is only possible to associate a handler with an acceptor by 
casting it to pn_selectable_t.  This could be broken by a future change to the 
implementation of pn_acceptor_t.  

Related: the acceptor implementation does not generate a PN_SELECTABLE_ERROR 
event if the act of accepting a socket connection fails.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


Re: Error handling in the proton-c reactor (and how it might relate to a Java port)

2015-04-27 Thread Adrian Preston
Thanks Rafael,

This is really helpful.  I'll have a look through the Python reactor code
(kicking myself for not thinking to do this earlier...) and try and get the
Java port to handle errors in a similar way.

Regards
- Adrian


On Fri, Apr 24, 2015 at 11:06 PM, Rafael Schloming r...@alum.mit.edu wrote:

 Hi Adrian,

 See inline for answers...

 On Thu, Apr 23, 2015 at 12:17 PM, Adrian Preston prest...@uk.ibm.com
 wrote:

  Hello all,
 
  While porting the proton-c reactor to Java, I've found a few error paths
  that I wasn't sure how best to handle.
 
  I have some ideas (see below), but if this stuff is already written down
  somewhere - feel free to suitably admonish me (and then point me towards
  it...)
 
  1) When an error occurs while the reactor is servicing a connection: the
  connection is closed with a transport error.  This is already implemented
  by various functions in reactor/connection.c (e.g. pni_handle_bound, to
  pick one at random), so I expect Java following suit shouldn't be too
  contentious.
 

 Yes


  2) When an error occurs while the reactor is accepting a connection: a
  PN_SELECTABLE_ERROR event is delivered to the acceptor's collector.  This
  might necessitate a new pn_acceptor_attachments function to associate a
  handler with an acceptor (casting to selectable strikes me as something
  that might break in the future...).  Aside: should it be possible to
  associate a pn_error (Java Throwable?) with an event, so that it is
  possible to report the underlying cause for a PN_SELECTABLE_ERROR?
 

 A pn_acceptor_attachments function makes sense to me.

 Regarding your other question. In general I've been trying to stick to
 having each event reference only a single object, and also reference state
 in the object model rather than carry state itself, so I might consider
 adding an accessor to pn_selectable_t to store/extract error information
 instead of storing it on the event.

 3) In the Java reactor it is possible for an unchecked (derived from
  RuntimeException) exception to be thrown from a handler.  Delivering a
  PN_SELECTABLE_ERROR to the selectable seems like the wrong thing to do
  (because the handler that threw the exception might not be associated
 with
  a selectable, or the exception could be thrown while handling
  PN_SELECTABLE_ERROR).  Logging the exception then swallowing it seems
  likely to result in situations where the reactor appears to have hung.
 So
  the best I've come up with is that the Java equivalent of
  pn_reactor_process throws an exception - but then I'm not clear what
 state
  the reactor should be left in?  Permanently failing, by throwing a
  ReactorBorked exception from any future pn_reactor_process invocation?
  Also, if this happens should the reactor be responsible for reclaiming
 the
  resources used by its children (e.g. closing their sockets)?
 

 The python wrapper of the reactor has a similar situation since python code
 can also throw runtime exceptions. From my experience coding against the
 API, you definitely want to know sooner rather than later exactly what has
 gone wrong. It can be easy to miss errors that scroll by in a log, so I
 would definitely not attempt to continue executing automatically. That said
 I would try not to leave the reactor in a permanently borked state either
 since you might want the option to fire events related to shutdown after an
 error.

 What I've done in python is roughly the following. I catch and save any
 exceptions that occur during dispatch of the current event to its handlers.
 When that event has been dispatched to all handlers, I throw an exception
 (it's anonymous currently, but it should probably be some sort of
 DispatchException) from Reactor.process() that references any exceptions
 that occurred during dispatch of that event. This by default results in the
 reactor failing fast when an exception occurs, but also leave things in a
 state where the user can easily log the exception and call process again if
 they wish to continue.

 Regarding reclaiming resources, I don't attempt to close sockets or
 anything like that since for my use cases when the reactor fails the whole
 process exits. In C this will happen when the reactor is freed, but
 obviously in python and/or java you would be depending on GC to make that
 happen and it might not be soon enough, so it may make sense to add a
 method that would explicitly do that sort of cleanup.

 --Rafael
 

Regards
- Adrian

Adrian Preston, IBM WebSphere MQ Development - Hursley - MQ Light

-Rafael Schloming r...@alum.mit.edu wrote: -
To: proton@qpid.apache.org proton@qpid.apache.org
From: Rafael Schloming r...@alum.mit.edu
Date: 04/24/2015 11:06AM
Subject: Re: Error handling in the proton-c reactor (and how it might relate to 
a Java port)

Hi Adrian,

See inline for answers...

On Thu, Apr 23, 2015 at 12:17 PM, Adrian Preston prest...@uk.ibm.com
wrote:

 Hello all,

 While porting the proton-c reactor to Java, I've found a 

[jira] [Updated] (PROTON-869) [proton-c] should be straightforward to associate handlers with acceptors

2015-04-27 Thread Adrian Preston (JIRA)

 [ 
https://issues.apache.org/jira/browse/PROTON-869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adrian Preston updated PROTON-869:
--
Attachment: proton-869.patch

This patch adds a new pn_acceptor_attachments function, which (indirectly) 
allows a handler to be associated with a acceptor without casting.

It also checks for an invalid socket being returned by the acceptor's call to 
pn_accept and generates a PN_SELECTABLE_ERROR event.

 [proton-c] should be straightforward to associate handlers with acceptors
 -

 Key: PROTON-869
 URL: https://issues.apache.org/jira/browse/PROTON-869
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-c
Affects Versions: 0.9
Reporter: Adrian Preston
Priority: Minor
 Attachments: proton-869.patch


 Currently it is only possible to associate a handler with an acceptor by 
 casting it to pn_selectable_t.  This could be broken by a future change to 
 the implementation of pn_acceptor_t.  
 Related: the acceptor implementation does not generate a PN_SELECTABLE_ERROR 
 event if the act of accepting a socket connection fails.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (PROTON-870) none_sasl.c should use pn_strdup

2015-04-27 Thread Dan Cristoloveanu (JIRA)

 [ 
https://issues.apache.org/jira/browse/PROTON-870?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dan Cristoloveanu updated PROTON-870:
-
Summary: none_sasl.c should use pn_strdup  (was: nona_sasl.c should use 
pn_strdup)

 none_sasl.c should use pn_strdup
 

 Key: PROTON-870
 URL: https://issues.apache.org/jira/browse/PROTON-870
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c
Affects Versions: 0.10
Reporter: Dan Cristoloveanu
Priority: Trivial
   Original Estimate: 2h
  Remaining Estimate: 2h

 none_sasl.c uses strdup, but strdup is not part of C99 and subsequently does 
 not exist on some platforms. Instead pn_strdup should be used.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (PROTON-870) nona_sasl.c should use pn_strdup

2015-04-27 Thread Dan Cristoloveanu (JIRA)
Dan Cristoloveanu created PROTON-870:


 Summary: nona_sasl.c should use pn_strdup
 Key: PROTON-870
 URL: https://issues.apache.org/jira/browse/PROTON-870
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c
Affects Versions: 0.10
Reporter: Dan Cristoloveanu
Priority: Trivial


none_sasl.c uses strdup, but strdup is not part of C99 and subsequently does 
not exist on some platforms. Instead pn_strdup should be used.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] qpid-proton pull request: Fix none_sasl.c to use pn_strdup instead...

2015-04-27 Thread dcristoloveanu
GitHub user dcristoloveanu opened a pull request:

https://github.com/apache/qpid-proton/pull/24

Fix none_sasl.c to use pn_strdup instead of strdup

(PROTON-870) none_sasl.c should use pn_strdup.

none_sasl.c uses strdup, but strdup is not part of C99 and subsequently 
does not exist on some platforms. Instead pn_strdup should be used.

Thanks,
/Dan

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/dcristoloveanu/qpid-proton NoneSASL

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/qpid-proton/pull/24.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #24


commit 300ffc4246f0007a70b40954e29fbbe44796ad74
Author: dcristoloveanu dcri...@microsoft.com
Date:   2015-04-28T00:44:05Z

Fix none_sasl.c to use pn_strdup instead of strdup




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (PROTON-870) none_sasl.c should use pn_strdup

2015-04-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14516068#comment-14516068
 ] 

ASF GitHub Bot commented on PROTON-870:
---

GitHub user dcristoloveanu opened a pull request:

https://github.com/apache/qpid-proton/pull/24

Fix none_sasl.c to use pn_strdup instead of strdup

(PROTON-870) none_sasl.c should use pn_strdup.

none_sasl.c uses strdup, but strdup is not part of C99 and subsequently 
does not exist on some platforms. Instead pn_strdup should be used.

Thanks,
/Dan

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/dcristoloveanu/qpid-proton NoneSASL

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/qpid-proton/pull/24.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #24


commit 300ffc4246f0007a70b40954e29fbbe44796ad74
Author: dcristoloveanu dcri...@microsoft.com
Date:   2015-04-28T00:44:05Z

Fix none_sasl.c to use pn_strdup instead of strdup




 none_sasl.c should use pn_strdup
 

 Key: PROTON-870
 URL: https://issues.apache.org/jira/browse/PROTON-870
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c
Affects Versions: 0.10
Reporter: Dan Cristoloveanu
Priority: Trivial
   Original Estimate: 2h
  Remaining Estimate: 2h

 none_sasl.c uses strdup, but strdup is not part of C99 and subsequently does 
 not exist on some platforms. Instead pn_strdup should be used.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] qpid-proton pull request: Fix none_sasl.c to use pn_strdup instead...

2015-04-27 Thread astitcher
Github user astitcher commented on the pull request:

https://github.com/apache/qpid-proton/pull/24#issuecomment-96902826
  
Oops


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (PROTON-870) none_sasl.c should use pn_strdup

2015-04-27 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14516305#comment-14516305
 ] 

ASF subversion and git services commented on PROTON-870:


Commit 73d8ff9af3e2745020157bca9338ea29848bb358 in qpid-proton's branch 
refs/heads/master from [~dcristoloveanu]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=73d8ff9 ]

PROTON-870: Fix none_sasl.c to use pn_strdup instead of strdup
This closes #24


 none_sasl.c should use pn_strdup
 

 Key: PROTON-870
 URL: https://issues.apache.org/jira/browse/PROTON-870
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c
Affects Versions: 0.10
Reporter: Dan Cristoloveanu
Priority: Trivial
   Original Estimate: 2h
  Remaining Estimate: 2h

 none_sasl.c uses strdup, but strdup is not part of C99 and subsequently does 
 not exist on some platforms. Instead pn_strdup should be used.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] qpid-proton pull request: Fix none_sasl.c to use pn_strdup instead...

2015-04-27 Thread asfgit
Github user asfgit closed the pull request at:

https://github.com/apache/qpid-proton/pull/24


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (PROTON-870) none_sasl.c should use pn_strdup

2015-04-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14516306#comment-14516306
 ] 

ASF GitHub Bot commented on PROTON-870:
---

Github user asfgit closed the pull request at:

https://github.com/apache/qpid-proton/pull/24


 none_sasl.c should use pn_strdup
 

 Key: PROTON-870
 URL: https://issues.apache.org/jira/browse/PROTON-870
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c
Affects Versions: 0.10
Reporter: Dan Cristoloveanu
Priority: Trivial
   Original Estimate: 2h
  Remaining Estimate: 2h

 none_sasl.c uses strdup, but strdup is not part of C99 and subsequently does 
 not exist on some platforms. Instead pn_strdup should be used.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] qpid-proton pull request: Fixes for Mac OS X

2015-04-27 Thread dnwe
Github user dnwe commented on the pull request:

https://github.com/apache/qpid-proton/pull/23#issuecomment-96717495
  
@rhs I believe you originally wrote the SelectableMessengerTest, could you 
take a look at change and confirm if this is an acceptable change in the test 
behaviour? It wasn't clear to me if you were intending to validate that a 
single call to Pump#pump would always result in at least one message being 
flowed into incoming? 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (PROTON-334) SASL Implementation for Proton C

2015-04-27 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14514312#comment-14514312
 ] 

ASF subversion and git services commented on PROTON-334:


Commit f05810e95908d6614c4ef9694234329d05af7384 in qpid-proton's branch 
refs/heads/master from [~chug]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=f05810e ]

PROTON-334: MBED mods breaks windows (no stdint.h) builds.


 SASL Implementation for Proton C
 

 Key: PROTON-334
 URL: https://issues.apache.org/jira/browse/PROTON-334
 Project: Qpid Proton
  Issue Type: Wish
  Components: proton-c
Reporter: Ted Ross
Assignee: Andrew Stitcher

 It would be desirable to have the ability to use a plug-in module for SASL in 
 Proton.  The following implementations could then be developed:
 1) A portable stand-alone plugin that does ANONYMOUS, PLAIN, and EXTERNAL
 2) A Cyrus-Sasl based plugin for Linux
 3) A Windows plugin



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[GitHub] qpid-proton pull request: Fixes for Mac OS X

2015-04-27 Thread dnwe
GitHub user dnwe opened a pull request:

https://github.com/apache/qpid-proton/pull/23

Fixes for Mac OS X

1. default to building universal binaries so the various language bindings 
can link against the system libraries out of the box

2. small fix to SelectableMessengerTest as it was regularly failing on Mac 
builds.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/dnwe/qpid-proton fixes-for-mac

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/qpid-proton/pull/23.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #23


commit 2a120b8d401c6931f46757717e9883e4f8c41ebb
Author: Dominic Evans dominic.ev...@uk.ibm.com
Date:   2015-04-27T14:41:55Z

NO-JIRA: default to universal binaries on Mac OS X

The system-installed Perl, Python etc. are all built as universal
binaries on Mac and so we need to build libqpid-proton to similarly
contain both architectures. This allows the bindings to link
successfully.

commit c07377c780cb70153e5c1f9136e69fcbbbcfa5a2
Author: Dominic Evans dominic.ev...@uk.ibm.com
Date:   2015-04-27T15:28:33Z

NO-JIRA: fix SelectableMessengerTest on Mac

The SelectableMessengerTest was failing intermittently on Mac builds,
Modify the test slightly to be more resilient.




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


Re: candidate commits for 0.9.1

2015-04-27 Thread Robbie Gemmell
Ok I have now cherry picked the commits mentioned earlier by Gordon,
Rafael, and Dominic.

The current categorised list of commits is now at:
http://people.apache.org/~robbie/qpid/proton/0.9.1/git-cherry-pass2-categorised.txt

The bare git cherry -v 0.9.x master output is at:
http://people.apache.org/~robbie/qpid/proton/0.9.1/git-cherry-pass2.txt

Robbie

On 27 April 2015 at 12:46, Robbie Gemmell robbie.gemm...@gmail.com wrote:
 I have gone through the git cherry output and categorised the
 remaining commits from master that dont have a direct equivalent on
 the 0.9.x branch, splitting according to what they update i.e. mainly
 by language. I listed some as excluded based on what they are for, e.g
 the 0.10 sasl work, and any Go-only changes (because the Go bits were
 not in 0.9).

 http://people.apache.org/~robbie/qpid/proton/0.9.1/git-cherry-pass1-categorised.txt

 I'd like to get the 0.9.1 release out this week, which would mean
 starting a vote tomorrow, so if you want specific commits included
 then please shout now.

 Robbie

 On 25 April 2015 at 21:10, Robbie Gemmell robbie.gemm...@gmail.com wrote:
 New 0.9.x branch created, against the actual 0.9 tag this time. I have
 updated the JIRAs for the all the commits included so far to add the
 0.9.1 fix version. If you want any commits included, either git
 cherry-pick -x them to the branch yourself or reply with the SHAs.

 Output of git cherry -v 0.9.x master after the first pass including
 commits for proton-j and 1 for proton-c:
 http://people.apache.org/~robbie/qpid/proton/0.9.1/git-cherry-pass1.txt

 Robbie

 On 24 April 2015 at 16:54, Robbie Gemmell robbie.gemm...@gmail.com wrote:
 Ok ignore all that for now. Andrew has noted a problem with the branch.

 I seemingly had a stale set of tags and an old 0.9 branch, so when I
 thought I was branching from the 0.9 tag I was actually not, but
 rather the 0.9-rc3 tag (which in my case happened to be the same as
 0.9, but in an up to date checkout is not). All the relevant commits
 are there, but its not based on the right thing so I'll delete the
 branch and redo it over the weekend.

 Robbie

 On 24 April 2015 at 16:42, Robbie Gemmell robbie.gemm...@gmail.com wrote:
 I branched 0.9.x from the 0.9 tag and cherry picked the commits I
 mentioned earlier. I have added a 0.9.1 version in JIRA, though I
 havent yet updated the JIRAs for the commits which had one, I'll get
 that over the weekend.

 Here is an updated output from git-cherry of master agaisnt 0.9.x, for
 any remaining commits people might want included. Note that several of
 them are for the Go bits which werent in 0.9 and so those arent really
 applicable here, I just havent gone through the list to remove them.

 - 97ca1441ab656e54c666a4ac736836ada29900d2 NO-JIRA: lack of ssl
 support should not prevent Container being used
 - bc2b630eb969710b04a861797567ab2dc368020a NO-JIRA: fix documentation build
 - 36e32d2309bb0a96e63e9874758de8906a22ec69 add missing NOTICE file
 + 0816badb2361af12403c10768a38fd5794c5b84a PROTON-827: go binding -
 unmarshal  all basic types.
 + 3f64ad7998b0d42bbefe672f08110893d96a94c9 NO-JIRA: minor cleanups for
 issues uncovered by Coverity Scan.
 - a3b8bb1805f5ffc24c487fd039ce47797a458437 NO-JIRA: Add missing import
 for SSLUnavailable in reactor.py
 + 8235ba1f1da41e67c284b866777b28118e4691d8 NO-JIRA: add a simple
 broker against which intermediated examples can be run
 + 4653cdc6fddb311d9805c6839ef7f0d1f718442f Some sphinx based
 documentation of the python reactive api, including a tutorial to
 accompany the examples.
 + 7e42628edb5c7d6cadc5fad1d5299aed15e11d38 PROTON-827: Marshal and
 unmarshal all basic types and reflect.Value
 + faf925c4afe02da2dced7a6592586b575ceea2ec PROTON-827:
 Marshal/unmarshal maps and lists.
 + 695f8e5b96c75640bcf10fb12252a0130b70d0a0 PROTON-827: go binding -
 send.go, listen.go examples with implementation stubs.
 - f8ca35f3e007b99e0a5365e154e067840adcefb0 PROTON-838:
 proton-hawtdispatch cannot connect with SSL
 - e31df015a79d791e62caf9bef3f29bdfd77042ef PROTON-839: Proton 0.9 RC 2
 blocker - proton_tests.utils.SyncRequestResponseTest.test_request_response
  fail
 - 7b9b516d445ab9e86a0313709c77218d901435b1 PROTON-834: further UTF-8
 encoder fixes
 + fac7c86c8bc818ea845d6426fd85095a189522d6 NO-JIRA: Measure size of
 encoded data.
 + 51ddf8a7cc8c0b93c6d6f0c19ffa49ba7c52c2a0 PROTON-827: Removed go examples.
 + dfbd744f2db59ce5ec5316d9739aea83c7f9c96d NO-JIRA: Removed gem
 dependency on driver.h
 + f32643492ba6763d46caccc59752ce1fb64ced9e PROTON-582: Added in
 missing is_float method to Perl bindings.
 + a73b8f4d0cb37365570121664033e6c654507170 NO-JIRA: Fix how gemspec
 generates extension
 + 94e92428109bc72eb49c4b68bf2a2f6402e16883 NO-JIRA: Fix install of Perl 
 bindings
 + 973bad033ba3a1b700ab80ab4edee209ab81f05a NO-JIRA: Restore data
 position when measuring size of encoded data.
 + 262009958d45823791b8c41619d59df7a2128a35 NO-JIRA: Added json
 dependency to Ruby gemspec.
 + 

[jira] [Commented] (PROTON-490) [proton-c] Python binding fails to link with Python 3 libraries

2015-04-27 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14514321#comment-14514321
 ] 

ASF subversion and git services commented on PROTON-490:


Commit 9380ed938fafa9e19cb0d3514725427d8243041b in qpid-proton's branch 
refs/heads/kgiusti-python3 from [~kgiusti]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=9380ed9 ]

PROTON-490: avoid decoding text if method calls fail


 [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)


[GitHub] qpid-proton pull request: Fixes for Mac OS X

2015-04-27 Thread dnwe
Github user dnwe commented on the pull request:

https://github.com/apache/qpid-proton/pull/23#issuecomment-96722982
  
fixes-for-mac: ![build 
passing](https://travis-ci.org/dnwe/qpid-proton.svg?branch=fixes-for-mac)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] qpid-proton pull request: Fixes for Mac OS X

2015-04-27 Thread rhs
Github user rhs commented on the pull request:

https://github.com/apache/qpid-proton/pull/23#issuecomment-96734626
  
I'm a little puzzled as to why the test change would be necessary. Pump has 
been written to keep looping until there is no I/O left to perform for any of 
its messengers. Given that the receiving messenger has issued credit, and the 
sending messenger has posted messages for transfer, I think this is probably 
somehow indicative of a real bug somewhere (possibly in some of the test 
framework code). How easy is it to reproduce this on a mac?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


Re: Topic Subscriptions using Proton's C API

2015-04-27 Thread Alan Conway
HEY ALL! Where are the C demos for simple send/receive using the new
reactor API? I would like to point at them but can't find them...

On Sun, 2015-04-26 at 07:41 -0700, dylan25 wrote:
 Hello,
 
 My name is Dylan. I am a software engineering intern that is working on MOM.
 I am currently working on a C-based AMQP 1.0 program that implement
 Publish/Subscribe functionality with topics. I have been looking at Qpid
 Proton's C AMQP 1.0 API for this, although I have been unable to find the
 functionality for topic-based subscriptions. I am quite a novice to MOM and
 I was wondering if anybody might be able to point me in the direction of
 documentation and/or sample programs for Proton's topic-based subscriptions?
 
 Thank you, any and all help is appreciated!
 

Hi Dylan, 

Proton is a protocol engine that provides the ability to send and
receive messages to arbitrary AMQP 1.0 endpoints. It does not have
topic-based subscriptions (or other common messaging features like
message queuing) built in. 

Proton clients can talk to message brokers that do provide such
services. For example you can download the Qpid C++ or Java broker from
qpid.apache.org and use the clients in proton/examples (or write your
own) to send/receive on topics provided by the brokers. Just put an
address in your proton messages that matches the address of a topic or
queue on the broker - the address syntax depends on the broker you use.
The python examples provide a good set of toys to play with.

If you are ambitious you can build features like topics on top of
proton. It is not hard to build a simple demo broker or topic server. I
don't think there is one in C but examples/python/broker.py will give
you an idea in python. 

The proton API is undergoing some changes. The python examples use an
event-based API which is the new trend. This is also possible in C, the
examples in examples/engine/c are the closest fit, although I think they
can be simplified based on recent improvements in proton. The
messenger examples are for the older style API.

Cheers,
Alan.