Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update #4

Merged
merged 49 commits into from
Jan 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
e9689ed
[Core][run_function_on_all_workers] deflake run_function_on_all_work…
scv119 Jan 22, 2023
c8c1da7
[docs] Update reference K8s configuration in large cluster deployment…
DmitriGekhtman Jan 22, 2023
cdb3780
Polish the new IA for dashboard (#31770)
alanwguo Jan 23, 2023
c694dae
[Core][Bug Fix] Do not start the http server if include_dashboard is …
rkooo567 Jan 23, 2023
25d3d52
[Core][Worker] opportunistically start import_thread if job_id is set…
scv119 Jan 23, 2023
228b87f
[1/N][Advanced timeline] Include events/profiling events to the ray l…
rkooo567 Jan 23, 2023
ec3243d
[Core][Enable gcs scheduler 7/n] Prefer actor owner's node (#30789)
Chong-Li Jan 23, 2023
96854d5
[Core] Raise deprecation warning when passing non-iterables to imap a…
cadedaniel Jan 23, 2023
9ab6421
[core] Delete old internal kv gcs (#31841)
fishbone Jan 23, 2023
7c58114
[RLlib] `MultiAgentEnv.reset()` does not call super.reset(seed=...). …
sven1977 Jan 23, 2023
40c4571
Make sure all-to-all operator return num outputs so progress bar can …
jianoaix Jan 23, 2023
58386d0
Revert "[AIR] Deprecations for 2.3 (#31763)" (#31866)
Jan 23, 2023
54d87bc
[Dataset] Use job-based file manager for SDK runner in iter_tensor_ba…
scottjlee Jan 23, 2023
46b3bef
Revert "Revert "[AIR] Deprecations for 2.3 (#31763)" (#31866)" (#31867)
Jan 23, 2023
3b09a54
[ci][core] Fix state api large scale test log prefix mismath (#31865)
rickyyx Jan 23, 2023
ee23cc8
Documentation about using existing Grafana instance. (#31667)
tbukic Jan 23, 2023
33d4b14
[Tune] Nevergrad optimizer with extra parameters (#31015)
yhna940 Jan 23, 2023
0c69020
Revert "Simplify logging configuration. (#30863)" (#31858)
rkooo567 Jan 23, 2023
86bd6c6
[core][state] Proper report of failure when job finishes and for fini…
rickyyx Jan 23, 2023
9bebf57
[Train] Change default `NCCL_SOCKET_IFNAME` to blacklist `veth` (#31824)
amogkam Jan 24, 2023
d28007d
[Core] temporary stop testing python grpcio prerelease package (#31873)
scv119 Jan 24, 2023
aa7d5d9
[spark] ray on spark creates spark job using stage scheduling (#31397)
WeichenXu123 Jan 24, 2023
3e1cdeb
Fix setup-dev.py stdlib import shadowing (#31829)
krfricke Jan 24, 2023
e7aabe8
[serve][docs] Document Gradio visualization (#28310)
zcin Jan 24, 2023
0cf060d
[autoscaler] Add flag to disable periodic cluster status log. (#31869)
DmitriGekhtman Jan 24, 2023
5682ef9
Fixes for the new bulk execution backend (#31884)
jianoaix Jan 24, 2023
e69fad4
[AIR] Remove `Checkpoint._object_ref` (#31777)
bveeramani Jan 24, 2023
0a379af
[RLlib] Document RLlib fault tolerance and elastic training behaviors…
Jan 24, 2023
51f2d93
[State API] Fix a broken Window test (#31889)
rkooo567 Jan 24, 2023
8c88bdc
[serve][python3.11] Use tasks/futures for asyncio.wait (#31608)
zcin Jan 24, 2023
50c0395
[wandb] Have train_loop_config logged as a config. (#31901)
xwjiang2010 Jan 24, 2023
73c60fd
[RLlib] Introduce ModuleSpecs to construct TrainerRunner from Policie…
kouroshHakha Jan 24, 2023
47f4da3
[Tune] Enable experiment restore from moved cloud uri (#31669)
justinvyu Jan 24, 2023
b1c261c
[release] fix pytorch pbt failure test. (#31791)
xwjiang2010 Jan 24, 2023
c464207
[State API] Improve task api (#31847)
rkooo567 Jan 24, 2023
877770e
[WIP] Bulk executor initial implementation (#30903)
ericl Jan 25, 2023
dbb3a5f
[RLlib] [Doc ]fix the broken Tune reference (#31918)
kouroshHakha Jan 25, 2023
4cb0081
[docs] fix small train render issue (#31735)
maxpumperla Jan 25, 2023
c85e453
[docs] add volcano integration (#31699)
maxpumperla Jan 25, 2023
7018e1e
[docs] maintain scrollbar position on redirects, fixes #31789 (#31804)
maxpumperla Jan 25, 2023
220b7cc
[docs] typos in installation.rst (#31903)
angelinalg Jan 25, 2023
477910b
[RLlib] Clean up some algorithm.py config dict uses (replace by confi…
sven1977 Jan 25, 2023
41e1685
[core] Add the function to cleanup Redis backend. (#31782)
fishbone Jan 25, 2023
6aec692
[Serve] Document end-to-end timeout in Serve (#31769)
shrekris-anyscale Jan 25, 2023
b7d6f2f
[core] Deflakey gcs server rpc test (#31919)
fishbone Jan 25, 2023
d9dd326
[core] Migrate many_nodes_actor_tests to new cloud. (#31863)
fishbone Jan 25, 2023
455100b
[Serve] Upgrade deprecated calls (#31839)
shrekris-anyscale Jan 25, 2023
3e310f3
[data] New executor [9/n]--- enforce resource limits during streaming…
ericl Jan 25, 2023
fe65c3e
[Data] Set the num actor to 10 for xgboost batch prediction benchmark…
jianoaix Jan 25, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -2735,6 +2735,7 @@ pyx_library(
"//:global_state_accessor_lib",
"//:ray_util",
"//:raylet_lib",
"//:redis_client",
"//:src/ray/ray_exported_symbols.lds",
"//:src/ray/ray_version_script.lds",
"//:stats_lib",
Expand Down
3 changes: 2 additions & 1 deletion ci/env/install-core-prerelease-dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
set -e

# install all unbounded dependencies in setup.py for ray core
for dependency in attrs jsonschema aiosignal frozenlist requests grpcio protobuf
# TOOD(scv119) reenable grpcio once https://github.com/grpc/grpc/issues/31885 is fixed.
for dependency in attrs jsonschema aiosignal frozenlist requests protobuf
do
python -m pip install -U --pre --upgrade-strategy=eager $dependency
done
1 change: 1 addition & 0 deletions ci/pipeline/determine_tests_to_run.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,7 @@ def get_commit_range():
RAY_CI_SERVE_AFFECTED = 1
RAY_CI_LINUX_WHEELS_AFFECTED = 1
RAY_CI_MACOS_WHEELS_AFFECTED = 1
RAY_CI_JAVA_AFFECTED = 1
elif changed_file.startswith("python/ray/dashboard"):
RAY_CI_DASHBOARD_AFFECTED = 1
# https://github.com/ray-project/ray/pull/15981
Expand Down
11 changes: 10 additions & 1 deletion dashboard/client/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import Events from "./pages/event/Events";
import Loading from "./pages/exception/Loading";
import JobList, { NewIAJobsPage } from "./pages/job";
import { JobDetailChartsPage } from "./pages/job/JobDetail";
import { JobDetailActorsPage } from "./pages/job/JobDetailActorPage";
import { JobDetailInfoPage } from "./pages/job/JobDetailInfoPage";
import { JobDetailLayout } from "./pages/job/JobDetailLayout";
import { DEFAULT_VALUE, MainNavContext } from "./pages/layout/mainNavContext";
Expand Down Expand Up @@ -205,11 +206,19 @@ const App = () => {
<Route
element={
<SideTabPage tabId="charts">
<JobDetailChartsPage />
<JobDetailChartsPage newIA />
</SideTabPage>
}
path=""
/>
<Route
element={
<SideTabPage tabId="actors">
<JobDetailActorsPage />
</SideTabPage>
}
path="actors"
/>
</Route>
</Route>
<Route element={<NewIALogsPage />} path="logs">
Expand Down
48 changes: 38 additions & 10 deletions dashboard/client/src/common/CollapsibleSection.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { createStyles, makeStyles, Typography } from "@material-ui/core";
import React, { PropsWithChildren, useState } from "react";
import { RiArrowDownSLine, RiArrowUpSLine } from "react-icons/ri";
import classNames from "classnames";
import React, { PropsWithChildren, useEffect, useState } from "react";
import { RiArrowDownSLine, RiArrowRightSLine } from "react-icons/ri";
import { ClassNameProps } from "./props";

const useStyles = makeStyles((theme) =>
createStyles({
Expand All @@ -10,32 +12,50 @@ const useStyles = makeStyles((theme) =>
flexWrap: "nowrap",
alignItems: "center",
fontWeight: 500,
cursor: "pointer",
},
icon: {
marginRight: theme.spacing(1),
width: 24,
height: 24,
},
body: {
marginTop: theme.spacing(3),
marginTop: theme.spacing(1),
},
bodyHidden: {
display: "none",
},
}),
);

type CollapsibleSectionProps = PropsWithChildren<{
title: string;
startExpanded?: boolean;
className?: string;
}>;
type CollapsibleSectionProps = PropsWithChildren<
{
title: string;
startExpanded?: boolean;
/**
* An optimization to not avoid re-rendering the contents of the collapsible section.
* When enabled, we will keep the content around when collapsing but hide it via css.
*/
keepRendered?: boolean;
} & ClassNameProps
>;

export const CollapsibleSection = ({
title,
startExpanded = false,
className,
children,
keepRendered,
}: CollapsibleSectionProps) => {
const classes = useStyles();
const [expanded, setExpanded] = useState(startExpanded);
const [rendered, setRendered] = useState(expanded);

useEffect(() => {
if (expanded) {
setRendered(true);
}
}, [expanded]);

const handleExpandClick = () => {
setExpanded(!expanded);
Expand All @@ -51,11 +71,19 @@ export const CollapsibleSection = ({
{expanded ? (
<RiArrowDownSLine className={classes.icon} />
) : (
<RiArrowUpSLine className={classes.icon} />
<RiArrowRightSLine className={classes.icon} />
)}
{title}
</Typography>
{expanded && <div className={classes.body}>{children}</div>}
{(expanded || (keepRendered && rendered)) && (
<div
className={classNames(classes.body, {
[classes.bodyHidden]: !expanded,
})}
>
{children}
</div>
)}
</div>
);
};
31 changes: 25 additions & 6 deletions dashboard/client/src/components/TaskTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,11 @@ import {
import Autocomplete from "@material-ui/lab/Autocomplete";
import Pagination from "@material-ui/lab/Pagination";
import React, { useState } from "react";
import { DurationText } from "../common/DurationText";
import rowStyles from "../common/RowStyles";
import { Task } from "../type/task";
import { useFilter } from "../util/hook";
import StateCounter from "./StatesCounter";
import { StatusChip } from "./StatusChip";

const TaskTable = ({
Expand All @@ -36,7 +38,8 @@ const TaskTable = ({
{ label: "ID" },
{ label: "Name" },
{ label: "Job Id" },
{ label: "Scheduling State" },
{ label: "State" },
{ label: "Duration" },
{ label: "Function or Class Name" },
{ label: "Node Id" },
{ label: "Actor_id" },
Expand All @@ -59,12 +62,12 @@ const TaskTable = ({
/>
<Autocomplete
style={{ margin: 8, width: 120 }}
options={Array.from(new Set(tasks.map((e) => e.scheduling_state)))}
options={Array.from(new Set(tasks.map((e) => e.state)))}
onInputChange={(_: any, value: string) => {
changeFilter("scheduling_state", value.trim());
changeFilter("state", value.trim());
}}
renderInput={(params: TextFieldProps) => (
<TextField {...params} label="Scheduling State" />
<TextField {...params} label="State" />
)}
/>
<Autocomplete
Expand Down Expand Up @@ -121,6 +124,9 @@ const TaskTable = ({
count={Math.ceil(taskList.length / pageSize)}
/>
</div>
<div>
<StateCounter type="task" list={taskList} />
</div>
</div>
<Table>
<TableHead>
Expand All @@ -140,12 +146,15 @@ const TaskTable = ({
task_id,
name,
job_id,
scheduling_state,
state,
func_or_class_name,
node_id,
actor_id,
type,
required_resources,
events,
start_time_ms,
end_time_ms,
}) => (
<TableRow>
<TableCell align="center">
Expand All @@ -161,7 +170,17 @@ const TaskTable = ({
<TableCell align="center">{name ? name : "-"}</TableCell>
<TableCell align="center">{job_id}</TableCell>
<TableCell align="center">
<StatusChip type="actor" status={scheduling_state} />
<StatusChip type="actor" status={state} />
</TableCell>
<TableCell align="center">
{start_time_ms && start_time_ms > 0 ? (
<DurationText
startTime={start_time_ms}
endTime={end_time_ms}
/>
) : (
"-"
)}
</TableCell>
<TableCell align="center">{func_or_class_name}</TableCell>
<TableCell align="center">{node_id ? node_id : "-"}</TableCell>
Expand Down
8 changes: 7 additions & 1 deletion dashboard/client/src/pages/job/JobDetail.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,13 @@ const useStyle = makeStyles((theme) => ({
},
}));

export const JobDetailChartsPage = () => {
type JobDetailChartsPageProps = {
newIA?: boolean;
};

export const JobDetailChartsPage = ({
newIA = false,
}: JobDetailChartsPageProps) => {
const classes = useStyle();
const { job, msg, params } = useJobDetail();
const jobId = params.id;
Expand Down
37 changes: 37 additions & 0 deletions dashboard/client/src/pages/job/JobDetailActorPage.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import { makeStyles } from "@material-ui/core";
import React from "react";

import TitleCard from "../../components/TitleCard";
import ActorList from "../actor/ActorList";
import { MainNavPageInfo } from "../layout/mainNavContext";
import { useJobDetail } from "./hook/useJobDetail";

const useStyle = makeStyles((theme) => ({
root: {
padding: theme.spacing(2),
},
}));

export const JobDetailActorsPage = () => {
const classes = useStyle();
const { job, params } = useJobDetail();

const pageInfo = job
? {
title: "Actors",
id: "actors",
path: job.job_id ? `/new/jobs/${job.job_id}/actors` : undefined,
}
: {
title: "Actors",
id: "actors",
path: undefined,
};

return (
<div className={classes.root}>
<MainNavPageInfo pageInfo={pageInfo} />
<TitleCard title="Actors">{<ActorList jobId={params.id} />}</TitleCard>
</div>
);
};
12 changes: 11 additions & 1 deletion dashboard/client/src/pages/job/JobDetailLayout.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import React from "react";
import { RiInformationLine, RiLineChartLine } from "react-icons/ri";
import {
RiGradienterLine,
RiInformationLine,
RiLineChartLine,
} from "react-icons/ri";
import { MainNavPageInfo } from "../layout/mainNavContext";
import { SideTabLayout, SideTabRouteLink } from "../layout/SideTabLayout";
import { useJobDetail } from "./hook/useJobDetail";
Expand Down Expand Up @@ -29,6 +33,12 @@ export const JobDetailLayout = () => {
title="Charts"
Icon={RiLineChartLine}
/>
<SideTabRouteLink
to="actors"
tabId="actors"
title="Actors"
Icon={RiGradienterLine}
/>
</SideTabLayout>
);
};
19 changes: 13 additions & 6 deletions dashboard/client/src/pages/layout/MainNavLayout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -88,13 +88,14 @@ const useMainNavBarStyles = makeStyles((theme) =>
boxShadow: "0px 1px 0px #D2DCE6",
},
logo: {
width: 60,
display: "flex",
justifyContent: "center",
marginLeft: theme.spacing(2),
marginRight: theme.spacing(3),
},
navItem: {
marginRight: theme.spacing(2),
fontSize: "1em",
marginRight: theme.spacing(6),
fontSize: "1rem",
fontWeight: 500,
color: "black",
textDecoration: "none",
Expand Down Expand Up @@ -211,15 +212,21 @@ const MainNavBreadcrumbs = () => {
);
if (index === 0) {
return (
<Typography key={id} className={classes.breadcrumbItem}>
<Typography
key={id}
className={classes.breadcrumbItem}
variant="body2"
>
{linkOrText}
</Typography>
);
} else {
return (
<React.Fragment key={id}>
<Typography className={classes.breadcrumbItem}>{"/"}</Typography>
<Typography className={classes.breadcrumbItem}>
<Typography className={classes.breadcrumbItem} variant="body2">
{"/"}
</Typography>
<Typography className={classes.breadcrumbItem} variant="body2">
{linkOrText}
</Typography>
</React.Fragment>
Expand Down
2 changes: 1 addition & 1 deletion dashboard/client/src/pages/log/Logs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ const Logs = (props: LogsProps) => {
setEnd,
} = useLogs(props);
const { newIA } = props;
let href = newIA ? "#/new/log/" : "#/log/";
let href = newIA ? "#/new/logs/" : "#/log/";

if (origin) {
if (path) {
Expand Down
Loading