[ https://issues.apache.org/jira/browse/OPENJPA-230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12492413 ]
Vikram Bhatia commented on OPENJPA-230: --------------------------------------- It works based on size of the packet queue. Once the broadcast queue is empty, it interrupts the thread assuming that all the packets are broadcasted. Why do _processLock is required? It may call interrupt even if the thread is calling sendUpdateQueue if we dont have a syncronization. I was thinking about having boolean variable, but that will have synchronization issues, and thread may be interrupted without completely sending the packet. > Handle guaranteed delivery of Data Cache events on normal JVM termination > using TCPRemoteCommitProvider > ------------------------------------------------------------------------------------------------------- > > Key: OPENJPA-230 > URL: https://issues.apache.org/jira/browse/OPENJPA-230 > Project: OpenJPA > Issue Type: Bug > Components: kernel > Affects Versions: 0.9.0, 0.9.6, 0.9.7 > Reporter: Vikram Bhatia > Priority: Minor > Attachments: OPENJPA-230.patch, OPENJPA-230.patch, reproducer.zip, > soln.diff > > > When an application is commiting a transaction and then terminating, often > not all events regarding Data Cache are dispatched by the > TCPRemoteCommitProvider. It seems that the JVM on termination is not waiting > until TCPRemoteCommitProvider has dispatched all events regarding Data Cache. > In this way some cache synchronization is lost. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.