Open ghost opened 6 years ago
What I observed is, AfterLoad event is successfully created, fetching values from DynamoDB. The issue seems to be with a synchronization lock. The SimpleApplicationEventMulticaster.multicastEvent method tries to load getApplicationListeners(). In AbstractApplicationEventMulticaster, getApplicationListeners method, the synchronized block, "synchronized(this.retrievalMutex)" goes to wait state indefinitely. Not sure why it happens. Not sure if this is an issue, if we use Spring data within Amazon Kinesis Client library . Any suggestion to move forward will be really helpful.
My issue is the same issue as that of https://github.com/derjust/spring-data-dynamodb/issues/170. Please review this. I am not sure why there is no exception or anything, simply the execution stops.
Can you please check if the solution for #170 applies to you, too? Is your Kinesis on the main thread? Or can you share what you are doing with KCL?
Thanks
Expected Behavior
findById method should return control
Actual Behavior
findById method never return control and simply hangs
Steps to Reproduce the Problem
Code
Create a spring boot project that references the above 2 projects in its pom.xml. Provide implementation for IRecordProcessor in this project and start the project. Submit event through a stream. This project will consume the event and process the data. As part of data processing call the repository classes findById method. It simply hangs.
Specifications