merlimat opened a new pull request, #4781:
URL: https://github.com/apache/bookkeeper/pull/4781

   ## Summary
   
   Migrates the stream module's **non-gRPC** proto definitions from 
`protobuf-java` to LightProto:
   
   - `stream/statelib/src/main/proto/kv.proto` — KV state-store commands (uses 
proto3 `oneof`)
   - `stream/proto/src/main/proto/cluster.proto` — cluster metadata / server 
assignment (uses proto3 `map`)
   
   Both proto files are proto3; LightProto handles `oneof` and `map` directly.
   
   ## Approach
   
   Branched off `apache/master` and **does not stack on top of #4779 / #4780** 
(the in-flight bookkeeper-proto migrations). The pom changes are minimal and 
contained to stream:
   
   - `pom.xml` — adds `<lightproto-maven-plugin.version>` property.
   - `stream/statelib/pom.xml` — replaces `protobuf-maven-plugin` with 
`lightproto-maven-plugin` (statelib has only `kv.proto`).
   - `stream/proto/pom.xml` — keeps `protobuf-maven-plugin` for the 
gRPC-bearing protos and adds `lightproto-maven-plugin` for `cluster.proto`. To 
avoid both plugins generating the same types, `cluster.proto` is moved to a 
parallel `src/main/proto-lightproto/` directory.
   
   Java sources that referenced the migrated types are updated to use the 
LightProto mutable-instance API (no Builder pattern, fields populated by 
chained setters or via the nested-message `setX()` returning the inner message 
to mutate).
   
   ## Out of scope (follow-ups)
   
   - gRPC service protos (`storage.proto`, `kv_rpc.proto`, 
`tests-common/rpc.proto`) and the messages they import (`common.proto`, 
`kv.proto`, `kv_store.proto`, `stream.proto`) — these still need a custom gRPC 
marshaller story for LightProto types.
   - `tests-common/proto2_coder_test_messages.proto` — uses proto2 
`extensions`, not supported by LightProto, and is dead code.
   
   ## Test plan
   
   - [x] `stream/statelib`: `TestKVUtils`, `TestRocksdbKVStore` (35 tests pass)
   - [x] `stream/storage/impl`: `InMemClusterMetadataStoreTest`, 
`ZkClusterMetadataStoreTest`, `DefaultStorageContainerControllerTest`, 
`ClusterControllerImplTest`, `ClusterControllerLeaderImplTest`, 
`ZkStorageContainerManagerTest` (28 tests pass)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to