protected void retryPublish(Object payload) throws ConnectionUnavailableException {
        DynamicOptions dynamicOptions = trpDynamicOptions.get();
        S state = stateHolder.getState();
        try {
            publish(payload, dynamicOptions, state);
            if (throughputTracker != null && Level.BASIC.compareTo(siddhiAppContext.getRootMetricsLevel()) <= 0) {
                throughputTracker.eventIn();
            }
        } finally {
            stateHolder.returnState(state);
        }
    }
Will be called for initialing the {@link Sink}

@param outputStreamDefinition containing stream definition bind to the {@link Sink}
@param optionHolder           Option holder containing static and dynamic options related to the {@link Sink}
@param sinkConfigReader       this hold the {@link Sink} extensions configuration reader.
@param siddhiAppContext       {@link SiddhiAppContext} of the parent siddhi app.
modules/siddhi-core/src/main/java/io/siddhi/core/stream/output/sink/Sink.java