道君
道君
Try to use pulsar-client-all
```xml org.apache.pulsar pulsar-client-all 3.0.3 ``` instead of ```xml org.apache.pulsar pulsar-client 3.0.3 org.apache.pulsar pulsar-client-admin 3.0.3 ``` pulsar-client-all will shade these deps.
pulsar-client-all skipped shade protobuf-java And protobuf-java introduced by pulsar-client-origin. Maybe ```xml org.apache.pulsar pulsar-client-original 3.0.3 com.google.protobuf protobuf-java org.apache.pulsar pulsar-client-admin-original 3.0.3 org.apache.pulsar pulsar-client-original ``` can works
  I'm wondering why do we skipped shade `protobuf-java` in `pulsar-client`, `pulsar-client-admin` and `pulsar-client-all`? Can we just shade it? @lhotari
@Shawyeok Because admin-api depends on client-api, some classes like `Auth` `MessageId` are defined in client-api.
@Shawyeok you can try to remove client-api from admin-api and build it.
> I think we need test cases to cover the various corner cases with this solution. I agree with you, but before I complete the tests, I need to know...
> @dao-jun one challenge is that the ledger's timestamp is the broker's clock, but the seek uses the message publish time which is using the client's (publisher's) clock. There might...
> A possible mitigation would be to track the publish timestamps of the first and last message and possible also min and max and store that in the ledger metadata....