[jira] [Resolved] (PROTON-940) provide the session initial incoming window via Begin rather than sending a separate Flow

2015-07-09 Thread Robbie Gemmell (JIRA)

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

Robbie Gemmell resolved PROTON-940.
---
Resolution: Fixed

 provide the session initial incoming window via Begin rather than sending a 
 separate Flow
 -

 Key: PROTON-940
 URL: https://issues.apache.org/jira/browse/PROTON-940
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-j
Affects Versions: 0.8, 0.9, 0.9.1
Reporter: Robbie Gemmell
Assignee: Robbie Gemmell
 Fix For: 0.10

 Attachments: 
 0001-PROTON-940-calculate-the-incoming-window-before-send.patch


 When a session is created, a Begin frame is sent. One of the fields on the 
 frame is the initial incoming window. Instead of populating the field, 
 Proton-J currently sets it to 0 but then immediately discovers the window is 
 0 and sends a seperate Flow frame (in the same transport output sas the Begin 
 frame) changing the window to the actual calculated value.
 This result is equivalent in the end and allowed by the protocol, but is not 
 particularly obvious behaviour and is different than proton-c. The initial 
 incoming window value should be conveyed in the Begin frame instead, removing 
 need for the immediate Flow.



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


Re: Proton Devs using Linux: please run the python-tox-test unit tests!!

2015-07-09 Thread Robbie Gemmell
ubuntu3 is probably the single oldest node in the group, so I wouldnt
be surprised if it didnt have python3. I'm surprised it hasn't been
pulled from service yet actually. We can ask for things to be
installed by raising a JIRA at
https://issues.apache.org/jira/browse/BUILDS though it woudl probably
be more fuitful to do that in regards to getting the job running on
the other nodes .

I believe there are also some cloud based dynamic nodes, and some
running docker...but their possible existence is about as much as I
know about that.

Robbie

On 9 July 2015 at 15:28, Ken Giusti kgiu...@redhat.com wrote:
 Apparently ubuntu3 doesn't have 'pip' installed, so our jenkin's script can't 
 pull down tox and run the python-tox-test.

 Assuming ubuntu3 is really old, it probably doesn't have python3 installed 
 either (just a guess).  So even if we had pip/tox installed, the tests would 
 only run under python2 anyways.


 -K

 - Original Message -
 From: Robbie Gemmell robbie.gemm...@gmail.com
 To: proton@qpid.apache.org
 Sent: Thursday, July 9, 2015 9:45:10 AM
 Subject: Re: Proton Devs using Linux: please run the python-tox-test unit 
 tests!!

 One thing that may or may not come up is that the job on the ASF
 Jenkins is tied to run only on the 'legacy-ubuntu' label currently,
 which only includes the old ubuntu3 node. All the other Ubuntu nodes
 are newer but the build was failing on many of them due to needing
 packages installed, so it isnt running on those currently.

 Robbie

 On 8 July 2015 at 18:30, Dominic Evans dominic.ev...@uk.ibm.com wrote:
 
  I do have an unpushed change that partially enables it for travis. I'll
  push later tonight.
 
  On 8 Jul 2015, at 18:27, Ken Giusti kgiu...@redhat.com wrote:
 
  Good point, I'll see what I can do on that front.
 
 
  - Original Message -
  From: Robbie Gemmell robbie.gemm...@gmail.com
  To: proton@qpid.apache.org
  Sent: Wednesday, July 8, 2015 12:21:57 PM
  Subject: Re: Proton Devs using Linux: please run the python-tox-test
  unit tests!!
 
  On 8 July 2015 at 15:48, Ken Giusti kgiu...@redhat.com wrote:
 
  Devs,
 
  As you probably know, I've pushed changes to the proton python bindings
  that make proton compatible with python3.
 
  Since then, I've hit bugs in the python3 stuff that could've been
  caught by
  running the above unit test on a linux system that has python3
  installed.
 
  This test currently only runs on linux, and requires both python3 and
  extra
  python tools be installed in order to run it.  I suspect most devs
  don't
  have these tools installed by default.   If the tools are not available
  -
  or are not current - ctest will skip running these tests.
 
  Most current linux distros - I'm running Fedora 21 btw - support
  installing
  both python2.x and python3.x in parallel.  Most default to just having
  python 2.x installed - you usually have to install python3 manually.
 
  Once you have python3 installed, you will also need to have an
  up-to-date
  version of the 'tox' and 'virtualenv' tools installed.
 
  For example, on my F21 box:  sudo yum install python-tox
  python-virtualenv  does the trick.
 
  Note: the unit tests require version 1.7+ of python-tox.  If that isn't
  available to you, you can use 'python-pip' to either overwrite the
  installed version of tox with a newer one, or install a local copy of
  tox
  in your home directory:
 
  $ sudo pip install -U tox   # this overwrites
  or
  $ pip install --user -U tox  # will put tox in ~/.local - you'll have
  to
  update your PATH/PYTHONPATH to look there
 
  Once all that is done, a simple 'make test' should run the
  python-tox-test.
 
 
  Doing all this is optional, and will increase the time it takes to run
  the
  unit tests, but it prevent inadvertent regressions to the python3
  support.
  And it will greatly appreciated by yours truly!
 
  thanks all,
 
  -K
 
 
  It would probably help if some or all of the CI environments (ASF
  Jenkins, Travis CI, Appveyor) we have checking thing over were set up
  to do this.
 
  Robbie
 
  --
  -K
 
 


 --
 -K

On 9 July 2015 at 15:28, Ken Giusti kgiu...@redhat.com wrote:
 Apparently ubuntu3 doesn't have 'pip' installed, so our jenkin's script can't 
 pull down tox and run the python-tox-test.

 Assuming ubuntu3 is really old, it probably doesn't have python3 installed 
 either (just a guess).  So even if we had pip/tox installed, the tests would 
 only run under python2 anyways.


 -K

 - Original Message -
 From: Robbie Gemmell robbie.gemm...@gmail.com
 To: proton@qpid.apache.org
 Sent: Thursday, July 9, 2015 9:45:10 AM
 Subject: Re: Proton Devs using Linux: please run the python-tox-test unit 
 tests!!

 One thing that may or may not come up is that the job on the ASF
 Jenkins is tied to run only on the 'legacy-ubuntu' label currently,
 which only includes the old ubuntu3 node. All the other Ubuntu nodes
 are newer but the build was failing on many of them due to needing
 packages installed, 

Re: [1/2] qpid-proton git commit: PROTON-937: LinkImpl.localOpen() does not initialize source and target

2015-07-09 Thread Bozo Dragojevic
On 8. 07. 15 18.16, Robbie Gemmell wrote:
 Hi Bozzo, some comments and questions.

 I am seeing test failures due to NPE's from the new code:
 https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-j/1043/

 There should be null checks on the remote Source and Target before
 trying to copy them, since there are cases where they are allowed and
 expected to be null (though in the failing tests its not clear the
 they fall in to those, so much as perhaps not bothering to set them as
 they werent of interest for the test).

 I see you listed the change as a bug, but I can't say I was ever under
 the impression it should do this (though I can certainly see it makes
 life easier in some cases). Does proton-c do this and proton-j did
 not?


