Skip to content

Commit

Permalink
Fix grid view log try numbers (#26556)
Browse files Browse the repository at this point in the history
* redo how try numbers are displayed in grid view logs

* rename attempt -> tryNumber

(cherry picked from commit 6a69ad0)
  • Loading branch information
bbovenzi authored and jedcunningham committed Sep 26, 2022
1 parent fc9b588 commit 8a9f0af
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 21 deletions.
Expand Up @@ -85,7 +85,7 @@ describe('Test Logs Component.', () => {
dagRunId: 'dummyDagRunId',
fullContent: false,
taskId: 'dummyTaskId',
taskTryNumber: 1,
taskTryNumber: 2,
});
});

Expand Down Expand Up @@ -146,7 +146,7 @@ describe('Test Logs Component.', () => {
fullContent: false,
mapIndex: 1,
taskId: 'dummyTaskId',
taskTryNumber: 1,
taskTryNumber: 2,
});
});

Expand All @@ -172,18 +172,18 @@ describe('Test Logs Component.', () => {
dagRunId: 'dummyDagRunId',
fullContent: false,
taskId: 'dummyTaskId',
taskTryNumber: 1,
taskTryNumber: 2,
});
const attemptButton2 = getByTestId('log-attempt-select-button-2');
const attemptButton1 = getByTestId('log-attempt-select-button-1');

fireEvent.click(attemptButton2);
fireEvent.click(attemptButton1);

expect(useTaskLogMock).toHaveBeenLastCalledWith({
dagId: 'dummyDagId',
dagRunId: 'dummyDagRunId',
fullContent: false,
taskId: 'dummyTaskId',
taskTryNumber: 2,
taskTryNumber: 1,
});
});

Expand All @@ -203,7 +203,7 @@ describe('Test Logs Component.', () => {
dagRunId: 'dummyDagRunId',
fullContent: false,
taskId: 'dummyTaskId',
taskTryNumber: 1,
taskTryNumber: 2,
});
const fullContentCheckbox = getByTestId('full-content-checkbox');

Expand All @@ -214,7 +214,7 @@ describe('Test Logs Component.', () => {
dagRunId: 'dummyDagRunId',
fullContent: true,
taskId: 'dummyTaskId',
taskTryNumber: 1,
taskTryNumber: 2,
});
});
});
28 changes: 15 additions & 13 deletions airflow/www/static/js/dag/details/taskInstance/Logs/index.tsx
Expand Up @@ -61,13 +61,12 @@ const getLinkIndexes = (tryNumber: number | undefined): Array<Array<number>> =>
const externalIndexes: Array<number> = [];

if (tryNumber) {
[...Array(tryNumber + 1 || 0)].forEach((_, index) => {
if (index === 0 && tryNumber < 2) return;
const isExternal = index !== 0 && showExternalLogRedirect;
if (isExternal) {
externalIndexes.push(index);
[...Array(tryNumber)].forEach((_, index) => {
const tryNum = index + 1;
if (showExternalLogRedirect) {
externalIndexes.push(tryNum);
} else {
internalIndexes.push(index);
internalIndexes.push(tryNum);
}
});
}
Expand Down Expand Up @@ -99,18 +98,21 @@ const Logs = ({
tryNumber,
}: Props) => {
const [internalIndexes, externalIndexes] = getLinkIndexes(tryNumber);
const [selectedAttempt, setSelectedAttempt] = useState(1);
const [selectedTryNumber, setSelectedTryNumber] = useState<number | undefined>();
const [shouldRequestFullContent, setShouldRequestFullContent] = useState(false);
const [wrap, setWrap] = useState(getMetaValue('default_wrap') === 'True');
const [logLevelFilters, setLogLevelFilters] = useState<Array<LogLevelOption>>([]);
const [fileSourceFilters, setFileSourceFilters] = useState<Array<FileSourceOption>>([]);
const { timezone } = useTimezone();

//
const taskTryNumber = selectedTryNumber || tryNumber || 1;
const { data, isSuccess } = useTaskLog({
dagId,
dagRunId,
taskId,
mapIndex,
taskTryNumber: selectedAttempt,
taskTryNumber,
fullContent: shouldRequestFullContent,
});

Expand Down Expand Up @@ -144,8 +146,8 @@ const Logs = ({
useEffect(() => {
// Reset fileSourceFilters and selected attempt when changing to
// a task that do not have those filters anymore.
if (!internalIndexes.includes(selectedAttempt) && internalIndexes.length) {
setSelectedAttempt(internalIndexes[0]);
if (taskTryNumber > (tryNumber || 1)) {
setSelectedTryNumber(undefined);
}

if (data && fileSourceFilters.length > 0
Expand All @@ -155,7 +157,7 @@ const Logs = ({
)) {
setFileSourceFilters([]);
}
}, [data, internalIndexes, fileSourceFilters, fileSources, selectedAttempt]);
}, [data, fileSourceFilters, fileSources, taskTryNumber, tryNumber]);

return (
<>
Expand All @@ -167,9 +169,9 @@ const Logs = ({
{internalIndexes.map((index) => (
<Button
key={index}
variant={selectedAttempt === index ? 'solid' : 'ghost'}
variant={taskTryNumber === index ? 'solid' : 'ghost'}
colorScheme="blue"
onClick={() => setSelectedAttempt(index)}
onClick={() => setSelectedTryNumber(index)}
data-testid={`log-attempt-select-button-${index}`}
>
{index}
Expand Down

0 comments on commit 8a9f0af

Please sign in to comment.