Class ReadLastConfirmedAndEntryOp.ReadLACAndEntryRequest

java.lang.Object
org.apache.bookkeeper.client.ReadLastConfirmedAndEntryOp.ReadLACAndEntryRequest
All Implemented Interfaces:
AutoCloseable
Direct Known Subclasses:
ReadLastConfirmedAndEntryOp.ParallelReadRequest, ReadLastConfirmedAndEntryOp.SequenceReadRequest
Enclosing class:
ReadLastConfirmedAndEntryOp

abstract class ReadLastConfirmedAndEntryOp.ReadLACAndEntryRequest extends Object implements AutoCloseable
  • Field Details

  • Constructor Details

    • ReadLACAndEntryRequest

      ReadLACAndEntryRequest(List<BookieId> ensemble, long lId, long eId)
  • Method Details

    • close

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

      int getFirstError()
    • read

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

      boolean complete(int bookieIndex, 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, BookieId host, 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 BookieId maybeSendSpeculativeRead(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 String toString()
      Overrides:
      toString in class Object