I reverted this, and will do it properly.

Proton-c does do it in the handshaker and in the messenger.
Just do a git grep pn_terminus_copy. And yes, it has a check so it
doesn't try to copy non-existing stuff. In which case the copy returns
an error, which handshaker ignores :)

For some unexplicable reason I thought the LinkImpl.localOpen was a
better place to do it while it's perfectly easy to do in in the
Handshaker.onLinkRemoteOpen() and the messenger already does it in a way.

//TODO: the following is not correct; should only copy those
properties that we understand
link.setSource(link.getRemoteSource());
link.setTarget(link.getRemoteTarget());

 If we are doing this for Source and Target objects, should it not also
 work for the Coordinator? Seems a bit unfair to leave it out given the
 method was added.

I've yet to come up-to-speed with the Coordinator, so cannot comment here :)

 Please don't use if statements without braces, someone will inevitably
 screw it up when updating things later :)

Agree, too much switching between python and Java and C in one day :)


Bozzo


Re: [2/2] qpid-proton git commit: PROTON-928: cancellable tasks

2015-07-09 Thread Robbie Gemmell
Thanks Bozzo, that sorts those failures (so long as the issue from
your other change is worked around, to let the build get that far).

Robbie

On 9 July 2015 at 11:22, Bozo Dragojevic bo...@digiverse.si wrote:
 Hi Robbie,

 Yeah, my bad. I was sitting on some local changes so I missed this.
 I'll test on a clean checkout next time. Sorry for all the mess.
 I've commited the missing methods to proton-j

 Bozzo

 On 9. 07. 15 12.14, Robbie Gemmell wrote:
 Hi Bozzo,

 This change also seems to be causing test failures when using the
 maven build (if you update things to get past the earlier failures,
 caused by the commit mentioned in the other thread on proton@):

 proton_tests.reactor.ExceptionTest.test_schedule_cancel . 
 fail
 Error during test:  Traceback (most recent call last):
 File /home/gemmellr/workspace/proton/tests/python/proton-test,
 line 360, in run
   phase()
 File 
 /home/gemmellr/workspace/proton/tests/python/proton_tests/reactor.py,
 line 181, in test_schedule_cancel
   now = self.reactor.mark()
 File 
 /home/gemmellr/workspace/proton/tests/../proton-c/bindings/python/proton/reactor.py,
 line 118, in mark
   return pn_reactor_mark(self._impl)
   NameError: global name 'pn_reactor_mark' is not defined


 Robbie

 On 9 July 2015 at 10:55, Bozo Dragojevic bo...@digiverse.si wrote:
 Hi Ken,

 I've installed python3.4 and tox and friends and tried to reproduce it here
 and I can confirm that some completely unrelated test fail mysteriously
 with python3.4 and that reverting my change makes that failure go away :)

 I've added more task cancellation tests to force the error while still
 in the implicated code, as I suspected it could be some refcounting
 problem but the new tests do not show anything unusual.

 What is even weirder, with the new tests even the python3.4 suite passes
 without segfault!

 So, I consider this a false positive and have left the change in,
 including the new tests at ca47d72.

 Does such solution work for you?

 Bozzo

 On 8. 07. 15 16.32, Ken Giusti wrote:
 Hi Bozzo,

 Can you please revert this change?

 It is causing a segfault in the python unit tests when they are run under 
 python3.4.

 I haven't hit the segfault on python2.7, only on python3.4

 thanks,

 -K

 - Original Message -
 From: bo...@apache.org
 To: comm...@qpid.apache.org
 Sent: Tuesday, July 7, 2015 3:50:16 PM
 Subject: [2/2] qpid-proton git commit: PROTON-928: cancellable tasks

 PROTON-928: cancellable tasks

 A scheduled task can be cancelled.
 A cancelled task does not prevent reactor from stopping running


 Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
 Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/d4d22ee3
 Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/d4d22ee3
 Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/d4d22ee3

 Branch: refs/heads/master
 Commit: d4d22ee396163babcac19c48845b1f10ca3b5a48
 Parents: 09af375
 Author: Bozo Dragojevic bo...@digiverse.si
 Authored: Tue Jul 7 10:17:40 2015 +0200
 Committer: Bozo Dragojevic bo...@digiverse.si
 Committed: Tue Jul 7 21:49:44 2015 +0200

 --
  proton-c/bindings/python/proton/reactor.py  |  5 +++-
  proton-c/include/proton/reactor.h   |  1 +
  proton-c/src/reactor/timer.c| 25 +++-
  proton-c/src/tests/reactor.c| 15 
  .../org/apache/qpid/proton/reactor/Task.java|  4 
  .../qpid/proton/reactor/impl/TaskImpl.java  | 10 
  .../apache/qpid/proton/reactor/impl/Timer.java  | 19 ---
  proton-j/src/main/resources/creactor.py |  3 +++
  tests/python/proton_tests/reactor.py| 14 +++
  9 files changed, 91 insertions(+), 5 deletions(-)
 --


 http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/d4d22ee3/proton-c/bindings/python/proton/reactor.py
 --
 diff --git a/proton-c/bindings/python/proton/reactor.py
 b/proton-c/bindings/python/proton/reactor.py
 index c66334b..d019554 100644
 --- a/proton-c/bindings/python/proton/reactor.py
 +++ b/proton-c/bindings/python/proton/reactor.py
 @@ -53,6 +53,9 @@ class Task(Wrapper):
  def _init(self):
  pass

 +def cancel(self):
 +pn_task_cancel(self._impl)
 +
  class Acceptor(Wrapper):

  def __init__(self, impl):
 @@ -112,7 +115,7 @@ class Reactor(Wrapper):
  pn_reactor_yield(self._impl)

  def mark(self):
 -pn_reactor_mark(self._impl)
 +return pn_reactor_mark(self._impl)

  def _get_handler(self):
  return WrappedHandler.wrap(pn_reactor_get_handler(self._impl),
  self.on_error)

 http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/d4d22ee3/proton-c/include/proton/reactor.h
 

Fwd: [1/2] qpid-proton git commit: PROTON-937: LinkImpl.localOpen() does not initialize source and target

2015-07-09 Thread Robbie Gemmell
Sending to the list...

-- Forwarded message --
From: Robbie Gemmell robbie.gemm...@gmail.com
Date: 9 July 2015 at 12:35
Subject: Re: [1/2] qpid-proton git commit: PROTON-937:
LinkImpl.localOpen() does not initialize source and target
To: Bozo Dragojevic bo...@digiverse.si


On 9 July 2015 at 12:23, Bozo Dragojevic bo...@digiverse.si wrote:
 On 8. 07. 15 18.16, Robbie Gemmell wrote:
 Hi Bozzo, some comments and questions.

 I am seeing test failures due to NPE's from the new code:
 https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-j/1043/

 There should be null checks on the remote Source and Target before
 trying to copy them, since there are cases where they are allowed and
 expected to be null (though in the failing tests its not clear the
 they fall in to those, so much as perhaps not bothering to set them as
 they werent of interest for the test).

 I see you listed the change as a bug, but I can't say I was ever under
 the impression it should do this (though I can certainly see it makes
 life easier in some cases). Does proton-c do this and proton-j did
 not?


 I reverted this, and will do it properly.


