chore: Add error logs for consolidated API (#35779)

## Description
PR to add error logs in the consolidated-api as whenever DB operation
fails we are not logging these anywhere and ends up in the response
only.

/test Sanity

## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: Cypress test results  -->
> [!IMPORTANT]
> 🟣 🟣 🟣 Your tests are running.
> Tests running at:
<https://github.com/appsmithorg/appsmith/actions/runs/10466559600>
> Commit: c04482ee779580e789f138ab510c1dc5444e617c
> Workflow: `PR Automation test suite`
> Tags: `@tag.Sanity`
> Spec: ``
> <hr>Tue, 20 Aug 2024 06:37:40 UTC
<!-- end of auto-generated comment: Cypress test results  -->


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Bug Fixes**
- Enhanced error logging for asynchronous operations, improving
diagnostics for failures in data fetching related to user profiles,
feature flags, and more.
- **Improvements**
- Augmented observability and robustness of the application through
detailed error messages for data retrieval issues.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Abhijeet 2024-08-20 12:57:44 +05:30 committed by GitHub
parent 365ac27af0
commit 619fc2d3f1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -154,6 +154,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
.getCurrentUser()
.flatMap(userService::buildUserProfileDTO)
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching user profile", e))
.doOnSuccess(consolidatedAPIResponseDTO::setUserProfile)
.name(getQualifiedSpanName(USER_PROFILE_SPAN, mode))
.tap(Micrometer.observation(observationRegistry)));
@ -162,6 +163,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
Mono<ResponseDTO<Map<String, Boolean>>> featureFlagsForCurrentUserResponseDTOMonoCache = userDataService
.getFeatureFlagsForCurrentUser()
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching feature flags", e))
.doOnSuccess(consolidatedAPIResponseDTO::setFeatureFlags)
.name(getQualifiedSpanName(FEATURE_FLAG_SPAN, mode))
.tap(Micrometer.observation(observationRegistry))
@ -172,6 +174,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
fetches.add(tenantService
.getTenantConfiguration()
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching tenant config", e))
.doOnSuccess(consolidatedAPIResponseDTO::setTenantConfig)
.name(getQualifiedSpanName(TENANT_SPAN, mode))
.tap(Micrometer.observation(observationRegistry)));
@ -230,6 +233,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
})
.as(this::toResponseDTO)
.doOnSuccess(consolidatedAPIResponseDTO::setPages)
.doOnError(e -> log.error("Error fetching application pages", e))
.name(getQualifiedSpanName(PAGES_SPAN, mode))
.tap(Micrometer.observation(observationRegistry))
.cache();
@ -240,6 +244,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
fetches.add(branchedApplicationMonoCached
.flatMap(branchedApplication -> themeService.getApplicationTheme(branchedApplication.getId(), mode))
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching current theme", e))
.doOnSuccess(consolidatedAPIResponseDTO::setCurrentTheme)
.name(getQualifiedSpanName(CURRENT_THEME_SPAN, mode))
.tap(Micrometer.observation(observationRegistry)));
@ -250,6 +255,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
.getApplicationThemes(branchedApplication.getId())
.collectList())
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching themes", e))
.doOnSuccess(consolidatedAPIResponseDTO::setThemes)
.name(getQualifiedSpanName(THEMES_SPAN, mode))
.tap(Micrometer.observation(observationRegistry)));
@ -259,6 +265,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
.flatMap(branchedApplication -> customJSLibService.getAllJSLibsInContext(
branchedApplication.getId(), CreatorContextType.APPLICATION, isViewMode))
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching custom JS libraries", e))
.doOnSuccess(consolidatedAPIResponseDTO::setCustomJSLibraries)
.name(getQualifiedSpanName(CUSTOM_JS_LIB_SPAN, mode))
.tap(Micrometer.observation(observationRegistry)));
@ -268,6 +275,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
fetches.add(applicationPageService
.getPageAndMigrateDslByBranchAndBasePageId(basePageId, branchName, isViewMode, true)
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching current page", e))
.doOnSuccess(consolidatedAPIResponseDTO::setPageWithMigratedDsl)
.name(getQualifiedSpanName(CURRENT_PAGE_SPAN, mode))
.tap(Micrometer.observation(observationRegistry)));
@ -283,6 +291,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
.getActionsForViewMode(branchedApplication.getId())
.collectList())
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching actions for view mode", e))
.doOnSuccess(consolidatedAPIResponseDTO::setPublishedActions)
.name(getQualifiedSpanName(ACTIONS_SPAN, mode))
.tap(Micrometer.observation(observationRegistry)));
@ -293,6 +302,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
.getActionCollectionsForViewMode(branchedApplication.getId())
.collectList())
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching action collections for view mode", e))
.doOnSuccess(consolidatedAPIResponseDTO::setPublishedActionCollections)
.name(getQualifiedSpanName(ACTION_COLLECTIONS_SPAN, mode)));
@ -307,6 +317,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
.collectList();
})
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching unpublished actions", e))
.doOnSuccess(consolidatedAPIResponseDTO::setUnpublishedActions)
.name(getQualifiedSpanName(ACTIONS_SPAN, mode))
.tap(Micrometer.observation(observationRegistry)));
@ -320,6 +331,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
})
.collectList()
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching unpublished action collections", e))
.doOnSuccess(consolidatedAPIResponseDTO::setUnpublishedActionCollections)
.name(getQualifiedSpanName(ACTION_COLLECTIONS_SPAN, mode))
.tap(Micrometer.observation(observationRegistry)));
@ -330,6 +342,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
.flatMap(page -> applicationPageService.getPageDTOAfterMigratingDSL(page, false, true))
.collect(Collectors.toList())
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching pages with migrated DSL", e))
.doOnSuccess(consolidatedAPIResponseDTO::setPagesWithMigratedDsl)
.name(getQualifiedSpanName(PAGES_DSL_SPAN, mode))
.tap(Micrometer.observation(observationRegistry)));
@ -355,6 +368,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
? Mono.empty()
: pluginService.getInWorkspace(workspaceId).collectList())
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching plugins", e))
.doOnSuccess(consolidatedAPIResponseDTO::setPlugins)
.name(getQualifiedSpanName(PLUGINS_SPAN, mode))
.tap(Micrometer.observation(observationRegistry))
@ -371,6 +385,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
return datasourceService.getAllWithStorages(params).collectList();
})
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching datasources", e))
.doOnSuccess(consolidatedAPIResponseDTO::setDatasources)
.name(getQualifiedSpanName(DATASOURCES_SPAN, mode))
.tap(Micrometer.observation(observationRegistry))
@ -415,6 +430,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
return pluginIdToFormConfigMap;
})
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching plugin form configs", e))
.doOnSuccess(consolidatedAPIResponseDTO::setPluginFormConfigs)
.name(getQualifiedSpanName(FORM_CONFIG_SPAN, mode))
.tap(Micrometer.observation(observationRegistry)));
@ -424,6 +440,7 @@ public class ConsolidatedAPIServiceCEImpl implements ConsolidatedAPIServiceCE {
.getMockDataSet()
.map(MockDataDTO::getMockdbs)
.as(this::toResponseDTO)
.doOnError(e -> log.error("Error fetching mock datasources", e))
.doOnSuccess(consolidatedAPIResponseDTO::setMockDatasources)
.name(getQualifiedSpanName(MOCK_DATASOURCES_SPAN, mode))
.tap(Micrometer.observation(observationRegistry)));