xiangfu0 commented on code in PR #19776:
URL: https://github.com/apache/pinot/pull/19776#discussion_r4290466168
##########
pinot-core/src/main/java/org/apache/pinot/core/data/manager/realtime/SplitSegmentCommitter.java:
##########
@@ -21,32 +21,47 @@
import com.google.common.annotations.VisibleForTesting;
import java.io.File;
import java.net.URI;
+import java.util.Map;
+import java.util.UUID;
import javax.annotation.Nullable;
+import org.apache.commons.io.FileUtils;
+import org.apache.pinot.common.metrics.ServerMeter;
+import org.apache.pinot.common.metrics.ServerMetrics;
import org.apache.pinot.common.protocols.SegmentCompletionProtocol;
import org.apache.pinot.common.utils.LLCSegmentName;
+import org.apache.pinot.common.utils.TarCompressionUtils;
import org.apache.pinot.server.realtime.ServerSegmentCompletionProtocolHandler;
+import org.apache.pinot.spi.ingestion.batch.spec.Constants;
import org.apache.pinot.spi.utils.CommonConstants;
import org.apache.pinot.spi.utils.StringUtil;
+import org.apache.pinot.spi.utils.builder.TableNameBuilder;
import org.slf4j.Logger;
/// Sends segmentStart, segmentUpload, & segmentCommitEnd to the controller
/// If that succeeds, swap in-memory segment with the one built.
public class SplitSegmentCommitter implements SegmentCommitter {
+ private static final int METADATA_TAR_UPLOAD_TIMEOUT_MS =
+ PinotFSSegmentUploader.DEFAULT_SEGMENT_UPLOAD_TIMEOUT_MILLIS;
Review Comment:
Minor: this hardcodes the metadata-tar upload timeout to the default 10s
rather than the operator-configured segment upload timeout (`_timeoutInMs`,
what `uploadSegment` uses). On a slow deep store where someone raised that
timeout, the sidecar would quietly time out at 10s and be skipped every commit
even though the segment itself uploads fine. Might be worth wiring the
configured value through here.
##########
pinot-core/src/main/java/org/apache/pinot/core/data/manager/realtime/PauselessSegmentCommitter.java:
##########
@@ -28,8 +29,8 @@
public class PauselessSegmentCommitter extends SplitSegmentCommitter {
public PauselessSegmentCommitter(Logger segmentLogger,
ServerSegmentCompletionProtocolHandler protocolHandler,
SegmentCompletionProtocol.Request.Params params, SegmentUploader
segmentUploader,
- @Nullable String peerDownloadScheme) {
- super(segmentLogger, protocolHandler, params, segmentUploader,
peerDownloadScheme);
+ @Nullable String peerDownloadScheme, ServerMetrics serverMetrics) {
+ super(segmentLogger, protocolHandler, params, segmentUploader,
peerDownloadScheme, false, serverMetrics);
Review Comment:
Passing `false` here means the metadata-tar upload is always off under
pauseless consumption, so `segment.upload.metadata.tar=true` is silently a
no-op for pauseless tables. If that's intentional scoping it's fine, but it's
worth a short comment or a line in the PR description so operators know the
flag won't take effect there.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]