Great, thanks.

 Proton-c does do it in the handshaker and in the messenger.
 Just do a git grep pn_terminus_copy. And yes, it has a check so it
 doesn't try to copy non-existing stuff. In which case the copy returns
 an error, which handshaker ignores :)

 For some unexplicable reason I thought the LinkImpl.localOpen was a
 better place to do it while it's perfectly easy to do in in the
 Handshaker.onLinkRemoteOpen() and the messenger already does it in a way.

 //TODO: the following is not correct; should only copy those
 properties that we understand
 link.setSource(link.getRemoteSource());
 link.setTarget(link.getRemoteTarget());


Yes, doing it in Handshaker / Messenger is quite different than doing
so within the link object itself, and more in line with what I would
expect. The comment in the above snippet is another reason doing it in
the link would cause issues.

 If we are doing this for Source and Target objects, should it not also
 work for the Coordinator? Seems a bit unfair to leave it out given the
 method was added.

 I've yet to come up-to-speed with the Coordinator, so cannot comment here :)

 Please don't use if statements without braces, someone will inevitably
 screw it up when updating things later :)

 Agree, too much switching between python and Java and C in one day :)


 Bozzo


[GitHub] qpid-proton pull request: PROTON-936 session outgoing window handl...

2015-07-09 Thread asfgit
Github user asfgit closed the pull request at:

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


---
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-936) update session outgoing window handling

2015-07-09 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on PROTON-936:


Commit a02ad90cab9af446e8251157a1525e3413776934 in qpid-proton's branch 
refs/heads/master from Robert Gemmell
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=a02ad90 ]

PROTON-936: make the session outgoing window a fixed value, defaulted very 
large but configurable if needed


 update session outgoing window handling
 ---

 Key: PROTON-936
 URL: https://issues.apache.org/jira/browse/PROTON-936
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c, proton-j
Affects Versions: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.9.1
Reporter: Robbie Gemmell
Assignee: Robbie Gemmell
Priority: Critical
 Fix For: 0.10


 As discussed on the mailing lists \[1\], proton currently sets the outgoing 
 window to 0 in most cases (except when using Messenger), but then sends 
 messages anyway if allowed by the current remote-outgoing-window. This means 
 it is typically violating the advertised window. Additionall, Service Bus 
 uses the outgoing window to initialise its incoming window, which means it is 
 set to 0 and we can never send it any messages.
 We should update the outgoing window to address these issues.
 \[1\] 
 http://mail-archives.apache.org/mod_mbox/qpid-users/201507.mbox/%3CCAFitrpQoK8SFgd1xXPtc9PeNWwWcEqtJgN8ZN88RBj3u6fwdag%40mail.gmail.com%3E



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


[jira] [Commented] (PROTON-936) update session outgoing window handling

2015-07-09 Thread ASF GitHub Bot (JIRA)

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

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

Github user asfgit closed the pull request at:

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


 update session outgoing window handling
 ---

 Key: PROTON-936
 URL: https://issues.apache.org/jira/browse/PROTON-936
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c, proton-j
Affects Versions: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.9.1
Reporter: Robbie Gemmell
Assignee: Robbie Gemmell
Priority: Critical
 Fix For: 0.10


 As discussed on the mailing lists \[1\], proton currently sets the outgoing 
 window to 0 in most cases (except when using Messenger), but then sends 
 messages anyway if allowed by the current remote-outgoing-window. This means 
 it is typically violating the advertised window. Additionall, Service Bus 
 uses the outgoing window to initialise its incoming window, which means it is 
 set to 0 and we can never send it any messages.
 We should update the outgoing window to address these issues.
 \[1\] 
 http://mail-archives.apache.org/mod_mbox/qpid-users/201507.mbox/%3CCAFitrpQoK8SFgd1xXPtc9PeNWwWcEqtJgN8ZN88RBj3u6fwdag%40mail.gmail.com%3E



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


[jira] [Resolved] (PROTON-936) update session outgoing window handling

2015-07-09 Thread Robbie Gemmell (JIRA)

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

Robbie Gemmell resolved PROTON-936.
---
Resolution: Fixed

 update session outgoing window handling
 ---

 Key: PROTON-936
 URL: https://issues.apache.org/jira/browse/PROTON-936
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c, proton-j
Affects Versions: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.9.1
Reporter: Robbie Gemmell
Assignee: Robbie Gemmell
Priority: Critical
 Fix For: 0.10


 As discussed on the mailing lists \[1\], proton currently sets the outgoing 
 window to 0 in most cases (except when using Messenger), but then sends 
 messages anyway if allowed by the current remote-outgoing-window. This means 
 it is typically violating the advertised window. Additionall, Service Bus 
 uses the outgoing window to initialise its incoming window, which means it is 
 set to 0 and we can never send it any messages.
 We should update the outgoing window to address these issues.
 \[1\] 
 http://mail-archives.apache.org/mod_mbox/qpid-users/201507.mbox/%3CCAFitrpQoK8SFgd1xXPtc9PeNWwWcEqtJgN8ZN88RBj3u6fwdag%40mail.gmail.com%3E



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


Re: Proton Devs using Linux: please run the python-tox-test unit tests!!

2015-07-09 Thread Rafael Schloming
Is it worth putting some version of this in DEVELOPERS.md?

--Rafael

On Wed, Jul 8, 2015 at 7:48 AM, Ken Giusti kgiu...@redhat.com wrote:


 Devs,

 As you probably know, I've pushed changes to the proton python bindings
 that make proton compatible with python3.

 Since then, I've hit bugs in the python3 stuff that could've been caught
 by running the above unit test on a linux system that has python3 installed.

 This test currently only runs on linux, and requires both python3 and
 extra python tools be installed in order to run it.  I suspect most devs
 don't have these tools installed by default.   If the tools are not
 available - or are not current - ctest will skip running these tests.

 Most current linux distros - I'm running Fedora 21 btw - support
 installing both python2.x and python3.x in parallel.  Most default to just
 having python 2.x installed - you usually have to install python3 manually.

 Once you have python3 installed, you will also need to have an up-to-date
 version of the 'tox' and 'virtualenv' tools installed.

 For example, on my F21 box:  sudo yum install python-tox
 python-virtualenv  does the trick.

 Note: the unit tests require version 1.7+ of python-tox.  If that isn't
 available to you, you can use 'python-pip' to either overwrite the
 installed version of tox with a newer one, or install a local copy of tox
 in your home directory:

 $ sudo pip install -U tox   # this overwrites
 or
 $ pip install --user -U tox  # will put tox in ~/.local - you'll have to
 update your PATH/PYTHONPATH to look there

 Once all that is done, a simple 'make test' should run the python-tox-test.


 Doing all this is optional, and will increase the time it takes to run the
 unit tests, but it prevent inadvertent regressions to the python3 support.
 And it will greatly appreciated by yours truly!

 thanks all,

 -K



