Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RSDK-5220 - Early exit reconfiguration on context.Done() #3020

Merged
merged 3 commits into from
Oct 2, 2023

Conversation

cheukt
Copy link
Member

@cheukt cheukt commented Sep 29, 2023

we get a cascade of resource configuration timeouts when we kill a server when it's hanging on reconfiguration, that was because we end up going through the reconfiguration for the rest of resources instead of exiting out early.
Should reduce noise when debugging issues

@viambot viambot added the safe to test This pull request is marked safe to test from a trusted zone label Sep 29, 2023
@github-actions
Copy link
Contributor

Code Coverage

Code Coverage
Package Line Rate Delta Health
go.viam.com/rdk/cli 10% 0.00%
go.viam.com/rdk/components/arm 58% 0.00%
go.viam.com/rdk/components/arm/fake 27% 0.00%
go.viam.com/rdk/components/arm/universalrobots 42% 0.00%
go.viam.com/rdk/components/arm/wrapper 19% 0.00%
go.viam.com/rdk/components/arm/xarm 22% 0.00%
go.viam.com/rdk/components/audioinput 44% +0.47%
go.viam.com/rdk/components/base 60% 0.00%
go.viam.com/rdk/components/base/agilex 60% 0.00%
go.viam.com/rdk/components/base/kinematicbase 40% 0.00%
go.viam.com/rdk/components/base/sensorcontrolled 69% +1.44%
go.viam.com/rdk/components/base/wheeled 86% 0.00%
go.viam.com/rdk/components/board 59% 0.00%
go.viam.com/rdk/components/board/customlinux 53% 0.00%
go.viam.com/rdk/components/board/fake 38% 0.00%
go.viam.com/rdk/components/board/genericlinux 8% 0.00%
go.viam.com/rdk/components/board/numato 19% 0.00%
go.viam.com/rdk/components/board/pi/impl 11% 0.00%
go.viam.com/rdk/components/camera 55% 0.00%
go.viam.com/rdk/components/camera/align 63% 0.00%
go.viam.com/rdk/components/camera/fake 74% 0.00%
go.viam.com/rdk/components/camera/ffmpeg 82% +1.49%
go.viam.com/rdk/components/camera/replaypcd 91% 0.00%
go.viam.com/rdk/components/camera/rtsp 52% 0.00%
go.viam.com/rdk/components/camera/transformpipeline 73% 0.00%
go.viam.com/rdk/components/camera/ultrasonic 61% 0.00%
go.viam.com/rdk/components/camera/videosource 36% 0.00%
go.viam.com/rdk/components/encoder 56% 0.00%
go.viam.com/rdk/components/encoder/ams 63% 0.00%
go.viam.com/rdk/components/encoder/fake 83% 0.00%
go.viam.com/rdk/components/encoder/incremental 80% 0.00%
go.viam.com/rdk/components/encoder/single 86% 0.00%
go.viam.com/rdk/components/gantry 58% 0.00%
go.viam.com/rdk/components/gantry/multiaxis 82% 0.00%
go.viam.com/rdk/components/gantry/singleaxis 81% 0.00%
go.viam.com/rdk/components/generic 79% 0.00%
go.viam.com/rdk/components/gripper 56% 0.00%
go.viam.com/rdk/components/input 88% 0.00%
go.viam.com/rdk/components/input/fake 93% 0.00%
go.viam.com/rdk/components/input/gpio 85% 0.00%
go.viam.com/rdk/components/motor 70% 0.00%
go.viam.com/rdk/components/motor/dimensionengineering 67% 0.00%
go.viam.com/rdk/components/motor/dmc4000 70% 0.00%
go.viam.com/rdk/components/motor/fake 55% 0.00%
go.viam.com/rdk/components/motor/gpio 66% -0.50%
go.viam.com/rdk/components/motor/gpiostepper 72% 0.00%
go.viam.com/rdk/components/motor/tmcstepper 53% 0.00%
go.viam.com/rdk/components/motor/ulnstepper 52% 0.00%
go.viam.com/rdk/components/movementsensor 74% 0.00%
go.viam.com/rdk/components/movementsensor/adxl345 75% 0.00%
go.viam.com/rdk/components/movementsensor/gpsnmea 55% 0.00%
go.viam.com/rdk/components/movementsensor/gpsrtkpmtk 21% 0.00%
go.viam.com/rdk/components/movementsensor/gpsrtkserial 28% 0.00%
go.viam.com/rdk/components/movementsensor/merged 91% 0.00%
go.viam.com/rdk/components/movementsensor/mpu6050 84% 0.00%
go.viam.com/rdk/components/movementsensor/replay 93% 0.00%
go.viam.com/rdk/components/movementsensor/rtkutils 24% 0.00%
go.viam.com/rdk/components/movementsensor/wheeledodometry 75% 0.00%
go.viam.com/rdk/components/posetracker 71% 0.00%
go.viam.com/rdk/components/powersensor 48% 0.00%
go.viam.com/rdk/components/sensor 49% 0.00%
go.viam.com/rdk/components/sensor/ultrasonic 38% 0.00%
go.viam.com/rdk/components/servo 60% 0.00%
go.viam.com/rdk/components/servo/gpio 72% 0.00%
go.viam.com/rdk/config 81% 0.00%
go.viam.com/rdk/control 58% 0.00%
go.viam.com/rdk/data 73% 0.00%
go.viam.com/rdk/examples/customresources/demos/remoteserver 0% 0.00%
go.viam.com/rdk/grpc 25% 0.00%
go.viam.com/rdk/internal/cloud 100% 0.00%
go.viam.com/rdk/ml 67% 0.00%
go.viam.com/rdk/ml/inference 67% 0.00%
go.viam.com/rdk/module 75% 0.00%
go.viam.com/rdk/module/modmanager 82% 0.00%
go.viam.com/rdk/motionplan 78% -0.45%
go.viam.com/rdk/motionplan/ik 67% 0.00%
go.viam.com/rdk/motionplan/tpspace 43% 0.00%
go.viam.com/rdk/operation 83% 0.00%
go.viam.com/rdk/pointcloud 66% 0.00%
go.viam.com/rdk/protoutils 49% 0.00%
go.viam.com/rdk/referenceframe 68% 0.00%
go.viam.com/rdk/resource 76% 0.00%
go.viam.com/rdk/rimage 55% 0.00%
go.viam.com/rdk/rimage/depthadapter 94% 0.00%
go.viam.com/rdk/rimage/transform 70% 0.00%
go.viam.com/rdk/rimage/transform/cmd/extrinsic_calibration 67% 0.00%
go.viam.com/rdk/robot 85% -0.87%
go.viam.com/rdk/robot/client 82% 0.00%
go.viam.com/rdk/robot/framesystem 36% 0.00%
go.viam.com/rdk/robot/impl 83% -0.18%
go.viam.com/rdk/robot/packages 75% 0.00%
go.viam.com/rdk/robot/server 55% 0.00%
go.viam.com/rdk/robot/web 64% 0.00%
go.viam.com/rdk/robot/web/stream 87% 0.00%
go.viam.com/rdk/services/baseremotecontrol 50% 0.00%
go.viam.com/rdk/services/baseremotecontrol/builtin 81% 0.00%
go.viam.com/rdk/services/datamanager 65% 0.00%
go.viam.com/rdk/services/datamanager/builtin 89% 0.00%
go.viam.com/rdk/services/datamanager/datacapture 73% 0.00%
go.viam.com/rdk/services/datamanager/datasync 0% 0.00%
go.viam.com/rdk/services/mlmodel 81% 0.00%
go.viam.com/rdk/services/mlmodel/tflitecpu 86% 0.00%
go.viam.com/rdk/services/motion 52% 0.00%
go.viam.com/rdk/services/motion/builtin 77% 0.00%
go.viam.com/rdk/services/navigation 45% 0.00%
go.viam.com/rdk/services/navigation/builtin 68% +1.51%
go.viam.com/rdk/services/sensors 81% 0.00%
go.viam.com/rdk/services/sensors/builtin 97% 0.00%
go.viam.com/rdk/services/shell 11% 0.00%
go.viam.com/rdk/services/slam 73% 0.00%
go.viam.com/rdk/services/slam/fake 82% 0.00%
go.viam.com/rdk/services/vision 35% 0.00%
go.viam.com/rdk/services/vision/colordetector 56% 0.00%
go.viam.com/rdk/services/vision/detectionstosegments 67% 0.00%
go.viam.com/rdk/services/vision/mlvision 64% 0.00%
go.viam.com/rdk/services/vision/obstaclesdepth 77% 0.00%
go.viam.com/rdk/services/vision/obstaclesdistance 77% 0.00%
go.viam.com/rdk/services/vision/obstaclespointcloud 59% 0.00%
go.viam.com/rdk/session 94% 0.00%
go.viam.com/rdk/spatialmath 82% 0.00%
go.viam.com/rdk/utils 69% 0.00%
go.viam.com/rdk/utils/contextutils 47% 0.00%
go.viam.com/rdk/vision 37% 0.00%
go.viam.com/rdk/vision/delaunay 87% 0.00%
go.viam.com/rdk/vision/keypoints 92% 0.00%
go.viam.com/rdk/vision/objectdetection 69% 0.00%
go.viam.com/rdk/vision/segmentation 55% 0.00%
go.viam.com/rdk/web/server 26% 0.00%
Summary 61% (23493 / 38468) -0.01%

