[qpid-proton] branch master updated: PROTON-2172: proactor fdlimit test. Should work after PROTON-1496.
This is an automated email from the ASF dual-hosted git repository. cliffjansen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/qpid-proton.git The following commit(s) were added to refs/heads/master by this push: new 7735f1b PROTON-2172: proactor fdlimit test. Should work after PROTON-1496. 7735f1b is described below commit 7735f1b7b39b36f5fd292410385e6a5a9c4fb68a Author: Cliff Jansen AuthorDate: Mon Nov 23 10:27:47 2020 -0800 PROTON-2172: proactor fdlimit test. Should work after PROTON-1496. --- c/tests/fdlimit.py | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/c/tests/fdlimit.py b/c/tests/fdlimit.py index 6848c68..2fe2e71 100644 --- a/c/tests/fdlimit.py +++ b/c/tests/fdlimit.py @@ -51,8 +51,7 @@ class FdLimitTest(unittest.TestCase): if cls.devnull: cls.devnull.close() -# @unittest.skipUnless(prlimit_available, "prlimit not available") -@unittest.skip("temporarily disabled (epoll fix pending)") +@unittest.skipUnless(prlimit_available, "prlimit not available") def test_fd_limit_broker(self): """Check behaviour when running out of file descriptors on accept""" # Not too many FDs but not too few either, some are used for system purposes. @@ -64,9 +63,11 @@ class FdLimitTest(unittest.TestCase): # NOTE: broker does not log a file descriptor related error at any point in the test, only # PN_TRANSPORT_CLOSED: amqp:connection:framing-error: connection aborted # PN_TRANSPORT_CLOSED: proton:io: Connection reset by peer - disconnected :5672 (connection aborted) -for i in range(fdlimit + 1): +for i in range(fdlimit): receiver = test_subprocess.Popen(["receive", "", b.port, str(i)], stdout=self.devnull) receivers.append(receiver) +# Allow these subprocesses time to establish ahead of the upcoming test sender. +time.sleep(1) # All FDs are now in use, send attempt will (with present implementation) hang with test_subprocess.Popen(["send", "", b.port, "x"], - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
[qpid-site] branch asf-site updated: fix up dashboard page CI build status entries, stale after recent Jenkins move
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/qpid-site.git The following commit(s) were added to refs/heads/asf-site by this push: new 45c4cbe fix up dashboard page CI build status entries, stale after recent Jenkins move 45c4cbe is described below commit 45c4cbe909cc5121f84a73bbc203e4bd6dda6aa7 Author: Robbie Gemmell AuthorDate: Mon Nov 23 16:34:30 2020 + fix up dashboard page CI build status entries, stale after recent Jenkins move --- content/dashboard.html | 12 ++-- input/_transom_config.py | 8 input/dashboard.md | 10 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/content/dashboard.html b/content/dashboard.html index 65e8e48..757646c 100644 --- a/content/dashboard.html +++ b/content/dashboard.html @@ -150,7 +150,7 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/> https://github.com/apache/qpid-cpp/blob/master/README.md;>Qpid C++ 1.39.0 https://issues.apache.org/jira/projects/QPID;>Summary https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+and+resolution+is+null+and+component+in+%28%22C%2B%2B+Broker%22%2C+%22C%2B%2B+Build%22%2C+%22C%2B%2B+Client%22%2C+%22C%2B%2B+Clustering%22%2C+%22C%2B%2B+Documentation%22%2C+%22C%2B%2B+Tests%22%2C+%22C%2B%2B+Tools%22%2C+%22.NET+Client%22%2C+%22Perl+Client%22%2C+%22Python+Client+%28Wrapped%29%22%2C+%22QMF%22%2C+%22Ruby+Client%22%29;>Open iss [...] - https://builds.apache.org/blue/organizations/jenkins/Qpid-cpp-trunk-test/activity;>https://builds.apache.org/buildStatus/icon?job=Qpid-cpp-trunk-test; height="20"/> https://ci.appveyor.com/project/ApacheSoftwareFoundation/qpid-cpp/branch/master;>https://ci.appveyor.com/api/projects/status/wma611lkq1fcyo18?svg=true; height="20"/> + https://builds.apache.org/blue/organizations/jenkins/Qpid%2FQpid-CPP-Test/activity;>https://builds.apache.org/buildStatus/icon?job=Qpid/Qpid-CPP-Test; height="20"/> https://ci.appveyor.com/project/ApacheSoftwareFoundation/qpid-cpp/branch/master;>https://ci.appveyor.com/api/projects/status/wma611lkq1fcyo18?svg=true; height="20"/> https://gitbox.apache.org/repos/asf/qpid-cpp.git;>Git https://github.com/apache/qpid-cpp;>GitHub @@ -171,35 +171,35 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/> Qpid JMS 0.54.0 https://issues.apache.org/jira/projects/QPIDJMS;>Summary https://issues.apache.org/jira/issues/?jql=project+%3D+QPIDJMS+and+resolution+is+null;>Open issues https://issues.apache.org/jira/issues/?jql=project+%3D+QPIDJMS;>All issues https://issues.apache.org/jira/secure/CreateIssue!default.jspa?pid=12314524;>Create issue - https://builds.apache.org/blue/organizations/jenkins/Qpid-JMS-Test-JDK8/activity;>https://builds.apache.org/buildStatus/icon?job=Qpid-JMS-Test-JDK8; height="20"/> https://travis-ci.org/apache/qpid-jms;>https://travis-ci.org/apache/qpid-jms.svg?branch=master; height="20"/> https://builds.apache.org/blue/organizations/jenkins/Qpid-JMS-Test-JDK8-Windows/activity;>https://builds.apache.org/buildStatus/icon?job=Qpid-JMS-Te [...] + https://builds.apache.org/blue/organizations/jenkins/Qpid%2FQpid-JMS-Test-JDK8/activity;>https://builds.apache.org/buildStatus/icon?job=Qpid/Qpid-JMS-Test-JDK8; height="20"/> https://travis-ci.org/apache/qpid-jms;>https://travis-ci.org/apache/qpid-jms.svg?branch=master; height="20"/> https://builds.apache.org/blue/organizations/jenkins/Qpid%2FQpid-JMS-Test-JDK8-Windows/activity;>https://builds.apache.org/buildStatus/i [...] https://gitbox.apache.org/repos/asf/qpid-jms.git;>Git https://github.com/apache/qpid-jms;>GitHub Qpid JMS AMQP 0-x 6.4.0 https://issues.apache.org/jira/projects/QPID;>Summary https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+and+resolution+is+null+and+component+in+%28%22JMS+AMQP+0-x%22%29;>Open issues https://issues.apache.org/jira/issues/?jql=project+%3D+QPID+and+component+in+%28%22JMS+AMQP+0-x%22%29;>All issues https://issues.apache.org/jira/secure/CreateIssue!default.jspa?pid=12310520;>Create issue - https://builds.apache.org/job/Qpid-JMS-AMQP-0-x-Broker-J-TestMatrix/;>https://builds.apache.org/buildStatus/icon?job=Qpid-JMS-AMQP-0-x-Broker-J-TestMatrix; height="20"/> + https://builds.apache.org/job/Qpid/job/Qpid-JMS-AMQP-0-x-Broker-J-TestMatrix;>https://builds.apache.org/buildStatus/icon?job=Qpid/Qpid-JMS-AMQP-0-x-Broker-J-TestMatrix; height="20"/> https://gitbox.apache.org/repos/asf/qpid-jms-amqp-0-x.git;>Git https://github.com/apache/qpid-jms-amqp-0-x;>GitHub Qpid Proton-J 0.33.8 https://issues.apache.org/jira/projects/PROTON;>Summary https://issues.apache.org/jira/issues/?jql=project+%3D+PROTON+and+resolution+is+null+and+component+in+%28%22proton-j%22%29;>Open issues https://issues.apache.org/jira/issues/?jql=project+%3D+PROTON+and+component+in+%28%22proton-j%22%29;>All
[qpid-dispatch] branch dev-protocol-adaptors-2 updated: DISPATCH-1852: Added code to accumulate DATA frames in the message body in case credit does not arrive and the header has not been routed. This
This is an automated email from the ASF dual-hosted git repository. gmurthy pushed a commit to branch dev-protocol-adaptors-2 in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git The following commit(s) were added to refs/heads/dev-protocol-adaptors-2 by this push: new 042a647 DISPATCH-1852: Added code to accumulate DATA frames in the message body in case credit does not arrive and the header has not been routed. This closes #926 042a647 is described below commit 042a647e3e6df0a7871c9f3d194e64dd95bc07a1 Author: Ganesh Murthy AuthorDate: Fri Nov 20 10:02:41 2020 -0500 DISPATCH-1852: Added code to accumulate DATA frames in the message body in case credit does not arrive and the header has not been routed. This closes #926 --- src/adaptors/http2/http2_adaptor.c | 112 + src/adaptors/http2/http2_adaptor.h | 1 + 2 files changed, 64 insertions(+), 49 deletions(-) diff --git a/src/adaptors/http2/http2_adaptor.c b/src/adaptors/http2/http2_adaptor.c index a2ee4fe..85760de 100644 --- a/src/adaptors/http2/http2_adaptor.c +++ b/src/adaptors/http2/http2_adaptor.c @@ -414,14 +414,23 @@ static int on_data_chunk_recv_callback(nghttp2_session *session, return 0; stream_data->bytes_in += len; - qd_buffer_list_t buffers; DEQ_INIT(buffers); qd_buffer_list_append(, (uint8_t *)data, len); -if (stream_data->in_dlv) { -if (!stream_data->in_dlv_released) +// +// DISPATCH-: If an in_dlv is present it means that the qdr_link_deliver() has already been called (delivery has already been routed) +// in which case qd_message_stream_data_append can be called to append buffers to the message body +// If stream_data->in_dlv = 0 but stream_data->header_and_props_composed is true, it means that the message has not been routed yet +// but the message already has headers and properties +// in which case the qd_message_stream_data_append() can be called to add body data to the message. +// In many cases when the response message is streamed by a server, the entire message body can arrive before we get credit to route it. +// We want to be able to keep collecting the incoming DATA in the message object so we can ultimately route it when the credit does ultimately arrive. +// +if (stream_data->in_dlv || stream_data->header_and_props_composed) { +if (!stream_data->in_dlv_released) { qd_message_stream_data_append(stream_data->message, ); +} } else { if (!stream_data->body) { @@ -655,29 +664,61 @@ static int on_header_callback(nghttp2_session *session, } -static void compose_and_deliver(qdr_http2_stream_data_t *stream_data, qd_composed_field_t *header_and_props, qdr_http2_connection_t *conn, bool receive_complete) +static bool compose_and_deliver(qdr_http2_connection_t *conn, qdr_http2_stream_data_t *stream_data, bool receive_complete) { -if (receive_complete) { -if (!stream_data->body) { -stream_data->body = qd_compose(QD_PERFORMATIVE_BODY_DATA, 0); -qd_compose_insert_binary(stream_data->body, 0, 0); -qd_log(http2_adaptor->log_source, QD_LOG_TRACE, "[C%"PRIu64"][S%"PRId32"] Inserting empty body data in compose_and_deliver", conn->conn_id, stream_data->stream_id); +if (!stream_data->header_and_props_composed) { +qd_composed_field_t *header_and_props = 0; +if (conn->ingress) { +header_and_props = qd_message_compose_amqp(stream_data->message, + conn->config->address, // const char *to + 0, // const char *subject + stream_data->reply_to, // const char *reply_to + 0, // const char *content_type + 0, // const char *content_encoding + 0, // int32_t correlation_id + conn->config->site); } -} -if (stream_data->body) { -qd_message_compose_4(stream_data->message, header_and_props, stream_data->app_properties, stream_data->body, receive_complete); -} -else { -qd_message_compose_3(stream_data->message, header_and_props, stream_data->app_properties, receive_complete); +else { +header_and_props = qd_message_compose_amqp(stream_data->message, + stream_data->reply_to, // const char *to + 0, // const char *subject + 0, // const char *reply_to +