[ 
https://issues.apache.org/jira/browse/HBASE-21027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16573778#comment-16573778
 ] 

Mike Drob commented on HBASE-21027:
-----------------------------------

Yea, the concurrency risk is that if a serializer is registered while we are 
streaming, we aren't guaranteed to see it. Which is the same behavior if the 
serializer is registered after we finish taking the snapshot, something that is 
equally likely to be done by the thread scheduler.

There is a more subtle risk where if elements (p, q) are added by a single 
thread in that sequence, we might see q but not p. I don't think this usage 
pattern exists in our code base though, where a thread would be registering 
multiple classes.

> Inconsistent synchronization in CacheableDeserializerIdManager 
> ---------------------------------------------------------------
>
>                 Key: HBASE-21027
>                 URL: https://issues.apache.org/jira/browse/HBASE-21027
>             Project: HBase
>          Issue Type: Task
>    Affects Versions: 3.0.0
>            Reporter: Mike Drob
>            Assignee: Mike Drob
>            Priority: Major
>             Fix For: 3.0.0
>
>         Attachments: HBASE-21027.master.001.patch
>
>
> There is some inconsistent synchronization going on in CDIM, we should switch 
> it to using ConcurrentHashMap and simplify our code.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to