-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6516/
-----------------------------------------------------------

Review request for bookkeeper.


Description
-------

There are use cases for bookkeeper that may require submitting add requests to 
a write set and returning upon receiving a confirmation from an ack set. The 
ack set must be a subset of the write set. An important special case is writing 
to all and returning upon hearing from a majority. Another important use case 
is avoiding s slow disks by writing to f + s + 1 and returning upon receiving f 
+ 1 responses.

Currently, the write set and the ack set are the same for a ledger. Internal 
changes to support these cases include changes to LedgerHandle and 
PendingAddOp. We also need to add a call to the client API to accept different 
sizes for the write set and the ack set upon ledger creation.

It is also open for the discussion the need to implement a new distribution 
schedule. So far it looks like we can reuse the round robin implementation we 
currently have. We would need to implement a new one if, for example, the 
initial bookie of an add operation must be always the same.


This addresses bug BOOKKEEPER-208.
    https://issues.apache.org/jira/browse/BOOKKEEPER-208


Diffs
-----

  
bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchThroughputLatency.java
 b37de53 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java 
505f900 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeperAdmin.java
 e4e5809 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/DistributionSchedule.java
 833f501 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerCreateOp.java
 26ebad4 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerHandle.java 
c5ba6ac 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerMetadata.java
 55dcbd8 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingAddOp.java 
c9cd24d 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java 
a654640 
  
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/RoundRobinDistributionSchedule.java
 9c989d8 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/DataFormats.java 
b69ff1d 
  bookkeeper-server/src/main/proto/DataFormats.proto c861bde 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java
 79f0a0c 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/RoundRobinDistributionScheduleTest.java
 PRE-CREATION 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/SlowBookieTest.java
 PRE-CREATION 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/client/TestReadTimeout.java
 eed9905 
  bookkeeper-server/src/test/java/org/apache/bookkeeper/meta/GcLedgersTest.java 
265dfc7 
  
bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookKeeperClusterTestCase.java
 ddc920c 

Diff: https://reviews.apache.org/r/6516/diff/


Testing
-------


Thanks,

Ivan Kelly

Reply via email to