Philipp Oppermann
5bda3338af
Only add `[...]` omission marker if stderr buffer is full
1 year ago
Philipp Oppermann
ee394361e9
Add error cause for grace duration kills
1 year ago
Philipp Oppermann
5a210b688f
Merge branch 'main' into better-errors
1 year ago
Philipp Oppermann
912338d806
Shorten node_exited_before_subscribe error message
1 year ago
Philipp Oppermann
b231df1b82
Report last 10 stderr lines on node failure
1 year ago
Philipp Oppermann
72bc9cd74e
Print error causes and include node that caused error
1 year ago
Philipp Oppermann
4e69495012
Fix: Pass `cascading_errors` as arg to ensure that it is always applied
Before this commit, there were some cases where the returned `DataflowStatus` was ignored and the reported `cascading_errors` were never applied.
1 year ago
Philipp Oppermann
9425e4a540
Merge branch 'main' into better-errors
1 year ago
Philipp Oppermann
71ea44ad01
Mark node failures as cascading on init errors caused by other nodes
The init function returns an error if another node exited before initialization. In this case, we consider the subsequent error as a cascading error and skip it when printing the error message to the user.
1 year ago
XxChang
d9ed1dc251
Merge branch 'main' of https://github.com/dora-rs/dora into update_dora_new
1 year ago
Haixuan Xavier Tao
f34cbe2ffc
Merge pull request #517 from dora-rs/detached-python-process
Run dynamic node
1 year ago
Philipp Oppermann
3019eba371
Print only first node error and report more metadata in dataflow results
Allows us to mark certain node errors as cascading, which will deprioritize them when printed.
Also updates the error printing code to only print the error that happened first.
1 year ago
haixuanTao
7d3a5de1c5
Make rust flexible logic and make sure to always use env variables DORA_NODE_CONFIG if it exists.
This remove the complexity of having to rename the node id when used within a yaml configuration.
1 year ago
XxChang
ecc00f2b80
minor
1 year ago
haixuanTao
a0a95b730c
Rename dynamic node listener -> local listener
1 year ago
Philipp Oppermann
4f39c50a1c
Merge pull request #537 from dora-rs/improve-logging
Small logging improvements
1 year ago
haixuanTao
d180aa7345
Adding configuration for dynamic nodes port
1 year ago
haixuanTao
3ad402ce45
Add dynamic node event loop and dynamic node connection
1 year ago
EricLBuehler
6c62246e53
Fix typos
1 year ago
Philipp Oppermann
80671c8133
Add more details when dropping node inputs
1 year ago
Philipp Oppermann
3e891601dd
Reduce log level for node output
1 year ago
Haixuan Xavier Tao
ec6af9705d
Merge pull request #510 from dora-rs/non-fatal-stdout
Make non-UTF8 stdout/stderr from nodes non-fatal
1 year ago
Philipp Oppermann
a832b53a1a
Make non-UTF8 stdout/stderr from nodes non-fatal
Log a warning instead and do a lossy conversion to String. This ensures that `stdout`/`stderr` stay open, which avoids a `SIGPIPE` exit of the node on the next println.
1 year ago
Philipp Oppermann
29bdc49455
Merge `env` and `envs` fields
As discussed in https://github.com/dora-rs/dora/pull/478#discussion_r1610005764
1 year ago
Philipp Oppermann
22ba6e02a5
Adjust dataflow node parsing to be more flexible
We plan to (soft-)remove operators and simplify the dataflow YAML file by removing the additional nesting caused by the `custom` field. This commit prepares for that. See #474 for context.
2 years ago
haixuanTao
9f8bb2c0a5
Use u32 instead of usize for PID
2 years ago
haixuanTao
a631cafe52
Reply to stop msg immediately to coordinator
2 years ago
haixuanTao
e66b7ce67b
Adding long arg for grace duration and adding more grace duration within the CI
2 years ago
haixuanTao
b9f67a2855
Add grace duration and kill process
2 years ago
Michael-J-Ward
ae9e19e57f
refactor: format error messages without allocating a string for each line
I added a test to confirm the output matches the old.
Fixes clippy warning clippy::format_collect
https://rust-lang.github.io/rust-clippy/master/index.html#/format_collect
2 years ago
Michael-J-Ward
dfe298eb1e
lint: fix clippy lints
2 years ago
Philipp Oppermann
01707fc14d
Fix: Use `peer_addr` of incoming daemon register request for listen socket
We are not interested in the local bind address of the daemon. Instead, we want to use the IP address under which the daemon is available from other machines.
This should also avoids the issue that connecting to 0.0.0.0 is not possible on Windows (we want to use 0.0.0.0 as default bind address).
2 years ago
Philipp Oppermann
e76f497939
Revert "revert to daemons listening to 127.0.0.1 by default"
This reverts commit 4af82a4833 .
2 years ago
Michael-J-Ward
4af82a4833
revert to daemons listening to 127.0.0.1 by default
clients can not connect to `0.0.0.0` on windows.
2 years ago
Michael-J-Ward
f6590224b4
feat: add bind configuration for the inter_daemon listener
Ref: #459
2 years ago
haixuanTao
c6948c1644
Only use conda if conda is present
2 years ago
haixuanTao
15af539729
Adding customizing `conda_env` within Python operator
This commit makes it possible to specify the conda env that we want to use in
a specific operator.
```yaml
- id: robot
operator:
python:
source: ../operators/robot.py
conda_env: robomaster
```
This will call:
```bash
conda run -n robomaster python -c "import dora; dora.start_runtime()"
```
2 years ago
Philipp Oppermann
14bb4fbfb7
Merge pull request #429 from dora-rs/out_dir
Send runs artefacts into a dedicated `out` folder
2 years ago
haixuanTao
f0db125499
Use `Uuid::v7` to have chronological Uuid
2 years ago
haixuanTao
99026243ba
Push logs into `out/<dataflow_id>/log_<node_id>.txt` instead of `temp_dir` to make it easier to check
2 years ago
haixuanTao
b32a7e4924
Make `send_stdout_as` fail if there is more than one entry for a runtime node
2 years ago
haixuanTao
12af6a1007
Removing unused imports
2 years ago
haixuanTao
aa81da0142
Add possibility to send stdout for operators and add warnings when there is multiple operators
2 years ago
Philipp Oppermann
daa694ad98
Add new `send_stdout_as` key for capturing stdout of custom nodes
2 years ago
haixuanTao
91bd7daf50
Adding log event
2 years ago
haixuanTao
b79172c9bc
Removing `coordinator_addr` for `run_dataflow` command
2 years ago
Philipp Oppermann
cb69a033f0
Wait until `DestroyResult` is sent before exiting dora-daemon
Tokio background tasks are canceled when the program exits, so we need some additional synchronization to ensure that the `DestroyResult` is actually sent out.
2 years ago
Philipp Oppermann
249b2925f8
Revert "Respond to coordinator destroy immediately to avoid end of file error"
This reverts commit 5c16c59b6f .
2 years ago
haixuanTao
5c16c59b6f
Respond to coordinator destroy immediately to avoid end of file error
2 years ago
haixuanTao
28be4a6663
Fix example by using the right daemon command
2 years ago