[
https://issues.apache.org/jira/browse/GEODE-8553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17206249#comment-17206249
]
ASF GitHub Bot commented on GEODE-8553:
---------------------------------------
gaussianrecurrence commented on pull request #660:
URL: https://github.com/apache/geode-native/pull/660#issuecomment-702792203
> I'll think about your idea today and get back to you. My first instinct is
that it's a much larger change than even the initial one, however, so it may be
beyond the scope of what I'm comfortable with, absent a _lot_ more testing etc.
>
> In the meantime, your last commit broke our Windows build, maybe due to
some platform difference in boost(?). Here's the error output:
>
> ```
> ThinClientPoolStickyDM.cpp
> C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(73): error C2039:
'shared_lock': is not a member of 'boost'
[C:\build\cppcache\static\apache-geode-static.vcxproj]
>
C:\build\dependencies\boost\RelWithDebInfo\include\boost/thread/shared_mutex.hpp(36):
note: see declaration of 'boost'
> C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(73): error C2065:
'shared_lock': undeclared identifier
[C:\build\cppcache\static\apache-geode-static.vcxproj]
> C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(73): error C2226:
syntax error: unexpected type 'boost::shared_mutex'
[C:\build\cppcache\static\apache-geode-static.vcxproj]
> C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(73): error C2143:
syntax error: missing ';' before '{'
[C:\build\cppcache\static\apache-geode-static.vcxproj]
> C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(73): error C2143:
syntax error: missing ';' before '}'
[C:\build\cppcache\static\apache-geode-static.vcxproj]
> C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(303): error
C2039: 'unique_lock': is not a member of 'boost'
[C:\build\cppcache\static\apache-geode-static.vcxproj]
>
C:\build\dependencies\boost\RelWithDebInfo\include\boost/thread/shared_mutex.hpp(36):
note: see declaration of 'boost'
> C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(303): error
C2065: 'unique_lock': undeclared identifier
[C:\build\cppcache\static\apache-geode-static.vcxproj]
> C:\nativeclient\cppcache\src\ThinClientLocatorHelper.cpp(303): error
C2226: syntax error: unexpected type 'boost::shared_mutex'
[C:\build\cppcache\static\apache-geode-static.vcxproj]
> ```
>
> I'll try a build on a Windows instance here, and let you know if I find
out what's up before you. Thanks!
Regarding about the size of the PR, totally agree. Indeed usually I tend to
do many more but much smaller commits. But I don't know what's your WOW here. I
guess we could always split this PR right?
Regarding the Windows error, sorry, my mistake, Thing is Boost.Thread
includes different headers depending on the platform. Pthread implementation
implicitly includes boost/thread/lock_types.hpp, but the windows implementation
does not. I've already pushed a commit solving it.
Btw. Do you have a publicly available CI cluster or somwhere were test can
be executed for every supported platform?
Or are we supposed to execute them all manually?
Thanks for all :)
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Reduce ThinClientLocatorHelper lock time
> ----------------------------------------
>
> Key: GEODE-8553
> URL: https://issues.apache.org/jira/browse/GEODE-8553
> Project: Geode
> Issue Type: Improvement
> Components: native client
> Affects Versions: 1.12.0, 1.13.0
> Reporter: Mario Salazar de Torres
> Assignee: Mario Salazar de Torres
> Priority: Major
> Labels: pull-request-available
>
> During my troublshootings, I've seen that locking m_locatorLock for the whole
> scope of the class function members might cause some inter-locks.
> Problem here and in many other places of the NC is that networking operations
> are performed while a mutex is locked. Therefore if *thread A* takes longer
> than expected in performing its network operation, it might block another one
> which does not requires any resource of the first *thread A*. Hence, the
> inter-lock.
> This improvement is the first one of a series regarding to lock scope
> reduction when it comes with code regarding networking in NC.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)