Re: Proton Devs using Linux: please run the python-tox-test unit tests!!

2015-07-09 Thread Ken Giusti


- Original Message -
 From: Rafael Schloming r...@alum.mit.edu
 To: proton@qpid.apache.org
 Sent: Thursday, July 9, 2015 8:18:25 AM
 Subject: Re: Proton Devs using Linux: please run the python-tox-test unit 
 tests!!
 
 Is it worth putting some version of this in DEVELOPERS.md?
 
 --Rafael


That's a great idea - I'll see to it.


 
 On Wed, Jul 8, 2015 at 7:48 AM, Ken Giusti kgiu...@redhat.com wrote:
 
 
  Devs,
 
  As you probably know, I've pushed changes to the proton python bindings
  that make proton compatible with python3.
 
  Since then, I've hit bugs in the python3 stuff that could've been caught
  by running the above unit test on a linux system that has python3
  installed.
 
  This test currently only runs on linux, and requires both python3 and
  extra python tools be installed in order to run it.  I suspect most devs
  don't have these tools installed by default.   If the tools are not
  available - or are not current - ctest will skip running these tests.
 
  Most current linux distros - I'm running Fedora 21 btw - support
  installing both python2.x and python3.x in parallel.  Most default to just
  having python 2.x installed - you usually have to install python3 manually.
 
  Once you have python3 installed, you will also need to have an up-to-date
  version of the 'tox' and 'virtualenv' tools installed.
 
  For example, on my F21 box:  sudo yum install python-tox
  python-virtualenv  does the trick.
 
  Note: the unit tests require version 1.7+ of python-tox.  If that isn't
  available to you, you can use 'python-pip' to either overwrite the
  installed version of tox with a newer one, or install a local copy of tox
  in your home directory:
 
  $ sudo pip install -U tox   # this overwrites
  or
  $ pip install --user -U tox  # will put tox in ~/.local - you'll have to
  update your PATH/PYTHONPATH to look there
 
  Once all that is done, a simple 'make test' should run the python-tox-test.
 
 
  Doing all this is optional, and will increase the time it takes to run the
  unit tests, but it prevent inadvertent regressions to the python3 support.
  And it will greatly appreciated by yours truly!
 
  thanks all,
 
  -K
 
 

-- 
-K


Re: [1/2] qpid-proton git commit: PROTON-937: LinkImpl.localOpen() does not initialize source and target

2015-07-09 Thread Robbie Gemmell
Thinking this through further, there are also cases where you actually
want to set the source/target to be null when the remote versions were
originally not, which this change would somewhat break.

I think we need to revert this for now and look to do something after
the release, once the approach is clearer and it is actually tested
etc.

The NPEs from the change are also causing the CI jobs to hang, I just
killed one running since yesterday (and updated the job to have a
timeout to ensure it doesnt happen again),
https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-c/716.

It got this far and then nothing else was logged. Obviously this might
also point to an issue with the new reactor bits and its tests.

proton_tests.reactor_interop.ReactorInteropTest. \
test_protonj_to_protonc_1
...org.apache.qpid.proton.engine.HandlerException:
java.lang.NullPointerException
at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:212)
at 
org.apache.qpid.proton.reactor.impl.ReactorImpl.process(ReactorImpl.java:269)
at org.apache.qpid.proton.reactor.impl.ReactorImpl.run(ReactorImpl.java:332)
at org.apache.qpid.proton.ProtonJInterop.main(ProtonJInterop.java:190)
Caused by: java.lang.NullPointerException
at org.apache.qpid.proton.engine.impl.LinkImpl.localOpen(LinkImpl.java:422)
at 
org.apache.qpid.proton.engine.impl.EndpointImpl.open(EndpointImpl.java:74)
at 
org.apache.qpid.proton.ProtonJInterop$SendHandler.onConnectionInit(ProtonJInterop.java:66)
at org.apache.qpid.proton.engine.impl.EventImpl.dispatch(EventImpl.java:88)
... 3 more

Tweaking things to remove the NPE, I still see another test failure in
the maven build:

proton_tests.reactor.ExceptionTest.test_schedule_cancel . fail
Error during test:  Traceback (most recent call last):
File /home/gemmellr/workspace/proton/tests/python/proton-test,
line 360, in run
  phase()
File /home/gemmellr/workspace/proton/tests/python/proton_tests/reactor.py,
line 181, in test_schedule_cancel
  now = self.reactor.mark()
File 
/home/gemmellr/workspace/proton/tests/../proton-c/bindings/python/proton/reactor.py,
line 118, in mark
  return pn_reactor_mark(self._impl)
  NameError: global name 'pn_reactor_mark' is not defined



Robbie

On 8 July 2015 at 17:16, Robbie Gemmell robbie.gemm...@gmail.com wrote:
 Hi Bozzo, some comments and questions.

 I am seeing test failures due to NPE's from the new code:
 https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-j/1043/

 There should be null checks on the remote Source and Target before
 trying to copy them, since there are cases where they are allowed and
 expected to be null (though in the failing tests its not clear the
 they fall in to those, so much as perhaps not bothering to set them as
 they werent of interest for the test).

 I see you listed the change as a bug, but I can't say I was ever under
 the impression it should do this (though I can certainly see it makes
 life easier in some cases). Does proton-c do this and proton-j did
 not?

 If we are doing this for Source and Target objects, should it not also
 work for the Coordinator? Seems a bit unfair to leave it out given the
 method was added.

 Please don't use if statements without braces, someone will inevitably
 screw it up when updating things later :)

 Robbie

 On 7 July 2015 at 20:50,  bo...@apache.org wrote:
 Repository: qpid-proton
 Updated Branches:
   refs/heads/master 09af37524 - f6d74a47d


 PROTON-937: LinkImpl.localOpen() does not initialize source and target


 Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
 Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/f6d74a47
 Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/f6d74a47
 Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/f6d74a47

 Branch: refs/heads/master
 Commit: f6d74a47d1f3f4ee3f4f3a444e239a209276f928
 Parents: d4d22ee
 Author: Bozo Dragojevic bo...@digiverse.si
 Authored: Tue Jul 7 21:32:58 2015 +0200
 Committer: Bozo Dragojevic bo...@digiverse.si
 Committed: Tue Jul 7 21:49:44 2015 +0200

 --
  .../qpid/proton/amqp/messaging/Source.java   | 19 +++
  .../qpid/proton/amqp/messaging/Target.java   | 12 
  .../qpid/proton/amqp/messaging/Terminus.java | 17 +
  .../proton/amqp/transaction/Coordinator.java |  5 +
  .../qpid/proton/amqp/transport/Source.java   |  2 ++
  .../qpid/proton/amqp/transport/Target.java   |  2 ++
  .../apache/qpid/proton/engine/impl/LinkImpl.java |  4 
  7 files changed, 61 insertions(+)
 --


 http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/f6d74a47/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/Source.java
 

[jira] [Commented] (PROTON-928) Cancellable tasks

2015-07-09 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on PROTON-928:


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

PROTON-928: add more task cancellation tests


 Cancellable tasks
 -

 Key: PROTON-928
 URL: https://issues.apache.org/jira/browse/PROTON-928
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-c, proton-j, python-binding
Reporter: Bozo Dragojevic
Assignee: Bozo Dragojevic

 Allow scheduled tasks to be cancelled.
 A cancelled task does not keep reactor from stoping running



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


Re: [2/2] qpid-proton git commit: PROTON-928: cancellable tasks

2015-07-09 Thread Bozo Dragojevic
Hi Ken,

I've installed python3.4 and tox and friends and tried to reproduce it here
and I can confirm that some completely unrelated test fail mysteriously
with python3.4 and that reverting my change makes that failure go away :)

I've added more task cancellation tests to force the error while still
in the implicated code, as I suspected it could be some refcounting
problem but the new tests do not show anything unusual.

What is even weirder, with the new tests even the python3.4 suite passes
without segfault!

So, I consider this a false positive and have left the change in,
including the new tests at ca47d72.

Does such solution work for you?

Bozzo

On 8. 07. 15 16.32, Ken Giusti wrote:
 Hi Bozzo,

 Can you please revert this change?

 It is causing a segfault in the python unit tests when they are run under 
 python3.4.

 I haven't hit the segfault on python2.7, only on python3.4

 thanks,

 -K

 - Original Message -
 From: bo...@apache.org
 To: comm...@qpid.apache.org
 Sent: Tuesday, July 7, 2015 3:50:16 PM
 Subject: [2/2] qpid-proton git commit: PROTON-928: cancellable tasks

 PROTON-928: cancellable tasks

 A scheduled task can be cancelled.
 A cancelled task does not prevent reactor from stopping running


 Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
 Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/d4d22ee3
 Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/d4d22ee3
 Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/d4d22ee3

 Branch: refs/heads/master
 Commit: d4d22ee396163babcac19c48845b1f10ca3b5a48
 Parents: 09af375
 Author: Bozo Dragojevic bo...@digiverse.si
 Authored: Tue Jul 7 10:17:40 2015 +0200
 Committer: Bozo Dragojevic bo...@digiverse.si
 Committed: Tue Jul 7 21:49:44 2015 +0200

 --
  proton-c/bindings/python/proton/reactor.py  |  5 +++-
  proton-c/include/proton/reactor.h   |  1 +
  proton-c/src/reactor/timer.c| 25 +++-
  proton-c/src/tests/reactor.c| 15 
  .../org/apache/qpid/proton/reactor/Task.java|  4 
  .../qpid/proton/reactor/impl/TaskImpl.java  | 10 
  .../apache/qpid/proton/reactor/impl/Timer.java  | 19 ---
  proton-j/src/main/resources/creactor.py |  3 +++
  tests/python/proton_tests/reactor.py| 14 +++
  9 files changed, 91 insertions(+), 5 deletions(-)
 --


 http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/d4d22ee3/proton-c/bindings/python/proton/reactor.py
 --
 diff --git a/proton-c/bindings/python/proton/reactor.py
 b/proton-c/bindings/python/proton/reactor.py
 index c66334b..d019554 100644
 --- a/proton-c/bindings/python/proton/reactor.py
 +++ b/proton-c/bindings/python/proton/reactor.py
 @@ -53,6 +53,9 @@ class Task(Wrapper):
  def _init(self):
  pass
  
 +def cancel(self):
 +pn_task_cancel(self._impl)
 +
  class Acceptor(Wrapper):
  
  def __init__(self, impl):
 @@ -112,7 +115,7 @@ class Reactor(Wrapper):
  pn_reactor_yield(self._impl)
  
  def mark(self):
 -pn_reactor_mark(self._impl)
 +return pn_reactor_mark(self._impl)
  
  def _get_handler(self):
  return WrappedHandler.wrap(pn_reactor_get_handler(self._impl),
  self.on_error)

 http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/d4d22ee3/proton-c/include/proton/reactor.h
 --
 diff --git a/proton-c/include/proton/reactor.h
 b/proton-c/include/proton/reactor.h
 index 59b2282..6f52d22 100644
 --- a/proton-c/include/proton/reactor.h
 +++ b/proton-c/include/proton/reactor.h
 @@ -96,6 +96,7 @@ PN_EXTERN pn_task_t *pn_timer_schedule(pn_timer_t *timer,
 pn_timestamp_t deadlin
  PN_EXTERN int pn_timer_tasks(pn_timer_t *timer);
  
  PN_EXTERN pn_record_t *pn_task_attachments(pn_task_t *task);
 +PN_EXTERN void pn_task_cancel(pn_task_t *task);
  
  PN_EXTERN pn_reactor_t *pn_class_reactor(const pn_class_t *clazz, void
  *object);
  PN_EXTERN pn_reactor_t *pn_object_reactor(void *object);

 http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/d4d22ee3/proton-c/src/reactor/timer.c
 --
 diff --git a/proton-c/src/reactor/timer.c b/proton-c/src/reactor/timer.c
 index 1ad0821..61efd31 100644
 --- a/proton-c/src/reactor/timer.c
 +++ b/proton-c/src/reactor/timer.c
 @@ -27,12 +27,14 @@ struct pn_task_t {
pn_list_t *pool;
pn_record_t *attachments;
pn_timestamp_t deadline;
 +  bool cancelled;
  };
  
  void pn_task_initialize(pn_task_t *task) {
task-pool = NULL;
task-attachments = pn_record();
task-deadline = 0;
 +  task-cancelled = false;
  }
  
  void 

Re: [2/2] qpid-proton git commit: PROTON-928: cancellable tasks

2015-07-09 Thread Robbie Gemmell
Hi Bozzo,

This change also seems to be causing test failures when using the
maven build (if you update things to get past the earlier failures,
caused by the commit mentioned in the other thread on proton@):

proton_tests.reactor.ExceptionTest.test_schedule_cancel . fail
Error during test:  Traceback (most recent call last):
File /home/gemmellr/workspace/proton/tests/python/proton-test,
line 360, in run
  phase()
File /home/gemmellr/workspace/proton/tests/python/proton_tests/reactor.py,
line 181, in test_schedule_cancel
  now = self.reactor.mark()
File 
/home/gemmellr/workspace/proton/tests/../proton-c/bindings/python/proton/reactor.py,
line 118, in mark
  return pn_reactor_mark(self._impl)
  NameError: global name 'pn_reactor_mark' is not defined


Robbie

On 9 July 2015 at 10:55, Bozo Dragojevic bo...@digiverse.si wrote:
 Hi Ken,

 I've installed python3.4 and tox and friends and tried to reproduce it here
 and I can confirm that some completely unrelated test fail mysteriously
 with python3.4 and that reverting my change makes that failure go away :)

 I've added more task cancellation tests to force the error while still
 in the implicated code, as I suspected it could be some refcounting
 problem but the new tests do not show anything unusual.

 What is even weirder, with the new tests even the python3.4 suite passes
 without segfault!

 So, I consider this a false positive and have left the change in,
 including the new tests at ca47d72.

 Does such solution work for you?

 Bozzo

 On 8. 07. 15 16.32, Ken Giusti wrote:
 Hi Bozzo,

 Can you please revert this change?

 It is causing a segfault in the python unit tests when they are run under 
 python3.4.

 I haven't hit the segfault on python2.7, only on python3.4

 thanks,

 -K

 - Original Message -
 From: bo...@apache.org
 To: comm...@qpid.apache.org
 Sent: Tuesday, July 7, 2015 3:50:16 PM
 Subject: [2/2] qpid-proton git commit: PROTON-928: cancellable tasks

 PROTON-928: cancellable tasks

 A scheduled task can be cancelled.
 A cancelled task does not prevent reactor from stopping running


 Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
 Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/d4d22ee3
 Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/d4d22ee3
 Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/d4d22ee3

 Branch: refs/heads/master
 Commit: d4d22ee396163babcac19c48845b1f10ca3b5a48
 Parents: 09af375
 Author: Bozo Dragojevic bo...@digiverse.si
 Authored: Tue Jul 7 10:17:40 2015 +0200
 Committer: Bozo Dragojevic bo...@digiverse.si
 Committed: Tue Jul 7 21:49:44 2015 +0200

 --
  proton-c/bindings/python/proton/reactor.py  |  5 +++-
  proton-c/include/proton/reactor.h   |  1 +
  proton-c/src/reactor/timer.c| 25 +++-
  proton-c/src/tests/reactor.c| 15 
  .../org/apache/qpid/proton/reactor/Task.java|  4 
  .../qpid/proton/reactor/impl/TaskImpl.java  | 10 
  .../apache/qpid/proton/reactor/impl/Timer.java  | 19 ---
  proton-j/src/main/resources/creactor.py |  3 +++
  tests/python/proton_tests/reactor.py| 14 +++
  9 files changed, 91 insertions(+), 5 deletions(-)
 --


 http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/d4d22ee3/proton-c/bindings/python/proton/reactor.py
 --
 diff --git a/proton-c/bindings/python/proton/reactor.py
 b/proton-c/bindings/python/proton/reactor.py
 index c66334b..d019554 100644
 --- a/proton-c/bindings/python/proton/reactor.py
 +++ b/proton-c/bindings/python/proton/reactor.py
 @@ -53,6 +53,9 @@ class Task(Wrapper):
  def _init(self):
  pass

 +def cancel(self):
 +pn_task_cancel(self._impl)
 +
  class Acceptor(Wrapper):

  def __init__(self, impl):
 @@ -112,7 +115,7 @@ class Reactor(Wrapper):
  pn_reactor_yield(self._impl)

  def mark(self):
 -pn_reactor_mark(self._impl)
 +return pn_reactor_mark(self._impl)

  def _get_handler(self):
  return WrappedHandler.wrap(pn_reactor_get_handler(self._impl),
  self.on_error)

 http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/d4d22ee3/proton-c/include/proton/reactor.h
 --
 diff --git a/proton-c/include/proton/reactor.h
 b/proton-c/include/proton/reactor.h
 index 59b2282..6f52d22 100644
 --- a/proton-c/include/proton/reactor.h
 +++ b/proton-c/include/proton/reactor.h
 @@ -96,6 +96,7 @@ PN_EXTERN pn_task_t *pn_timer_schedule(pn_timer_t *timer,
 pn_timestamp_t deadlin
  PN_EXTERN int pn_timer_tasks(pn_timer_t *timer);

  PN_EXTERN pn_record_t *pn_task_attachments(pn_task_t *task);
 

[jira] [Commented] (PROTON-928) Cancellable tasks

2015-07-09 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on PROTON-928:


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

PROTON-928: proton-j: Add two missing reactor methods


 Cancellable tasks
 -

 Key: PROTON-928
 URL: https://issues.apache.org/jira/browse/PROTON-928
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-c, proton-j, python-binding
Reporter: Bozo Dragojevic
Assignee: Bozo Dragojevic

 Allow scheduled tasks to be cancelled.
 A cancelled task does not keep reactor from stoping running



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


Re: [2/2] qpid-proton git commit: PROTON-928: cancellable tasks

2015-07-09 Thread Bozo Dragojevic
Hi Robbie,

Yeah, my bad. I was sitting on some local changes so I missed this.
I'll test on a clean checkout next time. Sorry for all the mess.
I've commited the missing methods to proton-j

Bozzo

On 9. 07. 15 12.14, Robbie Gemmell wrote:
 Hi Bozzo,

 This change also seems to be causing test failures when using the
 maven build (if you update things to get past the earlier failures,
 caused by the commit mentioned in the other thread on proton@):

 proton_tests.reactor.ExceptionTest.test_schedule_cancel . fail
 Error during test:  Traceback (most recent call last):
 File /home/gemmellr/workspace/proton/tests/python/proton-test,
 line 360, in run
   phase()
 File 
 /home/gemmellr/workspace/proton/tests/python/proton_tests/reactor.py,
 line 181, in test_schedule_cancel
   now = self.reactor.mark()
 File 
 /home/gemmellr/workspace/proton/tests/../proton-c/bindings/python/proton/reactor.py,
 line 118, in mark
   return pn_reactor_mark(self._impl)
   NameError: global name 'pn_reactor_mark' is not defined


 Robbie

 On 9 July 2015 at 10:55, Bozo Dragojevic bo...@digiverse.si wrote:
 Hi Ken,

 I've installed python3.4 and tox and friends and tried to reproduce it here
 and I can confirm that some completely unrelated test fail mysteriously
 with python3.4 and that reverting my change makes that failure go away :)

 I've added more task cancellation tests to force the error while still
 in the implicated code, as I suspected it could be some refcounting
 problem but the new tests do not show anything unusual.

 What is even weirder, with the new tests even the python3.4 suite passes
 without segfault!

 So, I consider this a false positive and have left the change in,
 including the new tests at ca47d72.

 Does such solution work for you?

 Bozzo

 On 8. 07. 15 16.32, Ken Giusti wrote:
 Hi Bozzo,

 Can you please revert this change?

 It is causing a segfault in the python unit tests when they are run under 
 python3.4.

 I haven't hit the segfault on python2.7, only on python3.4

 thanks,

 -K

 - Original Message -
 From: bo...@apache.org
 To: comm...@qpid.apache.org
 Sent: Tuesday, July 7, 2015 3:50:16 PM
 Subject: [2/2] qpid-proton git commit: PROTON-928: cancellable tasks

 PROTON-928: cancellable tasks

 A scheduled task can be cancelled.
 A cancelled task does not prevent reactor from stopping running


 Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
 Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/d4d22ee3
 Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/d4d22ee3
 Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/d4d22ee3

 Branch: refs/heads/master
 Commit: d4d22ee396163babcac19c48845b1f10ca3b5a48
 Parents: 09af375
 Author: Bozo Dragojevic bo...@digiverse.si
 Authored: Tue Jul 7 10:17:40 2015 +0200
 Committer: Bozo Dragojevic bo...@digiverse.si
 Committed: Tue Jul 7 21:49:44 2015 +0200

 --
  proton-c/bindings/python/proton/reactor.py  |  5 +++-
  proton-c/include/proton/reactor.h   |  1 +
  proton-c/src/reactor/timer.c| 25 +++-
  proton-c/src/tests/reactor.c| 15 
  .../org/apache/qpid/proton/reactor/Task.java|  4 
  .../qpid/proton/reactor/impl/TaskImpl.java  | 10 
  .../apache/qpid/proton/reactor/impl/Timer.java  | 19 ---
  proton-j/src/main/resources/creactor.py |  3 +++
  tests/python/proton_tests/reactor.py| 14 +++
  9 files changed, 91 insertions(+), 5 deletions(-)
 --


 http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/d4d22ee3/proton-c/bindings/python/proton/reactor.py
 --
 diff --git a/proton-c/bindings/python/proton/reactor.py
 b/proton-c/bindings/python/proton/reactor.py
 index c66334b..d019554 100644
 --- a/proton-c/bindings/python/proton/reactor.py
 +++ b/proton-c/bindings/python/proton/reactor.py
 @@ -53,6 +53,9 @@ class Task(Wrapper):
  def _init(self):
  pass

 +def cancel(self):
 +pn_task_cancel(self._impl)
 +
  class Acceptor(Wrapper):

  def __init__(self, impl):
 @@ -112,7 +115,7 @@ class Reactor(Wrapper):
  pn_reactor_yield(self._impl)

  def mark(self):
 -pn_reactor_mark(self._impl)
 +return pn_reactor_mark(self._impl)

  def _get_handler(self):
  return WrappedHandler.wrap(pn_reactor_get_handler(self._impl),
  self.on_error)

 http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/d4d22ee3/proton-c/include/proton/reactor.h
 --
 diff --git a/proton-c/include/proton/reactor.h
 b/proton-c/include/proton/reactor.h
 index 59b2282..6f52d22 100644
 --- 

