Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • B buck
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 201
    • Issues 201
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Meta
  • buck
  • Merge requests
  • !1287

Fix persistent worker process bug when a process dies.

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Mike Kaplinskiy requested to merge github/fork/mikekap/more-persistent-worker into master Apr 11, 2017
  • Overview 9
  • Commits 1
  • Pipelines 0
  • Changes 8

When a build is canceled, a SIGINT is sent to Buck's entire process tree. This kills any persistent workers. Unfortunately, this also hung the WorkerShellSteps for the next build.

This PR fixes the particular problem, but not the core issue of persistent worker death. I'm not sure how to tackle the core issue without either:

  • Adding a new message type to the protocol. (i.e. "ping")
  • Adding some amount of retries with persistent workers per step (that is >= the number of workers in the pool).

This PR solves the particular issue above (SIGINT & clean death) by killing workers that get interrupted in the middle of a build step. It also improves logging so worker tool debugging is a bit easier.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/mikekap/more-persistent-worker