You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by GitBox <gi...@apache.org> on 2022/12/14 21:47:45 UTC

[GitHub] [kafka] ijuma opened a new pull request, #12993: KAFKA-14471: Move IndexEntry and related to storage module

ijuma opened a new pull request, #12993:
URL: https://github.com/apache/kafka/pull/12993

   For broader context on this change, please check:
   
   * KAFKA-14470: Move log layer to storage module
   
   ### Committer Checklist (excluded from commit message)
   - [ ] Verify design and implementation 
   - [ ] Verify test coverage and CI build status
   - [ ] Verify documentation (including upgrade notes)
   


-- 
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: jira-unsubscribe@kafka.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [kafka] ijuma commented on pull request #12993: KAFKA-14471: Move IndexEntry and related to storage module

Posted by GitBox <gi...@apache.org>.
ijuma commented on PR #12993:
URL: https://github.com/apache/kafka/pull/12993#issuecomment-1356357601

   JDK 8 build passed while there was 1 unrelated failure for the each of the other JDKs:
   
   > Build / JDK 11 and Scala 2.13 / testBumpTransactionalEpoch(String).quorum=kraft – kafka.api.TransactionsTest
   > 1m 18s
   > Build / JDK 17 and Scala 2.13 / testTransactionAfterTransactionIdExpiresButProducerIdRemains(String).quorum=zk – kafka.api.ProducerIdExpirationTest
   
   Merging to trunk.


-- 
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: jira-unsubscribe@kafka.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [kafka] ijuma commented on a diff in pull request #12993: KAFKA-14471: Move IndexEntry and related to storage module

Posted by GitBox <gi...@apache.org>.
ijuma commented on code in PR #12993:
URL: https://github.com/apache/kafka/pull/12993#discussion_r1051437571


##########
storage/src/main/java/org/apache/kafka/server/log/internals/OffsetPosition.java:
##########
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.kafka.server.log.internals;
+
+/**
+ * The mapping between a logical log offset and the physical position
+ * in some log file of the beginning of the message set entry with the
+ * given offset.
+ */
+public final class OffsetPosition implements IndexEntry {
+    public final long offset;
+    public final int position;
+
+    public OffsetPosition(long offset, int position) {
+        this.offset = offset;
+        this.position = position;
+    }
+
+    @Override
+    public long indexKey() {
+        return offset;
+    }
+
+    @Override
+    public long indexValue() {
+        return position;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o)
+            return true;
+        if (o == null || getClass() != o.getClass())
+            return false;
+
+        OffsetPosition that = (OffsetPosition) o;
+
+        return offset == that.offset
+            && position == that.position;
+    }
+
+    @Override
+    public int hashCode() {

Review Comment:
   Correct, case classes automatically generate `toString`, `hashCode` and `equals` and hence why I did the same here. However, the underlying implementation is not the same, but that's not an issue for us.



-- 
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: jira-unsubscribe@kafka.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [kafka] ijuma merged pull request #12993: KAFKA-14471: Move IndexEntry and related to storage module

Posted by GitBox <gi...@apache.org>.
ijuma merged PR #12993:
URL: https://github.com/apache/kafka/pull/12993


-- 
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: jira-unsubscribe@kafka.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [kafka] ijuma commented on pull request #12993: KAFKA-14471: Move IndexEntry and related to storage module

Posted by GitBox <gi...@apache.org>.
ijuma commented on PR #12993:
URL: https://github.com/apache/kafka/pull/12993#issuecomment-1352261934

   @dengziming do you happen to have cycles to review this PR?


-- 
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: jira-unsubscribe@kafka.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [kafka] ijuma commented on a diff in pull request #12993: KAFKA-14471: Move IndexEntry and related to storage module

Posted by GitBox <gi...@apache.org>.
ijuma commented on code in PR #12993:
URL: https://github.com/apache/kafka/pull/12993#discussion_r1051437482


##########
storage/src/main/java/org/apache/kafka/server/log/internals/IndexEntry.java:
##########
@@ -14,7 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.kafka.server.log.internals;
 
-package kafka.log
-
-class CorruptIndexException(message: String) extends RuntimeException(message)

Review Comment:
   Yes, I agree. Not sure we can do anything about this though.



-- 
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: jira-unsubscribe@kafka.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [kafka] dengziming commented on pull request #12993: KAFKA-14471: Move IndexEntry and related to storage module

Posted by GitBox <gi...@apache.org>.
dengziming commented on PR #12993:
URL: https://github.com/apache/kafka/pull/12993#issuecomment-1352473472

   > @dengziming do you happen to have cycles to review this PR?
   
   Sure, I have added it to my review backlog.


-- 
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: jira-unsubscribe@kafka.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [kafka] dengziming commented on a diff in pull request #12993: KAFKA-14471: Move IndexEntry and related to storage module

Posted by GitBox <gi...@apache.org>.
dengziming commented on code in PR #12993:
URL: https://github.com/apache/kafka/pull/12993#discussion_r1051318941


##########
storage/src/main/java/org/apache/kafka/server/log/internals/OffsetPosition.java:
##########
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.kafka.server.log.internals;
+
+/**
+ * The mapping between a logical log offset and the physical position
+ * in some log file of the beginning of the message set entry with the
+ * given offset.
+ */
+public final class OffsetPosition implements IndexEntry {
+    public final long offset;
+    public final int position;
+
+    public OffsetPosition(long offset, int position) {
+        this.offset = offset;
+        this.position = position;
+    }
+
+    @Override
+    public long indexKey() {
+        return offset;
+    }
+
+    @Override
+    public long indexValue() {
+        return position;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o)
+            return true;
+        if (o == null || getClass() != o.getClass())
+            return false;
+
+        OffsetPosition that = (OffsetPosition) o;
+
+        return offset == that.offset
+            && position == that.position;
+    }
+
+    @Override
+    public int hashCode() {

Review Comment:
   Scala case class will generated same methods, right? 



##########
storage/src/main/java/org/apache/kafka/server/log/internals/IndexEntry.java:
##########
@@ -14,7 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+package org.apache.kafka.server.log.internals;
 
-package kafka.log
-
-class CorruptIndexException(message: String) extends RuntimeException(message)

Review Comment:
   It's weird that git thinks CorruptIndexException is rename to IndexEntry.



-- 
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: jira-unsubscribe@kafka.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org