[GitHub] qpid-proton pull request: Run the python-tox-test under Jenkins ...

2015-07-09 Thread dnwe
GitHub user dnwe opened a pull request:

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

Run the python-tox-test under Jenkins  Travis



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

$ git pull https://github.com/dnwe/qpid-proton travis

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

https://github.com/apache/qpid-proton/pull/44.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 #44


commit d2e4b0bce27a663366cd6cdfb107893b930a15fa
Author: Kenneth Giusti kgiu...@apache.org
Date:   2015-07-08T18:55:20Z

NO-JIRA: update jenkins scripts to run python-tox-test if possible

commit 17946939e4e5ab8dbc282237b3a961178176dfa3
Author: Dominic Evans dominic.ev...@uk.ibm.com
Date:   2015-07-08T19:12:07Z

NO-JIRA: update travis to support the tox suite




---
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: Run the python-tox-test under Jenkins ...

2015-07-09 Thread asfgit
Github user asfgit closed the pull request at:

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


---
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: Proton Devs using Linux: please run the python-tox-test unit tests!!

2015-07-09 Thread Robbie Gemmell
One thing that may or may not come up is that the job on the ASF
Jenkins is tied to run only on the 'legacy-ubuntu' label currently,
which only includes the old ubuntu3 node. All the other Ubuntu nodes
are newer but the build was failing on many of them due to needing
packages installed, so it isnt running on those currently.

