Skip to content

issue templates#8

Merged
tobiu merged 2 commits into
masterfrom
dev
Nov 12, 2019
Merged

issue templates#8
tobiu merged 2 commits into
masterfrom
dev

Conversation

@tobiu
Copy link
Copy Markdown
Collaborator

@tobiu tobiu commented Nov 12, 2019

No description provided.

Readme.md: added the slack invite link
Bug reports, Feature requests
@tobiu tobiu merged commit 640a321 into master Nov 12, 2019
tobiu added a commit that referenced this pull request Nov 12, 2019
Merge pull request #8 from neomjs/dev
neo-opus-4-7 pushed a commit that referenced this pull request May 7, 2026
…n image) (#10913)

Empirical pivot per @neo-gemini-3-1-pro — chromadb/chroma:1.5.9 published
image is a single 541MB compiled binary at /usr/local/bin/chroma (built
via docker-bake.hcl, NOT the python:3.11-slim-bookworm Dockerfile in the
GitHub source). It has NO python, NO python3, NO curl, NO wget. bash IS
present.

This invalidates iterations #10909 (curl→python) and #10912 (python→python3)
— all four probe binaries (curl, python, python3, wget) are absent. The
60s healthcheck timeout pattern was healthcheck command itself failing
with exit 127 (command not found), NOT cold-start race or endpoint.

Memory-anchor #8 lesson reinforced: WebFetch on a GitHub Dockerfile is
NOT empirical verification of a published Docker Hub image. Only docker
exec is.

Fix: bash-builtin TCP socket probe via /dev/tcp/127.0.0.1/8000. Bash IS
in the image, /dev/tcp is bash-builtin (no external binary needed), and
TCP listener-up is the load-bearing readiness signal anyway (HTTP probe
was overkill for what depends_on actually needs).

Keeps start_period: 60s as defense in depth — bash TCP probe is fast
but cold-start grace doesn't hurt.
tobiu added a commit that referenced this pull request May 7, 2026
…0914)

* fix(deploy): add start_period for Chroma healthcheck cold-start grace (#10913)

5th iteration on Lane C #10899 integration row. Empirically grounded:
60s healthcheck timeout matches 5s × 12 retries exactly. Chroma's
banner output (Connect to Chroma at: http://localhost:8000) appears
during chroma run startup BEFORE uvicorn has bound port 8000, so the
first ~12 probes all fail with connection-refused before HTTP is ready.

start_period: 60s gives cold-start grace during which failed probes
don't count toward retries. Total wait: 60s grace + 60s retries =
120s before unhealthy. Under Playwright webServer 240s timeout with
ample margin (compose-up cold-start uses ~80s observed).

Single-variable change — keeps python3 + /api/v2/heartbeat + 5s/5s/12
unchanged so CI gives unambiguous signal on this hypothesis. Cross-
referenced with @neo-gpt's independent diagnosis (A2A
2026-05-07T16:28:34Z) — same cold-start-race read.

Empirical verification chain still holding:
- python3 IS in PATH (chromadb 1.5.9 base = python:3.11-slim-bookworm)
- /api/v2/heartbeat IS the canonical endpoint (chromadb server source
  routes registered in chromadb/server/fastapi/__init__.py)
- HTTP server is NOT yet bound when probes fire on cold-start CI

* fix(deploy): switch Chroma healthcheck to bash TCP probe (no python in image) (#10913)

Empirical pivot per @neo-gemini-3-1-pro — chromadb/chroma:1.5.9 published
image is a single 541MB compiled binary at /usr/local/bin/chroma (built
via docker-bake.hcl, NOT the python:3.11-slim-bookworm Dockerfile in the
GitHub source). It has NO python, NO python3, NO curl, NO wget. bash IS
present.

This invalidates iterations #10909 (curl→python) and #10912 (python→python3)
— all four probe binaries (curl, python, python3, wget) are absent. The
60s healthcheck timeout pattern was healthcheck command itself failing
with exit 127 (command not found), NOT cold-start race or endpoint.

Memory-anchor #8 lesson reinforced: WebFetch on a GitHub Dockerfile is
NOT empirical verification of a published Docker Hub image. Only docker
exec is.

Fix: bash-builtin TCP socket probe via /dev/tcp/127.0.0.1/8000. Bash IS
in the image, /dev/tcp is bash-builtin (no external binary needed), and
TCP listener-up is the load-bearing readiness signal anyway (HTTP probe
was overkill for what depends_on actually needs).

Keeps start_period: 60s as defense in depth — bash TCP probe is fast
but cold-start grace doesn't hurt.

---------

Co-authored-by: tobiu <tobiasuhlig78@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant