You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by Ivan Kelly <iv...@apache.org> on 2012/06/26 10:41:55 UTC

Review Request: BOOKKEEPER-303 LedgerMetadata should serialized using protobufs

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

Review request for bookkeeper.


Description
-------


Google protobufs is a library for serializing and deserializing data. It elegantly handles the cases where new data is added to a data format. This is useful in the case of something like LedgerMetadata, which may change over time. However, at the moment, whenever we make a change to the LedgerMetadata serialization format we have to break compatibility with old clients. By using protobufs, even if we add something to the format, old clients should be able to read the ledgers.

We should also change our protocols to use protobufs for the same reason, but this should be done in 4.3.0.

http://code.google.com/p/protobuf/


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


Diffs
-----

  bookkeeper-server/pom.xml 6ad020f 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerCreateOp.java 060a8ae 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerHandle.java 051ae17 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerMetadata.java 0f0e90d 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerRecoveryOp.java 35a8676 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingAddOp.java d61000e 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/client/PendingReadOp.java 778ec83 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/client/ReadLastConfirmedOp.java f20ee88 
  bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/DataFormats.java PRE-CREATION 
  bookkeeper-server/src/main/proto/DataFormats.proto PRE-CREATION 
  bookkeeper-server/src/main/resources/LICENSE.bin.txt d11ebef 
  bookkeeper-server/src/main/resources/NOTICE.bin.txt b55e16f 
  bookkeeper-server/src/test/java/org/apache/bookkeeper/client/BookieRecoveryTest.java 202141f 
  bookkeeper-server/src/test/java/org/apache/bookkeeper/test/TestBackwardCompat.java 4db2e8d 
  hedwig-protocol/pom.xml ebacdc5 
  hedwig-protocol/src/main/java/org/apache/hedwig/protocol/PubSubProtocol.java 92f409d 

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


Testing
-------


Thanks,

Ivan Kelly