Robbie

On 8 July 2015 at 18:30, Dominic Evans dominic.ev...@uk.ibm.com wrote:

 I do have an unpushed change that partially enables it for travis. I'll
 push later tonight.

 On 8 Jul 2015, at 18:27, Ken Giusti kgiu...@redhat.com wrote:

 Good point, I'll see what I can do on that front.


 - Original Message -
 From: Robbie Gemmell robbie.gemm...@gmail.com
 To: proton@qpid.apache.org
 Sent: Wednesday, July 8, 2015 12:21:57 PM
 Subject: Re: Proton Devs using Linux: please run the python-tox-test
 unit tests!!

 On 8 July 2015 at 15:48, Ken Giusti kgiu...@redhat.com wrote:

 Devs,

 As you probably know, I've pushed changes to the proton python bindings
 that make proton compatible with python3.

 Since then, I've hit bugs in the python3 stuff that could've been
 caught by
 running the above unit test on a linux system that has python3
 installed.

 This test currently only runs on linux, and requires both python3 and
 extra
 python tools be installed in order to run it.  I suspect most devs
 don't
 have these tools installed by default.   If the tools are not available
 -
 or are not current - ctest will skip running these tests.

 Most current linux distros - I'm running Fedora 21 btw - support
 installing
 both python2.x and python3.x in parallel.  Most default to just having
 python 2.x installed - you usually have to install python3 manually.

 Once you have python3 installed, you will also need to have an
 up-to-date
 version of the 'tox' and 'virtualenv' tools installed.

 For example, on my F21 box:  sudo yum install python-tox
 python-virtualenv  does the trick.

 Note: the unit tests require version 1.7+ of python-tox.  If that isn't
 available to you, you can use 'python-pip' to either overwrite the
 installed version of tox with a newer one, or install a local copy of
 tox
 in your home directory:

 $ sudo pip install -U tox   # this overwrites
 or
 $ pip install --user -U tox  # will put tox in ~/.local - you'll have
 to
 update your PATH/PYTHONPATH to look there

 Once all that is done, a simple 'make test' should run the
 python-tox-test.


 Doing all this is optional, and will increase the time it takes to run
 the
 unit tests, but it prevent inadvertent regressions to the python3
 support.
 And it will greatly appreciated by yours truly!

 thanks all,

 -K


 It would probably help if some or all of the CI environments (ASF
 Jenkins, Travis CI, Appveyor) we have checking thing over were set up
 to do this.

 Robbie

 --
 -K




[GitHub] qpid-proton pull request: -Fix 2 Code Analysis warnings and a real...

2015-07-09 Thread dcristoloveanu
Github user dcristoloveanu closed the pull request at:

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


---
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: -Fix 2 Code Analysis warnings in iocp.c ...

2015-07-09 Thread dcristoloveanu
GitHub user dcristoloveanu opened a pull request:

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

-Fix 2 Code Analysis warnings in iocp.c and a realloc leak

-Fix one realloc leak and the fact that the realloc result was not checked. 
This rippled through codec.c as more functions needed to have error checking. 
Also, more fixes regarding return values being checked need to be done 
throughout message.c, transport.c, etc., but the amount of changes is 
significant, so it needs to be done in several chunks.

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

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

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

https://github.com/apache/qpid-proton/pull/45.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 #45


commit 9d14e1dd3d2fa5886752ff00eece93c4827cd1bd
Author: dcristoloveanu dcri...@microsoft.com
Date:   2015-07-09T20:01:30Z

