CalvinConfluent commented on code in PR #14603:
URL: https://github.com/apache/kafka/pull/14603#discussion_r1372063969


##########
storage/src/main/java/org/apache/kafka/storage/internals/checkpoint/CleanShutdownFileHandler.java:
##########
@@ -85,17 +87,16 @@ void write(long brokerEpoch, int version) throws Exception {
         }
     }
 
-    public long read() {
-        long brokerEpoch = -1L;
+    @SuppressWarnings("unchecked")
+    public OptionalLong read() {
         try {
             String text = 
Utils.readFileAsString(cleanShutdownFile.toPath().toString());
-            Map<String, String> content = new ObjectMapper().readValue(text, 
HashMap.class);
-
-            brokerEpoch = 
Long.parseLong(content.getOrDefault(Fields.BROKER_EPOCH.toString(), "-1L"));
+            Content content = OBJECT_MAPPER.readValue(text, Content.class);

Review Comment:
   Thanks! Good to know we have a package to do it.



##########
storage/src/main/java/org/apache/kafka/storage/internals/checkpoint/CleanShutdownFileHandler.java:
##########
@@ -73,10 +77,8 @@ void write(long brokerEpoch, int version) throws Exception {
         FileOutputStream os = new FileOutputStream(cleanShutdownFile);
         BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os, 
StandardCharsets.UTF_8));
         try {
-            Map<String, String> payload = new HashMap<>();
-            payload.put(Fields.VERSION.toString(), Integer.toString(version));
-            payload.put(Fields.BROKER_EPOCH.toString(), 
Long.toString(brokerEpoch));
-            bw.write(new ObjectMapper().writeValueAsString(payload));
+            Content content = new Content(version, brokerEpoch);
+            bw.write(OBJECT_MAPPER.writeValueAsString(content));

Review Comment:
   Done



-- 
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]

Reply via email to