eventuate-foundation / eventuate-messaging-redis

Other
1 stars 5 forks source link

Reading assignment json deserializing IllegalArgumentException on application startup #14

Open yeahfo opened 1 month ago

yeahfo commented 1 month ago

IllegalArgumentException in io.eventuate.messaging.redis.spring.consumer.RedisAssignmentManager.java readAssignment(String groupId, String memberId) method

2024-09-19T10:06:14.342+08:00  INFO 1 --- [application-main] [     Thread-253] i.e.m.r.s.c.RedisMemberGroupManager      : Calling groupMembersUpdatedCallback.accept, members : [7e68c4c6-3b6e-49cf-9ac8-0e01dbdbfb9d, 6989e0e4-8992-403c-901e-3b74ade49bce], group: UserSagaCommandConsumer, member: 6989e0e4-8992-403c-901e-3b74ade49bce
2024-09-19T10:06:14.342+08:00  INFO 1 --- [application-main] [     Thread-253] i.e.m.partitionmanagement.Coordinator    : Updating group members, expectedGroupMembers : [7e68c4c6-3b6e-49cf-9ac8-0e01dbdbfb9d, 6989e0e4-8992-403c-901e-3b74ade49bce], subscriberId : UserSagaCommandConsumer, subscriptionId : 6989e0e4-8992-403c-901e-3b74ade49bce
2024-09-19T10:06:14.342+08:00  INFO 1 --- [application-main] [     Thread-253] i.e.m.partitionmanagement.Coordinator    : Initializing partition manager, expectedGroupMembers : [7e68c4c6-3b6e-49cf-9ac8-0e01dbdbfb9d, 6989e0e4-8992-403c-901e-3b74ade49bce], subscriberId : UserSagaCommandConsumer, subscriptionId : 6989e0e4-8992-403c-901e-3b74ade49bce
2024-09-19T10:06:14.342+08:00  INFO 1 --- [application-main] [     Thread-253] i.e.m.r.s.c.RedisAssignmentManager       : Reading assignment: key = eventuate-tram:group:member:assignment:UserSagaCommandConsumer:7e68c4c6-3b6e-49cf-9ac8-0e01dbdbfb9d
2024-09-19T10:06:14.343+08:00 ERROR 1 --- [application-main] [     Thread-253] i.e.m.partitionmanagement.Coordinator    : argument "content" is null

java.lang.IllegalArgumentException: argument "content" is null
        at com.fasterxml.jackson.databind.ObjectMapper._assertNotNull(ObjectMapper.java:5060) ~[jackson-databind-2.17.2.jar:2.17.2]
        at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3815) ~[jackson-databind-2.17.2.jar:2.17.2]
        at io.eventuate.common.json.mapper.JSonMapper.fromJson(JSonMapper.java:35) ~[eventuate-common-json-mapper-0.18.0.RELEASE.jar:na]
        at io.eventuate.messaging.redis.spring.consumer.RedisAssignmentManager.readAssignment(RedisAssignmentManager.java:35) ~[eventuate-messaging-redis-spring-consumer-0.16.0.RELEASE.jar:na]
        at io.eventuate.messaging.partitionmanagement.Coordinator.readAssignment(Coordinator.java:154) ~[eventuate-messaging-partition-management-0.14.0.RELEASE.jar:na]
        at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Unknown Source) ~[na:na]
        at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(Unknown Source) ~[na:na]
        at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(Unknown Source) ~[na:na]
        at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[na:na]
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[na:na]
        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) ~[na:na]
        at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[na:na]
        at java.base/java.util.stream.ReferencePipeline.collect(Unknown Source) ~[na:na]
        at io.eventuate.messaging.partitionmanagement.Coordinator.initializePartitionManager(Coordinator.java:128) ~[eventuate-messaging-partition-management-0.14.0.RELEASE.jar:na]
        at io.eventuate.messaging.partitionmanagement.Coordinator.onGroupMembersUpdated(Coordinator.java:111) ~[eventuate-messaging-partition-management-0.14.0.RELEASE.jar:na]
        at io.eventuate.messaging.redis.spring.consumer.RedisMemberGroupManager.<init>(RedisMemberGroupManager.java:42) ~[eventuate-messaging-redis-spring-consumer-0.16.0.RELEASE.jar:na]
        at io.eventuate.messaging.redis.spring.consumer.MessageConsumerRedisConfiguration.lambda$memberGroupManagerFactory$2(MessageConsumerRedisConfiguration.java:67) ~[classes/:na]
        at io.eventuate.messaging.partitionmanagement.Coordinator.onLeaderSelected(Coordinator.java:92) ~[eventuate-messaging-partition-management-0.14.0.RELEASE.jar:na]
        at io.eventuate.messaging.redis.spring.leadership.RedisLeaderSelector.lambda$leaderSelected$1(RedisLeaderSelector.java:142) ~[eventuate-messaging-redis-spring-coordination-leadership-0.16.0.RELEASE.jar:na]
        at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]

