Hi :slightly_smiling_face: Working on integration ...
# pinot-dev
f
Hi 🙂 Working on integration testing for the purgeProcess implementation and looking for a way to set
SegmentZkMetada
my
lastPurgeTime
during the segment build using something like what have been done in
MergeRollupMinionClusterIntegrationTest
in the
buildSegmentsFromAvroWithPostfix
method. Is there any way to put a metadata to the generated segment in order to validate my code ?
Answering my own question for reference
Copy code
//set up not passed delay
List<SegmentZKMetadata> segmentsZKMetadataDeltaNotPassed= _pinotHelixResourceManager.getSegmentsZKMetadata(tablenameOfflineNotPassed);
Map<String,String> customSegmentMetadataNotPassed = new HashMap<>();
customSegmentMetadataNotPassed.put(MinionConstants.PurgeTask.TASK_TYPE + MinionConstants.TASK_TIME_SUFFIX, String.valueOf(System.currentTimeMillis()-4000));
for (SegmentZKMetadata segmentZKMetadata : segmentsZKMetadataDeltaNotPassed) {
  segmentZKMetadata.setCustomMap(customSegmentMetadataNotPassed);
  _pinotHelixResourceManager.updateZkMetadata(tablenameOfflineNotPassed,segmentZKMetadata);
}