Skip to content

Conversation

@dgottlieb
Copy link
Member

Probably doesn't mean much, but the second commit brings this "get point cloud" from "grpc size limit reached" to success in microseconds. A working point cloud of ~10MB goes from 500ms -> 300ms with the RDK middleman optimization. And also microseconds with the inter-module optimization.

image

@dgottlieb dgottlieb requested a review from cheukt October 22, 2025 20:09
@viambot viambot added the safe to test This pull request is marked safe to test from a trusted zone label Oct 22, 2025
@viambot viambot added safe to test This pull request is marked safe to test from a trusted zone and removed safe to test This pull request is marked safe to test from a trusted zone labels Oct 22, 2025
@viambot viambot added safe to test This pull request is marked safe to test from a trusted zone and removed safe to test This pull request is marked safe to test from a trusted zone labels Oct 22, 2025
module/module.go Outdated

c, err := m.getLocalResource(ctx, name)
if err == nil {
deps[name] = c
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just thought about this, but if the dependency in question always rebuild and the dependency is reconfigured, this would cause issues since the dependent resource will not get a signal to reconfigure with the rebuilt resource

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cheukt added the test you suggested and it is indeed currently failing. Thanks for catching this!

Can you take a look and recommend a path forward? IIUC, only the RDK knows about the actual dependencies. So I think I'm constrained to having the ReconfigureRequest resulting in some special response?

Or maybe we can try to keep it internal to the module because client objects to other modules work fine? And we can have modules keep track which resources they've created "special" dependency objects to?

Or try to do that thin wrapper where a resource can be swapped out under the hood (effectively how clients work)? At the cost of writing wrapper code?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

having ReconfigureRequest return something different might be too heavy handed and unnecessary for anything outside of the module. there'll be some compatibility issues too, since the viam-server will have to learn to handle that response correctly.

either having module keep track of resources with special dep relationships / thin wrapper can both work. Thin wrapper will emulate the current relationship better, though I'm not sure if it's doable without a superclient/lots of boilerplate.

Copy link
Member

@cheukt cheukt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gonna mark as needs changes - would approve if just the server.go file changes

@viambot viambot added safe to test This pull request is marked safe to test from a trusted zone and removed safe to test This pull request is marked safe to test from a trusted zone labels Oct 28, 2025
@viambot viambot added safe to test This pull request is marked safe to test from a trusted zone and removed safe to test This pull request is marked safe to test from a trusted zone labels Oct 29, 2025
@dgottlieb dgottlieb requested a review from cheukt October 29, 2025 13:20
@viambot viambot added safe to test This pull request is marked safe to test from a trusted zone and removed safe to test This pull request is marked safe to test from a trusted zone labels Nov 4, 2025
@viambot viambot added safe to test This pull request is marked safe to test from a trusted zone and removed safe to test This pull request is marked safe to test from a trusted zone labels Nov 4, 2025
@viambot viambot added safe to test This pull request is marked safe to test from a trusted zone and removed safe to test This pull request is marked safe to test from a trusted zone labels Nov 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to test This pull request is marked safe to test from a trusted zone

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants