Github user bowenli86 commented on the issue:
https://github.com/apache/flink/pull/4764
The implementation of having s2 `acquire()` a lock while s1 still holds
that lock seems problematic to me. Why not making it a `tryAcquire()`, as that
in java semaphore? ---
