in src/main/java/com/aliyun/openservices/aliyun/log/producer/LogProducer.java [477:489]
private long closeMover(long timeoutMs) throws InterruptedException, ProducerException {
long startMs = System.currentTimeMillis();
accumulator.close();
retryQueue.close();
mover.close();
mover.join(timeoutMs);
if (mover.isAlive()) {
LOGGER.warn("The mover thread is still alive");
throw new ProducerException("the mover thread is still alive");
}
long nowMs = System.currentTimeMillis();
return Math.max(0, timeoutMs - nowMs + startMs);
}