[jira] [Created] (PROTON-224) Python test framework: treat ProtonUnsupportedOperationException automatically as a skipped test

2013-02-08 Thread Keith Wall (JIRA)
Keith Wall created PROTON-224:
-

 Summary: Python test framework: treat 
ProtonUnsupportedOperationException automatically as a skipped test
 Key: PROTON-224
 URL: https://issues.apache.org/jira/browse/PROTON-224
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-j
Reporter: Keith Wall
Priority: Minor
 Fix For: 0.4


Refactor test framework to arrange from proton_test (the python test runner) to 
treat ProtonUnsupportedOperationException (the exception used by the Java 
stacks to signal an unimplemented Proton feature) automatically as a skipped 
test. direct dependency between 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (PROTON-225) Redesign Transport interface such that Transport owns the in/out buffers rather than its client

2013-02-08 Thread Philip Harvey (JIRA)
Philip Harvey created PROTON-225:


 Summary: Redesign Transport interface such that Transport owns the 
in/out buffers rather than its client
 Key: PROTON-225
 URL: https://issues.apache.org/jira/browse/PROTON-225
 Project: Qpid Proton
  Issue Type: Improvement
Affects Versions: 0.3
Reporter: Philip Harvey
 Fix For: 0.5


This issue is intended to cover the Transport API redesign proposed on the 
mailing list 
(http://qpid.2158936.n2.nabble.com/transport-interface-changes-td7588099.html) 
as part of discussions around PROTON-222.  The redesign is being tracked under 
this new because we probably want to implement it on a different timescale to 
the PROTON-222 bug fix.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


Re: transport interface changes

2013-02-08 Thread Phil Harvey
FYI I've raised PROTON-225 to cover the API redesign so that we have the
option of implementing it separately from the PROTON-222 bug fix.


On 7 February 2013 16:43, Phil Harvey p...@philharveyonline.com wrote:

 My 2 cents on the naming issue: I'm not convinced that a single queue is
 the best metaphor for the Transport, even if qualified by the term
 transforming.  The meaning of the input and output data is surely so
 different that calling it a queue masks the essence of what the engine
 does.

 To me, a transforming queue suggests something that spits out something
 semantically identical to its input.  For example, a byte queue whose head
 is a UTF-8-encoded transformation of its UTF-8 tail.  I don't think
 Transport falls into this category, therefore my preference would be for
 the words input and output to appear in the function names.

 Phil


 On 7 February 2013 14:23, Ken Giusti kgiu...@redhat.com wrote:

 What we've got here is failure to communicate.


  There aren't necessarily distinct
  input/output
  buffer objects, rather the whole transport interface itself is really
  just
  single structure (a [transforming] byte queue) with push/peek/pop
  corresponding exactly to any standard queue interface.

 Aha!  Well, that explains it - I've always though that the transport was
 composed of two separate buffers - one for input, the other for output.  At
 least, that's my interpretation of the existing API.

 A transforming byte queue didn't immediately pop into my mind when
 reading these new APIs.  You may want to add a bit of documentation to that
 patch explaining this meme before the APIs are described.  Would be quite
 useful to anyone attempting to implement a driver.


 -K

 - Original Message -
  Looks like the attachement didn't make it. Here's the link to the
  patch on
  JIRA:
 
 https://issues.apache.org/jira/secure/attachment/12568408/transport.patch
 
  --Rafael
 
  On Thu, Feb 7, 2013 at 8:10 AM, Rafael Schloming r...@alum.mit.edu
  wrote:
 
   Here's a patch to engine.h with updated docs/naming. I've
   documented what
   I believe would be future lifecycle semantics, however as I said
   before I
   think an initial patch would need to be more conservative. I think
   these
   names would also work with input/output prefixes, although as the
   interface
   now pretty much exactly matches a circular buffer (i.e. a byte
   queue), I
   find the input/output prefixes a bit jarring.
  
   --Rafael
  
  
   On Thu, Feb 7, 2013 at 5:53 AM, Rafael Schloming r...@alum.mit.edu
   wrote:
  
   On Wed, Feb 6, 2013 at 5:12 PM, Rafael Schloming
   r...@alum.mit.eduwrote:
  
   On Wed, Feb 6, 2013 at 2:13 PM, Ken Giusti kgiu...@redhat.com
   wrote:
  
   Rafi, I agree with the rational behind these changes.
  
/** Return a pointer to a transport's input buffer. This
pointer
may
 * change when calls into the engine are made.
  
   I think we'll need to be a little more liberal with the
   lifecycle
   guarantee of these buffer pointers.  Drivers based on
   completion models
   (rather than sockets) could be forced to do data copies rather
   than
   supplying the pointer directly to the completion mechanism.
  
  
   That sentence was actually supposed to be deleted. The sentences
   after
   that describes the intended lifecycle policy for the input
   buffer:
  
 Calls to ::pn_transport_push may change the value of this
 pointer and
   the amount of free space reported by ::pn_transport_capacity.
  
  
  
   Could we instead guarantee that pointers (and space) returned
   from the
   transport remain valid until 1) the transport is released or 2)
   the
   push/pop call is made against the transport?
  
  
   That is in fact what I intended for push. For pop this would
   place a lot
   more restrictions on the engine implementation. Say for example
   peek is
   called and then the top half is used to write message data.
   Ideally there
   should actually be more data to write over the network, which
   means that
   the transport may want to grow (realloc) the output buffer, and
   this of
   course is more complex if the external pointer needs to stay
   valid. Given
   that at worst this will incur an extra copy that is equivalent to
   what
   we're currently doing, I figured it would be safer to start out
   with more
   conservative semantics. We can always relax them later when we
   have had
   more time to consider the implementation.
  
  
   Or perhaps a reference count-based interface would be safer?
Once the
   driver determines there is capacity/pending, it reserves the
   buffer and
   is required to push/pop to release it?
  
   Oh, and those names absolutely stink. ;)  It's unclear from the
   function names what components of the transport they are
   affecting.  I'd
   rather something more readable:
  
   pn_transport_capacity() -- pn_transport_input_capacity()
   pn_transport_buffer() - 

[jira] [Updated] (PROTON-224) Python test framework: treat ProtonUnsupportedOperationException automatically as a skipped test

2013-02-08 Thread Keith Wall (JIRA)

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

Keith Wall updated PROTON-224:
--

Issue Type: Improvement  (was: Bug)

 Python test framework: treat ProtonUnsupportedOperationException 
 automatically as a skipped test
 

 Key: PROTON-224
 URL: https://issues.apache.org/jira/browse/PROTON-224
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-j
Reporter: Keith Wall
Assignee: Keith Wall
Priority: Minor
 Fix For: 0.4


 Refactor test framework to arrange from proton_test (the python test runner) 
 to treat ProtonUnsupportedOperationException (the exception used by the Java 
 stacks to signal an unimplemented Proton feature) automatically as a skipped 
 test. direct dependency between 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Assigned] (PROTON-224) Python test framework: treat ProtonUnsupportedOperationException automatically as a skipped test

2013-02-08 Thread Keith Wall (JIRA)

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

Keith Wall reassigned PROTON-224:
-

Assignee: Keith Wall

 Python test framework: treat ProtonUnsupportedOperationException 
 automatically as a skipped test
 

 Key: PROTON-224
 URL: https://issues.apache.org/jira/browse/PROTON-224
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-j
Reporter: Keith Wall
Assignee: Keith Wall
Priority: Minor
 Fix For: 0.4


 Refactor test framework to arrange from proton_test (the python test runner) 
 to treat ProtonUnsupportedOperationException (the exception used by the Java 
 stacks to signal an unimplemented Proton feature) automatically as a skipped 
 test. direct dependency between 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


Re: Building proton-c: cc1: error: unrecognized command line option -Wvla (RHEL 5.3)

2013-02-08 Thread Keith W
On 5 February 2013 17:38, Cliff Jansen cliffjan...@gmail.com wrote:
 Hmmm.  You raise a good point.

 On the one hand, we want people to be policed by these flags if they
 are contributing to the proton-c work.  However, we don't want proton
 to be difficult to build for anybody else.

 I will raise a JIRA to have the CMakeLists.txt only set the flags if
 the gcc version can handle it, and print some inspirational message
 otherwise.


Thanks Cliff, that sounds perfect.   Do you have a target date in mind
for this? We are currently having to patch the new flag out in order
to build on our Redhat Tikanga boxes.


[jira] [Commented] (PROTON-196) Automate the running of system tests on Apache CI

2013-02-08 Thread Keith Wall (JIRA)

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

Keith Wall commented on PROTON-196:
---

We now have the following Proton jobs set up on Apache Jenkins CI:

ttps://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-c/ # Build 
proton-c and test with Python system tests.
https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-j/# Build 
proton-j and test with Python/Java system tests
https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-jni/ # Build 
proton-c and JNI bindings and test with Python/Java system tests
https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-j-Deploy/ # Deploy 
proton-j snapshot artefacts

 Automate the running of system tests on Apache CI
 -

 Key: PROTON-196
 URL: https://issues.apache.org/jira/browse/PROTON-196
 Project: Qpid Proton
  Issue Type: Task
Reporter: Keith Wall
Assignee: Keith Wall

 Setup the build and execution of proton system tests on Apache CI.
 Tests profiles will exercise proton-c/proton-c, proton-j/proton-j, and 
 proton-j/proton-c combinations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Resolved] (PROTON-196) Automate the running of system tests on Apache CI

2013-02-08 Thread Keith Wall (JIRA)

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

Keith Wall resolved PROTON-196.
---

   Resolution: Fixed
Fix Version/s: 0.4

 Automate the running of system tests on Apache CI
 -

 Key: PROTON-196
 URL: https://issues.apache.org/jira/browse/PROTON-196
 Project: Qpid Proton
  Issue Type: Task
Reporter: Keith Wall
Assignee: Keith Wall
 Fix For: 0.4


 Setup the build and execution of proton system tests on Apache CI.
 Tests profiles will exercise proton-c/proton-c, proton-j/proton-j, and 
 proton-j/proton-c combinations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Comment Edited] (PROTON-196) Automate the running of system tests on Apache CI

2013-02-08 Thread Keith Wall (JIRA)

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

Keith Wall edited comment on PROTON-196 at 2/8/13 1:38 PM:
---

We now have the following Proton jobs set up on Apache Jenkins CI:

https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-c/ # Build 
proton-c and test with Python system tests.
https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-j/# Build 
proton-j and test with Python/Java system tests
https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-jni/ # Build 
proton-c and JNI bindings and test with Python/Java system tests
https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-j-Deploy/ # Deploy 
proton-j snapshot artefacts

  was (Author: k-wall):
We now have the following Proton jobs set up on Apache Jenkins CI:

ttps://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-c/ # Build 
proton-c and test with Python system tests.
https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-j/# Build 
proton-j and test with Python/Java system tests
https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-jni/ # Build 
proton-c and JNI bindings and test with Python/Java system tests
https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-j-Deploy/ # Deploy 
proton-j snapshot artefacts
  
 Automate the running of system tests on Apache CI
 -

 Key: PROTON-196
 URL: https://issues.apache.org/jira/browse/PROTON-196
 Project: Qpid Proton
  Issue Type: Task
Reporter: Keith Wall
Assignee: Keith Wall

 Setup the build and execution of proton system tests on Apache CI.
 Tests profiles will exercise proton-c/proton-c, proton-j/proton-j, and 
 proton-j/proton-c combinations.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


Re: Proton CI jobs on Apache Jenkins (PROTON-196)

2013-02-08 Thread Ken Giusti
That's excellent - thanks!

-K

- Original Message -
 Just to let you know we now have the following jobs configured on the
 Apache Jenkins CI instances:
 
 Builds proton-c and executes the Python system tests:
 https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-c/
 
 Builds proton-j and executes the Python/Java system tests:
 https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-j/
 
 Builds proton-c and executes the Python/Java system tests via the
 Java
 Bindings (JNI):
 https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-jni
 
 The three build jobs are triggered by svn commit.
 
 Publishes proton-j snapshot artefacts:
 https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-proton-j-Deploy
 
 The deploy job runs once per day (3AM UTC).
 
 All jobs report build or test failures to
 notificati...@qpid.apache.org.   The test results (including the
 Python test results) are wired into the job's front page.
 
 HTH, Keith Wall.
 


[jira] [Assigned] (PROTON-222) pn_messenger_send returns before message data has been written to the wire

2013-02-08 Thread Ken Giusti (JIRA)

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

Ken Giusti reassigned PROTON-222:
-

Assignee: Ken Giusti  (was: Rafael H. Schloming)

 pn_messenger_send returns before message data has been written to the wire
 --

 Key: PROTON-222
 URL: https://issues.apache.org/jira/browse/PROTON-222
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c, proton-j
Affects Versions: 0.3
Reporter: Rafael H. Schloming
Assignee: Ken Giusti
 Fix For: 0.4

 Attachments: transport.patch


 Currently, pn_messender_send will block until the engine reports there are no 
 queued messages being held. The problem arises because the queued message 
 count only reports message data that is being held by the engine due to 
 insufficient credit to send the messages. Messages may also be sitting in the 
 transport's encoded frame buffer waiting to be written to the wire, and 
 messages may also be held by the driver itself. This latter possibly is 
 problematic given the current transport interface because there is no way for 
 an application using the engine (in this case messenger) to know whether data 
 is being held by the driver without introducing an undesirable coupling 
 between the application and the driver implementation.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Created] (PROTON-226) Porting Issue -- Heap Corruption using Visual Studio when running client/server proton in debug mode.

2013-02-08 Thread Mary hinton (JIRA)
Mary hinton created PROTON-226:
--

 Summary: Porting Issue -- Heap Corruption using Visual Studio when 
running client/server proton in debug mode.
 Key: PROTON-226
 URL: https://issues.apache.org/jira/browse/PROTON-226
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c
Affects Versions: 0.4
 Environment: Windows using Visual Studio 2010
Reporter: Mary hinton


Code changes for windows port were added (MinGW and Visual Studio) to the 
proton codebase recently.

Using the new codebase and some additional changes, I ran the proton executable 
using the Visual Studio toolset as both a server and client. When the client 
exits, a Windows popup displays:

Windows has triggered a breakpoint in proton.exe.
This may be due to a corruption of the heap, which indicates a bug in 
proton.exe or any of the DLLs it has loaded.

Still tracking this problem down.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira