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

Umegane dev 965 #58

Merged
merged 36 commits into from
Oct 23, 2024
Merged

Umegane dev 965 #58

merged 36 commits into from
Oct 23, 2024

Conversation

umegane
Copy link
Contributor

@umegane umegane commented Oct 23, 2024

Currently, the API caller does not have a mechanism to catch limestone_exception. As it stands, if an I/O error occurs, there is a risk that the process might stall. To address this, instead of throwing a limestone_exception from APIs that have the potential to throw it, we will modify the implementation to output a FATAL log and call abort.

Introduced the `file_operations` class to provide an abstraction layer
for file operations. This allows for easier dependency injection and
mocking of file operations in tests.
- Reviewed all public APIs to ensure the correct exception specifications.
- Corrected APIs that were missing or incorrectly specifying noexcept.
- Updated documentation to clearly state which exceptions are thrown by each API.
- Fixed several areas where exceptions were not being handled properly, ensuring robust error handling.
…nation

- Modified exception handling to log errors using VLOG_LP(google::FATAL) and abort the process instead of throwing exceptions.
- This is a temporary solution to prevent the system from continuing in an invalid state, as the calling code is not yet handling exceptions properly.
- Once the calling code handles exceptions correctly, this change will be reverted to restore normal exception throwing behavior.
- Logging ensures that error details are captured before aborting, providing diagnostic information.
- Added macro HANDLE_EXCEPTION_AND_ABORT() to streamline handling across multiple APIs.
- Suppressed clang-tidy warnings related to non-const global variables as part of the implementation.
@umegane umegane merged commit 3398b45 into master Oct 23, 2024
6 checks passed
@umegane umegane deleted the umegane-dev-965 branch November 25, 2024 09:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant