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

Enis Soztutar commented on HBASE-17771:
---------------------------------------

bq. Added mutexes in case of writes. For reads, we are not using mutexes as of 
now as all the methods are called by const objects. Further we are returning a 
const reference so no changes will happen this way.

According to 
https://stackoverflow.com/questions/10568969/c-stl-vector-iterator-vs-indexes-access-and-thread-safety
 and 
https://twiki.cern.ch/twiki/bin/view/CMSPublic/FWMultithreadedThreadSafeDataStructures
 this is not true. 
Anyway, there are two approaches we can take: 
 - Use a mutex at the Caller level. We can address perf problems if it becomes 
a problem. 
 - Use concurrent maps from the Intels TBB library (follys concurrent maps are 
extremely limiting). 

You can change this to VLOG(3) or something: 
{code}
LOG(INFO) << "GetResults:" << multi_resp->ShortDebugString();
{code}
Otherwise the rest looks pretty good. 

> [C++] Classes required for implementation of BatchCallerBuilder
> ---------------------------------------------------------------
>
>                 Key: HBASE-17771
>                 URL: https://issues.apache.org/jira/browse/HBASE-17771
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Sudeep Sunthankar
>            Assignee: Sudeep Sunthankar
>             Fix For: HBASE-14850
>
>         Attachments: HBASE-17771.HBASE-14850.v1.patch, 
> HBASE-17771.HBASE-14850.v2.patch, HBASE-17771.HBASE-14850.v3.patch, 
> HBASE-17771.HBASE-14850.v4.patch
>
>
> Separating depedencies of BatchCallerBuilder.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to