New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Report a possible race issue #6273

Closed
baigd opened this Issue Sep 22, 2015 · 1 comment

Comments

Projects
None yet
5 participants
@baigd

baigd commented Sep 22, 2015

Hi, Developers of hazelcast/hazelcast,

I am writing to report a race issue on use of ConcurrentHashMap. The issue is reported by our tool in an automatic way. Although manually confirmed, it would be a false positive, given we do not know the specification of the program. We would very appreciate if you could check below for details and confirm with us whether it is a real problem. For more information, please refer to our website: http://sav.sutd.edu.sg/?page_id=2845

File: hazelcast/hazelcast/hazelcast/src/main/java/com/hazelcast/cache/impl/AbstractCacheService.java
Location: Line (453/450, 461)
Description:
The get-put operations (in line 450, 453) are guarded by the lock "resources". If the intention is to guarantee atomicity of the get-put operation, then the remove operation in line 461 may break this atomicity. Relying on the ConcurrentHashMap to ensure exclusive access is dangerous since ConcurrentHashMap has no guarantee of exclusive access.

@serkan-ozal

This comment has been minimized.

Show comment
Hide comment
@serkan-ozal

serkan-ozal Sep 22, 2015

Contributor

Hi @baigd,

Thanks for reporting the issue. Yes there is no atomicity as you mentioned but in fact the problem itself is synchronization problem between cache creation (record store creation) and destroy.

I will look at this issue from this perspective more detailed.

Contributor

serkan-ozal commented Sep 22, 2015

Hi @baigd,

Thanks for reporting the issue. Yes there is no atomicity as you mentioned but in fact the problem itself is synchronization problem between cache creation (record store creation) and destroy.

I will look at this issue from this perspective more detailed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment