Skip to content

Commit

Permalink
1
Browse files Browse the repository at this point in the history
  • Loading branch information
Zouxxyy committed Dec 17, 2024
1 parent 0fb6076 commit 826200e
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import java.util.function.Supplier;

/** Client pool for using multiple clients to execute actions. */
public interface ClientPool<C, E extends Exception> {
public interface ClientPool<C, E extends Exception> extends Closeable {
/** Action interface with return object for client. */
interface Action<R, C, E extends Exception> {
R run(C client) throws E;
Expand All @@ -42,7 +42,7 @@ interface ExecuteAction<C, E extends Exception> {
void execute(ExecuteAction<C, E> action) throws E, InterruptedException;

/** Default implementation for {@link ClientPool}. */
abstract class ClientPoolImpl<C, E extends Exception> implements Closeable, ClientPool<C, E> {
abstract class ClientPoolImpl<C, E extends Exception> implements ClientPool<C, E> {

private volatile LinkedBlockingDeque<C> clients;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1017,7 +1017,7 @@ public void repairTable(Identifier identifier) throws TableNotExistException {

@Override
public void close() throws Exception {
// do nothing
clients.close();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,14 @@ static Key extractKey(String clientClassName, String cacheKeys, Configuration co
return Key.of(elements);
}

@Override
public void close() throws IOException {
if (clientPoolCache != null) {
clientPoolCache.asMap().forEach((key, client) -> client.close());
clientPoolCache.cleanUp();
}
}

static class Key {
private final List<Object> elements;

Expand Down

0 comments on commit 826200e

Please sign in to comment.