Release 0.3.0: WebSocket-based MARS client and Server#8
Open
Release 0.3.0: WebSocket-based MARS client and Server#8
Conversation
… unused shared_mount variable
…t and error handling
…n server (first working version)
…rtbeat management
…t_dir' and improve error logging
…hance environment handling
…error handling for workdir existence
…connection handling
- Added detailed explanations of CephFS architecture and components to the health check script. - Updated health check script to clarify OSD connection issues and their implications. - Improved logging messages to better inform users about OSD and MDS issues. - Suggested actions for users to take when encountering OSD-related problems.
- Add CHANGELOG.md with WebSocket vs HTTP rationale - Update README.md with configuration and usage guide - Document log filtering and CephFS diagnostics
- Updated CEPHFS architecture documentation for clarity on monitor, metadata server, and object storage daemon roles. - Improved log filtering in the WebSocket client to enhance user experience by reducing noise and highlighting important messages. - Added examples of custom log handlers for MARS requests to demonstrate advanced logging capabilities. - Adjusted project metadata in pyproject.toml to reflect the current development status and Python version requirements. - Enhanced the check_cephfs_health script to provide clearer error messages and suggestions for resolving OSD issues. - Refined test_config.py to improve output formatting and ensure accurate configuration precedence verification.
…ent and log filter
…t, log_filter, and ws_server modules
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Introduces WebSocket-based MARS client architecture with backward-compatible modal behavior.
Default Behavior (100% Backward Compatible)
USE_SHARES=false(default) → Uses existing pipe-based clientNew Features (Opt-In via USE_SHARES=true)
Why WebSocket instead of HTTP?
WebSocket provides superior architecture for long-running MARS jobs:
HTTP polling would require periodic requests, delayed notifications, complex state management, and higher server load.
Changes
See CHANGELOG.md
Added
ws_client.py,ws_server.py)USE_SHARESconfigcheck-cephfs-health)Fixed
Documentation
Breaking Changes
USE_SHARES=truemust upgrade tocads-mars-server>=0.3.0Migration
No action required for existing deployments. To opt-in to WebSocket mode:
MARS_USE_SHARES=trueMARS_WS_SERVERS="ws://server1:9001,..."ws-mars-server --host 0.0.0.0 --port 9001See README.md for details.