iceoryx2 icon indicating copy to clipboard operation
iceoryx2 copied to clipboard

Improve error codes on failed service creation

Open elBoberido opened this issue 2 months ago • 0 comments

Brief feature description

Currently, when a service is created by two parties concurrently, some of the error codes are not too helpful and sometimes misleading. Similar with concurrently opening and closing a service.

This are the error codes which are triggered in service_tests.rs

PublishSubscribeCreateError::AlreadyExists,
PublishSubscribeCreateError::Corrupted,
PublishSubscribeCreateError::IsBeingCreatedByAnotherInstance,
PublishSubscribeOpenError::DoesNotExist,
PublishSubscribeOpenError::PermissionDenied,
PublishSubscribeOpenError::ServiceInCorruptedState,
PublishSubscribeOpenError::UnableToOpenDynamicServiceInformation,

The latter, for example, should only trigger DoesNotExist. See also https://github.com/eclipse-iceoryx/iceoryx2/pull/174#discussion_r1561100720.

The other error codes leak implementation details and only occur due to the decentralized nature of iceoryx2. It needs to be determined if they can be mapped to DoesNotExist without shadowing an actual error when, e.g. the permissions really do not exist.

elBoberido avatar Apr 13 '24 10:04 elBoberido