> On Aug. 8, 2014, 6:44 p.m., Parth Chandra wrote: > > Shutdown has the unnecessary effect of closing down the connection and > > requiring the client application to reconnect. We need to test this out > > with BOOST_ASIO_DISBLE_IOCP defined to see if that might enable cancel to > > work for Win32. > > Otherwise, we need to retain the existing code and include the fix _ONLY_ > > for Windows 32-bit. I would use an appropriate ifdef something like > > WIN32_SHUTDOWN_ON_TIMEOUT and enable that only for Win32. > > Alexander zarei wrote: > I tested it with BOOST_ASIO_DISBLE_IOCP; It does not even go as far as > BOOST_ASIO_ENABLE_CANCELIO goes before crashing. With > BOOST_ASIO_ENABLE_CANCELIO the log reaches: > > 2015-Feb-13 16:21:56 : TRACE : 51f0 : DrillClientImpl::connect: Resolve > [host: 192.168.39.44, port:31010] > 2015-Feb-13 16:21:56 : TRACE : 51f0 : DrillClientImpl::connect: connect > to drillbit [192.168.39.44:31010] > 2015-Feb-13 16:21:56 : TRACE : 51f0 : validateHandShake > 2015-Feb-13 16:21:56 : TRACE : 51f0 : defaultSchema = > 2015-Feb-13 16:21:56 : TRACE : 51f0 : Sent handshake request message. > Coordination id: 520 > 2015-Feb-13 16:21:56 : TRACE : 51f0 : Utils::allocateBuffer [ 0241DFC8, > size = 1024 ] > 2015-Feb-13 16:21:56 : TRACE : 51f0 : Started new handshake wait timer > with 5 seconds. > 2015-Feb-13 16:21:56 : DEBUG : 51f0 : DrillClientImpl::recvHandshake: > async read waiting for server handshake response. > 2015-Feb-13 16:21:56 : TRACE : 51f0 : Handshake Message: actual bytes > read = 9 > 2015-Feb-13 16:21:56 : TRACE : 51f0 : DrillClientImpl::handleHandshake: > Cancel deadline timer. > 2015-Feb-13 16:21:56 : TRACE : 51f0 : Handshake Deadline timer cancelled. > 2015-Feb-13 16:21:56 : TRACE : 51f0 : Utils::freeBuffer [ 0241DFC8, size > = 1024 ] > > Whereas with BOOST_ASIO_DISBLE_IOCP, the log is created but empty. > > These happens when testing DSN in ODBC Administrator. > > So I will go on with the second option: ifdef WIN32_SHUTDOWN_ON_TIMEOUT > > Alexander zarei wrote: > So it will be like this: > > #if defined(_WIN32) && !defined(_WIN64) > #define WIN32_SHUTDOWN_ON_TIMEOUT 1 > #endif // _WIN32 > > and then using WIN32_SHUTDOWN_ON_TIMEOUT for limiting the patch. > > Parth Chandra wrote: > I don't see the change; did you forget to update the patch? > Also, I would put the "if defined ..." code mentioned above in common.hpp
Thanks for the hint. I am implementing it and will submit the patch as soon as the testing is done. - Alexander ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/24470/#review50063 ----------------------------------------------------------- On Aug. 7, 2014, 9:04 p.m., Xiao Meng wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/24470/ > ----------------------------------------------------------- > > (Updated Aug. 7, 2014, 9:04 p.m.) > > > Review request for drill and Parth Chandra. > > > Bugs: DRILL-1219 > https://issues.apache.org/jira/browse/DRILL-1219 > > > Repository: drill-git > > > Description > ------- > > Socket cancel operation does not work for 32-bit windows platform. Use > shutdown insted. > > > Diffs > ----- > > contrib/native/client/src/clientlib/drillClientImpl.hpp 2bf7b5c > contrib/native/client/src/clientlib/drillClientImpl.cpp 6a29d88 > > Diff: https://reviews.apache.org/r/24470/diff/ > > > Testing > ------- > > > Thanks, > > Xiao Meng > >
