From: "Scott Murray" <scott.murray@konsulko.com>
To: bitbake-devel@lists.openembedded.org,
Richard Purdie <richard.purdie@linuxfoundation.org>,
Joshua Watt <JPEWhacker@gmail.com>,
Paul Barker <paul@pbarker.dev>
Subject: [PATCH v6 0/4] Re-implement prserv on top of asyncrpc
Date: Thu, 19 Aug 2021 12:46:40 -0400 [thread overview]
Message-ID: <cover.1629388054.git.scott.murray@konsulko.com> (raw)
These changes replace the old XML-based RPC system in prserv with the
new asyncrpc implementation originally used by hashserv, and add a
read-only mode to match the hash equivalency server's support.
Note that an additional change to the PR export support code in
oe-core is being sent to its mailing list. That change is also
required for any serious testing, as it resolves another hang
issue in the PR export selftest.
Changes from v5:
* Added new patch from Joshua Watt to shift asyncio loop creation
into the new server processes. This fixes one of the hangs seen
on the autobuilder.
* New patch to always create and set the asyncio loop as default
in both the asyncrpc client and server initialization. In my
testing this resolves a couple of different hang issues seen in
the selftests.
* Task cleanup on shutdown and exception handler patches from Paul
dropped from stack, as testing showed the hang issues were not
helped by the changes.
* Patch to rebase PR server on asyncrpc code tweaked to split the
new client code into a separate source file as is done in hashserv.
Changes from v4:
* Patch 2 updated to conditionalize all_tasks/current_task usage
from asyncio vs asyncio.Task based on Python version. This fixes
running against Python 3.9 where they were finally removed from
asyncio.Task.
Changes from v3:
* Scott Murray taking over upstreaming effort from Paul Barker.
* Dropped patches which are currently applied to master-next, this
series should be applied on top of the current master-next branch.
* Patches 2-4 updated by Scott Murray to rebase on top of 3983643
("bitbake: asyncrpc: Catch early SIGTERM").
* Read-only PR server support patch added to stack to get it into
the review process.
Joshua Watt (1):
bitbake: asyncrpc: Defer all asyncio to child process
Paul Barker (2):
prserv: Replace XML RPC with modern asyncrpc implementation
prserv: Add read-only mode
Scott Murray (1):
bitbake: asyncrpc: always create new asyncio loops
bin/bitbake-prserv | 4 +-
lib/bb/asyncrpc/client.py | 10 ++
lib/bb/asyncrpc/serv.py | 134 +++++++++++++-------
lib/hashserv/server.py | 4 +-
lib/prserv/client.py | 48 ++++++++
lib/prserv/db.py | 65 +++++++---
lib/prserv/serv.py | 248 ++++++++++++++++++--------------------
7 files changed, 319 insertions(+), 194 deletions(-)
create mode 100644 lib/prserv/client.py
--
2.31.1
next reply other threads:[~2021-08-19 16:46 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-19 16:46 Scott Murray [this message]
2021-08-19 16:46 ` [PATCH v6 1/4] bitbake: asyncrpc: Defer all asyncio to child process Scott Murray
2021-08-19 16:46 ` [PATCH v6 2/4] bitbake: asyncrpc: always create new asyncio loops Scott Murray
2021-08-19 19:58 ` Joshua Watt
2021-08-19 16:46 ` [PATCH v6 3/4] prserv: Replace XML RPC with modern asyncrpc implementation Scott Murray
2021-08-26 16:02 ` [bitbake-devel] " Martin Jansa
2021-08-26 19:17 ` Scott Murray
2021-08-19 16:46 ` [PATCH v6 4/4] prserv: Add read-only mode Scott Murray
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1629388054.git.scott.murray@konsulko.com \
--to=scott.murray@konsulko.com \
--cc=JPEWhacker@gmail.com \
--cc=bitbake-devel@lists.openembedded.org \
--cc=paul@pbarker.dev \
--cc=richard.purdie@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).