Closed jsantell closed 7 months ago
No flakes detected π
status | platform | features | toolchain |
---|---|---|---|
π’ | ubuntu-latest |
test-kubo,headers |
stable |
π’ | ubuntu-latest |
test-kubo,headers,rocksdb |
stable |
π’ | ubuntu-latest |
test-kubo,headers |
nightly |
π’ | macos-13 |
test-kubo,headers,rocksdb |
stable |
π’ | macos-13 |
test-kubo,headers |
stable |
π’ | windows-latest |
test-kubo,headers |
stable |
Added explicit checks on existence of name records after syncing changes in tests, possibly clearing up a handful of intermittent failures.
Windows builds are having an unrelated issue: https://github.com/subconsciousnetwork/noosphere/pull/805
Added time out support, recreating the hanging worker thread and attempting to resubmit the job. Of note, the SingleTenantJobClient
is set to only 1 attempt for now, until we normalize what an error is in the job processors
Rebasing on #815
Ipfs syndication revision parameter now optional (unused? to confirm)
IIRC we now syndicate full spheres at a time to IPFS, so it isn't necessary to track this.
Updates (commit):
revision
in IpfsSyndication jobworker_queue
retries
to explicitly be "retrying" (defaulting to 0) rather than "number of attempts" (defaulting to 1)
Decoupled Worker Tasks
Worker tasks are now abstracted such that routes now send jobs via a
JobClient
decoupled from where the work is performed. A standalonenoosphere_gateway::jobs::worker_queue
module provides the work distribution logic, with each processor receiving aGatewayJobContext
that provides access to sphere contexts, IPFS, and name resolvers when processing a job.Minimize external queries
GatewayManager
and routes were updated to minimize GM queries (https://github.com/subconsciousnetwork/noosphere/issues/753).In addition to a single, cacheable baseline query for scope, unauthenticated routes now has one less external query, and authenticated routes also has one less external query, with another query moved behind authorization.
Ultimately handler logic should not be changed, other than moving Push handler's queueing of name record publishing behind IPFS syndication.
Caveats/Concerns/Enhancements
KuboClient
and the name resolver.Implement timeouts in worker queue.Timeouts now implemented