vraulji567 opened a new pull request, #4692:
URL: https://github.com/apache/bookkeeper/pull/4692
### Motivation
The bookkeeper shell read ledger commands ends without reading any entries
when the first entry and last entry are not provided as part command while
reading ledger for a specific bookie. The firstentry -fe and lastentry -le
becomes mandatory while reading ledger for a specific bookie using the
bookkeeper shell readledger command. Make changes to make the -fe and -le
optional while reading ledger from a bookie using the readledger command. The
readledger should automatically determine the entries to read when the first
entry and last entry are not provided.
### Changes
- Update the ReadLedgerCommand to determine the last entry from ledger
metadata when lastentry is not provided as part of the command.
### Test
Before:
```
bin/bookkeeper shell readledger -l 1234 -bookie 10.10.0.1:3181
17:47:48.786 [main] INFO o.a.b.c.a.impl.ByteBufAllocatorImpl - Setting
Netty allocator leak detector to Simple
17:47:49.157 [main] INFO o.a.b.c.RackawareEnsemblePlacementPolicyImpl -
Initialize rackaware ensemble placement policy @ <Bookie:10.10.0.3:0> @
/default-rack :
org.apache.bookkeeper.client.TopologyAwareEnsemblePlacementPolicy$DefaultResolver.
17:47:49.157 [main] INFO o.a.b.c.RackawareEnsemblePlacementPolicyImpl - Not
weighted
17:47:49.165 [main] INFO o.a.bookkeeper.client.BookKeeper - Weighted
ledger placement is not enabled
17:47:49.232 [main-EventThread] INFO o.a.b.discover.ZKRegistrationClient -
Update BookieInfoCache (writable bookie) 10.10.0.1:3181 ->
BookieServiceInfo{properties={}, endpoints=[EndpointInfo{id=bookie, port=3181,
host=10.10.0.1, protocol=bookie-rpc, auth=[], extensions=[tls]}]}
17:47:49.233 [main-EventThread] INFO o.a.b.discover.ZKRegistrationClient -
Update BookieInfoCache (writable bookie) 10.10.0.2:3181 ->
BookieServiceInfo{properties={}, endpoints=[EndpointInfo{id=bookie, port=3181,
host=10.10.0.2, protocol=bookie-rpc, auth=[], extensions=[tls]}]}
17:47:49.233 [main-EventThread] INFO o.a.b.discover.ZKRegistrationClient -
Update BookieInfoCache (writable bookie) 10.10.0.3:3181 ->
BookieServiceInfo{properties={}, endpoints=[EndpointInfo{id=bookie, port=3181,
host=10.10.0.3, protocol=bookie-rpc, auth=[], extensions=[tls]}]}
17:47:49.238 [BookKeeperClientScheduler-OrderedScheduler-0-0] INFO
o.a.b.net.NetworkTopologyImpl - Adding a new node:
/default-rack/10.10.0.1:3181
17:47:49.238 [BookKeeperClientScheduler-OrderedScheduler-0-0] INFO
o.a.b.net.NetworkTopologyImpl - Adding a new node:
/default-rack/10.10.0.2:3181
17:47:49.238 [BookKeeperClientScheduler-OrderedScheduler-0-0] INFO
o.a.b.net.NetworkTopologyImpl - Adding a new node:
/default-rack/10.10.0.3:3181
17:47:49.282 [main] WARN o.a.bookkeeper.client.BookKeeper - The
mainWorkerPool did not shutdown cleanly
```
After:
```
bin/bookkeeper shell readledger -l 1234 -bookie 10.10.0.1:3181
16:26:12.092 [main] INFO o.a.b.c.a.impl.ByteBufAllocatorImpl - Setting
Netty allocator leak detector to Simple
16:26:12.966 [nioEventLoopGroup-12-1] INFO
o.a.b.proto.PerChannelBookieClient - Successfully connected to bookie using
TLS: 10.10.0.1:3181
16:26:12.988 [BookieClientScheduler-OrderedExecutor-0-0] INFO
o.a.b.t.c.c.bookie.ReadLedgerCommand - --------- Lid=1234, Eid=0 ---------
16:26:12.990 [BookieClientScheduler-OrderedExecutor-0-0] INFO
o.a.b.t.c.c.bookie.ReadLedgerCommand - --------- Lid=1234, Eid=1 ---------
16:26:12.991 [BookieClientScheduler-OrderedExecutor-0-0] INFO
o.a.b.t.c.c.bookie.ReadLedgerCommand - --------- Lid=1234, Eid=2 ---------
16:26:12.992 [BookieClientScheduler-OrderedExecutor-0-0] INFO
o.a.b.t.c.c.bookie.ReadLedgerCommand - --------- Lid=1234, Eid=3 ---------
16:26:22.785 [main] INFO o.a.b.proto.PerChannelBookieClient - Closing the
per channel bookie client for 10.10.0.1:3181
16:26:22.790 [main] WARN o.a.bookkeeper.client.BookKeeper - The
mainWorkerPool did not shutdown cleanly
```
--
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]