[qpid-proton] branch master updated: PROTON-2203: fix duplicate listener socket rearming and rationalize rearming locking
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 9f1e5f0 PROTON-2203: fix duplicate listener socket rearming and rationalize rearming locking 9f1e5f0 is described below commit 9f1e5f0cd9cd1c146cee94ca4d6ff6ed4b71c139 Author: Cliff Jansen AuthorDate: Thu Apr 30 22:47:17 2020 -0700 PROTON-2203: fix duplicate listener socket rearming and rationalize rearming locking --- c/src/proactor/epoll-internal.h | 1 - c/src/proactor/epoll.c | 40 +--- 2 files changed, 13 insertions(+), 28 deletions(-) diff --git a/c/src/proactor/epoll-internal.h b/c/src/proactor/epoll-internal.h index 20b01ac..fd02817 100644 --- a/c/src/proactor/epoll-internal.h +++ b/c/src/proactor/epoll-internal.h @@ -276,7 +276,6 @@ struct pn_listener_t { size_t pending_count; /* number of pending accepted connections */ size_t backlog; /* size of pending accepted array */ bool close_dispatched; - pmutex rearm_mutex; /* orders rearms/disarms, nothing else */ uint32_t sched_io_events; }; diff --git a/c/src/proactor/epoll.c b/c/src/proactor/epoll.c index 76b5c37..6667365 100644 --- a/c/src/proactor/epoll.c +++ b/c/src/proactor/epoll.c @@ -848,15 +848,11 @@ static void proactor_rearm_overflow(pn_proactor_t *p) { assert(a->overflowed); a->overflowed = false; if (rearming) { - lock(>rearm_mutex); + rearm(p, >psocket.epoll_io); a->armed = true; } else notify = wake(>context); unlock(>context.mutex); -if (rearming) { - rearm(p, >psocket.epoll_io); - unlock(>rearm_mutex); -} if (notify) wake_notify(>context); a = acceptor_list_next(); } @@ -1642,7 +1638,6 @@ pn_listener_t *pn_listener() { } pn_proactor_t *unknown = NULL; // won't know until pn_proactor_listen pcontext_init(>context, LISTENER, unknown); -pmutex_init(>rearm_mutex); } return l; } @@ -1702,11 +1697,9 @@ void pn_proactor_listen(pn_proactor_t *p, pn_listener_t *l, const char *addr, in ps->epoll_io.fd = fd; ps->epoll_io.wanted = EPOLLIN; ps->epoll_io.polling = false; - lock(>rearm_mutex); start_polling(>epoll_io, ps->proactor->epollfd); // TODO: check for error l->active_count++; acceptor->armed = true; - unlock(>rearm_mutex); } else { close(fd); } @@ -1745,7 +1738,6 @@ static inline bool listener_can_free(pn_listener_t *l) { static inline void listener_final_free(pn_listener_t *l) { pcontext_finalize(>context); - pmutex_finalize(>rearm_mutex); free(l->acceptors); free(l->pending_accepteds); free(l); @@ -1780,7 +1772,6 @@ static void listener_begin_close(pn_listener_t* l) { acceptor_t *a = >acceptors[i]; psocket_t *ps = >psocket; if (ps->epoll_io.fd >= 0) { -lock(>rearm_mutex); if (a->armed) { shutdown(ps->epoll_io.fd, SHUT_RD); // Force epoll event and callback } else { @@ -1789,7 +1780,6 @@ static void listener_begin_close(pn_listener_t* l) { ps->epoll_io.fd = -1; l->active_count--; } -unlock(>rearm_mutex); } } /* Close all sockets waiting for a pn_listener_accept2() */ @@ -1869,17 +1859,13 @@ static pn_event_batch_t *listener_process(pn_listener_t *l, int n_events, bool w uint32_t events = ps->working_io_events; ps->working_io_events = 0; if (l->context.closing) { - lock(>rearm_mutex); l->acceptors[i].armed = false; stop_polling(>epoll_io, ps->proactor->epollfd); - unlock(>rearm_mutex); close(ps->epoll_io.fd); ps->epoll_io.fd = -1; l->active_count--; } else { - lock(>rearm_mutex); l->acceptors[i].armed = false; - unlock(>rearm_mutex); if (events & EPOLLRDHUP) { /* Calls listener_begin_close which closes all the listener's sockets */ psocket_error(ps, errno, "listener epoll"); @@ -1929,29 +1915,29 @@ static pn_event_t *listener_batch_next(pn_event_batch_t *batch) { static void listener_done(pn_listener_t *l) { pn_proactor_t *p = l->context.proactor; tslot_t *ts = l->context.runner; + lock(>context.mutex); // Just in case the app didn't accept all the pending accepts // Shuffle the list back to start at 0 memmove(>pending_accepteds[0], >pending_accepteds[l->pending_first], l->pending_count * sizeof(accepted_t)); l->pending_first = 0; - for (size_t i = 0; i < l->acceptors_size; i++) { -acceptor_t *a = >acceptors[i]; -psocket_t *ps = >psocket; - -// Rearm acceptor when appropriate -if (ps->epoll_io.polling &&
svn commit: r39211 - /release/qpid/dispatch/1.12.0/
Author: gmurthy Date: Thu Apr 30 21:39:49 2020 New Revision: 39211 Log: Add files for qpid-dispatch-1.12.0 Added: release/qpid/dispatch/1.12.0/ - copied from r39210, dev/qpid/dispatch/1.12.0-rc1/ - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
[qpid-dispatch] tag 1.12.0 created (now 4f83d13)
This is an automated email from the ASF dual-hosted git repository. gmurthy pushed a change to tag 1.12.0 in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git. at 4f83d13 (commit) No new revisions were added by this update. - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
[qpid-dispatch] branch master updated: DISPATCH-1629: Add note about enabling connection trace logging. This closes #727.
This is an automated email from the ASF dual-hosted git repository. bhardesty pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git The following commit(s) were added to refs/heads/master by this push: new 42acf1a DISPATCH-1629: Add note about enabling connection trace logging. This closes #727. 42acf1a is described below commit 42acf1abeeff275d647083510d8ca9b85cc7fa3c Author: Ben Hardesty AuthorDate: Fri Apr 24 16:58:58 2020 -0400 DISPATCH-1629: Add note about enabling connection trace logging. This closes #727. --- docs/books/modules/user-guide/troubleshooting-using-logs.adoc | 7 +++ 1 file changed, 7 insertions(+) diff --git a/docs/books/modules/user-guide/troubleshooting-using-logs.adoc b/docs/books/modules/user-guide/troubleshooting-using-logs.adoc index c5fa4d3..053725d 100644 --- a/docs/books/modules/user-guide/troubleshooting-using-logs.adoc +++ b/docs/books/modules/user-guide/troubleshooting-using-logs.adoc @@ -41,6 +41,13 @@ In this example, `ROUTER` logs show the lifecycle of a connection and a link tha <2> A link is attached over the connection. The link is identified with a unique ID (`L6`). The log also shows the direction of the link, and the source and target addresses. <3> The link is detached. The log shows the link's terminal statistics. <4> The connection is closed. + +NOTE: If necessary, you can use `qdmanage` to enable protocol-level trace logging for a particular connection. You can use this to trace the AMQP frames. For example: + +[options="nowrap"] + +$ qdmanage update --type=connection id=C1 enableProtocolTrace=true + .Troubleshooting the network topology - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
[qpid-proton] branch master updated: PROTON-2201, PROTON-2154: drop version back to 0.31.0-SNAPSHOT
This is an automated email from the ASF dual-hosted git repository. robbie 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 9827f0e PROTON-2201, PROTON-2154: drop version back to 0.31.0-SNAPSHOT 9827f0e is described below commit 9827f0e4b69091e7f6ccb2fbf2b91fd6dd3c0af3 Author: Robbie Gemmell AuthorDate: Tue Apr 28 16:16:47 2020 +0100 PROTON-2201, PROTON-2154: drop version back to 0.31.0-SNAPSHOT This reverts commits c2384ecdc7b7490fa2ed95fc121d8188122661e3 and b6532632d6b0877136621daeba55b2e105d810d2. --- VERSION.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION.txt b/VERSION.txt index fcc99b1..df48e23 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1 +1 @@ -0.32.0-SNAPSHOT +0.31.0-SNAPSHOT - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
[qpid-dispatch] branch master updated: DISPATCH-1631: dont install the router when building, catch broken tests that require it
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/qpid-dispatch.git The following commit(s) were added to refs/heads/master by this push: new d31f4d8 DISPATCH-1631: dont install the router when building, catch broken tests that require it d31f4d8 is described below commit d31f4d89c7fc06e39a1e75ad4717005f6dc3bbf2 Author: Robbie Gemmell AuthorDate: Thu Apr 30 11:36:34 2020 +0100 DISPATCH-1631: dont install the router when building, catch broken tests that require it --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index a690134..65036bd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -107,7 +107,8 @@ before_script: - mkdir build - pushd build - cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_BUILD_TYPE=${BUILD_TYPE} ${DISPATCH_CMAKE_ARGS} -- cmake --build . --target install -- -j $NPROC +- . config.sh +- make -j $NPROC script: - pushd ../qpid-proton - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org