-Fix 2 Code Analysis warnings in iocp.c
-Fix one realloc leak and the fact that the realloc result was not checked. 
This rippled through codec.c as more functions needed to have error checking. 
Also, more fixes regarding return values being checked need to be done 
throughout message.c, transport.c, etc., but the amount of changes is 
significant, so it needs to be done in several chunks.




---
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: Proton Devs using Linux: please run the python-tox-test unit tests!!

2015-07-09 Thread Ken Giusti
Apparently ubuntu3 doesn't have 'pip' installed, so our jenkin's script can't 
pull down tox and run the python-tox-test.

Assuming ubuntu3 is really old, it probably doesn't have python3 installed 
either (just a guess).  So even if we had pip/tox installed, the tests would 
only run under python2 anyways.


-K

- Original Message -
 From: Robbie Gemmell robbie.gemm...@gmail.com
 To: proton@qpid.apache.org
 Sent: Thursday, July 9, 2015 9:45:10 AM
 Subject: Re: Proton Devs using Linux: please run the python-tox-test unit 
 tests!!
 
 One thing that may or may not come up is that the job on the ASF
 Jenkins is tied to run only on the 'legacy-ubuntu' label currently,
 which only includes the old ubuntu3 node. All the other Ubuntu nodes
 are newer but the build was failing on many of them due to needing
 packages installed, so it isnt running on those currently.
 
 Robbie
 
 On 8 July 2015 at 18:30, Dominic Evans dominic.ev...@uk.ibm.com wrote:
 
  I do have an unpushed change that partially enables it for travis. I'll
  push later tonight.
 
  On 8 Jul 2015, at 18:27, Ken Giusti kgiu...@redhat.com wrote:
 
  Good point, I'll see what I can do on that front.
 
 
  - Original Message -
  From: Robbie Gemmell robbie.gemm...@gmail.com
  To: proton@qpid.apache.org
  Sent: Wednesday, July 8, 2015 12:21:57 PM
  Subject: Re: Proton Devs using Linux: please run the python-tox-test
  unit tests!!
 
  On 8 July 2015 at 15:48, Ken Giusti kgiu...@redhat.com wrote:
 
  Devs,
 
  As you probably know, I've pushed changes to the proton python bindings
  that make proton compatible with python3.
 
  Since then, I've hit bugs in the python3 stuff that could've been
  caught by
  running the above unit test on a linux system that has python3
  installed.
 
  This test currently only runs on linux, and requires both python3 and
  extra
  python tools be installed in order to run it.  I suspect most devs
  don't
  have these tools installed by default.   If the tools are not available
  -
  or are not current - ctest will skip running these tests.
 
  Most current linux distros - I'm running Fedora 21 btw - support
  installing
  both python2.x and python3.x in parallel.  Most default to just having
  python 2.x installed - you usually have to install python3 manually.
 
  Once you have python3 installed, you will also need to have an
  up-to-date
  version of the 'tox' and 'virtualenv' tools installed.
 
  For example, on my F21 box:  sudo yum install python-tox
  python-virtualenv  does the trick.
 
  Note: the unit tests require version 1.7+ of python-tox.  If that isn't
  available to you, you can use 'python-pip' to either overwrite the
  installed version of tox with a newer one, or install a local copy of
  tox
  in your home directory:
 
  $ sudo pip install -U tox   # this overwrites
  or
  $ pip install --user -U tox  # will put tox in ~/.local - you'll have
  to
  update your PATH/PYTHONPATH to look there
 
  Once all that is done, a simple 'make test' should run the
  python-tox-test.
 
 
  Doing all this is optional, and will increase the time it takes to run
  the
  unit tests, but it prevent inadvertent regressions to the python3
  support.
  And it will greatly appreciated by yours truly!
 
  thanks all,
 
  -K
 
 
  It would probably help if some or all of the CI environments (ASF
  Jenkins, Travis CI, Appveyor) we have checking thing over were set up
  to do this.
 
  Robbie
 
  --
  -K
 
 
 

-- 
-K


[jira] [Commented] (PROTON-865) C++ reactor client binding

2015-07-09 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on PROTON-865:


Commit 377fd55032a0e99664e774999e858bf804d4b6e4 in qpid-proton's branch 
refs/heads/cjansen-cpp-client from [~aconway]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=377fd55 ]

PROTON-865: Revert error check in array code.

Removed an error check in proton array encoder to ensure elements in an array 
have the right type.
This check was added to aid debugging but causes several test failures.


 C++ reactor client binding
 --

 Key: PROTON-865
 URL: https://issues.apache.org/jira/browse/PROTON-865
 Project: Qpid Proton
  Issue Type: New Feature
 Environment: C++
Reporter: Cliff Jansen
Assignee: Cliff Jansen

 This JIRA tracks initial work on a C++ binding to the Proton reactor event 
 based model with an eye to providing an API very similar to the python 
 client.  As stated on the Proton list, the broad goals are:
   to make it easy to write simple programs
   natural to build out more complicated ones
   very similar API to the Python client
   lean and performant
 The initial introduction with accompanying HelloWorld can be found at
   https://github.com/apache/qpid-proton/pull/18
 Ongoing work is proceeding in my github account in branch cpp-work
   https://github.com/cliffjansen/qpid-proton/tree/cpp-work
 commit 1453f57ca3f446450ef654505548f1947cb7a0f1 adds listener support, 
 exceptions and a logging interface.
 The initial implementation will provide no thread safety guarantees, but the 
 bone structure should allow that to be added later with no API change.  I 
 still hold out hope of eventually allowing multiple threads processing 
 separate connections concurrently.



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


[jira] [Commented] (PROTON-940) provide the session initial incoming window via Begin rather than sending a separate Flow

2015-07-09 Thread ASF subversion and git services (JIRA)

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

ASF subversion and git services commented on PROTON-940:


Commit 2b41931dbb49730ddba92c42e40113899371c2d7 in qpid-proton's branch 
refs/heads/cjansen-cpp-client from Robert Gemmell
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=2b41931 ]

PROTON-940: calculate the incoming window before sending the Begin frame to 
ensure it is initialised, which supresses the need for a subsequent Flow as 
seen previously


 provide the session initial incoming window via Begin rather than sending a 
 separate Flow
 -

 Key: PROTON-940
 URL: https://issues.apache.org/jira/browse/PROTON-940
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-j
Affects Versions: 0.8, 0.9, 0.9.1
Reporter: Robbie Gemmell
Assignee: Robbie Gemmell
 Fix For: 0.10

 Attachments: 
 0001-PROTON-940-calculate-the-incoming-window-before-send.patch


 When a session is created, a Begin frame is sent. One of the fields on the 
 frame is the initial incoming window. Instead of populating the field, 
 Proton-J currently sets it to 0 but then immediately discovers the window is 
 0 and sends a seperate Flow frame (in the same transport output sas the Begin 
 frame) changing the window to the actual calculated value.
 This result is equivalent in the end and allowed by the protocol, but is not 
 particularly obvious behaviour and is different than proton-c. The initial 
 incoming window value should be conveyed in the Begin frame instead, removing 
 need for the immediate Flow.



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