From 703e32e457a46afc88c0d9084b4601456a81ee0b Mon Sep 17 00:00:00 2001 From: umisan Date: Sun, 16 Feb 2025 12:21:38 +0900 Subject: [PATCH] mod to using ObjectReader --- .../apache/druid/metadata/SqlSegmentsMetadataManager.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/org/apache/druid/metadata/SqlSegmentsMetadataManager.java b/server/src/main/java/org/apache/druid/metadata/SqlSegmentsMetadataManager.java index c38f7b87bf08..6cf7e21605a4 100644 --- a/server/src/main/java/org/apache/druid/metadata/SqlSegmentsMetadataManager.java +++ b/server/src/main/java/org/apache/druid/metadata/SqlSegmentsMetadataManager.java @@ -20,6 +20,7 @@ package org.apache.druid.metadata; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectReader; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Optional; import com.google.common.base.Preconditions; @@ -162,6 +163,7 @@ long nanosElapsedFromInitiation() private final Object pollLock = new Object(); private final ObjectMapper jsonMapper; + private final ObjectReader segmentReader; private final Duration periodicPollDelay; private final Supplier dbTables; private final SQLMetadataConnector connector; @@ -259,6 +261,7 @@ public SqlSegmentsMetadataManager( ) { this.jsonMapper = jsonMapper; + this.segmentReader = jsonMapper.readerFor(DataSegment.class); this.periodicPollDelay = config.get().getPollDuration().toStandardDuration(); this.dbTables = dbTables; this.connector = connector; @@ -1048,7 +1051,7 @@ private void doPollSegments() .setFetchSize(connector.getStreamingFetchSize()) .map((index, r, ctx) -> { try { - DataSegment segment = jsonMapper.readValue(r.getBytes("payload"), DataSegment.class); + DataSegment segment = segmentReader.readValue(r.getBytes("payload")); return replaceWithExistingSegmentIfPresent(segment); } catch (IOException e) {