Skip to content

Fix/mos 0005#10

Merged
Lidizz merged 5 commits into
mainfrom
fix/MOS-0005
Feb 25, 2026
Merged

Fix/mos 0005#10
Lidizz merged 5 commits into
mainfrom
fix/MOS-0005

Conversation

@Lidizz
Copy link
Copy Markdown
Owner

@Lidizz Lidizz commented Feb 25, 2026

No description provided.

… lines)

- Remove 'Learning Notes' and historical comments not appropriate for production
- Condense method documentation to concise single-line or 3-4 line Javadocs
- Remove redundant inline comments and excessive log statements
- No logic changes  all code paths identical
- Extract batchFetchPrices() to share one DB query between buildTimeline()
  and buildHoldingsTimelines()
- buildHoldingsTimelines() now filters the pre-fetched price map in memory
  instead of issuing per-holding findByAssetIdAndDateBetween queries
- Update test mocks to use findByAssetIdsAndDateBetween (batch)
- Add findDatesByAssetIdAndDateBetween() to AssetPriceRepository
- Replace per-record existsByAssetIdAndDate() + save() with:
  1. One query to fetch existing dates as a Set
  2. In-memory filter against that Set
  3. Single saveAll() for new prices
- Reduces DB round-trips from 2N to 2 per asset
- @DaTa generates equals/hashCode on ALL fields including mutable id,
  which breaks Set/Map behaviour when id is assigned after persist
- Add manual equals/hashCode based on symbol (natural business key)
- Keep @tostring and @builder unchanged
- Trim verbose Learning Notes from class Javadoc
- Add rateLimiterLock object and wrap enforceRateLimit() in synchronized block
- Prevents race condition on currentMinuteStart/requestsInCurrentMinute
  if called from multiple threads (e.g. scheduler + manual trigger)
- Clean up emoji characters from log messages
@Lidizz Lidizz merged commit 38a287d into main Feb 25, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant