Class ReadLastConfirmedAndEntryOp.ReadLACAndEntryRequest

    • Constructor Summary

      Constructors 
      Constructor Description
      ReadLACAndEntryRequest​(java.util.List<org.apache.bookkeeper.net.BookieId> ensemble, long lId, long eId)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      (package private) boolean complete​(int bookieIndex, org.apache.bookkeeper.net.BookieId host, io.netty.buffer.ByteBuf buffer, long entryId)
      Complete the read request from host.
      (package private) boolean fail​(int rc)
      Fail the request with given result code rc.
      (package private) int getFirstError()  
      (package private) int getRc()
      Get result code of this entry.
      (package private) boolean isComplete()
      Whether the read request completed.
      (package private) void logErrorAndReattemptRead​(int bookieIndex, org.apache.bookkeeper.net.BookieId host, java.lang.String errMsg, int rc)
      Log error errMsg and reattempt read from host.
      (package private) abstract org.apache.bookkeeper.net.BookieId maybeSendSpeculativeRead​(java.util.BitSet heardFromHostsBitSet)
      Send to next replica speculatively, if required and possible.
      (package private) abstract void read()
      Execute the read request.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ReadLACAndEntryRequest

        ReadLACAndEntryRequest​(java.util.List<org.apache.bookkeeper.net.BookieId> ensemble,
                               long lId,
                               long eId)
    • Method Detail

      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
      • getFirstError

        int getFirstError()
      • read

        abstract void read()
        Execute the read request.
      • complete

        boolean complete​(int bookieIndex,
                         org.apache.bookkeeper.net.BookieId host,
                         io.netty.buffer.ByteBuf buffer,
                         long entryId)
        Complete the read request from host.
        Parameters:
        bookieIndex - bookie index
        host - host that respond the read
        buffer - the data buffer
        Returns:
        return true if we managed to complete the entry; otherwise return false if the read entry is not complete or it is already completed before
      • fail

        boolean fail​(int rc)
        Fail the request with given result code rc.
        Parameters:
        rc - result code to fail the request.
        Returns:
        true if we managed to fail the entry; otherwise return false if it already failed or completed.
      • logErrorAndReattemptRead

        void logErrorAndReattemptRead​(int bookieIndex,
                                      org.apache.bookkeeper.net.BookieId host,
                                      java.lang.String errMsg,
                                      int rc)
        Log error errMsg and reattempt read from host.
        Parameters:
        bookieIndex - bookie index
        host - host that just respond
        errMsg - error msg to log
        rc - read result code
      • maybeSendSpeculativeRead

        abstract org.apache.bookkeeper.net.BookieId maybeSendSpeculativeRead​(java.util.BitSet heardFromHostsBitSet)
        Send to next replica speculatively, if required and possible. This returns the host we may have sent to for unit testing.
        Parameters:
        heardFromHostsBitSet - the set of hosts that we already received responses.
        Returns:
        host we sent to if we sent. null otherwise.
      • isComplete

        boolean isComplete()
        Whether the read request completed.
        Returns:
        true if the read request is completed.
      • getRc

        int getRc()
        Get result code of this entry.
        Returns:
        result code.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object