You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
datalake_fdw: the agent engine client (meta/engine_agent) #2012
Part of #2008. Letters (A, B0–B7, C, D, E) are the PRs listed there; this is B2.
Scope
src/meta/engine_agent/: the first real IcebergMetaEngine, default in place of the stub (the stub stays for tests).
C dispatch over a C++ gRPC layer behind the DlErrCode ABI: no exception or longjmp crosses it; agent error detail lands in dl_error_set.
Stubs generated at build time from B0 (protoc plus the gRPC C++ plugin); grpc++ detected under --enable-datalake-fdw.
A GUC for the agent address: Unix socket by default, TCP with a token file when set.
Deadline, cancel polling and a wait event while a call is in flight; handshake on first call; RPC count and time in EXPLAIN ANALYZE.
Conformance suite: the same scenarios against the stub and against B1. Against B1 it proves the plumbing (handshake, cancel, deadline, agent down, error detail); B3 and B4 turn it fully green.
CI job: build the B1 jar, start it on a socket, run the suite.
Out of scope
Builtin engine (B4), the proxy.
Depends on
B0; tested against B1.
Acceptance
Agent down: clear error within the deadline, transaction rolls back, nothing hangs.
Cancel mid-call returns promptly with no leaked channel.
Version mismatch refused naming both versions.
nm -D exports only PostgreSQL entry points (no grpc++/protobuf); builds with and without the gate; Arrow 9 and 17.
Activity