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

POC: SHM watchdog #596

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
20d5b26
add watchdog codebase
yellowhatter Nov 14, 2023
9bee417
integrated and tested POC
yellowhatter Nov 20, 2023
b78336b
[skip ci] Merge commit '1daaaf512c575b55042b88aa76be94205a93611c'
yellowhatter Nov 21, 2023
d521c05
Merge commit '780ec606ba4000a17b2da0e2b0b668e11d37c65e'
yellowhatter Dec 15, 2023
f643f93
Update shm.rs
yellowhatter Dec 15, 2023
f7d053c
WIP: implemented buffer headers in separate SHM segment, made buffer …
yellowhatter Dec 21, 2023
5523201
- refactored POSIX shm wrapper
yellowhatter Dec 21, 2023
bc202a3
- use posix_shm module for data segment in SharedMemoryManager
yellowhatter Dec 22, 2023
26e0ac5
Merge commit 'd8c27a6e017938f4435d5abea4a0142c9d23ff59'
yellowhatter Dec 22, 2023
0c1e385
WIP on SHM
yellowhatter Jan 11, 2024
43b5391
Fix clippy, additional improvements
yellowhatter Jan 11, 2024
c5e34c0
Sync lockfiles (#646)
fuzzypixelz Jan 15, 2024
2086eb6
Fix potential panic when Stats drops (#642)
jerry73204 Jan 15, 2024
1b9a576
fix: Incorrect lockfile URL (#647)
fuzzypixelz Jan 15, 2024
40d1c1e
Fix workflow sync lockfiles (2) (#648)
fuzzypixelz Jan 15, 2024
b669489
fix: Don't auto-approve the pull request (#649)
fuzzypixelz Jan 15, 2024
fcc064f
Implement watchdog periodic tasks with optional realtime scheduling
yellowhatter Jan 16, 2024
00a4d1d
[skip ci] WIP on SHM provider\client API
yellowhatter Jan 18, 2024
3ccab12
[skip ci] WIP on SHM API
yellowhatter Jan 22, 2024
2fa05c6
Merge commit 'b669489bc814a758741f09c671ecc3a0683697a0'
yellowhatter Jan 22, 2024
2e3aedf
Align the name of zenoh-plugin-example and set the used unstable feat…
YuanYuYuan Jan 23, 2024
05c7a3e
Add a CallbackPair handler implementing Drop and IntoCallbackReceiver…
JEnoch Jan 23, 2024
c6d7257
Verbatim chunks for Key Expressions (#655)
p-avital Jan 23, 2024
8d7a634
plugin API rework, plugin status support (#583)
milyin Jan 23, 2024
8cd786f
Remove `gen_zenoh_deb.sh` (#659)
fuzzypixelz Jan 24, 2024
eb608c9
[skip ci] Big WIP on SHM API integration
yellowhatter Jan 24, 2024
4f03fc7
Able to unwrap while using reply with attachment. (#658)
evshary Jan 25, 2024
eddf371
Improve project management (#674)
fuzzypixelz Jan 25, 2024
561c02d
Fix matching_status_* test failures (#662)
YuanYuYuan Jan 26, 2024
bb323ae
Improve project mangement (follow-up) (#676)
fuzzypixelz Jan 26, 2024
0943243
Improve project management (follow-up) (#681)
fuzzypixelz Jan 26, 2024
5ee84e7
[skip ci] working SHM (tests passing)
yellowhatter Jan 26, 2024
e234699
Merge commit '0943243da1a9eb14644897b13934be25610c4a94'
yellowhatter Jan 26, 2024
1b86de3
complete option added, SessionRef refactor
milyin Jan 26, 2024
1d743e8
command lipe parse crash fix
milyin Jan 26, 2024
0b6d65d
Improve project mangement (2) (#696)
fuzzypixelz Jan 30, 2024
d42b4bb
Merge branch 'main' into pubcache_complete
milyin Jan 30, 2024
ec1c22a
parametrized SessionDeclarations
milyin Jan 30, 2024
0c202a6
separated lifetimes for source and result
milyin Jan 31, 2024
0111ed7
comments updated
milyin Jan 31, 2024
09a72ff
moved SessionDeclaration to end to simplify review
milyin Jan 31, 2024
1de9d36
Examples: fix overwritten mode in config file (fix #700) (#702)
JEnoch Jan 31, 2024
71e224e
Remove forgotten println! from #702 (#707)
Mallets Jan 31, 2024
5601669
Router reorg (#587)
OlivierHecart Jan 31, 2024
e8dca1e
Merge pull request #688 from eclipse-zenoh/pubcache_complete
milyin Feb 2, 2024
db4036a
[skip ci] WIP on API
yellowhatter Feb 5, 2024
6e07611
Merge commit 'e8dca1e0ac7036ee04ab024115d418224492343d'
yellowhatter Feb 5, 2024
6ecb009
Correct the tx threads in the example config (#720)
YuanYuYuan Feb 7, 2024
634ad71
add support for verbatims in ketrees (#706)
p-avital Feb 7, 2024
2bd4518
Make cargo-nextest more resilient (#715)
YuanYuYuan Feb 7, 2024
6d05776
[skip ci] WIP on SHM API
yellowhatter Feb 8, 2024
fc31e7d
Merge commit '2bd4518334d0a9e7e2703c7fd57dfa4547a96819'
yellowhatter Feb 8, 2024
8433384
Add interfaces to the Link (#718)
sashacmc Feb 9, 2024
f62ff68
Remove `zenoh-examples` Debian package (#723)
fuzzypixelz Feb 9, 2024
26c55a9
-expose qos data in Sample
DenisBiryukov91 Feb 9, 2024
239b4ac
format
DenisBiryukov91 Feb 9, 2024
c09a6a4
typo fix
DenisBiryukov91 Feb 9, 2024
84dc04a
Queries duplicates fix (#733)
OlivierHecart Feb 12, 2024
9c26273
cleanup tests/qos
DenisBiryukov91 Feb 13, 2024
df05068
moved public QoS type to Sample.rs
DenisBiryukov91 Feb 13, 2024
dfe3d4a
Specify windows char escape in README (#735)
Mallets Feb 13, 2024
b90fc73
account for the possibility of failure when converting from ext::QoST…
DenisBiryukov91 Feb 13, 2024
3028518
QoS.from_or_default to replace only priority value by default one in …
DenisBiryukov91 Feb 13, 2024
03831f4
typo fix
DenisBiryukov91 Feb 13, 2024
2f21cfb
reduce priority of logging to trace, in case we fail to conver protoc…
DenisBiryukov91 Feb 14, 2024
40efd99
Adding the ability to return an error from the interceptors factory (…
sashacmc Feb 14, 2024
078898d
Add the downsampling interceptor (#728)
sashacmc Feb 15, 2024
f09fcc2
Fix Release workflow (#734)
fuzzypixelz Feb 15, 2024
2dc3991
WIP on API
yellowhatter Feb 16, 2024
7ebdb3c
Add ingress downsampling tests (#741)
sashacmc Feb 16, 2024
e48ea54
Merge branch 'eclipse-zenoh:main' into feature/priority-in-sample
DenisBiryukov91 Feb 16, 2024
b65a575
Merge commit '7ebdb3cab481609989f1e9d3124e75d2851458e5'
yellowhatter Feb 19, 2024
85d8769
reduce size of QoS struct
DenisBiryukov91 Feb 19, 2024
eb79877
- add docstrings
DenisBiryukov91 Feb 19, 2024
061008f
add qos setters
DenisBiryukov91 Feb 20, 2024
60ba702
build plugins with default zenoh features
milyin Feb 21, 2024
90d1b76
fix clippy warnings
DenisBiryukov91 Feb 21, 2024
743b081
- added SharedMemoryReader to Session and Runtime building API
yellowhatter Feb 21, 2024
0067f63
[skip ci] correct shm establish logic
yellowhatter Feb 22, 2024
1f1fabd
Remove SharedMemoryFactory
yellowhatter Feb 22, 2024
0440148
Merge pull request #730 from DenisBiryukov91/feature/priority-in-sample
milyin Feb 23, 2024
d48f00a
fix: Disable debug information in CI workflow (#754)
fuzzypixelz Feb 23, 2024
42f9384
links refactoring (#748)
sashacmc Feb 23, 2024
3f2e8db
[skip ci]
yellowhatter Feb 23, 2024
7d9d684
verbatim and intersect supports added to keformat (#752)
p-avital Feb 26, 2024
90617ff
Add possibility to binding on the interface (#755)
sashacmc Feb 27, 2024
149ba73
[skip ci] Final updates to SHM provider API
yellowhatter Feb 27, 2024
0acd83d
Merge commit '90617ff606b6d4c89d1a3f166dcee6a2b7d5461a'
yellowhatter Feb 27, 2024
01ae772
Update DEFAULT_CONFIG.json5 with iface binding (#767)
sashacmc Feb 28, 2024
bbb9f94
chore: Bump create-pull-request from v5 to v6 (#777)
fuzzypixelz Mar 1, 2024
fa40a4d
fix User-Password authentication (#776)
vivekpandey02 Mar 1, 2024
4e3a3d0
ZSlice: safe mutable acces to inner contents and support for copy-on-…
yellowhatter Mar 1, 2024
200dd28
feat: Support `.yml` configuration files (#784)
fuzzypixelz Mar 4, 2024
a1cf2be
Interceptors caches (#744)
OlivierHecart Mar 4, 2024
7b6ca9c
fix: Set `publish = false` for zenoh-backend-example (#787)
fuzzypixelz Mar 5, 2024
dffa0a2
fix: Set `fail-fast = false` in sync-lockfiles workflow (#780)
fuzzypixelz Mar 5, 2024
8730335
fix: Remove unused dependencies (#761)
fuzzypixelz Mar 5, 2024
ac45542
fix: Use `clippy` from Stable Rust (#766)
fuzzypixelz Mar 5, 2024
c80124a
Implement get_interface_names for serial link (#772)
sashacmc Mar 5, 2024
e6025ec
[skip ci]
yellowhatter Mar 5, 2024
f2e99b6
Update downsampling interceptor (#788)
sashacmc Mar 5, 2024
9d69725
Merge commit 'f2e99b6fe07bf7899a458e0a16bfe85e3cdebca6'
yellowhatter Mar 6, 2024
172288e
feat: Support non-default branch in sync-lockfiles workflow
fuzzypixelz Mar 6, 2024
7c1e0c7
Merge pull request #794 from fuzzypixelz/feat-sync-lockfiles-from-branch
gabrik Mar 6, 2024
dd35bb5
fix: Remove (more) unsued dependencies (#798)
fuzzypixelz Mar 7, 2024
3328edb
fix: Remove `clap` 4.x from `zenoh-plugin-storage-manager`'s dep tree…
fuzzypixelz Mar 7, 2024
2e79208
Fix liveliness bug (#802)
OlivierHecart Mar 8, 2024
4537dc2
fix: Resolve Nightly Rustdoc errors and warnings (#792)
fuzzypixelz Mar 8, 2024
c9ef86e
[skip ci]
yellowhatter Mar 11, 2024
8328652
[skip ci]
yellowhatter Mar 11, 2024
9177fb3
[skip ci]
yellowhatter Mar 12, 2024
6045bfe
update documentation to the new api for keformat's generated Parsed (…
p-avital Mar 13, 2024
c12c005
fix: Relax dependency requirements (#758)
fuzzypixelz Mar 13, 2024
ceb982d
feat: Improve release workflow (#756)
fuzzypixelz Mar 13, 2024
1acb511
Merge branch 'main' into default_features_fix
milyin Mar 13, 2024
63965fc
Merge pull request #745 from eclipse-zenoh/default_features_fix
milyin Mar 13, 2024
1c8ed89
restore SN in case of frame drops caused by congestion control (#815)
yellowhatter Mar 13, 2024
f4b86f0
Merge commit '1c8ed89b659a2eb9561684602a03390c4f46e279'
yellowhatter Mar 13, 2024
4dd2611
Solved additive feature problem
yellowhatter Mar 13, 2024
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
File renamed without changes.
15 changes: 14 additions & 1 deletion .config/nextest.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
# By default, retry a few times until pass the test within the specified timeout
[profile.default]
retries = 4
slow-timeout = { period = "60s", terminate-after = 2 }

# Run the following tests exclusively with longer timeout
[[profile.default.overrides]]
filter = 'test(/zenoh_session_unicast/)'
filter = """
test(=zenoh_session_unicast) |
test(=zenoh_session_multicast) |
test(=transport_tcp_intermittent) |
test(=transport_tcp_intermittent_for_lowlatency_transport) |
test(=three_node_combination)
"""
threads-required = 'num-cpus'
slow-timeout = { period = "60s", terminate-after = 6 }
7 changes: 3 additions & 4 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: Report a bug
name: Bug
description: |
Create a bug report to help us improve Zenoh.
title: "[Bug] "
Report a bug.
labels: ["bug"]
body:
- type: textarea
Expand All @@ -19,7 +18,7 @@ body:
attributes:
label: To reproduce
description: "Steps to reproduce the behavior:"
placeholder: |
placeholder: |
1. Start a subscriber "..."
2. Start a publisher "...."
3. See error
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: Request a feature
name: New feature
description: |
Suggest a new feature specific to this repository. NOTE: for generic Zenoh ideas use "Ask a question".
Suggest a new feature.
labels: ["new feature"]
body:
- type: markdown
attributes:
Expand Down
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Add an issue to the next release
description: |
Add an issue as part of next release.
This will be added to the current release project.
You must be a contributor to use this template.
labels: ["release"]
body:
- type: markdown
attributes:
value: |
**Guidelines for a good issue**

*Is your release item related to a problem?*
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

*Describe the solution you'd like*
A clear and concise description of what you want to happen.

*Describe alternatives you've considered*
A clear and concise description of any alternative solutions or features you've considered.

*Additional context*
Add any other context about the release item request here.
- type: textarea
id: item
attributes:
label: "Describe the release item"
validations:
required: true
41 changes: 0 additions & 41 deletions .github/workflows/Dockerfile

This file was deleted.

21 changes: 7 additions & 14 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ on:
schedule:
- cron: "0 6 * * 1-5"

env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
CARGO_PROFILE_DEV_DEBUG: false

jobs:
check:
name: Run checks on ${{ matrix.os }}
Expand All @@ -41,31 +45,23 @@ jobs:

- name: Code format check
run: cargo fmt --check
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse

- name: Clippy
run: cargo clippy --all-targets -- --deny warnings
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
run: cargo +stable clippy --all-targets -- --deny warnings

- name: Clippy unstable targets
run: cargo clippy --all-targets --features unstable -- --deny warnings
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
run: cargo +stable clippy --all-targets --features unstable -- --deny warnings

- name: Clippy all features
if: ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'macOS-latest' }}
run: cargo clippy --all-targets --all-features -- --deny warnings
run: cargo +stable clippy --all-targets --all-features -- --deny warnings

- name: Install generic no_std target
# Generic no_std target architecture is x86_64-unknown-none
run: rustup target add x86_64-unknown-none

- name: Perform no_std checks
run: cargo check --bin nostd_check --target x86_64-unknown-none --manifest-path ci/nostd-check/Cargo.toml
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse

test:
name: Run tests on ${{ matrix.os }}
Expand Down Expand Up @@ -95,14 +91,12 @@ jobs:
- name: Run tests
run: cargo nextest run --exclude zenoh-examples --exclude zenoh-plugin-example --workspace
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
ASYNC_STD_THREAD_COUNT: 4

- name: Run tests with SHM
if: ${{ matrix.os == 'ubuntu-latest' }}
run: cargo nextest run -F shared-memory -F transport_unixpipe -p zenoh-transport
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
ASYNC_STD_THREAD_COUNT: 4

- name: Check for feature leaks
Expand All @@ -112,7 +106,6 @@ jobs:
- name: Run doctests
run: cargo test --doc
env:
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
ASYNC_STD_THREAD_COUNT: 4

# NOTE: In GitHub repository settings, the "Require status checks to pass
Expand Down
32 changes: 0 additions & 32 deletions .github/workflows/crates_check.sh

This file was deleted.

32 changes: 0 additions & 32 deletions .github/workflows/crates_publish.sh

This file was deleted.

60 changes: 60 additions & 0 deletions .github/workflows/enforce-linking-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Enforce linking issues

on:
pull_request_target:
types: [opened, edited, labeled]
workflow_call:

defaults:
run:
shell: bash

jobs:
main:
name: Enforce referencing a closing issue
runs-on: ubuntu-latest
steps:
- name: Count closing issue references
id: has-closing-issue
uses: actions/github-script@v7
with:
result-encoding: string
script: |
const query = `query ($owner: String!, $name: String!, $number: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $number) {
closingIssuesReferences(first: 100) {
totalCount
}
}
}
}`;

const reply = await github.graphql(query, {
owner: context.repo.owner,
name: context.repo.repo,
number: context.payload.pull_request.number
});

return reply
.repository
.pullRequest
.closingIssuesReferences
.totalCount > 0;

- if: ${{ steps.has-closing-issue.outputs.result != 'true' }}
name: Suggest that the contributor link an issue
uses: actions/github-script@v7
with:
github-token: ${{ secrets.BOT_TOKEN_WORKFLOW }}
script: |
const login = "${{ github.event.pull_request.user.login }}";
const syntaxUrl = "https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue";
const message = `@${login} If this pull request contains a bugfix or a new feature, then please consider using \`Closes #ISSUE-NUMBER\` [syntax](${syntaxUrl}) to link it to an issue.`

github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
body: message,
});
Loading
Loading