Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
mapillary
/
mapillary_tools
Public
Notifications
You must be signed in to change notification settings
Fork
145
Star
315
Code
Issues
26
Pull requests
8
Actions
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Security and quality
Insights
fix: race condition in image uploader
- #779
#779
Merged
ptpt
merged 16 commits into
main
mapillary/mapillary_tools:main
from
fix-race-condition-image-uploader
mapillary/mapillary_tools:fix-race-condition-image-uploader
Copy head branch name to clipboard
Aug 27, 2025
Conversation
Commits
16
(16)
Checks
Files changed
Merged
fix: race condition in image uploader
#779
ptpt
merged 16 commits into
main
mapillary/mapillary_tools:main
from
fix-race-condition-image-uploader
mapillary/mapillary_tools:fix-race-condition-image-uploader
Copy head branch name to clipboard
Commits
Commits on Aug 27, 2025
fix: race condition in image uploader and add tests
ptpt
committed
e551158
View commit details
Copy full SHA for e551158
Browse repository at this point
Add tests for ImageSequenceUploader. Follow the following principles:
Show description for 395f681
ptpt
committed
395f681
View commit details
Copy full SHA for 395f681
Browse repository at this point
I saw that you use multithreads in test_image_sequence_uploader_multithreading_with_cache_enabled. No need to do that because `sequence_uploader.upload_images` is using inside multithreading. We ca…
Show description for 1560ee5
ptpt
committed
1560ee5
View commit details
Copy full SHA for 1560ee5
Browse repository at this point
Using cached_time to determine if it's cached is probably not reliable. Try mock some internal implementation, e.g. if single_image_uploader.cache.get() is called and filehandle if filehandle is ca…
Show description for 4e35c85
ptpt
committed
4e35c85
View commit details
Copy full SHA for 4e35c85
Browse repository at this point
increase num_images
ptpt
committed
4d4b472
View commit details
Copy full SHA for 4d4b472
Browse repository at this point
Ok, it looks like it is hard to tests with the current implementation. Let's make some changes in uploader.py
Show description for 6fe6487
ptpt
committed
6fe6487
View commit details
Copy full SHA for 6fe6487
Browse repository at this point
Ok now let's improve tests. As we exposed both ImageSequenceUploader.cache and SingleImageUploader.cache, which means you can update them after construction, and run assertions based on the cache i…
Show description for 3e9f38d
ptpt
committed
3e9f38d
View commit details
Copy full SHA for 3e9f38d
Browse repository at this point
I don't see you are calling `sequence_uploader.upload_images` in test_image_sequence_uploader_cache_hits_second_run
Show description for ec12e51
ptpt
committed
ec12e51
View commit details
Copy full SHA for ec12e51
Browse repository at this point
simplify tests
ptpt
committed
21495a5
View commit details
Copy full SHA for 21495a5
Browse repository at this point
enable upload_cache_path
ptpt
committed
480801f
View commit details
Copy full SHA for 480801f
Browse repository at this point
refactor
ptpt
committed
c5c7355
View commit details
Copy full SHA for c5c7355
Browse repository at this point
update tests
ptpt
committed
93098f4
View commit details
Copy full SHA for 93098f4
Browse repository at this point
rename
ptpt
committed
932bac8
View commit details
Copy full SHA for 932bac8
Browse repository at this point
tests
ptpt
committed
31bb1a6
View commit details
Copy full SHA for 31bb1a6
Browse repository at this point
Assert that results from the uploader.upload_images() in TestImageSequenceUploader has not errors
ptpt
committed
5458960
View commit details
Copy full SHA for 5458960
Browse repository at this point
cache path
ptpt
committed
45a09ed
View commit details
Copy full SHA for 45a09ed
Browse repository at this point
You can’t perform that action at this time.