diff --git a/external/opensearch/src/main/java/org/apache/stormcrawler/opensearch/persistence/AbstractSpout.java b/external/opensearch/src/main/java/org/apache/stormcrawler/opensearch/persistence/AbstractSpout.java index 43b0e4289..21ba324fb 100644 --- a/external/opensearch/src/main/java/org/apache/stormcrawler/opensearch/persistence/AbstractSpout.java +++ b/external/opensearch/src/main/java/org/apache/stormcrawler/opensearch/persistence/AbstractSpout.java @@ -225,11 +225,14 @@ public void fail(Object msgId) { @Override public void close() { - if (client != null) { - try { - client.close(); - } catch (IOException e) { - LOG.error("Exception caught when closing client", e); + synchronized (AbstractSpout.class) { + if (client != null) { + try { + client.close(); + } catch (IOException e) { + LOG.error("Exception caught when closing client", e); + } + client = null; } } }