
com.marklogic.spark.WriteProgressLogger Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of marklogic-spark-connector Show documentation
Show all versions of marklogic-spark-connector Show documentation
Spark 3 connector for MarkLogic
The newest version!
/*
* Copyright © 2025 MarkLogic Corporation. All Rights Reserved.
*/
package com.marklogic.spark;
import java.io.Serializable;
/**
* Handles the progress counter for any operation involving writing to MarkLogic. A Spark job/application can only have
* one writer, and thus DefaultSource handles resetting this counter before a new write job starts up. A static counter
* is used so that all writer partitions in the same JVM can have their progress aggregated and logged.
*/
public class WriteProgressLogger implements Serializable {
static final long serialVersionUID = 1L;
private static final Object lock = new Object();
private static ProgressLogger progressLogger;
public static void initialize(long progressInterval, String message) {
progressLogger = new ProgressLogger(progressInterval, message);
}
public static void logProgressIfNecessary(long itemCount) {
if (Util.MAIN_LOGGER.isInfoEnabled() && progressLogger != null) {
synchronized (lock) {
progressLogger.logProgressIfNecessary(itemCount);
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy