Prasad P. Pawar created ATLAS-5394:
--------------------------------------

             Summary: Atlas UI: Defer non-critical API calls and deduplicate 
Redux fetches on Search load
                 Key: ATLAS-5394
                 URL: https://issues.apache.org/jira/browse/ATLAS-5394
             Project: Atlas
          Issue Type: Sub-task
          Components: atlas-webui
    Affects Versions: 3.0.0
            Reporter: Prasad P. Pawar
            Assignee: Prasad P. Pawar


Search page fires 65 requests (~4.8 MB) on load. Many are unnecessary for the 
initial view.

Duplicate / premature API calls:
- RecentActivity: 6 parallel /admin/audits calls on mount (only 1 tab visible)
- fetchTypeHeaderData: dispatched from Sidebar, Dashboard, EntitiesTree (2+ 
duplicate typedefs/headers ~32 KB each)
- fetchEntityData: typedefs?type=entity (~391 KB) on mount — sidebar only needs 
counts initially
- All sidebar trees (entities, classifications, enums, glossary) mount and 
fetch on load even when collapsed

Fixes:
1. RecentActivity — fetch active tab only on mount; fetch other tabs on click; 
cache visited tabs
2. typeDefHeaderSlice — skip fetch if data exists and not stale; single 
dispatch from Layout/bootstrap
3. EntitiesTree — remove mount-time fetchEntityData(); use typeHeaderData + 
metrics for initial tree; fetch full typedef only on expand
4. SideBarBody — lazy-mount tree components when accordion section expands 
(React.lazy + Suspense + skeleton)
5. API priority tiers: Tier 1 (session + headers) → Tier 2 (metrics) → Tier 3 
(audits/glossary via requestIdleCallback)
6. AbortController on route unmount for in-flight non-critical requests




Acceptance Criteria:
 * Network tab: 1 audit call on search landing (not 6–7)
 * Exactly 1 typedefs/headers request on search load
 * No typedefs?type=entity on initial load unless Entities section expanded
 * Collapsed sidebar sections do not trigger typedef API calls
 * Initial load requests < 45 (from 65)
 * Unit tests for deferred fetch, dedup, and tab-click behavior



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to