Skip to content

Commit

Permalink
[ISSUE #3957] Fix LmqConsumerOffsetManager deserialize error (#3958)
Browse files Browse the repository at this point in the history
 LmqConsumerOffsetManager deserialize error (#3958)
  • Loading branch information
tianliuliu authored Mar 11, 2022
1 parent c43620f commit 40d9505
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@
public class LmqConsumerOffsetManager extends ConsumerOffsetManager {
private ConcurrentHashMap<String, Long> lmqOffsetTable = new ConcurrentHashMap<>(512);

public LmqConsumerOffsetManager() {

}

public LmqConsumerOffsetManager(BrokerController brokerController) {
super(brokerController);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,33 @@ public void testOffsetManage() {
assertThat(offset1).isEqualTo(-1L);
}

@Test
public void testOffsetManage1() {
LmqConsumerOffsetManager lmqConsumerOffsetManager = new LmqConsumerOffsetManager(brokerController);

String lmqTopicName = "%LMQ%1111";

String lmqGroupName = "%LMQ%GID_test";

lmqConsumerOffsetManager.commitOffset("127.0.0.1", lmqGroupName, lmqTopicName, 0, 10L);

lmqTopicName = "%LMQ%1222";

lmqGroupName = "%LMQ%GID_test222";

lmqConsumerOffsetManager.commitOffset("127.0.0.1", lmqGroupName, lmqTopicName, 0, 10L);
lmqConsumerOffsetManager.commitOffset("127.0.0.1","GID_test1", "MqttTest",0, 10L);

String json = lmqConsumerOffsetManager.encode(true);

LmqConsumerOffsetManager lmqConsumerOffsetManager1 = new LmqConsumerOffsetManager(brokerController);

lmqConsumerOffsetManager1.decode(json);

assertThat(lmqConsumerOffsetManager1.getOffsetTable().size()).isEqualTo(1);
assertThat(lmqConsumerOffsetManager1.getLmqOffsetTable().size()).isEqualTo(2);
}

@After
public void destroy() {
UtilAll.deleteFile(new File(new MessageStoreConfig().getStorePathRootDir()));
Expand Down

0 comments on commit 40d9505

Please sign in to comment.