This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new d129d88e4c9 Refactor MySQLBinlogContext.putTableMapEvent() (#32569)
d129d88e4c9 is described below
commit d129d88e4c999c6df5116c434feb06b792bdf04b
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Aug 18 09:34:05 2024 +0800
Refactor MySQLBinlogContext.putTableMapEvent() (#32569)
---
.../incremental/binlog/MySQLBinlogContext.java | 5 ++-
.../netty/MySQLBinlogEventPacketDecoder.java | 3 +-
.../incremental/binlog/MySQLBinlogContextTest.java | 39 ++++++----------------
3 files changed, 14 insertions(+), 33 deletions(-)
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/binlog/MySQLBinlogContext.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/binlog/MySQLBinlogContext.java
index d2f58cd07ae..2e8bd212110 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/binlog/MySQLBinlogContext.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/binlog/MySQLBinlogContext.java
@@ -41,11 +41,10 @@ public final class MySQLBinlogContext {
/**
* Cache table map event.
*
- * @param tableId table id
* @param tableMapEventPacket table map event
*/
- public void putTableMapEvent(final long tableId, final
MySQLBinlogTableMapEventPacket tableMapEventPacket) {
- tableMap.put(tableId, tableMapEventPacket);
+ public void putTableMapEvent(final MySQLBinlogTableMapEventPacket
tableMapEventPacket) {
+ tableMap.put(tableMapEventPacket.getTableId(), tableMapEventPacket);
}
/**
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/netty/MySQLBinlogEventPacketDecoder.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/netty/MySQLBinlogEventPacketDecoder.java
index edc6021a28c..904f6dd8fe9 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/netty/MySQLBinlogEventPacketDecoder.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/client/netty/MySQLBinlogEventPacketDecoder.java
@@ -192,8 +192,7 @@ public final class MySQLBinlogEventPacketDecoder extends
ByteToMessageDecoder {
}
private void decodeTableMapEvent(final MySQLBinlogEventHeader
binlogEventHeader, final MySQLPacketPayload payload) {
- MySQLBinlogTableMapEventPacket packet = new
MySQLBinlogTableMapEventPacket(binlogEventHeader, payload);
- binlogContext.putTableMapEvent(packet.getTableId(), packet);
+ binlogContext.putTableMapEvent(new
MySQLBinlogTableMapEventPacket(binlogEventHeader, payload));
}
private MySQLWriteRowsBinlogEvent decodeWriteRowsEventV2(final
MySQLBinlogEventHeader binlogEventHeader, final MySQLPacketPayload payload) {
diff --git
a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/binlog/MySQLBinlogContextTest.java
b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/binlog/MySQLBinlogContextTest.java
index ccc548f38e3..2994ac0b27d 100644
---
a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/binlog/MySQLBinlogContextTest.java
+++
b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/ingest/incremental/binlog/MySQLBinlogContextTest.java
@@ -18,45 +18,28 @@
package
org.apache.shardingsphere.data.pipeline.mysql.ingest.incremental.binlog;
import
org.apache.shardingsphere.db.protocol.mysql.packet.binlog.row.MySQLBinlogTableMapEventPacket;
-import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Mock;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.mockito.junit.jupiter.MockitoSettings;
-import org.mockito.quality.Strictness;
import java.util.HashMap;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-@ExtendWith(MockitoExtension.class)
-@MockitoSettings(strictness = Strictness.LENIENT)
class MySQLBinlogContextTest {
- private static final String TEST_SCHEMA = "test_schema";
-
- private static final String TEST_TABLE = "test_table";
-
- private static final long TEST_TABLE_ID = 1L;
-
- @Mock
- private MySQLBinlogTableMapEventPacket tableMapEventPacket;
-
- private MySQLBinlogContext binlogContext;
-
- @BeforeEach
- void setUp() {
- binlogContext = new MySQLBinlogContext(4, new HashMap<>());
- when(tableMapEventPacket.getSchemaName()).thenReturn(TEST_SCHEMA);
- when(tableMapEventPacket.getTableName()).thenReturn(TEST_TABLE);
- }
-
@Test
void assertGetTableMapEvent() {
- binlogContext.putTableMapEvent(TEST_TABLE_ID, tableMapEventPacket);
- assertThat(binlogContext.getTableMapEvent(TEST_TABLE_ID),
is(tableMapEventPacket));
+ MySQLBinlogContext binlogContext = new MySQLBinlogContext(4, new
HashMap<>());
+ MySQLBinlogTableMapEventPacket tableMapEventPacket =
createTableMapEventPacket();
+ binlogContext.putTableMapEvent(tableMapEventPacket);
+ assertThat(binlogContext.getTableMapEvent(1L),
is(tableMapEventPacket));
+ }
+
+ private MySQLBinlogTableMapEventPacket createTableMapEventPacket() {
+ MySQLBinlogTableMapEventPacket result =
mock(MySQLBinlogTableMapEventPacket.class);
+ when(result.getTableId()).thenReturn(1L);
+ return result;
}
}