HTTP 409 Conflicts Preventing Frontend-Backend Communication
jdcag
HOBBYOP

2 months ago

Problem Summary: My Flask application processes files successfully on the backend, but frontend requests consistently receive HTTP 409 "Conflict" errors. The backend completes processing (confirmed by logs), but responses never reach the frontend.

Evidence Backend Works:

  • Application runs perfectly when tested locally

  • Railway deployment logs show successful processing:

INFO: Starting BATCHED transaction processing for 94 transactions
INFO: Batch extracting vendors for 78 transactions...
INFO: Batch vendor extraction complete - got 70 results
INFO: Batch classification complete - got 49 results

Evidence of Infrastructure Issue:

  • HTTP 409 errors in browser Network tab for /api/bank-cc-exporter endpoint

  • Frontend timeout errors despite backend completing successfully

  • Issue persists regardless of request complexity (tried both individual and batched API calls)

  • Same codebase works locally without any issues

Technical Details:

  • Flask app with gunicorn: --timeout 300 --workers 1 --threads 8

  • Typical request: POST with file upload, processes for ~60 seconds, returns JSON

  • Frontend timeout set to 120 seconds

  • Backend processing completes in ~60 seconds (confirmed by logs)

What I've Tried:

  • Increased frontend timeout to 2 minutes

  • Simplified backend processing logic

  • Verified no database conflicts (no database operations in code)

  • Confirmed OpenAI API calls complete successfully

Question: Are there Railway-specific request size limits, timeout configurations, or load balancer settings that could cause HTTP 409 conflicts for file processing endpoints that take 60+ seconds to complete?

$10 Bounty

3 Replies

Railway
BOT

2 months ago


brody
EMPLOYEE

2 months ago

Hello,

Are there Railway-specific request size limits, timeout configurations, or load balancer settings that could cause HTTP 409 conflicts for file processing endpoints that take 60+ seconds to complete?

We do not have any request or response size limits. Timeouts are 15 minutes, and under no circumstances will we return a 409 status code from our infrastructure. That is something your application is returning.

Given this is not an issue with the Railway platform or product, I will go ahead and open this thread up to the community so that they could potentially help you track down why your application is returning that status code.

Best,
Brody


Status changed to Awaiting User Response Railway 2 months ago


brody
EMPLOYEE

2 months ago

This thread has been marked as public for community involvement, as it does not contain any sensitive or personal information. Any further activity in this thread will be visible to everyone.

Status changed to Open brody 2 months ago


case
PRO

2 months ago

@jdcag can you post some more log lines that show the http 409 error being returned?

It also sounds like you could try adding more logging around each of the events that your backend app is doing, to see the timestamps for each event, and correlate the durations you're seeing - hopefully one or two will stand out as taking too long, erroring, exiting prematurely, etc.


Loading...