Giter VIP home page Giter VIP logo

paxos's People

Contributors

stepchowfun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

icodein

paxos's Issues

Clarification on Proposal Number Check in the Proposer

Hello,

I appreciate the effort put into developing this Paxos implementation. I have a query regarding the behavior of the proposer, specifically in relation to checking the proposal number staleness.

I've noticed that the proposer doesn't seem to actively check the staleness of the proposal number; it primarily relies on the count of received majority responses. It appears that the rpc.rs component ensures that responses correspond to the correct requests, which could implicitly address the proposal number staleness. Could I infer that the RPC mechanism inherently prevents stale responses from interfering with other requests? However, I'm curious whether certain scenarios might still lead to stale responses affecting subsequent requests. For instance, if a send operation retried with exponential backoff after a timeout error, and the initially timed-out response later arrived, could it possibly impact subsequent retrying responses in the receiving queue?

Considering the critical role of the proposal number in maintaining consistency and conflict prevention within Paxos, is it reasonable to rely solely on the implicit proposal number check provided by the RPC mechanism? Could this reliance potentially compromise Paxos' fault tolerance in the face of failures, network delays, and message reordering? Also, have you considered the feasibility of decoupling the algorithm from the RPC layer to enable compatibility with other RPC mechanisms, such as those built upon UDP?

Thank you for your time and insights. I look forward to your response.

Best regards

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.