SeleniumHQ / SeleniumHQ/docker-selenium
[🐛 Bug]: Videos are not always recorded due to video container not being aware of some sessions.
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 8.7k
- Forks
- 2.5k
- Avg merge
- 10h 16m
- Merged PRs (30d)
- 20
Description
What happened?
I am running selenium grid with a video container on CI (Linux). The test suite runs over a 100 tests sequentially, one by one.
Every test opens and closes a new browser window and sets a unique name for the video. After the run I expected to see one video for every test ran, when in fact amount of videos is random, with many missing. (20 to 86, rarely 100+)
I was able to reproduce the same behaviour locally on MacOs, by starting the containers and manually running the same test multiple times in a row, checking the amount of videos after each execution. All possible logging was enabled, but still insufficient for me to get to the bottom of the problem. My best efforts resulted in conclusion that video container is not always aware a new session has been created to start recording it.
Full debug logs are attached. log.log
There test was ran 3 times, ID of the session that was not recorded is 7ee3e3d1-3f69-4022-ab5c-5f5537dd1433. IP of the video container in the logs is 172.18.0.4
To reproduce the issue, run reproduce.sh from this project I created specifically for this
You will need to install gradle to run the script.
The script will start the containers and run selenium test in a loop, checking amount of videos generated every iteration.
Command used to start Selenium Grid with Docker (or Kubernetes)
docker compose -f "docker-compose.yaml" --project-name test up --wait;
Relevant log output
selenium-hub | 21:08:39.172 INFO [LocalDistributor.newSession] - Session created by the Distributor. Id: 48ef380c-161d-47f4-8697-8171e0618491
selenium-hub | 21:08:43.428 INFO [LocalDistributor.newSession] - Session created by the Distributor. Id: 7ba51047-8ecd-4f2a-87ce-1835319ee384
selenium-hub | 21:08:46.760 INFO [LocalDistributor.newSession] - Session created by the Distributor. Id: 7ee3e3d1-3f69-4022-ab5c-5f5537dd1433
Operating System
MacOs, Linux.
Docker Selenium version (image tag)
selenium/hub:4.25.0-20241024
Selenium Grid chart version (chart version)
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running reproduce.sh from the linked selenium-missing-videos-bug project with the provided Docker Compose setup, then compare generated video counts with the session IDs in the attached logs. Trace how the video container learns about new sessions, especially session 7ee3e3d1-3f69-4022-ab5c-5f5537dd1433; done means repeated runs produce a video for every test session.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker
- Domain
- devops, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100