siddhi-io / siddhi

Stream Processing and Complex Event Processing Engine
http://siddhi.io
Apache License 2.0
1.52k stars 528 forks source link

Fix deadlock on sending data concurrently to pattern query #1791

Closed Allan-QLB closed 1 year ago

Allan-QLB commented 2 years ago

Purpose

Resolves issue#1790

Goals

make SingleProcessStreamReceiver always synchronize patternSyncObject before locking the lockWrapper in process method

Approach

1 Modify ProcessStreamReceiver#process to be protected method 2 Overwrite the process mothod in SingleProcessStreamReceiver, in the method we synchronize the patternSyncObject first then call the process method of super class 3 delete synchronization of patternSyncObject in the processAndClear method

Release note

Fix deadlock on sending data concurrently to pattern query

Documentation

N/A

Automation tests

N/A

Security checks

Samples

Related PRs

Test environment

1.8

CLAassistant commented 2 years ago

CLA assistant check
All committers have signed the CLA.