Commit Graph

60 Commits

Author SHA1 Message Date
Eliot Horowitz
6121d0c551 debugging 2011-08-06 09:36:34 -04:00
gregs
db3517a0ad don't print out full lock when acquired - SERVER-3263 2011-06-16 17:34:40 -04:00
gregs
1cc69e30ad be smarter about the pids we look for when cleaning old locks. 2011-06-03 17:58:26 -04:00
Greg Studer
c954585085 don't force dist lock if ts changed but pings stopped - sync6
Minor safety increase, but probably helpful
2011-06-01 13:27:47 -07:00
gregs
9077e45482 triple check that an update actually went through for a dist unlock - sort1.js transient issue 2011-05-12 17:27:51 -04:00
gregs
3c14eb6ee7 fix logging message 2011-05-12 15:26:39 -04:00
gregs
9850500a4e fix failing test - need to make dist lock thread-safe SERVER-3058 2011-05-12 10:30:05 -04:00
gregs
fcbcbdac95 don't remember pings on errors or successful dist_locking SERVER-3039 2011-05-12 10:30:05 -04:00
gregs
d24f128075 don't copy string 2011-05-12 10:30:05 -04:00
gregs
6075760ada remove legacy logic, refactor to consts SERVER-3047 2011-05-10 10:34:18 -04:00
gregs
2c49df4752 always require double-check before forcing locks - sync6 fix 2011-05-08 12:47:52 -04:00
gregs
ad01e102a8 Re-entrant distributed locks with ping unlock retries -- SERVER-3024
Retries unlock when process is still up but config server has gone down,
in case of errors during locking and unlocking.  Also allows testing
of locks already held.
2011-05-04 17:22:00 -04:00
gregs
301376410c conversion of unneeded caused_by macros to methods 2011-04-01 09:45:10 -04:00
Dwight
b9e79c918e vstudio 2011-03-28 16:10:43 -04:00
dwight
6620177e03 elim variable not used warning in visual c++ 2011-03-23 16:34:40 -04:00
gregs
fb4482b1bf moved comment to appropriate position 2011-03-23 12:47:05 -04:00
gregs
fbef3e1b63 fix for distlock (fixes sync5, sync6 failures)
unlocking can unsafely unset new locks if set during unlock process, this patch ensures new locks are not able to be forced -after- checking individual lock documents
2011-03-22 22:28:04 -04:00
Greg Studer
cd625649f2 show lock error message 2011-03-20 22:58:15 -07:00
Eliot Horowitz
9f4ba7f543 remove const for win compile 2011-03-18 02:54:24 -04:00
Dwight
33257d4b57 elim compiler warning 2011-03-17 13:18:05 -04:00
gregs
2b04fcbfd8 more informative dist lock logging 2011-03-17 10:44:59 -04:00
gregs
c189e6b79d Can't use prettyHostName() in dist lock 2011-03-11 17:29:22 -05:00
gregs
df2913a7a0 Fix for SERVER-2740 add port to dist lock id 2011-03-11 12:44:23 -05:00
dwight
bc81e2ac0c compile warning on windows eliminate 2011-03-01 20:35:49 -05:00
greg
e82ae13ca0 Cannot use boost::thread::id for legacy 2011-03-01 17:02:06 -05:00
greg
737a20b8fa Fixes for distributed lock handling time skew.
In general, the current distributed lock is susceptible to time skew in config servers and mongos clients.  This update
uses an algorithm that checks for time skew, as well as providing some more robust tests to make sure a distributed
lock cannot be forced prematurely.  Some documentation on the website, currently hidden from non-10gen, gives more
info.
2011-03-01 14:15:26 -05:00
Eliot Horowitz
8d4850ae65 detect clock skew in DistributedLock SERVER-2584 2011-02-17 19:59:33 -05:00
Eliot Horowitz
cf275ec820 warning if we hit a bizarre case 2011-02-16 17:23:16 -05:00
Eliot Horowitz
5909aa6962 more verbose lock pinging logic 2011-02-14 16:21:36 -05:00
Eliot Horowitz
b828d21630 ran astyle SERVER-2304 2011-01-04 00:40:41 -05:00
Alberto Lerner
d8b24cc6a8 add lock holder in all lock taken paths 2010-12-13 13:13:22 -05:00
Alberto Lerner
93ec2e1c10 introduced a header by mistake 2010-11-30 12:02:16 -05:00
Alberto Lerner
5ff1b64140 report if dist_lock take over failed 2010-11-30 12:00:27 -05:00
Eliot Horowitz
c7de5247bf move boost headers to pch.h 2010-11-28 02:07:25 -05:00
dwight
5ec52a8161 comments 2010-11-13 13:02:48 -05:00
Alberto Lerner
6af410dde7 SERVER-1880 do not clean lockpings, even old ones, if the lock is still taken 2010-11-11 14:35:26 -05:00
Alberto Lerner
9c7814ffcd fill lock owner in the other lock taken path 2010-10-26 15:25:26 -04:00
Alberto Lerner
70d9fb3fd2 a bit more logging 2010-10-01 16:51:09 -04:00
Alberto Lerner
e161357e63 log() if lockpings don't get through 2010-10-01 15:00:19 -04:00
Eliot Horowitz
9eb2e8c2ba better error message on distlock 2010-10-01 13:41:18 -04:00
Eliot Horowitz
61efd254b0 lower verbosity at -v 2010-09-12 17:51:38 -04:00
Alberto Lerner
48ac2df48f call_once has a fast path already 2010-08-20 19:52:39 -04:00
Alberto Lerner
c703c0bac3 Tighten process string caching 2010-08-19 12:54:28 -04:00
Alberto Lerner
d2f718eac5 Log all error exit paths. 2010-08-12 11:21:34 -04:00
Alberto Lerner
de1d87c885 Give the pinger thread a name. 2010-08-12 09:50:29 -04:00
Alberto Lerner
0bb812151e Log more dist lock details at high verbose level. 2010-08-11 16:46:37 -04:00
Alberto Lerner
fd94900d91 DistributedLock::unlock() handles partition from config DB 2010-08-05 11:52:14 -04:00
Eliot Horowitz
efd0f7459b fix type SERVER-1563 2010-08-04 09:38:55 -04:00
Eliot Horowitz
34a45ffdf0 stop pinging at shutdown 2010-07-23 23:14:03 -04:00
Eliot Horowitz
6c055169e6 fix warning 2010-07-20 23:16:33 -04:00