markrmiller commented on code in PR #2541: URL: https://github.com/apache/solr/pull/2541#discussion_r1675329967
########## solr/cross-dc-manager/src/java/org/apache/solr/crossdc/manager/messageprocessor/SolrMessageProcessor.java: ########## @@ -29,345 +33,369 @@ import org.apache.solr.common.cloud.ZkStateReader; import org.apache.solr.common.params.ModifiableSolrParams; import org.apache.solr.common.params.SolrParams; -import org.apache.solr.crossdc.common.ResubmitBackoffPolicy; import org.apache.solr.crossdc.common.CrossDcConstants; import org.apache.solr.crossdc.common.IQueueHandler; import org.apache.solr.crossdc.common.MirroredSolrRequest; +import org.apache.solr.crossdc.common.ResubmitBackoffPolicy; import org.apache.solr.crossdc.common.SolrExceptionUtil; -import org.apache.solr.crossdc.consumer.Consumer; +import org.apache.solr.crossdc.manager.consumer.Consumer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.MDC; -import java.lang.invoke.MethodHandles; -import java.util.List; -import java.util.Map; -import java.util.concurrent.TimeUnit; - /** - * Message processor implements all the logic to process a MirroredSolrRequest. - * It handles: - * 1. Sending the update request to Solr - * 2. Discarding or retrying failed requests - * 3. Flagging requests for resubmission by the underlying consumer implementation. + * Message processor implements all the logic to process a MirroredSolrRequest. It handles: 1. + * Sending the update request to Solr 2. Discarding or retrying failed requests 3. Flagging requests + * for resubmission by the underlying consumer implementation. */ -public class SolrMessageProcessor extends MessageProcessor implements IQueueHandler<MirroredSolrRequest> { - private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - - private final MetricRegistry metrics = SharedMetricRegistries.getOrCreate(Consumer.METRICS_REGISTRY); +public class SolrMessageProcessor extends MessageProcessor + implements IQueueHandler<MirroredSolrRequest<?>> { + private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - final CloudSolrClient client; + private final MetricRegistry metrics = + SharedMetricRegistries.getOrCreate(Consumer.METRICS_REGISTRY); - private static final String VERSION_FIELD = "_version_"; + final CloudSolrClient client; - public SolrMessageProcessor(CloudSolrClient client, ResubmitBackoffPolicy resubmitBackoffPolicy) { - super(resubmitBackoffPolicy); - this.client = client; - } + private static final String VERSION_FIELD = "_version_"; - @Override - public Result<MirroredSolrRequest> handleItem(MirroredSolrRequest mirroredSolrRequest) { - try (final MDC.MDCCloseable mdc = MDC.putCloseable("collection", getCollectionFromRequest(mirroredSolrRequest))) { - connectToSolrIfNeeded(); + public SolrMessageProcessor(CloudSolrClient client, ResubmitBackoffPolicy resubmitBackoffPolicy) { + super(resubmitBackoffPolicy); + this.client = client; + } - // preventCircularMirroring(mirroredSolrRequest); TODO: isn't this handled by the mirroring handler? + @Override + @SuppressWarnings("try") + public Result<MirroredSolrRequest<?>> handleItem(MirroredSolrRequest<?> mirroredSolrRequest) { + try (final MDC.MDCCloseable ignored = + MDC.putCloseable("collection", getCollectionFromRequest(mirroredSolrRequest))) { + connectToSolrIfNeeded(); - return processMirroredRequest(mirroredSolrRequest); - } - } + // preventCircularMirroring(mirroredSolrRequest); TODO: isn't this handled by the mirroring + // handler? - private Result<MirroredSolrRequest> processMirroredRequest(MirroredSolrRequest request) { - final Result<MirroredSolrRequest> result = handleSolrRequest(request); - // Back-off before returning - backoffIfNeeded(result, request.getType()); - return result; + return processMirroredRequest(mirroredSolrRequest); } + } - private Result<MirroredSolrRequest> handleSolrRequest(MirroredSolrRequest mirroredSolrRequest) { - - SolrRequest request = mirroredSolrRequest.getSolrRequest(); - final SolrParams requestParams = request.getParams(); + private Result<MirroredSolrRequest<?>> processMirroredRequest(MirroredSolrRequest<?> request) { + final Result<MirroredSolrRequest<?>> result = handleSolrRequest(request); + // Back-off before returning + backoffIfNeeded(result, request.getType()); + return result; + } - if (log.isDebugEnabled()) { - log.debug("handleSolrRequest start params={}", requestParams); - } + private Result<MirroredSolrRequest<?>> handleSolrRequest( + MirroredSolrRequest<?> mirroredSolrRequest) { - // TODO: isn't this handled by the mirroring handler? -// final String shouldMirror = requestParams.get("shouldMirror"); -// -// if ("false".equalsIgnoreCase(shouldMirror)) { -// log.warn("Skipping mirrored request because shouldMirror is set to false. request={}", requestParams); Review Comment: At this point, yeah. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org