var wg sync.WaitGroup

mockAPI := resource.APINamespaceRDK.WithComponentType("mock")
modelName1 := utils.RandomAlphaString(5)
Copy link
Contributor

Choose a reason for hiding this comment

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

[minor] does this need to be random or can we just make it an obviously fake name? I think the latter is easier to debug should this test fail.

Suggested change
modelName1 := utils.RandomAlphaString(5)
modelName1 := "fakeModel"

Copy link
Member Author

Choose a reason for hiding this comment

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

random is slightly better so as to not run into issues registering multiple fakes across different tests (shouldn't be as bad nowadays since we deregister, but tests running in parallel might still run into issues

Copy link
Contributor

Choose a reason for hiding this comment

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

gotcha - in that case could we use a uuid string to prevent a very unfortunately collision across parallel tests?

Copy link
Member Author

@cheukt cheukt Oct 2, 2023

Choose a reason for hiding this comment

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

I think RandomAlphaString is suitably random, can spin it out to a separate ticket to update all references (since there are a few) if we really want

@cheukt cheukt merged commit 629bb56 into viamrobotics:main Oct 2, 2023
12 checks passed
@cheukt cheukt deleted the stop-reconfiguring-on-cancel branch October 2, 2023 16:34
bazile-clyde pushed a commit to bazile-clyde/rdk that referenced this pull request Jan 5, 2024
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