The strange thing is that in the end the application started successfully and worked normally...

yeahfo commented 1 month ago

IllegalArgumentException in io.eventuate.messaging.redis.spring.consumer.RedisAssignmentManager.java readAssignment(String groupId, String memberId) method

2024-09-19T10:06:14.342+08:00  INFO 1 --- [application-main] [     Thread-253] i.e.m.r.s.c.RedisMemberGroupManager      : Calling groupMembersUpdatedCallback.accept, members : [7e68c4c6-3b6e-49cf-9ac8-0e01dbdbfb9d, 6989e0e4-8992-403c-901e-3b74ade49bce], group: UserSagaCommandConsumer, member: 6989e0e4-8992-403c-901e-3b74ade49bce
2024-09-19T10:06:14.342+08:00  INFO 1 --- [application-main] [     Thread-253] i.e.m.partitionmanagement.Coordinator    : Updating group members, expectedGroupMembers : [7e68c4c6-3b6e-49cf-9ac8-0e01dbdbfb9d, 6989e0e4-8992-403c-901e-3b74ade49bce], subscriberId : UserSagaCommandConsumer, subscriptionId : 6989e0e4-8992-403c-901e-3b74ade49bce
2024-09-19T10:06:14.342+08:00  INFO 1 --- [application-main] [     Thread-253] i.e.m.partitionmanagement.Coordinator    : Initializing partition manager, expectedGroupMembers : [7e68c4c6-3b6e-49cf-9ac8-0e01dbdbfb9d, 6989e0e4-8992-403c-901e-3b74ade49bce], subscriberId : UserSagaCommandConsumer, subscriptionId : 6989e0e4-8992-403c-901e-3b74ade49bce
2024-09-19T10:06:14.342+08:00  INFO 1 --- [application-main] [     Thread-253] i.e.m.r.s.c.RedisAssignmentManager       : Reading assignment: key = eventuate-tram:group:member:assignment:UserSagaCommandConsumer:7e68c4c6-3b6e-49cf-9ac8-0e01dbdbfb9d
2024-09-19T10:06:14.343+08:00 ERROR 1 --- [application-main] [     Thread-253] i.e.m.partitionmanagement.Coordinator    : argument "content" is null

java.lang.IllegalArgumentException: argument "content" is null
        at com.fasterxml.jackson.databind.ObjectMapper._assertNotNull(ObjectMapper.java:5060) ~[jackson-databind-2.17.2.jar:2.17.2]
        at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3815) ~[jackson-databind-2.17.2.jar:2.17.2]
        at io.eventuate.common.json.mapper.JSonMapper.fromJson(JSonMapper.java:35) ~[eventuate-common-json-mapper-0.18.0.RELEASE.jar:na]
        at io.eventuate.messaging.redis.spring.consumer.RedisAssignmentManager.readAssignment(RedisAssignmentManager.java:35) ~[eventuate-messaging-redis-spring-consumer-0.16.0.RELEASE.jar:na]
        at io.eventuate.messaging.partitionmanagement.Coordinator.readAssignment(Coordinator.java:154) ~[eventuate-messaging-partition-management-0.14.0.RELEASE.jar:na]
        at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Unknown Source) ~[na:na]
        at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(Unknown Source) ~[na:na]
        at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(Unknown Source) ~[na:na]
        at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[na:na]
        at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[na:na]
        at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source) ~[na:na]
        at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[na:na]
        at java.base/java.util.stream.ReferencePipeline.collect(Unknown Source) ~[na:na]
        at io.eventuate.messaging.partitionmanagement.Coordinator.initializePartitionManager(Coordinator.java:128) ~[eventuate-messaging-partition-management-0.14.0.RELEASE.jar:na]
        at io.eventuate.messaging.partitionmanagement.Coordinator.onGroupMembersUpdated(Coordinator.java:111) ~[eventuate-messaging-partition-management-0.14.0.RELEASE.jar:na]
        at io.eventuate.messaging.redis.spring.consumer.RedisMemberGroupManager.<init>(RedisMemberGroupManager.java:42) ~[eventuate-messaging-redis-spring-consumer-0.16.0.RELEASE.jar:na]
        at io.eventuate.messaging.redis.spring.consumer.MessageConsumerRedisConfiguration.lambda$memberGroupManagerFactory$2(MessageConsumerRedisConfiguration.java:67) ~[classes/:na]
        at io.eventuate.messaging.partitionmanagement.Coordinator.onLeaderSelected(Coordinator.java:92) ~[eventuate-messaging-partition-management-0.14.0.RELEASE.jar:na]
        at io.eventuate.messaging.redis.spring.leadership.RedisLeaderSelector.lambda$leaderSelected$1(RedisLeaderSelector.java:142) ~[eventuate-messaging-redis-spring-coordination-leadership-0.16.0.RELEASE.jar:na]
        at java.base/java.lang.Thread.run(Unknown Source) ~[na:na]

The strange thing is that in the end the application started successfully and worked normally...

Supplement: This exception is thrown multiple times during startup.