diff --git a/src/components/Executions/ExecutionDetails/ExecutionMetadata.tsx b/src/components/Executions/ExecutionDetails/ExecutionMetadata.tsx
index 0a0302c636..19e2249b02 100644
--- a/src/components/Executions/ExecutionDetails/ExecutionMetadata.tsx
+++ b/src/components/Executions/ExecutionDetails/ExecutionMetadata.tsx
@@ -66,7 +66,13 @@ export const ExecutionMetadata: React.FC<{
const styles = useStyles();
const { domain } = execution.id;
- const { duration, error, startedAt, workflowId } = execution.closure;
+ const {
+ abortMetadata,
+ duration,
+ error,
+ startedAt,
+ workflowId
+ } = execution.closure;
const { referenceExecution, systemMetadata } = execution.spec.metadata;
const cluster = systemMetadata?.executionCluster ?? dashedValueString;
@@ -134,7 +140,12 @@ export const ExecutionMetadata: React.FC<{
))}
- {error ? : null}
+ {error || abortMetadata ? (
+
+ ) : null}
);
};
diff --git a/src/components/Executions/ExecutionDetails/ExecutionNodeViews.tsx b/src/components/Executions/ExecutionDetails/ExecutionNodeViews.tsx
index 2e5be71131..0ec09c12c5 100644
--- a/src/components/Executions/ExecutionDetails/ExecutionNodeViews.tsx
+++ b/src/components/Executions/ExecutionDetails/ExecutionNodeViews.tsx
@@ -44,6 +44,9 @@ export const ExecutionNodeViews: React.FC = ({
const filterState = useNodeExecutionFiltersState();
const tabState = useTabState(tabs, tabs.nodes.id);
const [graphStateReady, setGraphStateReady] = useState(false);
+ const {
+ closure: { abortMetadata }
+ } = execution;
/* We want to maintain the filter selection when switching away from the Nodes
tab and back, but do not want to filter the nodes when viewing the graph. So,
@@ -60,7 +63,10 @@ export const ExecutionNodeViews: React.FC = ({
-
+
);
diff --git a/src/components/Executions/Tables/ExpandableExecutionError.tsx b/src/components/Executions/Tables/ExpandableExecutionError.tsx
index eb04a58679..98197bebae 100644
--- a/src/components/Executions/Tables/ExpandableExecutionError.tsx
+++ b/src/components/Executions/Tables/ExpandableExecutionError.tsx
@@ -1,3 +1,4 @@
+import { Admin } from 'flyteidl';
import { ExpandableMonospaceText } from 'components/common/ExpandableMonospaceText';
import { ExecutionError } from 'models/Execution/types';
import * as React from 'react';
@@ -7,17 +8,23 @@ import { useExecutionTableStyles } from './styles';
* a button for copying the error string.
*/
export const ExpandableExecutionError: React.FC<{
- error: ExecutionError;
+ abortMetadata?: Admin.IAbortMetadata;
+ error?: ExecutionError;
initialExpansionState?: boolean;
onExpandCollapse?(expanded: boolean): void;
-}> = ({ error, initialExpansionState = false, onExpandCollapse }) => {
+}> = ({
+ abortMetadata,
+ error,
+ initialExpansionState = false,
+ onExpandCollapse
+}) => {
const styles = useExecutionTableStyles();
return (
);
diff --git a/src/components/Executions/Tables/NodeExecutionChildren.tsx b/src/components/Executions/Tables/NodeExecutionChildren.tsx
index 55e69db3fb..eeb9a0164f 100644
--- a/src/components/Executions/Tables/NodeExecutionChildren.tsx
+++ b/src/components/Executions/Tables/NodeExecutionChildren.tsx
@@ -2,6 +2,7 @@ import { Typography } from '@material-ui/core';
import * as classnames from 'classnames';
import { getCacheKey } from 'components/Cache/utils';
import { useTheme } from 'components/Theme/useTheme';
+import { Admin } from 'flyteidl';
import * as React from 'react';
import { NodeExecutionGroup } from '../types';
import { NodeExecutionRow } from './NodeExecutionRow';
@@ -9,12 +10,14 @@ import { useExecutionTableStyles } from './styles';
import { calculateNodeExecutionRowLeftSpacing } from './utils';
export interface NodeExecutionChildrenProps {
+ abortMetadata?: Admin.IAbortMetadata;
childGroups: NodeExecutionGroup[];
level: number;
}
/** Renders a nested list of row items for children of a NodeExecution */
export const NodeExecutionChildren: React.FC = ({
+ abortMetadata,
childGroups,
level
}) => {
@@ -33,6 +36,7 @@ export const NodeExecutionChildren: React.FC = ({
{childGroups.map(({ name, nodeExecutions }, groupIndex) => {
const rows = nodeExecutions.map((nodeExecution, index) => (
= ({
+ abortMetadata,
execution: nodeExecution,
index,
level = 0,
@@ -88,7 +91,7 @@ export const NodeExecutionRow: React.FC = ({
) : null;
const errorContent = error ? (
-
+
) : null;
const extraContent = expanded ? (
@@ -98,6 +101,7 @@ export const NodeExecutionRow: React.FC = ({
})}
>
diff --git a/src/components/Executions/Tables/NodeExecutionsTable.tsx b/src/components/Executions/Tables/NodeExecutionsTable.tsx
index 14213167ce..83f8ee7dbd 100644
--- a/src/components/Executions/Tables/NodeExecutionsTable.tsx
+++ b/src/components/Executions/Tables/NodeExecutionsTable.tsx
@@ -1,4 +1,5 @@
import * as classnames from 'classnames';
+import { Admin } from 'flyteidl';
import { getCacheKey } from 'components/Cache/utils';
import { DetailsPanel } from 'components/common/DetailsPanel';
import { useCommonStyles } from 'components/common/styles';
@@ -14,6 +15,7 @@ import { NoExecutionsContent } from './NoExecutionsContent';
import { useColumnStyles, useExecutionTableStyles } from './styles';
export interface NodeExecutionsTableProps {
+ abortMetadata?: Admin.IAbortMetadata;
nodeExecutions: NodeExecution[];
}
@@ -25,6 +27,7 @@ const scrollbarPadding = scrollbarSize();
* TaskExecutions
*/
export const NodeExecutionsTable: React.FC = ({
+ abortMetadata,
nodeExecutions
}) => {
const [
@@ -65,6 +68,7 @@ export const NodeExecutionsTable: React.FC = ({
return (
= ({
state,
style
}) => {
- const { error } = execution.closure;
+ const { abortMetadata, error } = execution.closure;
const tableStyles = useExecutionTableStyles();
const styles = useStyles();
@@ -61,11 +61,12 @@ export const WorkflowExecutionRow: React.FC = ({
))}
- {error ? (
+ {error || abortMetadata ? (
) : null}