Skip to content

Instantly share code, notes, and snippets.

View sborenst's full-sized avatar

Shachar Borenstein sborenst

View GitHub Profile
@sborenst
sborenst / poolboy-analysis.md
Created April 7, 2026 23:04
Poolboy v1.17.0 — double allocation bug analysis and fixes (commit e3161da)

Poolboy v1.17.0 Bug Analysis — Double Allocation of ResourceHandles

Summary

After deploying v1.17.0 (commit e3161da — "Add preference score #151"), the same ResourceHandle is being assigned to 2 separate ResourceClaims. This happened 15 times in one day. Rolling back to v1.16.0 resolved the issue. The commit bundles code changes AND a Kopf framework upgrade (1.43 → 1.44).


base_env: &base_env
- name: RAILS_ENV
value: "production"
- name: DATABASE_URL
value: "mysql2://root:${MYSQL_ROOT_PASSWORD}@system-mysql/${MYSQL_DATABASE}"
- name: FORCE_SSL
value: "true"
- name: THREESCALE_SUPERDOMAIN
value: "${WILDCARD_DOMAIN}"
- name: TENANT_NAME
Using /etc/ansible/ansible.cfg as config file
statically included: /usr/share/ansible/openshift-ansible/roles/docker/tasks/udev_workaround.yml
statically included: /usr/share/ansible/openshift-ansible/roles/openshift_version/tasks/set_version_rpm.yml
statically included: /usr/share/ansible/openshift-ansible/roles/openshift_version/tasks/set_version_containerized.yml
statically included: /usr/share/ansible/openshift-ansible/roles/docker/tasks/udev_workaround.yml
statically included: /usr/share/ansible/openshift-ansible/roles/openshift_version/tasks/set_version_rpm.yml
statically included: /usr/share/ansible/openshift-ansible/roles/openshift_version/tasks/set_version_containerized.yml
statically included: /usr/share/ansible/openshift-ansible/roles/docker/tasks/udev_workaround.yml
statically included: /usr/share/ansible/openshift-ansible/roles/openshift_version/tasks/set_version_rpm.yml
[marina@master00-a167 ~]$ oc get builds
NAME TYPE STATUS POD
ruby-hello-world-1 Docker Running ruby-hello-world-1-build
[marina@master00-a167 ~]$ oc build-logs ruby-hello-world-1
I0722 19:59:10.771683 1 cfg.go:50] Problem accessing /root/.dockercfg: stat /root/.dockercfg: no such file or directory
I0722 19:59:12.884237 1 docker.go:69] Starting Docker build from lifecycle/ruby-hello-world-1 BuildConfig ...
I0722 19:59:12.889817 1 tar.go:133] Adding to tar: /tmp/docker-build108067250/.gitignore as .gitignore
I0722 19:59:12.890674 1 tar.go:133] Adding to tar: /tmp/docker-build108067250/.sti/bin/README as .sti/bin/README
I0722 19:59:12.890843 1 tar.go:133] Adding to tar: /tmp/docker-build108067250/.sti/environment as .sti/environment
I0722 19:59:12.890976 1 tar.go:133] Adding to tar: /tmp/docker-build108067250/Dockerfile as Dockerfile