mcvsubbu commented on a change in pull request #3941: Pinot server side change
to optimize LLC segment completion with direct metadata upload.
URL: https://github.com/apache/incubator-pinot/pull/3941#discussion_r266178227
##########
File path:
pinot-core/src/main/java/org/apache/pinot/core/data/manager/realtime/LLRealtimeSegmentDataManager.java
##########
@@ -735,14 +742,45 @@ protected SegmentBuildDescriptor
buildSegmentInternal(boolean forCommit) {
if (_isOffHeap) {
params.withMemoryUsedBytes(_memoryManager.getTotalAllocatedBytes());
}
- SegmentCompletionProtocol.Response commitEndResponse =
_protocolHandler.segmentCommitEnd(params);
+ SegmentCompletionProtocol.Response commitEndResponse;
+ if (!_indexLoadingConfig.isEnableSplitCommitEndWithMetadata()) {
+ commitEndResponse = _protocolHandler.segmentCommitEnd(params);
+ } else {
+ Map<String, File> metadataFiles = new HashMap<>();
+ try {
+ metadataFiles.put(V1Constants.MetadataKeys.METADATA_FILE_NAME,
Review comment:
Can you find a way to avoid extracting from the tar file again? CPU and disk
IO are expensive on the server, and we would like to avoid it if we can.
The only way I could think of was to store the metadata files in another
directory and keep it along with the segment descriptor. Once the commit is
completed, we need to take care to remove the directory, as we don't want to
have cruft left-over. It has to be done a little carefully. @npawar do you
have other ideas?
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]