All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v6 0/4] Re-implement prserv on top of asyncrpc
@ 2021-08-19 16:46 Scott Murray
  2021-08-19 16:46 ` [PATCH v6 1/4] bitbake: asyncrpc: Defer all asyncio to child process Scott Murray
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Scott Murray @ 2021-08-19 16:46 UTC (permalink / raw)
  To: bitbake-devel, Richard Purdie, Joshua Watt, Paul Barker

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


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-08-26 19:17 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-19 16:46 [PATCH v6 0/4] Re-implement prserv on top of asyncrpc Scott Murray
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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.