cshannon commented on PR #4715:
URL: https://github.com/apache/accumulo/pull/4715#issuecomment-2233688347
I have migrated most of Compaction Coordinator Service as gRPC at this
point. I also updated the gRPC client to be shared across the different calls
as the channel is thread safe and can be re-used, but we are not "pooling"
different channels like Thrift. I still need to look more into how their client
code works and if we need to pool or not. Some of the rpc calls are commented
out because the Manager actually uses them.
I also moved the gRPC objects into their own packages to model after our
thrift model. We need to eventually move that into its own jar. This has been
talked about a bit already, and that is looking at maybe having a common API
for the RPC layer. That is something that I need to look more into and if we
were going to do that how far we take it and the scope. Whatever we decide we
should plan before we go too far. At the very least I think it would be
nice to re-factor some things and have some common objects so we stop leaking
rpc objects. For example, I think we should have a common object for tracing
and credentials. Right now we are passing around TInfo and TCredentials (which
I also created PInfo and PCredentials for protobuf) and I think stuff like that
should be converted to common objects so we don't leak them. A good example is
TCredentials
[leaking](https://github.com/apache/accumulo/blob/8ed6dbad90ed9e37e6e33b2676032b5f80dc1ce0/core/src/main/java/org/apache/accu
mulo/core/clientImpl/ClientContext.java#L144) into ClientContext. It would be
nice if we could have a more generic object and conversion.
Other than that, I haven't had time to finish up the rest of the list yet,
but there are still several things to do and I'm still looking at how to split
things up and what to make follow on issues. This PR is getting pretty big by
now so it would probably be best to move as much as possible into follow on
issues to make things easier to review.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]