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

Remove dev comments + reset logging levels #13

Closed
wants to merge 118 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
11be28a
[release/2.5.0] update version number
ArturNiederfahrenhorst May 17, 2023
4ea1866
Update Dask on Ray compatibility table (#35487)
ArturNiederfahrenhorst May 18, 2023
8fbae46
[CI] Fix ml_user_ray_lightning_user_test_(master|latest).aws release …
woshiyyya May 18, 2023
f1f4d69
[serve] Shutdown http proxy state (cherry-pick) (#35446)
zcin May 18, 2023
5b78ffe
[CherryPick] Revert "Add a disconnect button to the context widgets i…
sihanwang41 May 18, 2023
e0a0635
[serve] Fix `app_builder` doc code test (#35456) (#35515)
edoakes May 18, 2023
5c3f5a1
[train] Restructure `ray.train` HuggingFace modules (#35270) (#35488)
matthewdeng May 19, 2023
3e58cba
[Serve] Http proxy & router & handle to support multiplex impl (#3539…
sihanwang41 May 19, 2023
64e4926
[core] Retry failed redis request (#35249) (#35481)
fishbone May 19, 2023
f239bbc
[core] Graceful handling of returning bundles when node is removed (#…
rickyyx May 19, 2023
a2c684c
[data] Fix ragged tensor conversion with map() (#35419) (#35525)
ericl May 19, 2023
2b4a075
[Data/Train] Fix ipython representation (cherry-picking #35414) (#35483)
amogkam May 19, 2023
d2f2a3a
Make test_torch_predictor a medium test. (#35466) (#35552)
ArturNiederfahrenhorst May 19, 2023
8206571
[CI] Skip `test_multiprocessing_client_mode` on windows (#35534) (#35…
architkulkarni May 19, 2023
2812d10
[Doc] Pin deepspeed version to fix fine_tuning example (#35477) (#35563)
May 19, 2023
4705c3a
[Core] Fix the recursion error when async actor has lots of deseriali…
rkooo567 May 19, 2023
1ac29e8
Revert "Revert "[Data] Add `num_cpus` and `num_gpus` as top-level arg…
amogkam May 19, 2023
71dc286
[Serve] [Docs] Add section about LLM developers to Ray Serve docs (#3…
shrekris-anyscale May 20, 2023
1bc1ecc
[RLlib][RLlib contrib] add soft deprecation notices to maml and a3c (…
avnishn May 21, 2023
8ccc9f8
[CI] Build jar on manylinux2014 (#35538) (#35583)
ArturNiederfahrenhorst May 22, 2023
23ac335
[Doc] Remove link (#35575) (#35620)
ArturNiederfahrenhorst May 22, 2023
ce2e138
[RLlib] Fit ES and ARS results dict to rest of RLlib, enable results …
ArturNiederfahrenhorst May 22, 2023
896f834
[Serve] Fix object detection doc test failures (#35528) (#35612)
sihanwang41 May 22, 2023
c0d657a
[Data] Cherry-pick object detection example to 2.5.0 release (#35637)
raulchen May 23, 2023
5c5fdfd
[1/N] Streaming Generator. Cpp interfaces and implementation (#35291)…
rkooo567 May 23, 2023
819c6f1
[2/N] Streaming Generator. Support core worker APIs + cython generat…
rkooo567 May 24, 2023
f6410b0
[core] Fix raylet memory leak in the wrong setup. (#35647) (#35673)
fishbone May 24, 2023
f635c47
[AIR, Doc] Separate computer_vision.py into its own test of enormous …
May 24, 2023
b931fc7
[Core] Guarantee the ordering of put ActorTaskSpecTable and ActorTabl…
jjyao May 24, 2023
9c60c79
[Data] Don't convert variable-length byte data to Numpy array (#35638…
amogkam May 24, 2023
ef739c9
[Train] Fix `TorchCheckpoint` encoding directories (#35669) (#35722)
Yard1 May 24, 2023
243c39c
[Serve] Set `app_msg` to empty string by default (#35646) (#35719)
shrekris-anyscale May 24, 2023
2618cd7
[AIR][Telemetry] Record the entrypoint to AIR (`tune.run`, `Tuner.fit…
justinvyu May 24, 2023
372f1a6
[RLlib] Don't add a cpu to bundle for learner when using gpu (#35529)…
avnishn May 24, 2023
bb0d198
[Cherry-pick][3/N] Streaming Generator. E2e integration (#35325) (#35…
rkooo567 May 24, 2023
da12fb4
[Streaming Generator] Fix a reference leak when a stream is deleted w…
rkooo567 May 24, 2023
b5a775a
[air] Store unflattened metrics in _TrackedCheckpoint (#35658) (#35706)
krfricke May 25, 2023
e6d1ed7
[core] Fix GCS FD usage increase regression. (#35624) (#35738)
fishbone May 25, 2023
c9e7994
Add error details for failed jobs (#35691) (#35746)
alanwguo May 25, 2023
7eceb93
[Serve] Fix wrong log print in model multiplexing (#35702) (#35743)
sihanwang41 May 25, 2023
f94e1a0
[4/N] Support async actor and async generator interface. (#35584) (#…
rkooo567 May 25, 2023
54325a5
Fix microbenchmark (#35823) (#35824)
jjyao May 26, 2023
8f07f22
[Train] TorchCheckpoint: Specifying pickle_protocol in `torch.save()`…
woshiyyya May 26, 2023
8c0ea8d
[Train] LightningTrainer always resumes from the latest AIR checkpoin…
woshiyyya May 26, 2023
45a9ee1
[RLlib] Cherry pick: LearnerAPI + tf2 slowness (#35821)
sven1977 May 26, 2023
c3c36cc
[Streaming Generator] Fix a reference leak when pinning requests are …
rkooo567 May 26, 2023
84ec9f9
[Docs] [runtime_env] Add instructions on using `.netrc` for remote UR…
shrekris-anyscale May 26, 2023
fecc9df
[serve] Add experimental support for `StreamingResponse` using `RayOb…
edoakes May 26, 2023
af038a8
[Test] Move generators test to large (#35747) (#35772)
rkooo567 May 26, 2023
65521c4
[Streaming Generator] Allow to raise an exception to avoid check fail…
rkooo567 May 26, 2023
da0b315
[RLlib] Make resource requests for multi gpu learners not request cpu…
avnishn May 26, 2023
befb4fd
[core][state] Record file offsets instead of logging magic token to t…
rickyyx May 27, 2023
0f817b5
Add link to actor logs and message that task logs don't exist for asy…
alanwguo May 27, 2023
08c7b2e
[2.5.0 Release Disable further docker builds (#35861)
ArturNiederfahrenhorst May 30, 2023
35c71ef
Revert "[2.5.0 Release Disable further docker builds (#35861)" (#35904)
ArturNiederfahrenhorst May 30, 2023
43d8daf
[Metrics] Use autoscaler-emitted metrics for pending/active/failed no…
rkooo567 May 31, 2023
c6f17d2
Revert "[core][dashboard] Task backend GC policy - worker update [1/3…
rkooo567 May 31, 2023
5180f0f
[core] Feature flag actor task logs with off by default (#35921) (#35…
rickyyx May 31, 2023
a391dea
Deflake test_worker_kv_calls (#35744) (#36010)
jjyao Jun 2, 2023
5bb3d90
[Java] Upgrade TestNG to patch CVEs (#36027) (#36055)
jjyao Jun 3, 2023
c9ce481
Cherry pick docs PRs for contributor page, landing page, o11y (#35969)
angelinalg Jun 5, 2023
34b5620
[docs] kapa hotfix (#36036) (#36048)
angelinalg Jun 5, 2023
8793d80
[Serve][Doc] Multiplexing doc (#35701) (#35885)
sihanwang41 Jun 5, 2023
9e28c2f
[doc][core][dashboard][state] Promote state api and dashboard usage i…
rickyyx Jun 5, 2023
df3ef84
[docs] Fixing inconsistent height of cards on landing page (#35995) (…
angelinalg Jun 5, 2023
657e2f4
[Serve] Improve the replica recover scenario (#35946) (#36086)
sihanwang41 Jun 5, 2023
9a9d853
Remove rc0 from version numbers (#36096)
ArturNiederfahrenhorst Jun 5, 2023
586c376
[RLlib][Docs] Fix failing catalog docs include (#36083) (#36103)
ArturNiederfahrenhorst Jun 6, 2023
aebd969
[CI] Add commit digest in container tag suffix (#36110)
aslonnie Jun 6, 2023
ddf0cca
[Doc] Make doc code snippet testable [5/n] (#35562) (#36133)
jjyao Jun 7, 2023
df5912f
[docs] kapa ask our docs widget (#35983) (#36173)
ArturNiederfahrenhorst Jun 7, 2023
d059f5f
[docs] Distributed checkpointing in user guide (#36139) (#36184)
richardliaw Jun 8, 2023
792a7e2
remove data ingest, update batch and serving examples to be LLMs (#36…
angelinalg Jun 8, 2023
25fc3ff
[docs] Sixth cherry pick 2.5 (#36163)
angelinalg Jun 8, 2023
6ebeb3c
[docs] Scaling with Ray before Getting started (#36095) (#36183)
angelinalg Jun 8, 2023
d6050c4
Fix literalinclude path (#35660) (#36215)
angelinalg Jun 8, 2023
edc0174
[Docs] [Data] Image Classification Batch Inference example with Ray D…
amogkam Jun 8, 2023
54915ef
[autoscaler] fix too many values to unpack (expected 2) bug (#36231)…
scv119 Jun 9, 2023
c658e57
[Release] Update Version numbers to 2.5.1 (#36238)
ArturNiederfahrenhorst Jun 9, 2023
14d3aaf
Update dask on Ray table (#36240)
ArturNiederfahrenhorst Jun 9, 2023
da7c2de
[Cherry-pick][Train] Don't error on eventual success when running wit…
justinvyu Jun 9, 2023
58562cb
[Data] [Docs] Doc picks for 2.5.1 (#36267)
amogkam Jun 9, 2023
7045e90
Pick (#36272)
ArturNiederfahrenhorst Jun 9, 2023
65deb10
Fix dask on ray table (#36273)
ArturNiederfahrenhorst Jun 9, 2023
13e179e
[docs] cherry-pick Cp10 2.5.1 (#36280)
angelinalg Jun 10, 2023
b42decf
[Release Test] Pin library versions to fix LightningTrainer FSDP exam…
woshiyyya Jun 10, 2023
1d09d67
[docs]change recommended install to ray[air] (#35149) (#36248)
angelinalg Jun 10, 2023
a03efd9
Fix mypy error: Module "ray" does not explicitly export attribute "re…
raulchen Jun 13, 2023
d4a7334
add julia function descriptor to proto/cpp
kleinschmidt Aug 1, 2023
b1fd36e
make it compile
kleinschmidt Aug 2, 2023
f9f5ff5
Merge pull request #1 from beacon-biosignals/dfk/juliafunctiondescriptor
kleinschmidt Aug 4, 2023
1836913
Support JuliaFunctionDescriptor in == fallback
omus Aug 9, 2023
b247c39
Merge pull request #3 from beacon-biosignals/cv/julia-function-descri…
kleinschmidt Aug 10, 2023
c27d4ee
Enable debug-level logging on the Ray backend
omus Aug 10, 2023
a679169
Merge pull request #5 from beacon-biosignals/cv/enable-debug-logging
kleinschmidt Aug 10, 2023
97790c2
Add Raylet support for Julia
glennmoy Aug 4, 2023
209a279
Return Julia language string
glennmoy Aug 4, 2023
12d677a
EDIT: modify Java worker_pool tests to run Julia
glennmoy Aug 7, 2023
1ed4207
specify julia executable
glennmoy Aug 7, 2023
b791dd0
fix indent, add log_dir arg missing
kleinschmidt Aug 7, 2023
7d2d964
also includt log_dir when calling
kleinschmidt Aug 7, 2023
78ea957
WIP
omus Aug 9, 2023
64c55d7
Functional worker
omus Aug 9, 2023
1dea34d
Use JULIA_PROJECT
omus Aug 10, 2023
d86a5f0
Refactor RuntimeEnvContext changes
omus Aug 10, 2023
6ce8308
Funtional passing in JULIA_PROJECT
omus Aug 10, 2023
e3fd658
Cleanup
omus Aug 10, 2023
02a77d9
Rollback non-required changes
omus Aug 10, 2023
d1c502f
Use exported start_worker
omus Aug 10, 2023
3d9625d
Apply suggestions from code review
kleinschmidt Aug 10, 2023
c28a99b
Merge pull request #4 from beacon-biosignals/cv/julia-task
kleinschmidt Aug 10, 2023
66e053c
use Ray.jl as entrypoint to worker runtime
kleinschmidt Aug 15, 2023
7ad1f47
Merge pull request #6 from beacon-biosignals/dfk/using-Ray
kleinschmidt Aug 15, 2023
1c0cddc
pass `--startup_token` to julia worker
kleinschmidt Aug 18, 2023
4ceb62d
Merge pull request #7 from beacon-biosignals/dfk/startup_token
kleinschmidt Aug 18, 2023
0b1e739
Drop `DEFAULT_WORKER_EXECUTABLE` from `build_julia_worker_command` (#9)
omus Sep 14, 2023
0155184
Runtime environment can specify Julia executable and arguments (#8)
omus Sep 14, 2023
448a83c
Avoid escaping `command_prefix` (#10)
omus Sep 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .buildkite/pipeline.build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
commands:
# Build the wheels and jars
- UPLOAD_WHEELS_AS_ARTIFACTS=1 LINUX_WHEELS=1 LINUX_JARS=1 ./ci/ci.sh build
- bash ./java/build-jar-multiplatform.sh linux
# Upload the wheels and jars
# We don't want to push on PRs, in fact, the copy_files will fail because unauthenticated.
- if [ "$BUILDKITE_PULL_REQUEST" != "false" ]; then exit 0; fi
Expand Down Expand Up @@ -578,7 +577,8 @@
# Horovod needs to be installed separately (needed for API ref imports)
- ./ci/env/install-horovod.sh
# See https://stackoverflow.com/questions/63383400/error-cannot-uninstall-ruamel-yaml-while-creating-docker-image-for-azure-ml-a
- pip install mosaicml==0.12.1 --ignore-installed
# Pin urllib to avoid downstream ssl incompatibility issues. This matches requirements-doc.txt.
- pip install "mosaicml==0.12.1" "urllib3<1.27" --ignore-installed
- ./ci/ci.sh build

- label: ":octopus: Tune multinode tests"
Expand Down
6 changes: 5 additions & 1 deletion .buildkite/pipeline.gpu_large.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,11 @@
- DOC_TESTING=1 TRAIN_TESTING=1 TUNE_TESTING=1 ./ci/env/install-dependencies.sh
- pip install -Ur ./python/requirements/ml/requirements_ml_docker.txt
- ./ci/env/env_info.sh
- bazel test --config=ci $(./ci/run/bazel_export_options) --build_tests_only --test_tag_filters=gpu,-timeseries_libs,-py37,-post_wheel_build doc/...
# Test examples with newer version of `transformers`
# TODO(amogkam): Remove when https://github.com/ray-project/ray/issues/36011
# is resolved.
- pip install -U transformers
- bazel test --config=ci $(./ci/run/bazel_export_options) --build_tests_only --test_tag_filters=gpu,-timeseries_libs,-py37,-post_wheel_build,-doctest doc/...

- label: ":zap: :python: Lightning 2.0 Train GPU tests"
conditions:
Expand Down
25 changes: 25 additions & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -2619,6 +2619,31 @@ cc_test(
],
)

cc_test(
name = "chaos_redis_store_client_test",
size = "small",
srcs = ["src/ray/gcs/store_client/test/redis_store_client_test.cc"],
args = [
"$(location redis-server)",
"$(location redis-cli)",
],
copts = COPTS,
data = [
"//:redis-cli",
"//:redis-server",
],
env = {"REDIS_CHAOS": "1"},
tags = ["team:core"],
target_compatible_with = [
"@platforms//os:linux",
],
deps = [
":redis_store_client",
":store_client_test_lib",
"@com_google_googletest//:gtest_main",
],
)

cc_test(
name = "in_memory_store_client_test",
size = "small",
Expand Down
2 changes: 1 addition & 1 deletion build-docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ set -x

GPU=""
BASE_IMAGE="ubuntu:focal"
WHEEL_URL="https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-3.0.0.dev0-cp37-cp37m-manylinux2014_x86_64.whl"
WHEEL_URL="https://s3-us-west-2.amazonaws.com/ray-wheels/latest/ray-2.5.1-cp37-cp37m-manylinux2014_x86_64.whl"
PYTHON_VERSION="3.7.16"


Expand Down
17 changes: 5 additions & 12 deletions ci/build/build-docker-images.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import itertools
import os
import platform
import re
import shutil
import subprocess
import sys
Expand Down Expand Up @@ -97,16 +96,11 @@ def _get_branch():

def _release_build():
branch = _get_branch()
if branch is None:
return False
return branch != "master" and branch.startswith("releases")
return branch and branch.startswith("releases/")


def _valid_branch():
branch = _get_branch()
if branch is None:
return False
return branch == "master" or _release_build()
return _get_branch() == "master" or _release_build()


def _get_curr_dir():
Expand Down Expand Up @@ -601,13 +595,12 @@ def push_and_tag_images(
image_list: Optional[List[str]] = None,
suffix: Optional[str] = None,
):

date_tag = datetime.datetime.now().strftime("%Y-%m-%d")
sha_tag = _get_commit_sha()
if _release_build():
release_name = re.search("[0-9]+\.[0-9]+\.[0-9].*", _get_branch()).group(0)
date_tag = release_name
sha_tag = release_name
release_name = _get_branch()[len("releases/") :]
date_tag = release_name + "." + date_tag
sha_tag = release_name + "." + sha_tag

for image_name in image_list:
full_image_name = f"rayproject/{image_name}"
Expand Down
16 changes: 12 additions & 4 deletions ci/ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ test_python() {
-python/ray/tests:test_job
-python/ray/tests:test_memstat
-python/ray/tests:test_multi_node_3
-python/ray/tests:test_multiprocessing_client_mode # Flaky on Windows
-python/ray/tests:test_object_manager # OOM on test_object_directory_basic
-python/ray/tests:test_resource_demand_scheduler
-python/ray/tests:test_stress # timeout
Expand Down Expand Up @@ -434,7 +435,7 @@ validate_wheels_commit_str() {
echo "All wheels passed the sanity check and have the correct wheel commit set."
}

build_wheels() {
build_wheels_and_jars() {
# Create wheel output directory and empty contents
# If buildkite runners are re-used, wheels from previous builds might be here, so we delete them.
mkdir -p .whl
Expand Down Expand Up @@ -465,11 +466,18 @@ build_wheels() {
IMAGE_NAME="quay.io/pypa/manylinux2014_${HOSTTYPE}"
IMAGE_TAG="2022-12-20-b4884d9"

local MOUNT_ENV=()
if [ "${LINUX_JARS-}" == "1" ]; then
MOUNT_ENV+=(
-e "BUILD_JAR=1"
)
fi

if [ -z "${BUILDKITE-}" ]; then
# This command should be kept in sync with ray/python/README-building-wheels.md,
# except the "${MOUNT_BAZEL_CACHE[@]}" part.
docker run --rm -w /ray -v "${PWD}":/ray "${MOUNT_BAZEL_CACHE[@]}" \
"${IMAGE_NAME}:${IMAGE_TAG}" /ray/python/build-wheel-manylinux2014.sh
"${MOUNT_ENV[@]}" "${IMAGE_NAME}:${IMAGE_TAG}" /ray/python/build-wheel-manylinux2014.sh
else
rm -rf /ray-mount/*
rm -rf /ray-mount/.whl || true
Expand All @@ -479,7 +487,7 @@ build_wheels() {
docker run --rm -v /ray:/ray-mounted ubuntu:focal ls /
docker run --rm -v /ray:/ray-mounted ubuntu:focal ls /ray-mounted
docker run --rm -w /ray -v /ray:/ray "${MOUNT_BAZEL_CACHE[@]}" \
"${IMAGE_NAME}:${IMAGE_TAG}" /ray/python/build-wheel-manylinux2014.sh
"${MOUNT_ENV[@]}" "${IMAGE_NAME}:${IMAGE_TAG}" /ray/python/build-wheel-manylinux2014.sh
cp -rT /ray-mount /ray # copy new files back here
find . | grep whl # testing

Expand Down Expand Up @@ -767,7 +775,7 @@ build() {
fi

if [[ "${NEED_WHEELS}" == "true" ]]; then
build_wheels
build_wheels_and_jars
fi
}

Expand Down
1 change: 1 addition & 0 deletions cpp/src/ray/runtime/task/local_mode_task_submitter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ ObjectID LocalModeTaskSubmitter::Submit(InvocationSpec &invocation,
address,
1,
/*returns_dynamic=*/false,
/*is_streaming_generator*/ false,
required_resources,
required_placement_resources,
"",
Expand Down
3 changes: 2 additions & 1 deletion cpp/src/ray/runtime/task/task_executor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,8 @@ Status TaskExecutor::ExecuteTask(
std::string *application_error,
const std::vector<ConcurrencyGroup> &defined_concurrency_groups,
const std::string name_of_concurrency_group_to_execute,
bool is_reattempt) {
bool is_reattempt,
bool is_streaming_generator) {
RAY_LOG(DEBUG) << "Execute task type: " << TaskType_Name(task_type)
<< " name:" << task_name;
RAY_CHECK(ray_function.GetLanguage() == ray::Language::CPP);
Expand Down
3 changes: 2 additions & 1 deletion cpp/src/ray/runtime/task/task_executor.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,8 @@ class TaskExecutor {
std::string *application_error,
const std::vector<ConcurrencyGroup> &defined_concurrency_groups,
const std::string name_of_concurrency_group_to_execute,
bool is_reattempt);
bool is_reattempt,
bool is_streaming_generator);

virtual ~TaskExecutor(){};

Expand Down
13 changes: 12 additions & 1 deletion dashboard/client/src/pages/job/JobDetailInfoPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,18 @@ export const JobMetadataSection = ({ job }: JobMetadataSectionProps) => {
},
{
label: "Status",
content: <JobStatusWithIcon job={job} />,
content: (
<React.Fragment>
<JobStatusWithIcon job={job} />{" "}
{job.message && (
<CodeDialogButton
title="Status details"
code={job.message}
buttonText="View details"
/>
)}
</React.Fragment>
),
},
{
label: "Job ID",
Expand Down
17 changes: 17 additions & 0 deletions dashboard/client/src/pages/job/JobRow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { Link, TableCell, TableRow, Tooltip } from "@material-ui/core";
import { makeStyles } from "@material-ui/core/styles";
import React from "react";
import { Link as RouterLink } from "react-router-dom";
import { CodeDialogButtonWithPreview } from "../../common/CodeDialogButton";
import { DurationText } from "../../common/DurationText";
import { formatDateFromTimeMs } from "../../common/formatUtils";
import { JobStatusWithIcon } from "../../common/JobStatus";
Expand All @@ -22,6 +23,10 @@ const useStyles = makeStyles((theme) => ({
overflow: "hidden",
whiteSpace: "nowrap",
},
statusMessage: {
maxWidth: 250,
display: "inline-flex",
},
}));

type JobRowProps = {
Expand All @@ -34,6 +39,7 @@ export const JobRow = ({ job }: JobRowProps) => {
submission_id,
driver_info,
status,
message,
start_time,
end_time,
entrypoint,
Expand Down Expand Up @@ -87,6 +93,17 @@ export const JobRow = ({ job }: JobRowProps) => {
<TableCell align="center">
<JobStatusWithIcon job={job} />
</TableCell>
<TableCell align="center">
{message ? (
<CodeDialogButtonWithPreview
className={classes.statusMessage}
title="Status message"
code={message}
/>
) : (
"-"
)}
</TableCell>
<TableCell align="center">
{start_time && start_time > 0 ? (
<DurationText startTime={start_time} endTime={end_time} />
Expand Down
1 change: 1 addition & 0 deletions dashboard/client/src/pages/job/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ const columns = [
{ label: "Submission ID" },
{ label: "Entrypoint" },
{ label: "Status" },
{ label: "Status message" },
{ label: "Duration" },
{
label: "Tasks",
Expand Down
18 changes: 17 additions & 1 deletion dashboard/client/src/pages/serve/ServeApplicationDetailPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ const useStyles = makeStyles((theme) =>
helpInfo: {
marginLeft: theme.spacing(1),
},
statusMessage: {
display: "inline-flex",
maxWidth: "100%",
},
}),
);

Expand Down Expand Up @@ -91,7 +95,19 @@ export const ServeApplicationDetailPage = () => {
{
label: "Status",
content: (
<StatusChip type="serveApplication" status={application.status} />
<React.Fragment>
<StatusChip
type="serveApplication"
status={application.status}
/>{" "}
{application.message && (
<CodeDialogButton
title="Status details"
code={application.message}
buttonText="View details"
/>
)}
</React.Fragment>
),
},
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { render, screen } from "@testing-library/react";
import userEvent from "@testing-library/user-event";
import React from "react";
import { getActor } from "../../service/actor";
import { getServeApplications } from "../../service/serve";
Expand All @@ -19,7 +18,7 @@ const mockGetActor = jest.mocked(getActor);

describe("ServeApplicationsListPage", () => {
it("renders list", async () => {
expect.assertions(15);
expect.assertions(14);

// Mock ServeController actor fetch
mockGetActor.mockResolvedValue({
Expand Down Expand Up @@ -81,8 +80,6 @@ describe("ServeApplicationsListPage", () => {

render(<ServeApplicationsListPage />, { wrapper: TEST_APP_WRAPPER });

const user = userEvent.setup();

await screen.findByText("System");
expect(screen.getByText("System")).toBeVisible();
expect(screen.getByText("1.2.3.4")).toBeVisible();
Expand All @@ -106,11 +103,6 @@ describe("ServeApplicationsListPage", () => {
expect(screen.getByText("/second-app")).toBeVisible();
expect(screen.getByText("DEPLOYING")).toBeVisible();

// Config dialog
await user.click(screen.getAllByText("View")[0]);
await screen.findByText(/import_path: home:graph/);
expect(screen.getByText(/import_path: home:graph/)).toBeVisible();

expect(screen.getByText("Metrics")).toBeVisible();
});
});
5 changes: 5 additions & 0 deletions dashboard/client/src/pages/serve/ServeDeploymentRow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ const useStyles = makeStyles((theme) =>
fontSize: "1.5em",
verticalAlign: "middle",
},
statusMessage: {
maxWidth: 400,
display: "inline-flex",
},
}),
);

Expand Down Expand Up @@ -100,6 +104,7 @@ export const ServeDeploymentRow = ({
<TableCell align="center">
{message ? (
<CodeDialogButtonWithPreview
className={classes.statusMessage}
title="Message details"
code={message}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,10 @@ export const ServeSystemActorDetail = ({
label: "Status",
content:
actor.type === "httpProxy" ? (
<StatusChip type="serveReplica" status={actor.detail.status} />
<StatusChip
type="serveHttpProxy"
status={actor.detail.status}
/>
) : fetchedActor ? (
<StatusChip
type="serveController"
Expand Down
Loading
Loading