tree a7d6b5a8177bb10d0f9e5cee67f6e285af408a44
parent 9417b68ca072661efa0d3860e5b769338ba9d52c
author Prashant Kumar <65131575+pkumar-singh@users.noreply.github.com> 1621979791 -0700
committer GitHub <noreply@github.com> 1621979791 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJgrXKPCRBK7hj4Ov3rIwAA5x0IAJk0A0fYY3AQ6tuxLAz0tfvs
 8BHGUodOoVVJgtQcYlNmjCgmKSTaODRUVGcDghB0ExNp9/lr7WPPOlVf9dG+nusI
 MqGvfEFDBsapvsYNbFQcUWXZnM7n9j/3ZheE08UHPqnE5IUoFtdYyMKqmsLOAPNW
 jtA15MKUDTz0KZ91FGAAmrAHqvmqRyjV20cJEIMEVvAr31WiOVSSKfGph3HyVHDm
 dr6biVdSQPXI6gMIGRY93BAh2iFeZo+5vbWKb6rng+gqBCIajDiog6XgZdcYw4Ck
 SksOS0ySsKctgdYgnAlZpVVqwaAY63hs3AvyxwUnYZY1c5fAXXmUHFz4JGabUlo=
 =94+b
 -----END PGP SIGNATURE-----
 

Turn Bookie into an interface


### Motivation

Bookie was previously a concrete class that was used and abused all
over the place, especially in tests. A classic example of the God
object antipattern. The extensive use in tests, resulted in test cases
which spin up many instances of the whole system, which is very heavy
and very slow, especially when trying to unit tests a particular
feature.

This change is the first step to resolving this situation. Bookie is
now an interface, implemented by BookieImpl. Subsequent changes will
break out parts of the interface, cleanup calls and add dependency
injection.

Reviewers: Matteo Merli <mmerli@apache.org>, Andrey Yegorov, Henry Saputra <hsaputra@apache.org>, Enrico Olivelli <eolivelli@gmail.com>

This closes #2717 from pkumar-singh/merge_back_to_oss and squashes the following commits:

3edee4958 [Prashant] Replace SettableFuture  with CompletableFuture
db690262a [Ivan Kelly] Turn Bookie into an interface