Repository navigation
nav-fund-services: Only limit queried date range to FundOfficialAccountingLastAvailableDate when requested - #5496
Merged
mohamed-mehany merged 2 commits intoOct 6, 2026
Conversation
…ntingLastAvailableDate when requested
🦋 Changeset detectedLatest commit: a36d5e8 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
mxiao-cll
reviewed
Oct 6, 2026
mxiao-cll
approved these changes
Oct 6, 2026
mohamed-mehany
deleted the
fix/nav-fund-services-opt-in-official-date-cap
branch
October 6, 2026 14:39
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes INCIDENT-2735
Related: OPDATA-8508, OPDATA-8507
Description
#5392 (released in 1.3.2) limited the
toDateof every NAV query toFundOfficialAccountingLastAvailableDatefromGetFundList. This was needed for fund 257726 (Syntetika), where the provider rejects later dates with a 423.For SWEEP (220980),
FundOfficialAccountingLastAvailableDatetrails the latest published NAV by 1–2 business days, and the provider accepts later dates for that fund. Because the limit applied to all funds, the SWEEP stream reported a NAV 1–2 business days old, which led to INCIDENT-2735. NOPs were rolled back to 1.3.0, which in turn blocks the Syntetika feed.This PR makes the limit opt-in. By default the EA behaves like 1.3.0 again. Feeds that need the limit (Syntetika) set
limitToOfficialAccountingDate: true.Known limitation: for 257726,
FundOfficialAccountingLastAvailableDate(09-15) is also earlier than what the provider actually allows. The 423 error says "Data is consistent until 09/30/2026", and a query up to 09-30 returns a 09-30 row. So with the flag on, the Syntetika value can lag the newest data the provider allows. A follow-up could cap at the date from the 423 response instead.Changes
limitToOfficialAccountingDateinput parameter to thenavendpoint (boolean, defaultfalse).GetFundListand limittoDatetoFundOfficialAccountingLastAvailableDatewhenlimitToOfficialAccountingDateistrue. By default the EA queries up toGetAccountingDataDates.ToDatewith 2 provider calls per cycle, as in 1.3.0.toDate.nullFundOfficialAccountingLastAvailableDate(previously typed asstring, which would have thrown onnew Date("nullZ")): don't limit, and log a warning.nullcase.Steps to Test
yarn test packages/sources/nav-fund-servicesSWEEP (220980)
Default. This returns the latest published NAV (10-06), the same as 1.3.0:
limitToOfficialAccountingDate: true. This is limited toFundOfficialAccountingLastAvailableDate(10-05), which is the 1.3.2 behaviour:cEPIC (265693)
Default. The latest NAV is 10-05, and the provider has no 10-06 data for this fund yet:
limitToOfficialAccountingDate: true. This returns the same date, because cEPIC'sToDatealready equals its official accounting date:Syntetika (257726)
limitToOfficialAccountingDate: truewithresultField: endingBalance. This is the request for the Syntetika feed:Default. Without the limit, the provider rejects the date range (423), which is why this fund needs the flag:
Quality Assurance
infra-k8sconfiguration file.adapter-secretsconfiguration file.test-payload.jsonfile with relevant requests.feature/x,chore/x,release/x,hotfix/x,fix/x) or is created from Jira.