Fix compiler detection and build type error output, update to Python 3 syntax - #247
Open
aivoyager8 wants to merge 110 commits into
Open
aivoyager8 wants to merge 110 commits into
aivoyager8 wants to merge 110 commits into
Conversation
…nflicting term - The first modification produced an error when snapshotting was enebled. It was implemented only for debugging purposes, so the removal of it does not make a difference. - The corretion in the conditions concerns the logical fallacy of thinking that term bypassing is only viable when the leader holds a greater term than the follower on the first index of the conflict. Careful analysis of the problem proves that this is not the case. Actually, when the terms does not match, the bypassing can be done without any danger. If the terms are the same, we avoid bypassing all of the entries of the conflicting term, we could bypass "correct" entries, which is a thing that we do not want. However, even that does not threaten the safety of the algorithm. It justs worses the performance (more AppendEntries ehcanged to sunchronize the leader with the follower) which is contary to what we want to acheive with that optimization.
- Added functionality so as to execute snapshotting testin by writing constant amount of data for specified amount of times. Every experiment is tried with and without snapshotting enabled. - Created a plot_snaphsotting.py file that includes the functinality of plotting the results. Two lines are created, one for non-shapshotting and another for snapshotting experiment metadata.
- The conflicting_term and the first_index_of_conflict were set when an AppendEntries RPC failed, but were not cleared if is succeeded. - In order to pass the test, the later part should have been implemented. So I did just that.
- Scatter plot points have no border. - Kill intervals and launch dealys were tested more thoroughly.
- In every election the duration is logged. - Also metadata about the experiemnt (electionTimeout, number of tries) - Data are plotted exactly like in Dioego's PhD to be easily compared with his results.
- Calculate the mean and its std and plot them with scatter points and errorbars in the diagram
- Ensured that the electionTimeout was applied to the server configuration (previously the constructor was not called correctly). - Additionally keep metadata about the number of terms each trial need so as to elect a new leader and plot them in a histogram.
- The same test is executed for multiple tries and the mean of the results is plotted. - Also, the std error of the mean is used to plot the errorbars.
merge from logcabin-extend
- Added TLS functionality in RPC with initialization, cleanup, and context management. - Introduced a metrics system compatible with Prometheus, including Counter, Gauge, and Histogram metrics. - Developed a MetricsServer to expose metrics over HTTP, handling requests and responses. - Configured Docker Compose for single and multi-node LogCabin setups with metrics enabled. - Created configuration files for each LogCabin node and Prometheus metrics settings.
- Improved performance with stronger optimization flags. - Updated Docker support with multi-stage builds and security hardening. - Added Kubernetes deployment configuration and enhanced docker-compose support. - Integrated Grafana dashboards for better observability. - Introduced a web-based management interface for cluster monitoring and control. - Modernized the build system with CMake while maintaining compatibility with SCons. - Implemented OpenTelemetry for distributed tracing and monitoring. - Optimized storage engine with LSM tree options and flexible configurations. - Enhanced documentation with installation guides and quick start examples. - Added automated disaster recovery features and improved authorization systems.
- Updated LSMStorage constructor to accept a map for configuration. - Changed append method to handle multiple entries and updated return type. - Modified getEntry method to return a const reference. - Added methods for log start index, size in bytes, and metadata updates. - Introduced a BloomFilter struct with methods for adding and checking keys. - Updated flush and merge methods to return boolean status. - Added bloom_filter.hpp for Bloom Filter implementation. - Adjusted SConscript to link with zstd library. - Updated CMakeLists.txt to include new ProtoBuf files and tests.
- Updated CMakeLists.txt in Server and Storage to manually create protobuf generation commands, adding necessary import paths. - Ensured generated protobuf files are treated as source files. - Modified LSMStorage.cc to include proper return types for several functions and improved error handling during disk operations. - Added LogConfig class to encapsulate log configuration parameters, allowing for better management of LSM storage settings. - Updated includes in SegmentedLog and SimpleFileLog headers to reference the correct protobuf files. - Enhanced the Tool.cc file to include the correct protobuf headers. - Introduced LogFactoryModule to manage log creation and registration of log modules, improving modularity and extensibility.
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.
No description provided.