rwadurian/backend/services/mining-service
hailin 9deffe2565 fix(mining): resolve transaction timeout by using single transaction for system accounts
Problem:
- Multiple concurrent transactions updating system_mining_accounts caused row lock contention
- 16+ transactions waiting for tuple/transactionid locks led to timeout errors
- This prevented writeMinuteRecords() from executing, leaving mining_records empty

Solution:
- Modified SystemMiningAccountRepository.mine() to accept optional external transaction client
- Created new distributeToSystemAndPending() method that processes all system accounts
  and pending contributions in a single transaction
- Pre-calculate all rewards before transaction, then execute updates sequentially
- Aggregate all pending contribution rewards into single HEADQUARTERS update
- Move Redis accumulation outside transaction to avoid blocking

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 18:53:53 -08:00
..
prisma feat(mining): 实现系统账户和待解锁算力参与挖矿 2026-01-16 03:39:56 -08:00
src fix(mining): resolve transaction timeout by using single transaction for system accounts 2026-01-16 18:53:53 -08:00
.env.example feat(mining-ecosystem): 添加挖矿生态系统完整微服务与前端 2026-01-10 17:45:46 -08:00
DEVELOPMENT_GUIDE.md feat(mining-ecosystem): 添加挖矿生态系统完整微服务与前端 2026-01-10 17:45:46 -08:00
Dockerfile fix(mining-service): 添加Dockerfile构建验证步骤 2026-01-14 03:45:51 -08:00
nest-cli.json feat(mining-ecosystem): 添加挖矿生态系统完整微服务与前端 2026-01-10 17:45:46 -08:00
package-lock.json fix: update mining-service package-lock.json 2026-01-11 09:12:48 -08:00
package.json feat(mining): 实现每秒挖矿分配系统 2026-01-14 03:25:47 -08:00
tsconfig.json fix(mining-service): 添加tsconfig include/exclude配置修复构建 2026-01-14 03:48:18 -08:00