@ytsaurus/ui 1.13.0 → 1.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/build/cjs/ui/rum/constants.d.ts +5 -1
  2. package/build/cjs/ui/rum/constants.js +5 -2
  3. package/build/cjs/ui/rum/constants.js.map +1 -1
  4. package/build/cjs/ui/rum/rum-counter.js +1 -1
  5. package/build/cjs/ui/rum/rum-counter.js.map +1 -1
  6. package/build/cjs/ui/store/actions/system/masters.d.ts +7 -5
  7. package/build/cjs/ui/store/actions/system/masters.js +305 -235
  8. package/build/cjs/ui/store/actions/system/masters.js.map +1 -1
  9. package/build/cjs/ui/store/reducers/system/masters.d.ts +2 -2
  10. package/build/cjs/ui/store/reducers/system/masters.js.map +1 -1
  11. package/build/cjs/ui/store/selectors/system/masters.d.ts +1 -1
  12. package/build/cjs/ui/store/selectors/system/masters.js.map +1 -1
  13. package/build/esm/ui/rum/constants.d.ts +5 -1
  14. package/build/esm/ui/rum/constants.js +5 -2
  15. package/build/esm/ui/rum/constants.js.map +1 -1
  16. package/build/esm/ui/rum/rum-counter.js +1 -1
  17. package/build/esm/ui/rum/rum-counter.js.map +1 -1
  18. package/build/esm/ui/store/actions/system/masters.d.ts +7 -5
  19. package/build/esm/ui/store/actions/system/masters.js +303 -233
  20. package/build/esm/ui/store/actions/system/masters.js.map +1 -1
  21. package/build/esm/ui/store/reducers/system/masters.d.ts +2 -2
  22. package/build/esm/ui/store/reducers/system/masters.js.map +1 -1
  23. package/build/esm/ui/store/selectors/system/masters.d.ts +1 -1
  24. package/build/esm/ui/store/selectors/system/masters.js.map +1 -1
  25. package/dist/public/build/assets-manifest.json +4 -4
  26. package/dist/public/build/js/main.4eb01db4.js +3 -0
  27. package/dist/public/build/js/{main.9d592639.js.map → main.4eb01db4.js.map} +1 -1
  28. package/dist/public/build/manifest.json +2 -2
  29. package/package.json +2 -2
  30. package/dist/public/build/js/main.9d592639.js +0 -3
  31. /package/dist/public/build/js/{main.9d592639.js.LICENSE.txt → main.4eb01db4.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["ypath","Toaster","createActionTypes","isRetryFutile","getBatchError","showErrorPopup","yt","YTApiId","ytApiV3Id","USE_SUPRESS_SYNC","FETCH_MASTER_CONFIG","FETCH_MASTER_DATA","toaster","loadMastersConfig","requests","command","parameters","_objectSpread","path","attributes","executeBatch","systemMastersConfig","then","_ref","_timestampProvidersRe","_queueAgentsResult$er","_ref2","_slicedToArray","primaryMasterResult","primaryCellTagResult","secondaryMastersResult","timestampProvidersResult","discoveryServersResult","queueAgentsResult","batchError","error","code","codes","NODE_DOES_NOT_EXIST","queueAgentsError","primaryMaster","output","secondaryMasters","primaryCellTag","timestampProviders","addresses","_map","getValue","value","address","host","physicalHost","cellTag","_keys","Number","_ref3","_ref4","mainResult","discoveryRequests","concat","queueAgentsStateRequests","systemMastersConfigDiscoveryServer","_toConsumableArray","results","discoveryResults","slice","length","queueAgentsStateResults","discoveryServersStatuses","_reduce","acc","item","key","queueAgentsStatuses","_ref5","_ref6","discoveryServers","state","queueAgents","loadHydra","masterInfo","type","masterEntry","hydraPath","cypressPath","_each","_sortBy","_ref7","push","timeout","loadMasters","dispatch","REQUEST","config","SUCCESS","data","masterDataRequests","currentConfig","systemMasters","_error$response","FAILURE","response","message","add","name","autoHiding","content","title","actions","label","onClick"],"sources":["masters.js"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../../common/thor/ypath';\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport createActionTypes from '../../../constants/utils';\nimport {isRetryFutile} from '../../../utils/index';\nimport {getBatchError, showErrorPopup} from '../../../utils/utils';\n\nimport yt from '@ytsaurus/javascript-wrapper/lib/yt';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {USE_SUPRESS_SYNC} from '../../../../shared/constants';\n\nexport const FETCH_MASTER_CONFIG = createActionTypes('MASTER_CONFIG');\nexport const FETCH_MASTER_DATA = createActionTypes('MASTER_DATA');\n\nconst toaster = new Toaster();\n\nfunction loadMastersConfig() {\n const requests = [\n {\n command: 'get',\n parameters: {\n path: '//sys/primary_masters',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/@cell_tag',\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/secondary_masters',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/timestamp_providers',\n attributes: [\n 'annotations',\n 'native_cell_tag',\n 'maintenance',\n 'maintenance_message',\n ],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/discovery_servers',\n attributes: ['annotations', 'native_cell_tag'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/queue_agents/instances',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n ];\n\n return ytApiV3Id\n .executeBatch(YTApiId.systemMastersConfig, {requests})\n .then(\n ([\n primaryMasterResult,\n primaryCellTagResult,\n secondaryMastersResult,\n timestampProvidersResult,\n discoveryServersResult,\n queueAgentsResult,\n ]) => {\n const batchError = getBatchError(\n [primaryMasterResult, primaryCellTagResult, secondaryMastersResult],\n \"Masters' details cannot be loaded\",\n );\n if (batchError) {\n throw batchError;\n }\n const error = getBatchError(\n [timestampProvidersResult],\n 'Timestamp providers cannot be loaded',\n );\n if (\n error &&\n timestampProvidersResult.error?.code !== yt.codes.NODE_DOES_NOT_EXIST\n ) {\n throw error;\n }\n const queueAgentsError = getBatchError(\n [queueAgentsResult],\n 'Queue agents cannot be loaded',\n );\n if (\n queueAgentsError &&\n queueAgentsResult.error?.code !== yt.codes.NODE_DOES_NOT_EXIST\n ) {\n throw queueAgentsError;\n }\n\n const primaryMaster = primaryMasterResult.output;\n const secondaryMasters = secondaryMastersResult.output;\n const primaryCellTag = primaryCellTagResult.output;\n\n const timestampProviders = !timestampProvidersResult.output\n ? {}\n : {\n addresses: _.map(\n ypath.getValue(timestampProvidersResult.output),\n (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(\n value,\n '/@annotations/physical_host',\n ),\n attributes: ypath.getValue(value, '/@'),\n };\n },\n ),\n cellTag: ypath.getValue(\n timestampProvidersResult.output,\n '/@native_cell_tag',\n ),\n };\n\n return [\n {\n primaryMaster: {\n addresses: _.map(_.keys(primaryMaster), (address) => {\n const value = primaryMaster[address];\n return {\n host: address,\n physicalHost: ypath.getValue(\n value,\n '/@annotations/physical_host',\n ),\n attributes: ypath.getValue(value, '/@'),\n };\n }),\n cellTag: primaryCellTag,\n },\n secondaryMasters: _.map(secondaryMasters, (addresses, cellTag) => {\n return {\n addresses: _.map(_.keys(addresses), (address) => {\n const value = secondaryMasters[cellTag][address];\n return {\n host: address,\n physicalHost: ypath.getValue(\n value,\n '/@annotations/physical_host',\n ),\n attributes: ypath.getValue(value, '/@'),\n };\n }),\n cellTag: Number(cellTag),\n };\n }),\n timestampProviders,\n },\n discoveryServersResult,\n queueAgentsResult,\n ];\n },\n )\n .then(([mainResult, discoveryServersResult, queueAgentsResult]) => {\n const discoveryRequests = _.map(\n ypath.getValue(discoveryServersResult.output),\n (value, address) => ({\n command: 'get',\n parameters: {\n path: `//sys/discovery_servers/${address}/orchid/discovery_server`,\n ...USE_SUPRESS_SYNC,\n },\n address,\n }),\n );\n\n const queueAgentsStateRequests = _.map(\n ypath.getValue(queueAgentsResult.output),\n (value, address) => ({\n command: 'get',\n parameters: {\n path: `//sys/queue_agents/instances/${address}/orchid/cypress_synchronizer/active`,\n ...USE_SUPRESS_SYNC,\n },\n address,\n }),\n );\n\n return ytApiV3Id\n .executeBatch(YTApiId.systemMastersConfigDiscoveryServer, {\n requests: [...discoveryRequests, ...queueAgentsStateRequests],\n })\n .then((results) => {\n const discoveryResults = results.slice(0, discoveryRequests.length);\n const queueAgentsStateResults = results.slice(\n discoveryRequests.length,\n queueAgentsStateRequests.length,\n );\n\n const discoveryServersStatuses = _.reduce(\n discoveryResults,\n (acc, item, key) => {\n acc[discoveryRequests[key].address] = item?.error\n ? 'offline'\n : 'online';\n return acc;\n },\n {},\n );\n const queueAgentsStatuses = _.reduce(\n queueAgentsStateResults,\n (acc, item, key) => {\n acc[queueAgentsStateRequests[key].address] =\n typeof item.output !== 'undefined'\n ? item.output\n ? 'active'\n : 'standby'\n : 'offline';\n return acc;\n },\n {},\n );\n\n return [\n mainResult,\n discoveryServersResult,\n queueAgentsResult,\n discoveryServersStatuses,\n queueAgentsStatuses,\n ];\n })\n .catch(() => [mainResult, discoveryServersResult, queueAgentsResult]);\n })\n .then(\n ([\n mainResult,\n discoveryServersResult,\n queueAgentsResult,\n discoveryServersStatuses,\n queueAgentsStatuses,\n ]) => {\n mainResult.discoveryServers = discoveryServersResult.output\n ? {\n addresses: _.map(\n ypath.getValue(discoveryServersResult.output),\n (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(\n value,\n '/@annotations/physical_host',\n ),\n attributes: ypath.getValue(value, '/@'),\n state: discoveryServersStatuses[address],\n };\n },\n ),\n cellTag: ypath.getValue(\n discoveryServersResult.output,\n '/@native_cell_tag',\n ),\n }\n : {};\n\n mainResult.queueAgents = queueAgentsResult.output\n ? {\n addresses: _.map(\n ypath.getValue(queueAgentsResult.output),\n (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(\n value,\n '/@annotations/physical_host',\n ),\n attributes: ypath.getValue(value, '/@'),\n state: queueAgentsStatuses[address],\n };\n },\n ),\n }\n : {};\n\n return mainResult;\n },\n );\n}\n\nfunction loadHydra(requests, masterInfo, type, masterEntry) {\n const {addresses, cellTag} = masterEntry;\n const hydraPath = '/orchid/monitoring/hydra';\n let cypressPath;\n\n if (type === 'primary') {\n cypressPath = '//sys/primary_masters';\n } else if (type === 'providers') {\n cypressPath = '//sys/timestamp_providers';\n } else if (type === 'discovery') {\n cypressPath = '//sys/discovery_servers';\n } else if (type === 'secondary') {\n cypressPath = '//sys/secondary_masters/' + cellTag;\n } else {\n cypressPath = '//sys/masters';\n }\n\n _.each(\n _.sortBy(addresses, (address) => address.host),\n ({host}) => {\n masterInfo.push({host, type, cellTag});\n requests.push({\n command: 'get',\n parameters: {\n path: cypressPath + '/' + host + hydraPath,\n timeout: 5000,\n ...USE_SUPRESS_SYNC,\n },\n });\n },\n );\n}\n\nexport function loadMasters() {\n return (dispatch) => {\n dispatch({\n type: FETCH_MASTER_CONFIG.REQUEST,\n });\n return loadMastersConfig()\n .then((config) => {\n dispatch({\n type: FETCH_MASTER_CONFIG.SUCCESS,\n data: config,\n });\n dispatch({type: FETCH_MASTER_DATA.REQUEST});\n\n const masterDataRequests = [];\n const masterInfo = [];\n\n loadHydra(masterDataRequests, masterInfo, 'primary', config.primaryMaster);\n\n _.each(config.secondaryMasters, (currentConfig) => {\n loadHydra(masterDataRequests, masterInfo, 'secondary', currentConfig);\n });\n\n loadHydra(masterDataRequests, masterInfo, 'providers', config.timestampProviders);\n loadHydra(masterDataRequests, masterInfo, 'discovery', config.discoveryServers);\n\n return ytApiV3Id\n .executeBatch(YTApiId.systemMasters, {requests: masterDataRequests})\n .then((data) => {\n dispatch({\n type: FETCH_MASTER_DATA.SUCCESS,\n data: {masterInfo, data},\n });\n });\n })\n .catch((error) => {\n dispatch({type: FETCH_MASTER_DATA.FAILURE, data: error});\n\n const data = error?.response?.data || error;\n const {code, message} = data;\n\n toaster.add({\n name: 'load/system/masters',\n autoHiding: false,\n type: 'error',\n content: `[code ${code}] ${message}`,\n title: 'Could not load Masters',\n actions: [\n {\n label: ' view',\n onClick: () => showErrorPopup(error),\n },\n ],\n });\n\n if (isRetryFutile(error.code)) {\n return {isRetryFutile: true};\n }\n });\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["ypath","Toaster","createActionTypes","isRetryFutile","getBatchError","showErrorPopup","YTErrors","YTApiId","ytApiV3Id","USE_SUPRESS_SYNC","FETCH_MASTER_CONFIG","FETCH_MASTER_DATA","toaster","NODE_DOES_NOT_EXIST","loadMastersConfig","_loadMastersConfig","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","_timestampProvidersRe","_queueAgentsResult$er","requests","_yield$ytApiV3Id$exec","_yield$ytApiV3Id$exec2","primaryMasterResult","secondaryMastersResult","timestampProvidersResult","discoveryServersResult","queueAgentsResult","batchError","error","queueAgentsError","_ref3","timestamp_path","_ref4","primary_path","tag_cell_requests","_yield$ytApiV3Id$exec3","_yield$ytApiV3Id$exec4","primaryMasterCellTag","timestampProviderCellTag","primaryMaster","secondaryMasters","timestampProviders","mainResult","discoveryRequests","queueAgentsStateRequests","discoveryServersStatuses","queueAgentsStatuses","results","discoveryResults","queueAgentsStateResults","wrap","_callee2$","_context2","prev","next","command","parameters","_objectSpread","path","attributes","executeBatch","systemMastersConfig","sent","_slicedToArray","code","_toConsumableArray","Object","keys","getValue","output","concat","addresses","_map","value","address","host","physicalHost","cellTag","getCellIdTag","cell_id","_keys","Number","discoveryServers","queueAgents","_v","systemMastersConfigDiscoveryServer","slice","length","_reduce","acc","item","key","t0","state","abrupt","stop","loadHydra","masterInfo","type","masterEntry","hydraPath","cypressPath","_each","_sortBy","_ref","push","loadMasters","_ref2","_callee","dispatch","config","masterDataRequests","data","_response","_data","message","_callee$","_context","REQUEST","SUCCESS","currentConfig","systemMasters","FAILURE","response","add","name","autoHiding","content","title","actions","label","onClick","_x","uuid","_uuid$split","split","_uuid$split2","third","substring"],"sources":["masters.ts"],"sourcesContent":["import _ from 'lodash';\nimport ypath from '../../../common/thor/ypath';\nimport {Toaster} from '@gravity-ui/uikit';\n\nimport createActionTypes from '../../../constants/utils';\nimport {isRetryFutile} from '../../../utils/index';\nimport {getBatchError, showErrorPopup} from '../../../utils/utils';\n\nimport {YTErrors} from '../../../rum/constants';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {USE_SUPRESS_SYNC} from '../../../../shared/constants';\nimport type {AxiosError} from 'axios';\nimport type {Dispatch} from 'redux';\nimport type {BatchSubRequest} from '../../../../shared/yt-types';\nimport type {\n MasterDataItemInfo,\n MastersConfigResponse,\n ResponseItemsGroup,\n} from '../../reducers/system/masters';\n\nexport const FETCH_MASTER_CONFIG = createActionTypes('MASTER_CONFIG');\nexport const FETCH_MASTER_DATA = createActionTypes('MASTER_DATA');\n\nconst toaster = new Toaster();\n\nconst {NODE_DOES_NOT_EXIST} = YTErrors;\n\nasync function loadMastersConfig(): Promise<MastersConfigResponse> {\n const requests = [\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/primary_masters',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/secondary_masters',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/timestamp_providers',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/discovery_servers',\n attributes: ['annotations', 'native_cell_tag'],\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: '//sys/queue_agents/instances',\n attributes: ['annotations', 'maintenance', 'maintenance_message'],\n ...USE_SUPRESS_SYNC,\n },\n },\n ];\n\n const [\n primaryMasterResult,\n secondaryMastersResult,\n timestampProvidersResult,\n discoveryServersResult,\n queueAgentsResult,\n ] = await ytApiV3Id.executeBatch(YTApiId.systemMastersConfig, {requests});\n\n const batchError = getBatchError(\n [primaryMasterResult, secondaryMastersResult],\n \"Masters' details cannot be loaded\",\n );\n\n if (batchError) {\n throw batchError;\n }\n\n const error = getBatchError([timestampProvidersResult], 'Timestamp providers cannot be loaded');\n\n if (error && timestampProvidersResult.error?.code !== NODE_DOES_NOT_EXIST) {\n throw error;\n }\n\n const queueAgentsError = getBatchError([queueAgentsResult], 'Queue agents cannot be loaded');\n\n if (queueAgentsError && queueAgentsResult.error?.code !== NODE_DOES_NOT_EXIST) {\n throw queueAgentsError;\n }\n\n const [timestamp_path] = [...Object.keys(ypath.getValue(timestampProvidersResult.output))];\n const [primary_path] = [...Object.keys(ypath.getValue(primaryMasterResult.output))];\n\n const tag_cell_requests = [\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/primary_masters/${primary_path}/orchid/config/primary_master/cell_id`,\n ...USE_SUPRESS_SYNC,\n },\n },\n {\n command: 'get' as const,\n parameters: {\n path: `//sys/timestamp_providers/${timestamp_path}/orchid/config/clock_cell`,\n ...USE_SUPRESS_SYNC,\n },\n },\n ];\n\n const [primaryMasterCellTag, timestampProviderCellTag] = await ytApiV3Id.executeBatch(\n YTApiId.systemMastersConfig,\n {requests: [...tag_cell_requests]},\n );\n\n const primaryMaster = primaryMasterResult.output;\n const secondaryMasters = secondaryMastersResult.output;\n\n const timestampProviders = !timestampProvidersResult.output\n ? {}\n : {\n addresses: _.map(\n ypath.getValue(timestampProvidersResult.output),\n (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n };\n },\n ),\n cellTag: getCellIdTag(ypath.getValue(timestampProviderCellTag.output).cell_id),\n };\n\n const mainResult: MastersConfigResponse = {\n primaryMaster: {\n addresses: _.map(_.keys(primaryMaster), (address) => {\n const value = primaryMaster[address];\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n };\n }),\n cellTag: getCellIdTag(primaryMasterCellTag.output),\n },\n secondaryMasters: _.map(secondaryMasters, (addresses, cellTag) => {\n return {\n addresses: _.map(_.keys(addresses), (address) => {\n const value = secondaryMasters[cellTag][address];\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n };\n }),\n cellTag: Number(cellTag),\n };\n }),\n timestampProviders,\n discoveryServers: {},\n queueAgents: {},\n };\n\n const discoveryRequests = _.map(\n ypath.getValue(discoveryServersResult.output),\n (_v, address) => ({\n command: 'get' as const,\n parameters: {\n path: `//sys/discovery_servers/${address}/orchid/discovery_server`,\n ...USE_SUPRESS_SYNC,\n },\n address,\n }),\n );\n\n const queueAgentsStateRequests = _.map(\n ypath.getValue(queueAgentsResult.output),\n (_v, address) => ({\n command: 'get' as const,\n parameters: {\n path: `//sys/queue_agents/instances/${address}/orchid/cypress_synchronizer/active`,\n ...USE_SUPRESS_SYNC,\n },\n address,\n }),\n );\n\n let discoveryServersStatuses: Record<string, 'offline' | 'online'> = {};\n let queueAgentsStatuses: Record<string, any> = {};\n\n try {\n const results = await ytApiV3Id.executeBatch(YTApiId.systemMastersConfigDiscoveryServer, {\n requests: [...discoveryRequests, ...queueAgentsStateRequests],\n });\n\n const discoveryResults = results.slice(0, discoveryRequests.length);\n const queueAgentsStateResults = results.slice(\n discoveryRequests.length,\n queueAgentsStateRequests.length,\n );\n\n discoveryServersStatuses = _.reduce(\n discoveryResults,\n (acc, item, key) => {\n acc[discoveryRequests[key].address] = item?.error ? 'offline' : 'online';\n return acc;\n },\n {} as {[address: string]: 'offline' | 'online'},\n );\n queueAgentsStatuses = _.reduce(\n queueAgentsStateResults,\n (acc, item, key) => {\n acc[queueAgentsStateRequests[key].address] =\n typeof item.output !== 'undefined'\n ? item.output\n ? 'active'\n : 'standby'\n : 'offline';\n return acc;\n },\n {} as {[address: string]: string},\n );\n } catch {}\n\n mainResult.discoveryServers = discoveryServersResult.output\n ? {\n addresses: _.map(ypath.getValue(discoveryServersResult.output), (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n state: discoveryServersStatuses[address],\n };\n }),\n cellTag: ypath.getValue(discoveryServersResult.output, '/@native_cell_tag'),\n }\n : {};\n\n mainResult.queueAgents = queueAgentsResult.output\n ? {\n addresses: _.map(ypath.getValue(queueAgentsResult.output), (value, address) => {\n return {\n host: address,\n physicalHost: ypath.getValue(value, '/@annotations/physical_host'),\n attributes: ypath.getValue(value, '/@'),\n state: queueAgentsStatuses[address],\n };\n }),\n }\n : {};\n\n return mainResult;\n}\n\nfunction loadHydra(\n requests: BatchSubRequest[],\n masterInfo: MasterDataItemInfo[],\n type: string,\n masterEntry: ResponseItemsGroup,\n) {\n const {addresses, cellTag} = masterEntry;\n const hydraPath = '/orchid/monitoring/hydra';\n let cypressPath: string;\n\n if (type === 'primary') {\n cypressPath = '//sys/primary_masters';\n } else if (type === 'providers') {\n cypressPath = '//sys/timestamp_providers';\n } else if (type === 'discovery') {\n cypressPath = '//sys/discovery_servers';\n } else if (type === 'secondary') {\n cypressPath = '//sys/secondary_masters/' + cellTag;\n } else {\n cypressPath = '//sys/masters';\n }\n\n _.each(\n _.sortBy(addresses, (address) => address.host),\n ({host}) => {\n masterInfo.push({host, type, cellTag: cellTag!});\n requests.push({\n command: 'get',\n parameters: {path: cypressPath + '/' + host + hydraPath, ...USE_SUPRESS_SYNC},\n });\n },\n );\n}\n\nexport function loadMasters() {\n return async (dispatch: Dispatch): Promise<void | {isRetryFutile: true}> => {\n dispatch({type: FETCH_MASTER_CONFIG.REQUEST});\n\n try {\n const config = await loadMastersConfig();\n\n dispatch({type: FETCH_MASTER_CONFIG.SUCCESS, data: config});\n dispatch({type: FETCH_MASTER_DATA.REQUEST});\n\n const masterDataRequests: BatchSubRequest[] = [];\n const masterInfo: MasterDataItemInfo[] = [];\n\n loadHydra(masterDataRequests, masterInfo, 'primary', config.primaryMaster);\n\n _.each(config.secondaryMasters, (currentConfig) => {\n loadHydra(masterDataRequests, masterInfo, 'secondary', currentConfig);\n });\n\n loadHydra(masterDataRequests, masterInfo, 'providers', config.timestampProviders);\n loadHydra(masterDataRequests, masterInfo, 'discovery', config.discoveryServers);\n\n const data = await ytApiV3Id.executeBatch(YTApiId.systemMasters, {\n requests: masterDataRequests,\n });\n\n dispatch({type: FETCH_MASTER_DATA.SUCCESS, data: {masterInfo, data}});\n } catch (error) {\n dispatch({type: FETCH_MASTER_DATA.FAILURE, data: error});\n\n const data =\n (error as {response?: {data?: {code: string; message: string}}})?.response?.data ||\n (error as {code: string; message: string});\n\n const {code, message} = data;\n\n toaster.add({\n name: 'load/system/masters',\n autoHiding: false,\n type: 'error',\n content: `[code ${code}] ${message}`,\n title: 'Could not load Masters',\n actions: [{label: ' view', onClick: () => showErrorPopup(error as AxiosError)}],\n });\n\n if (isRetryFutile((error as {code: number})?.code)) {\n return {isRetryFutile: true};\n }\n }\n };\n}\n\nfunction getCellIdTag(uuid: string): number {\n const [, , third] = uuid.split('-');\n return Number(`0x${third.substring(0, third.length - 4)}`);\n}\n"],"mappings":"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"}
@@ -39,11 +39,11 @@ export interface MasterGroupData {
39
39
  export interface ResponseItem {
40
40
  host: string;
41
41
  physicalHost?: string;
42
- attirbutes: {
42
+ attributes: {
43
43
  native_cell_tag: number;
44
44
  annotations: unknown;
45
45
  };
46
- state: 'online' | 'offline' | 'unknown';
46
+ state?: 'online' | 'offline' | 'unknown';
47
47
  }
48
48
  export interface ResponseItemsGroup {
49
49
  addresses?: Array<ResponseItem>;
@@ -1 +1 @@
1
- {"version":3,"names":["MasterInstance","FETCH_MASTER_CONFIG","FETCH_MASTER_DATA","mergeStateOnClusterChange","incrementStateCounters","counters","state","stateCounters","states","calculateStatusCounts","masters","initialStatusCount","success","recovery","unavailable","_reduce","result","master","extractMasterCounters","primary","secondary","_ref","total","length","flags","quorum","status","_each","getQuorum","existsProblematicInstance","existsLeading","leaderCommitedVersion","masterData","$attributes","committedVersion","getLeader","instances","_find","instance","initialState","fetchingConfig","fetchingData","error","undefined","initialized","mastersDataConfig","leader","cellTag","providers","discovery","queueAgents","processMastersConfig","_ref2","primaryMaster","secondaryMasters","timestampProviders","discoveryServers","res","_map","_sortBy","addresses","address","processMastersData","_ref3","rawData","data","masterInfo","payload","output","masterToDataIndex","i","_masterInfo$i","host","type","primaryInstances","_instance$toObject","toObject","key","clone","update","_orderBy","$address","_instance$toObject2","providersInstances","_instance$toObject3","discoveryInstances","$state","queueAgentInstances","statusCounts","arguments","action","REQUEST","_objectSpread","SUCCESS","FAILURE"],"sources":["masters.ts"],"sourcesContent":["import _ from 'lodash';\nimport {Action} from 'redux';\nimport {MasterInstance} from '../../../store/selectors/system/masters';\nimport {ActionD} from '../../../types';\nimport {YTError} from '../../../../@types/types';\nimport {BatchResultsItem} from '../../../../shared/yt-types';\nimport {FETCH_MASTER_CONFIG, FETCH_MASTER_DATA} from '../../../store/actions/system/masters';\nimport {mergeStateOnClusterChange} from '../../../store/reducers/utils';\n\nfunction incrementStateCounters(\n counters: MastersState['counters'],\n state: keyof MastersState['counters']['states'],\n) {\n const stateCounters = counters.states;\n stateCounters[state] = stateCounters[state] || 0;\n stateCounters[state]++;\n}\n\nfunction calculateStatusCounts(masters: Array<MasterDataItem | undefined>) {\n const initialStatusCount = {\n success: 0,\n recovery: 0,\n unavailable: 0,\n };\n\n return _.reduce(\n masters,\n (result, master) => {\n if (!master || !master.state) {\n return result;\n }\n\n switch (master.state) {\n case 'stopped':\n case 'unknown':\n result.unavailable += 1;\n break;\n case 'elections':\n case 'follower_recovery':\n case 'leader_recovery':\n result.recovery += 1;\n break;\n case 'following':\n case 'leading':\n result.success += 1;\n }\n\n return result;\n },\n initialStatusCount,\n );\n}\n\nfunction extractMasterCounters(\n primary: Required<MastersState['primary']>,\n secondary: Array<Required<MasterGroupData>>,\n {recovery, unavailable}: MastersState['counters']['states'],\n) {\n const counters: MastersState['counters'] = {\n total: secondary.length + 1,\n flags: {\n recovery: recovery,\n unavailable: unavailable,\n primary: 1,\n secondary: secondary.length,\n },\n states: {},\n };\n\n incrementStateCounters(counters, primary.quorum.status);\n\n _.each(secondary, (masters) => {\n incrementStateCounters(counters, masters.quorum.status);\n });\n\n return counters;\n}\n\nfunction getQuorum(masters: Array<MasterInstance>) {\n let existsProblematicInstance = false;\n let existsLeading = false;\n let leaderCommitedVersion;\n\n _.each(masters, (master) => {\n const masterData = master.$attributes;\n const state = master.state;\n\n if (masterData && state !== 'following' && state !== 'leading') {\n existsProblematicInstance = true;\n }\n\n if (masterData && state === 'leading') {\n existsLeading = true;\n leaderCommitedVersion = master.committedVersion;\n }\n });\n\n let status;\n\n if (existsLeading && !existsProblematicInstance) {\n status = 'quorum' as const;\n } else if (existsLeading && existsProblematicInstance) {\n status = 'weak-quorum' as const;\n } else {\n status = 'no-quorum' as const;\n }\n // TEST DATA\n // status = ['quorum', 'weak-quorum', 'no-quorum'][Math.floor(Math.random() * 3)];\n\n return {status, leaderCommitedVersion};\n}\n\nfunction getLeader(instances: any) {\n return _.find(instances, (instance) => {\n return instance.state === 'leading';\n });\n}\n\nexport interface MastersState {\n fetchingConfig: boolean;\n fetchingData: boolean;\n error?: YTError;\n initialized: boolean;\n\n mastersDataConfig?: MastersConfigResponse;\n masterData?: MasterDataResponse;\n\n counters: {\n total?: number;\n flags?: {\n recovery: number;\n unavailable: number;\n primary: number;\n secondary: number;\n };\n states: Record<string, number>;\n };\n primary: MasterGroupData;\n secondary: Array<MasterGroupData>;\n providers: MasterGroupData;\n discovery: MasterGroupData;\n queueAgents: MasterGroupData;\n}\n\nexport interface MasterGroupData {\n instances: Array<MasterInstance>;\n leader?: MasterInstance;\n quorum?: {\n status: 'quorum' | 'weak-quorum' | 'no-quorum';\n leaderCommitedVersion?: string;\n };\n cellTag?: number;\n}\n\nconst initialState: MastersState = {\n fetchingConfig: false,\n fetchingData: false,\n error: undefined,\n initialized: false,\n\n mastersDataConfig: undefined,\n masterData: undefined,\n\n counters: {states: {}},\n primary: {\n instances: [],\n leader: undefined,\n quorum: undefined,\n cellTag: undefined,\n },\n secondary: [],\n providers: {\n instances: [],\n leader: undefined,\n quorum: undefined,\n cellTag: undefined,\n },\n discovery: {\n instances: [],\n cellTag: undefined,\n },\n queueAgents: {\n instances: [],\n },\n};\n\nexport interface ResponseItem {\n host: string;\n physicalHost?: string;\n attirbutes: {\n native_cell_tag: number;\n annotations: unknown;\n };\n state: 'online' | 'offline' | 'unknown';\n}\n\nexport interface ResponseItemsGroup {\n addresses?: Array<ResponseItem>;\n cellTag?: number;\n}\n\nexport interface MastersConfigResponse {\n primaryMaster: ResponseItemsGroup;\n secondaryMasters: Array<ResponseItemsGroup>;\n discoveryServers: ResponseItemsGroup;\n queueAgents: ResponseItemsGroup;\n timestampProviders: ResponseItemsGroup;\n}\n\nfunction processMastersConfig(\n state: MastersState,\n {\n primaryMaster,\n secondaryMasters,\n timestampProviders,\n discoveryServers,\n queueAgents,\n }: MastersConfigResponse,\n) {\n const res = {\n primary: {\n instances: _.map(_.sortBy(primaryMaster.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'primary', primaryMaster.cellTag);\n }),\n cellTag: primaryMaster.cellTag,\n },\n secondary: _.map(secondaryMasters, (master) => {\n return {\n instances: _.map(_.sortBy(master.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'secondary', master.cellTag);\n }),\n cellTag: master.cellTag,\n };\n }),\n providers: {\n instances: _.map(_.sortBy(timestampProviders.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'providers', timestampProviders.cellTag);\n }),\n cellTag: timestampProviders.cellTag,\n },\n discovery: {\n instances: _.map(_.sortBy(discoveryServers.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'discovery', discoveryServers.cellTag);\n }),\n cellTag: discoveryServers.cellTag,\n },\n queueAgents: {\n instances: _.map(_.sortBy(queueAgents.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'queue_agent');\n }),\n },\n };\n return state.masterData ? processMastersData(res, state.masterData) : res;\n}\n\nexport interface MasterDataResponse {\n data: Array<BatchResultsItem<MasterDataItem>>;\n masterInfo: Array<MasterDataItemInfo>;\n}\n\nexport interface MasterDataItem {\n state:\n | 'stopped'\n | 'unknown'\n | 'elections'\n | 'follower_recovery'\n | 'leader_recovery'\n | 'following'\n | 'leading';\n}\n\nexport interface MasterDataItemInfo {\n host: string;\n type: string;\n cellTag: number;\n}\n\nfunction processMastersData(\n state: Pick<MastersState, 'primary' | 'secondary' | 'providers' | 'discovery' | 'queueAgents'>,\n {data: rawData, masterInfo}: MasterDataResponse,\n) {\n const data = _.map(rawData, (payload) => payload.output);\n\n const masterToDataIndex: Record<string, number> = {};\n for (let i = 0; i < masterInfo.length; i++) {\n const {host, type, cellTag} = masterInfo[i];\n masterToDataIndex[type + cellTag + host] = i;\n }\n\n const primaryInstances = _.map(state.primary.instances, (instance) => {\n const {host, type, cellTag} = instance.toObject();\n const key = type + cellTag + host;\n return instance.clone().update(data[masterToDataIndex[key]]);\n });\n\n const primary: Required<MasterGroupData> = {\n instances: _.orderBy(primaryInstances, (instance) => instance.$address),\n cellTag: state.primary.cellTag!,\n quorum: getQuorum(primaryInstances),\n leader: getLeader(primaryInstances),\n };\n\n const secondary = _.map(state.secondary, (master) => {\n const instances = _.map(master.instances, (instance) => {\n const {host, type, cellTag} = instance.toObject();\n const key = type + cellTag + host;\n return instance.clone().update(data[masterToDataIndex[key]]);\n });\n const res: Required<MasterGroupData> = {\n instances: _.orderBy(instances, (instance) => instance.$address),\n cellTag: master.cellTag!,\n quorum: getQuorum(instances),\n leader: getLeader(instances),\n };\n return res;\n });\n\n const providersInstances = _.map(state.providers.instances, (instance) => {\n const {host, type, cellTag} = instance.toObject();\n const key = type + cellTag + host;\n return instance.clone().update(data[masterToDataIndex[key]]);\n });\n\n const providers = {\n instances: _.orderBy(providersInstances, (instance) => instance.$address),\n cellTag: state.providers.cellTag,\n quorum: getQuorum(providersInstances),\n leader: getLeader(providersInstances),\n };\n\n const discoveryInstances = _.map(state.discovery.instances, (instance) => {\n return instance.clone().update({state: instance.$state});\n });\n\n const discovery = {\n instances: _.orderBy(discoveryInstances, (instance) => instance.$address),\n cellTag: state.providers.cellTag,\n };\n\n const queueAgentInstances = _.map(state.queueAgents.instances, (instance) => {\n return instance.clone().update({state: instance.$state});\n });\n\n const queueAgents = {\n instances: _.orderBy(queueAgentInstances, (instance) => instance.$address),\n };\n\n const statusCounts: MastersState['counters']['states'] = calculateStatusCounts(data);\n\n return {\n counters: extractMasterCounters(primary, secondary, statusCounts),\n primary,\n secondary,\n providers,\n discovery,\n queueAgents,\n };\n}\n\nfunction masters(state = initialState, action: MastersStateAction): MastersState {\n switch (action.type) {\n case FETCH_MASTER_CONFIG.REQUEST:\n return {...state, fetchingConfig: true};\n case FETCH_MASTER_CONFIG.SUCCESS:\n return {\n ...state,\n ...processMastersConfig(state, action.data),\n mastersDataConfig: action.data,\n fetchingConfig: false,\n initialized: true,\n };\n case FETCH_MASTER_DATA.REQUEST:\n return {...state, fetchingData: true};\n case FETCH_MASTER_DATA.SUCCESS:\n return {\n ...state,\n ...processMastersData(state, action.data),\n masterData: action.data,\n fetchingData: false,\n };\n case FETCH_MASTER_DATA.FAILURE:\n return {...state, fetchingData: false, error: action.data};\n default:\n return state;\n }\n}\n\nexport type MastersStateAction =\n | Action<typeof FETCH_MASTER_CONFIG.REQUEST | typeof FETCH_MASTER_DATA.REQUEST>\n | ActionD<typeof FETCH_MASTER_CONFIG.SUCCESS, MastersConfigResponse>\n | ActionD<typeof FETCH_MASTER_DATA.SUCCESS, MasterDataResponse>\n | ActionD<typeof FETCH_MASTER_DATA.FAILURE, YTError>;\n\nexport default mergeStateOnClusterChange(initialState, {}, masters);\n"],"mappings":"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"}
1
+ {"version":3,"names":["MasterInstance","FETCH_MASTER_CONFIG","FETCH_MASTER_DATA","mergeStateOnClusterChange","incrementStateCounters","counters","state","stateCounters","states","calculateStatusCounts","masters","initialStatusCount","success","recovery","unavailable","_reduce","result","master","extractMasterCounters","primary","secondary","_ref","total","length","flags","quorum","status","_each","getQuorum","existsProblematicInstance","existsLeading","leaderCommitedVersion","masterData","$attributes","committedVersion","getLeader","instances","_find","instance","initialState","fetchingConfig","fetchingData","error","undefined","initialized","mastersDataConfig","leader","cellTag","providers","discovery","queueAgents","processMastersConfig","_ref2","primaryMaster","secondaryMasters","timestampProviders","discoveryServers","res","_map","_sortBy","addresses","address","processMastersData","_ref3","rawData","data","masterInfo","payload","output","masterToDataIndex","i","_masterInfo$i","host","type","primaryInstances","_instance$toObject","toObject","key","clone","update","_orderBy","$address","_instance$toObject2","providersInstances","_instance$toObject3","discoveryInstances","$state","queueAgentInstances","statusCounts","arguments","action","REQUEST","_objectSpread","SUCCESS","FAILURE"],"sources":["masters.ts"],"sourcesContent":["import _ from 'lodash';\nimport {Action} from 'redux';\nimport {MasterInstance} from '../../../store/selectors/system/masters';\nimport {ActionD} from '../../../types';\nimport {YTError} from '../../../../@types/types';\nimport {BatchResultsItem} from '../../../../shared/yt-types';\nimport {FETCH_MASTER_CONFIG, FETCH_MASTER_DATA} from '../../../store/actions/system/masters';\nimport {mergeStateOnClusterChange} from '../../../store/reducers/utils';\n\nfunction incrementStateCounters(\n counters: MastersState['counters'],\n state: keyof MastersState['counters']['states'],\n) {\n const stateCounters = counters.states;\n stateCounters[state] = stateCounters[state] || 0;\n stateCounters[state]++;\n}\n\nfunction calculateStatusCounts(masters: Array<MasterDataItem | undefined>) {\n const initialStatusCount = {\n success: 0,\n recovery: 0,\n unavailable: 0,\n };\n\n return _.reduce(\n masters,\n (result, master) => {\n if (!master || !master.state) {\n return result;\n }\n\n switch (master.state) {\n case 'stopped':\n case 'unknown':\n result.unavailable += 1;\n break;\n case 'elections':\n case 'follower_recovery':\n case 'leader_recovery':\n result.recovery += 1;\n break;\n case 'following':\n case 'leading':\n result.success += 1;\n }\n\n return result;\n },\n initialStatusCount,\n );\n}\n\nfunction extractMasterCounters(\n primary: Required<MastersState['primary']>,\n secondary: Array<Required<MasterGroupData>>,\n {recovery, unavailable}: MastersState['counters']['states'],\n) {\n const counters: MastersState['counters'] = {\n total: secondary.length + 1,\n flags: {\n recovery: recovery,\n unavailable: unavailable,\n primary: 1,\n secondary: secondary.length,\n },\n states: {},\n };\n\n incrementStateCounters(counters, primary.quorum.status);\n\n _.each(secondary, (masters) => {\n incrementStateCounters(counters, masters.quorum.status);\n });\n\n return counters;\n}\n\nfunction getQuorum(masters: Array<MasterInstance>) {\n let existsProblematicInstance = false;\n let existsLeading = false;\n let leaderCommitedVersion;\n\n _.each(masters, (master) => {\n const masterData = master.$attributes;\n const state = master.state;\n\n if (masterData && state !== 'following' && state !== 'leading') {\n existsProblematicInstance = true;\n }\n\n if (masterData && state === 'leading') {\n existsLeading = true;\n leaderCommitedVersion = master.committedVersion;\n }\n });\n\n let status;\n\n if (existsLeading && !existsProblematicInstance) {\n status = 'quorum' as const;\n } else if (existsLeading && existsProblematicInstance) {\n status = 'weak-quorum' as const;\n } else {\n status = 'no-quorum' as const;\n }\n // TEST DATA\n // status = ['quorum', 'weak-quorum', 'no-quorum'][Math.floor(Math.random() * 3)];\n\n return {status, leaderCommitedVersion};\n}\n\nfunction getLeader(instances: any) {\n return _.find(instances, (instance) => {\n return instance.state === 'leading';\n });\n}\n\nexport interface MastersState {\n fetchingConfig: boolean;\n fetchingData: boolean;\n error?: YTError;\n initialized: boolean;\n\n mastersDataConfig?: MastersConfigResponse;\n masterData?: MasterDataResponse;\n\n counters: {\n total?: number;\n flags?: {\n recovery: number;\n unavailable: number;\n primary: number;\n secondary: number;\n };\n states: Record<string, number>;\n };\n primary: MasterGroupData;\n secondary: Array<MasterGroupData>;\n providers: MasterGroupData;\n discovery: MasterGroupData;\n queueAgents: MasterGroupData;\n}\n\nexport interface MasterGroupData {\n instances: Array<MasterInstance>;\n leader?: MasterInstance;\n quorum?: {\n status: 'quorum' | 'weak-quorum' | 'no-quorum';\n leaderCommitedVersion?: string;\n };\n cellTag?: number;\n}\n\nconst initialState: MastersState = {\n fetchingConfig: false,\n fetchingData: false,\n error: undefined,\n initialized: false,\n\n mastersDataConfig: undefined,\n masterData: undefined,\n\n counters: {states: {}},\n primary: {\n instances: [],\n leader: undefined,\n quorum: undefined,\n cellTag: undefined,\n },\n secondary: [],\n providers: {\n instances: [],\n leader: undefined,\n quorum: undefined,\n cellTag: undefined,\n },\n discovery: {\n instances: [],\n cellTag: undefined,\n },\n queueAgents: {\n instances: [],\n },\n};\n\nexport interface ResponseItem {\n host: string;\n physicalHost?: string;\n attributes: {\n native_cell_tag: number;\n annotations: unknown;\n };\n state?: 'online' | 'offline' | 'unknown';\n}\n\nexport interface ResponseItemsGroup {\n addresses?: Array<ResponseItem>;\n cellTag?: number;\n}\n\nexport interface MastersConfigResponse {\n primaryMaster: ResponseItemsGroup;\n secondaryMasters: Array<ResponseItemsGroup>;\n discoveryServers: ResponseItemsGroup;\n queueAgents: ResponseItemsGroup;\n timestampProviders: ResponseItemsGroup;\n}\n\nfunction processMastersConfig(\n state: MastersState,\n {\n primaryMaster,\n secondaryMasters,\n timestampProviders,\n discoveryServers,\n queueAgents,\n }: MastersConfigResponse,\n) {\n const res = {\n primary: {\n instances: _.map(_.sortBy(primaryMaster.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'primary', primaryMaster.cellTag);\n }),\n cellTag: primaryMaster.cellTag,\n },\n secondary: _.map(secondaryMasters, (master) => {\n return {\n instances: _.map(_.sortBy(master.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'secondary', master.cellTag);\n }),\n cellTag: master.cellTag,\n };\n }),\n providers: {\n instances: _.map(_.sortBy(timestampProviders.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'providers', timestampProviders.cellTag);\n }),\n cellTag: timestampProviders.cellTag,\n },\n discovery: {\n instances: _.map(_.sortBy(discoveryServers.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'discovery', discoveryServers.cellTag);\n }),\n cellTag: discoveryServers.cellTag,\n },\n queueAgents: {\n instances: _.map(_.sortBy(queueAgents.addresses, 'host'), (address) => {\n return new MasterInstance(address, 'queue_agent');\n }),\n },\n };\n return state.masterData ? processMastersData(res, state.masterData) : res;\n}\n\nexport interface MasterDataResponse {\n data: Array<BatchResultsItem<MasterDataItem>>;\n masterInfo: Array<MasterDataItemInfo>;\n}\n\nexport interface MasterDataItem {\n state:\n | 'stopped'\n | 'unknown'\n | 'elections'\n | 'follower_recovery'\n | 'leader_recovery'\n | 'following'\n | 'leading';\n}\n\nexport interface MasterDataItemInfo {\n host: string;\n type: string;\n cellTag: number;\n}\n\nfunction processMastersData(\n state: Pick<MastersState, 'primary' | 'secondary' | 'providers' | 'discovery' | 'queueAgents'>,\n {data: rawData, masterInfo}: MasterDataResponse,\n) {\n const data = _.map(rawData, (payload) => payload.output);\n\n const masterToDataIndex: Record<string, number> = {};\n for (let i = 0; i < masterInfo.length; i++) {\n const {host, type, cellTag} = masterInfo[i];\n masterToDataIndex[type + cellTag + host] = i;\n }\n\n const primaryInstances = _.map(state.primary.instances, (instance) => {\n const {host, type, cellTag} = instance.toObject();\n const key = type + cellTag + host;\n return instance.clone().update(data[masterToDataIndex[key]]);\n });\n\n const primary: Required<MasterGroupData> = {\n instances: _.orderBy(primaryInstances, (instance) => instance.$address),\n cellTag: state.primary.cellTag!,\n quorum: getQuorum(primaryInstances),\n leader: getLeader(primaryInstances),\n };\n\n const secondary = _.map(state.secondary, (master) => {\n const instances = _.map(master.instances, (instance) => {\n const {host, type, cellTag} = instance.toObject();\n const key = type + cellTag + host;\n return instance.clone().update(data[masterToDataIndex[key]]);\n });\n const res: Required<MasterGroupData> = {\n instances: _.orderBy(instances, (instance) => instance.$address),\n cellTag: master.cellTag!,\n quorum: getQuorum(instances),\n leader: getLeader(instances),\n };\n return res;\n });\n\n const providersInstances = _.map(state.providers.instances, (instance) => {\n const {host, type, cellTag} = instance.toObject();\n const key = type + cellTag + host;\n return instance.clone().update(data[masterToDataIndex[key]]);\n });\n\n const providers = {\n instances: _.orderBy(providersInstances, (instance) => instance.$address),\n cellTag: state.providers.cellTag,\n quorum: getQuorum(providersInstances),\n leader: getLeader(providersInstances),\n };\n\n const discoveryInstances = _.map(state.discovery.instances, (instance) => {\n return instance.clone().update({state: instance.$state});\n });\n\n const discovery = {\n instances: _.orderBy(discoveryInstances, (instance) => instance.$address),\n cellTag: state.providers.cellTag,\n };\n\n const queueAgentInstances = _.map(state.queueAgents.instances, (instance) => {\n return instance.clone().update({state: instance.$state});\n });\n\n const queueAgents = {\n instances: _.orderBy(queueAgentInstances, (instance) => instance.$address),\n };\n\n const statusCounts: MastersState['counters']['states'] = calculateStatusCounts(data);\n\n return {\n counters: extractMasterCounters(primary, secondary, statusCounts),\n primary,\n secondary,\n providers,\n discovery,\n queueAgents,\n };\n}\n\nfunction masters(state = initialState, action: MastersStateAction): MastersState {\n switch (action.type) {\n case FETCH_MASTER_CONFIG.REQUEST:\n return {...state, fetchingConfig: true};\n case FETCH_MASTER_CONFIG.SUCCESS:\n return {\n ...state,\n ...processMastersConfig(state, action.data),\n mastersDataConfig: action.data,\n fetchingConfig: false,\n initialized: true,\n };\n case FETCH_MASTER_DATA.REQUEST:\n return {...state, fetchingData: true};\n case FETCH_MASTER_DATA.SUCCESS:\n return {\n ...state,\n ...processMastersData(state, action.data),\n masterData: action.data,\n fetchingData: false,\n };\n case FETCH_MASTER_DATA.FAILURE:\n return {...state, fetchingData: false, error: action.data};\n default:\n return state;\n }\n}\n\nexport type MastersStateAction =\n | Action<typeof FETCH_MASTER_CONFIG.REQUEST | typeof FETCH_MASTER_DATA.REQUEST>\n | ActionD<typeof FETCH_MASTER_CONFIG.SUCCESS, MastersConfigResponse>\n | ActionD<typeof FETCH_MASTER_DATA.SUCCESS, MasterDataResponse>\n | ActionD<typeof FETCH_MASTER_DATA.FAILURE, YTError>;\n\nexport default mergeStateOnClusterChange(initialState, {}, masters);\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export interface AddressData {
2
2
  host: string;
3
3
  physicalHost?: string;
4
- state: 'online' | 'offline' | 'unknown';
4
+ state?: 'online' | 'offline' | 'unknown';
5
5
  }
6
6
  export declare class MasterInstance {
7
7
  $attributes: unknown;
@@ -1 +1 @@
1
- {"version":3,"names":["ypath","MasterInstance","address","type","cell","_classCallCheck","$attributes","$rowAddress","$address","$physicalAddress","$type","$cell","$state","state","committedVersion","host","physicalHost","_createClass","key","value","toObject","cellTag","clone","update","data","getValue"],"sources":["masters.ts"],"sourcesContent":["import ypath from '../../../common/thor/ypath';\n\nexport interface AddressData {\n host: string;\n physicalHost?: string;\n state: 'online' | 'offline' | 'unknown';\n}\n\nexport class MasterInstance {\n $attributes: unknown;\n\n $rowAddress: AddressData;\n $address: string;\n $physicalAddress: string;\n $type: string;\n $cell?: number;\n $state: AddressData['state'];\n state?:\n | 'elections'\n | 'follower_recovery'\n | 'following'\n | 'leader_recovery'\n | 'leading'\n | 'stopped'\n | 'unknown';\n committedVersion?: string;\n\n constructor(address: AddressData, type: string, cell?: number) {\n this.$rowAddress = address;\n this.$address = address.host;\n this.$physicalAddress = address.physicalHost || address.host;\n this.$state = address.state;\n this.$type = type; // 'primary' | 'secondary' | 'provider'\n this.$cell = cell; // Cell tag\n }\n toObject() {\n return {\n host: this.$address,\n type: this.$type,\n cellTag: this.$cell,\n };\n }\n clone() {\n return new MasterInstance(this.$rowAddress, this.$type, this.$cell);\n }\n\n update(data: unknown) {\n this.$attributes = data;\n this.state = ypath.getValue(this.$attributes, '/state') || 'unknown';\n this.committedVersion = ypath.getValue(this.$attributes, '/committed_version');\n return this;\n }\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,4BAA4B;AAQ9C,WAAaC,cAAc;EAmBvB,SAAAA,eAAYC,OAAoB,EAAEC,IAAY,EAAEC,IAAa,EAAE;IAAAC,eAAA,OAAAJ,cAAA;IAAA,KAlB/DK,WAAW;IAAA,KAEXC,WAAW;IAAA,KACXC,QAAQ;IAAA,KACRC,gBAAgB;IAAA,KAChBC,KAAK;IAAA,KACLC,KAAK;IAAA,KACLC,MAAM;IAAA,KACNC,KAAK;IAAA,KAQLC,gBAAgB;IAGZ,IAAI,CAACP,WAAW,GAAGL,OAAO;IAC1B,IAAI,CAACM,QAAQ,GAAGN,OAAO,CAACa,IAAI;IAC5B,IAAI,CAACN,gBAAgB,GAAGP,OAAO,CAACc,YAAY,IAAId,OAAO,CAACa,IAAI;IAC5D,IAAI,CAACH,MAAM,GAAGV,OAAO,CAACW,KAAK;IAC3B,IAAI,CAACH,KAAK,GAAGP,IAAI,CAAC,CAAC;IACnB,IAAI,CAACQ,KAAK,GAAGP,IAAI,CAAC,CAAC;EACvB;EAACa,YAAA,CAAAhB,cAAA;IAAAiB,GAAA;IAAAC,KAAA,EACD,SAAAC,SAAA,EAAW;MACP,OAAO;QACHL,IAAI,EAAE,IAAI,CAACP,QAAQ;QACnBL,IAAI,EAAE,IAAI,CAACO,KAAK;QAChBW,OAAO,EAAE,IAAI,CAACV;MAClB,CAAC;IACL;EAAC;IAAAO,GAAA;IAAAC,KAAA,EACD,SAAAG,MAAA,EAAQ;MACJ,OAAO,IAAIrB,cAAc,CAAC,IAAI,CAACM,WAAW,EAAE,IAAI,CAACG,KAAK,EAAE,IAAI,CAACC,KAAK,CAAC;IACvE;EAAC;IAAAO,GAAA;IAAAC,KAAA,EAED,SAAAI,OAAOC,IAAa,EAAE;MAClB,IAAI,CAAClB,WAAW,GAAGkB,IAAI;MACvB,IAAI,CAACX,KAAK,GAAGb,KAAK,CAACyB,QAAQ,CAAC,IAAI,CAACnB,WAAW,EAAE,QAAQ,CAAC,IAAI,SAAS;MACpE,IAAI,CAACQ,gBAAgB,GAAGd,KAAK,CAACyB,QAAQ,CAAC,IAAI,CAACnB,WAAW,EAAE,oBAAoB,CAAC;MAC9E,OAAO,IAAI;IACf;EAAC;EAAA,OAAAL,cAAA;AAAA"}
1
+ {"version":3,"names":["ypath","MasterInstance","address","type","cell","_classCallCheck","$attributes","$rowAddress","$address","$physicalAddress","$type","$cell","$state","state","committedVersion","host","physicalHost","_createClass","key","value","toObject","cellTag","clone","update","data","getValue"],"sources":["masters.ts"],"sourcesContent":["import ypath from '../../../common/thor/ypath';\n\nexport interface AddressData {\n host: string;\n physicalHost?: string;\n state?: 'online' | 'offline' | 'unknown';\n}\n\nexport class MasterInstance {\n $attributes: unknown;\n\n $rowAddress: AddressData;\n $address: string;\n $physicalAddress: string;\n $type: string;\n $cell?: number;\n $state: AddressData['state'];\n state?:\n | 'elections'\n | 'follower_recovery'\n | 'following'\n | 'leader_recovery'\n | 'leading'\n | 'stopped'\n | 'unknown';\n committedVersion?: string;\n\n constructor(address: AddressData, type: string, cell?: number) {\n this.$rowAddress = address;\n this.$address = address.host;\n this.$physicalAddress = address.physicalHost || address.host;\n this.$state = address.state;\n this.$type = type; // 'primary' | 'secondary' | 'provider'\n this.$cell = cell; // Cell tag\n }\n toObject() {\n return {\n host: this.$address,\n type: this.$type,\n cellTag: this.$cell,\n };\n }\n clone() {\n return new MasterInstance(this.$rowAddress, this.$type, this.$cell);\n }\n\n update(data: unknown) {\n this.$attributes = data;\n this.state = ypath.getValue(this.$attributes, '/state') || 'unknown';\n this.committedVersion = ypath.getValue(this.$attributes, '/committed_version');\n return this;\n }\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,4BAA4B;AAQ9C,WAAaC,cAAc;EAmBvB,SAAAA,eAAYC,OAAoB,EAAEC,IAAY,EAAEC,IAAa,EAAE;IAAAC,eAAA,OAAAJ,cAAA;IAAA,KAlB/DK,WAAW;IAAA,KAEXC,WAAW;IAAA,KACXC,QAAQ;IAAA,KACRC,gBAAgB;IAAA,KAChBC,KAAK;IAAA,KACLC,KAAK;IAAA,KACLC,MAAM;IAAA,KACNC,KAAK;IAAA,KAQLC,gBAAgB;IAGZ,IAAI,CAACP,WAAW,GAAGL,OAAO;IAC1B,IAAI,CAACM,QAAQ,GAAGN,OAAO,CAACa,IAAI;IAC5B,IAAI,CAACN,gBAAgB,GAAGP,OAAO,CAACc,YAAY,IAAId,OAAO,CAACa,IAAI;IAC5D,IAAI,CAACH,MAAM,GAAGV,OAAO,CAACW,KAAK;IAC3B,IAAI,CAACH,KAAK,GAAGP,IAAI,CAAC,CAAC;IACnB,IAAI,CAACQ,KAAK,GAAGP,IAAI,CAAC,CAAC;EACvB;EAACa,YAAA,CAAAhB,cAAA;IAAAiB,GAAA;IAAAC,KAAA,EACD,SAAAC,SAAA,EAAW;MACP,OAAO;QACHL,IAAI,EAAE,IAAI,CAACP,QAAQ;QACnBL,IAAI,EAAE,IAAI,CAACO,KAAK;QAChBW,OAAO,EAAE,IAAI,CAACV;MAClB,CAAC;IACL;EAAC;IAAAO,GAAA;IAAAC,KAAA,EACD,SAAAG,MAAA,EAAQ;MACJ,OAAO,IAAIrB,cAAc,CAAC,IAAI,CAACM,WAAW,EAAE,IAAI,CAACG,KAAK,EAAE,IAAI,CAACC,KAAK,CAAC;IACvE;EAAC;IAAAO,GAAA;IAAAC,KAAA,EAED,SAAAI,OAAOC,IAAa,EAAE;MAClB,IAAI,CAAClB,WAAW,GAAGkB,IAAI;MACvB,IAAI,CAACX,KAAK,GAAGb,KAAK,CAACyB,QAAQ,CAAC,IAAI,CAACnB,WAAW,EAAE,QAAQ,CAAC,IAAI,SAAS;MACpE,IAAI,CAACQ,gBAAgB,GAAGd,KAAK,CAACyB,QAAQ,CAAC,IAAI,CAACnB,WAAW,EAAE,oBAAoB,CAAC;MAC9E,OAAO,IAAI;IACf;EAAC;EAAA,OAAAL,cAAA;AAAA"}
@@ -48,7 +48,7 @@
48
48
  "js": [
49
49
  "js/runtime.9491563b.js",
50
50
  "js/vendors.75563cec.js",
51
- "js/main.9d592639.js"
51
+ "js/main.4eb01db4.js"
52
52
  ],
53
53
  "css": [
54
54
  "css/main.e919e247.css"
@@ -98,8 +98,8 @@
98
98
  "js/955.e1c8cf19.chunk.js.map": "js/955.e1c8cf19.chunk.js.map",
99
99
  "js/979.0e3142c0.chunk.js": "js/979.0e3142c0.chunk.js",
100
100
  "js/979.0e3142c0.chunk.js.map": "js/979.0e3142c0.chunk.js.map",
101
- "js/main.9d592639.js.LICENSE.txt": "js/main.9d592639.js.LICENSE.txt",
102
- "js/main.9d592639.js.map": "js/main.9d592639.js.map",
101
+ "js/main.4eb01db4.js.LICENSE.txt": "js/main.4eb01db4.js.LICENSE.txt",
102
+ "js/main.4eb01db4.js.map": "js/main.4eb01db4.js.map",
103
103
  "js/runtime.9491563b.js.map": "js/runtime.9491563b.js.map",
104
104
  "js/vendors.75563cec.js.LICENSE.txt": "js/vendors.75563cec.js.LICENSE.txt",
105
105
  "js/vendors.75563cec.js.map": "js/vendors.75563cec.js.map",
@@ -109,7 +109,7 @@
109
109
  "json.5239aa2e.worker.js.LICENSE.txt": "json.5239aa2e.worker.js.LICENSE.txt",
110
110
  "json.5239aa2e.worker.js.map": "json.5239aa2e.worker.js.map",
111
111
  "main.css": "css/main.e919e247.css",
112
- "main.js": "js/main.9d592639.js",
112
+ "main.js": "js/main.4eb01db4.js",
113
113
  "runtime.js": "js/runtime.9491563b.js",
114
114
  "vendors.js": "js/vendors.75563cec.js",
115
115
  "vis-network.js": "js/vis-network.b367d390.chunk.js"