# Docker Compose
docker-compose logs -f backend | grep CSV
```

You should see log messages like:

```
CSV upload request for dataset 'xxx' on workspaceId 'xxx'
CSV upload accepted for dataset 'xxx' on workspaceId 'xxx', processing asynchronously
Starting asynchronous CSV processing for dataset 'xxx' on workspaceId 'xxx'
CSV processing completed for dataset 'xxx', total items: 'xxx'
```

## Troubleshooting

### Upload Fails with 413 Error

**Problem**: HTTP 413 Request Entity Too Large

**Solution**: Verify nginx configuration includes `client_max_body_size: 2g` at the server level, not just in location blocks.

### Upload Succeeds but Processing Fails

**Problem**: File uploads successfully but items don't appear in the dataset

**Solution**:

1. Check backend logs for processing errors
2. Verify adequate disk space is available
3. Check memory limits - large CSV files require sufficient memory for processing

### Timeout Errors

**Problem**: Upload times out before completing

**Solution**:

1. Increase `SERVER_IDLE_TIMEOUT` further (e.g., to 15m or 20m)
2. Increase nginx proxy timeouts in `upstreamConfig`
3. Check network bandwidth between client and server

### Out of Memory Errors

**Problem**: Backend service crashes or restarts during processing

**Solution**:

1. Reduce `BATCH_OPERATIONS_DATASETS_CSV_BATCH_SIZE` to process smaller batches
2. Increase backend service memory limits
3. Process smaller CSV files or split large files into multiple uploads

## Additional Resources

* [Scaling Opik](/self-host/scaling) - General scaling guidelines
* [Kubernetes Deployment](/self-host/kubernetes) - Helm chart documentation
* [Troubleshooting](/self-host/troubleshooting) - Common issues and solutions