eclipse-iceoryx / eclipse-iceoryx/iceoryx2
Implement Pub/Sub & Notifier/Listener integration-tests that are highly concurrent
- Dominant language
- Rust
- Stars
- 2.5k
- Forks
- 185
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 47
Description
## Brief feature description
Multiple bugs were raised due to the lack of concurrent communication tests. We need tests that cover:
* [x] sending/receiving messages from within different threads
* [x] many publisher reconnect to one subscriber
* [x] many subscriber reconnect to one publisher
* [ ] create/open all service types concurrently
* [ ] many listener reconnect to one notifier
* [ ] many notifier reconnect to one listener
* [ ] write tests for shared memory with pool allocator
* allocate on one side, translate pointer, write on other side - whole shm
* offset must start at 0 and must always be a multiple of the bucket size
* [ ] write full test suite for shm pool allocator
* [ ] publisher/subscriber reconnect and updates history after reconnect
* [ ] drop(subscriber), keep sample
* blocks max subscriber
* sample can be read and no data race
* [ ] drop(publisher), keep sample on receiver side
* blocks max publisher
* sample can be read
* [ ] drop(publisher), keep sample on publisher side
* blocks max publisher
* sample can still be published but will not be received unless multiple samples on publisher side are hold
* [ ] drop(publisher & subscriber), keep sample
* [ ] drop(service), keep ports
* communication shall still work
* service no longer discoverable
* when service recreated and ports are added, existing ports shall receive/can send to old ports
Contributor guide
Research direction
The issue names Pub/Sub, Notifier/Listener, service creation, reconnect behavior, and the shared-memory pool allocator, but it does not identify files, existing tests, or entry points. Start by locating the integration-test coverage for these components and map the unchecked concurrency, reconnect, drop, and allocator cases; done means the listed scenarios are covered without races.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- distributed-systems, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100