0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-12-01 09:32:32 +01:00
Commit Graph

730 Commits

Author SHA1 Message Date
Dwight
be4e916110 compile 2010-04-15 19:17:26 -04:00
Dwight
5da3be0bf3 comment 2010-04-15 19:13:20 -04:00
Dwight
db4df3afcb some replset work 2010-04-15 19:12:28 -04:00
Eliot Horowitz
e2db25b854 close test fd SERVER-1023 2010-04-14 16:37:29 -04:00
Mathias Stearn
1ef66b2155 Better debugging of exceptions 2010-04-12 23:08:29 -04:00
Eliot Horowitz
dff285ac2d clean up shutdown 2010-04-08 21:40:28 -04:00
Mathias Stearn
dfa0c41aa1 Prevent calls to pure virtual functions in MongoFile SERVER-988
The issue was that during construction and destruction an object's vtable
points to the current type rather than the most derived type. ~MongoFile() tried
to take a lock, but the function holding the lock tried to use the object,
calling either the close() or flush() virtual methods. The solution was to move
the call that needed the lock to the most derived class's destructor. The
easiest way to increase the probability of this crash is by using --syncdelay 1.
2010-04-08 19:57:48 -04:00
Aaron
30c91f9d06 SERVER-832 compile win 2010-04-08 13:47:13 -07:00
Aaron
1007c905b0 Merge branch 'master' of github.com:mongodb/mongo 2010-04-08 13:38:23 -07:00
Mathias Stearn
89e671b0a2 attempt to debug failing tests 2010-04-08 15:58:49 -04:00
Mathias Stearn
0efadc48e9 Disable IPv6 by default. Add function and cmdline opt to enable. 2010-04-08 15:15:35 -04:00
Aaron
b051b16197 Merge branch 'master' of github.com:mongodb/mongo 2010-04-08 12:14:29 -07:00
Aaron
1b0b94cb9c SERVER-832 use send/recv timeouts 2010-04-08 12:14:20 -07:00
Mathias Stearn
6378b9da4c Winsock startup at static init 2010-04-08 14:25:06 -04:00
Mathias Stearn
5cad0d6a80 special case localhost = 127.0.0.1 (for now) 2010-04-08 01:44:33 -04:00
Eliot Horowitz
c85e131387 Merge branch 'master' of github.com:mongodb/mongo 2010-04-08 00:25:08 -04:00
Eliot Horowitz
0f946e0f98 try to fix solaris 2010-04-08 00:24:24 -04:00
Mathias Stearn
005a87caf1 oops 2010-04-08 00:19:48 -04:00
Mathias Stearn
e6ca10ed6d windows string fun 2010-04-08 00:17:12 -04:00
Mathias Stearn
49dc591f5d Move all name resolution to SockAddr constructor.
Start using getaddrinfo/getnameinfo.
2010-04-08 00:08:57 -04:00
Mathias Stearn
6e68fe7d70 better handling of IPv6 literal addresses 2010-04-08 00:08:56 -04:00
dwight
c90c179754 compile err 2010-04-07 20:09:20 -04:00
dwight
b0a3df820c grow 2010-04-07 19:29:56 -04:00
Dwight
7e2be7ff64 compile 2010-04-07 17:16:51 -04:00
Dwight
ec7e1561d5 ramstore work 2010-04-07 17:15:36 -04:00
Eliot Horowitz
8dbbef7267 cleaning Listener and don't log ever http connect 2010-04-07 09:34:14 -04:00
Dwight
977e246702 minor mmf 2010-04-06 18:05:30 -04:00
Eliot Horowitz
009e2e4e0a adaptive sleep for ClientCusror::yield SERVER-975 2010-04-06 13:49:51 -04:00
Eliot Horowitz
0c9d1b4284 Merge branch 'master' of git@github.com:mongodb/mongo 2010-04-06 09:36:23 -04:00
Eliot Horowitz
4acaab52a7 an assert 2010-04-06 09:36:16 -04:00
Mathias Stearn
afafbfa5a7 Better getAddr for unix sockets 2010-04-05 21:46:04 -04:00
Mathias Stearn
5b2e9fdad3 Merge branch 'master' into correction 2010-04-05 20:16:38 -04:00
Dwight Merriman
a0fdfa0c4e cflf 2010-04-05 19:44:45 -04:00
Mathias Stearn
0f2e939810 windows fix 2010-04-05 19:25:01 -04:00
Mathias Stearn
df4874f9a8 support listening on multiple sockets.
Defaults to all IPv4 and all IPv6 addresses and a unix socket.
SERVER-866 SERVER-859 SERVER-408
2010-04-05 18:26:17 -04:00
Mathias Stearn
19755df99a fix byte order on getPort() 2010-04-05 18:15:12 -04:00
Dwight
1f928b9e5a compile err 2010-04-05 17:30:59 -04:00
Dwight
8d0d3435e2 Merge branch 'master' of git@github.com:mongodb/mongo 2010-04-05 17:26:54 -04:00
Dwight
89a3d0db82 towards storage engine pluggability 2010-04-05 17:26:40 -04:00
Mathias Stearn
29477f1f8e default case MINOR 2010-04-05 14:25:56 -04:00
Dwight
43fb9be758 elim warnign on widnwos 2010-04-05 14:24:09 -04:00
Mathias Stearn
caf3617fc5 windows fixes 2010-04-05 14:11:40 -04:00
Mathias Stearn
41e683a2a5 Better IPv6 for SockAddr 2010-04-05 12:59:22 -04:00
Mathias Stearn
66a489efcc Combine init() and listen() 2010-04-05 10:52:38 -04:00
Mathias Stearn
abfa039e22 Move code from sock.h to sock.cpp MINOR 2010-04-05 10:52:38 -04:00
Mathias Stearn
61e921730c Make Listener register socket with ListeningSockets 2010-04-05 10:52:38 -04:00
Mathias Stearn
163c040888 Make MiniWebServer inherit from Lister 2010-04-05 10:52:38 -04:00
Mathias Stearn
5a30852961 Stop recycling SockAddrs 2010-04-02 21:28:55 -04:00
Mathias Stearn
06d8b84a13 Better handling of unset SockAddrs 2010-04-02 21:26:57 -04:00
Mathias Stearn
ec5293b1ce more fun with windows 2010-04-02 19:24:08 -05:00
Mathias Stearn
c8480344ee fun with windows 2010-04-02 19:09:56 -05:00
Mathias Stearn
4cd861085b windows fix 2010-04-02 19:37:43 -04:00
Mathias Stearn
a9382d41f0 Unix socket support (must use --nohttpinterface for now) SERVER-866 2010-04-02 19:26:13 -04:00
Mathias Stearn
b6744bbde6 Replace hardcoded AF_INET with calls to getType() 2010-04-02 19:26:13 -04:00
Mathias Stearn
3f6871c96d Make SockAddr internals support different types. SERVER-859 SERVER-866 2010-04-02 19:26:13 -04:00
Dwight
ff23d77d07 Merge branch 'master' of git@github.com:mongodb/mongo 2010-04-02 16:43:27 -04:00
Dwight
d1138e570e cleaning 2010-04-02 16:43:10 -04:00
Mathias Stearn
b85dabdaab windows fixes 2010-04-02 13:40:19 -05:00
Mathias Stearn
c64dc2337b winsock2 fix 2010-04-02 13:19:27 -05:00
Eliot Horowitz
6f7f0a92c3 close Listener closing 2010-04-02 14:20:20 -04:00
Mathias Stearn
1d10bf7d5e Combine SockAddr::localhost() and isLocalHost() 2010-04-02 13:21:27 -04:00
Mathias Stearn
b03cc0e07d Privatize SockAddr::sa. Banish use of sockaddr_in outside of SockAddr class 2010-04-02 13:21:27 -04:00
Mathias Stearn
d43f194989 Convert SockAddr.sa to sockaddr_storage. prep for SEVER-859 2010-04-02 13:21:27 -04:00
Mathias Stearn
3c53fbaedc Banish sockaddr_in from everywhere except sock.h. prep for SERVER-859 2010-04-02 13:21:27 -04:00
Mathias Stearn
74ac2df0c7 Delete code thats been commented out for over a year 2010-04-02 13:21:27 -04:00
Dwight
666fb52bdd abstract out mmf administration 2010-04-02 11:28:32 -04:00
Mathias Stearn
12fa9864c4 pragma once in util/locks.h 2010-04-01 15:41:13 -04:00
Dwight
8657d88065 mmf 3 2010-03-31 16:21:20 -04:00
Dwight
3cb1ef8cd9 make HeaderSize a const 2010-03-31 15:49:28 -04:00
Eliot Horowitz
440388c0de fix boost lock 2010-03-31 14:44:11 -04:00
Eliot Horowitz
1f4c6e822f Merge branch 'master' of git@github.com:mongodb/mongo 2010-03-31 14:34:22 -04:00
Eliot Horowitz
e8583f2a6b switch to pthread_rw lock on support platforms SERVER-824 2010-03-31 14:33:49 -04:00
Dwight
60a659e641 mmf abstraction 2010-03-31 12:45:40 -04:00
Dwight
f70df5352b cleaning 2010-03-30 10:11:28 -04:00
Aaron
19e879c509 use regular new rather than replacement new in mongo::mutex 2010-03-29 22:52:17 -07:00
Eliot Horowitz
df6709a2da fix MessagingPort leaking SERVER-777
From: Guillaume Delannoy <guillaumedelannoy@ymail.com>
Signed-off-by: Eliot Horowitz <eliot@10gen.com>
2010-03-29 10:11:16 -04:00
Eliot Horowitz
c0f6cf1c90 fix sleepmicros 2010-03-26 23:32:14 -04:00
Eliot Horowitz
31c9358289 fix array numberic sort order SERVER-833 2010-03-26 15:30:29 -04:00
Eliot Horowitz
1e6780f844 can use sharding with SyncClusterConnection for 2 phase commit across 3 servers SHARDING-39 2010-03-22 11:47:37 -04:00
Eliot Horowitz
44dcc1ae77 don't use execinfo on solaris 2010-03-15 17:35:08 -04:00
Mathias Stearn
15249fbfd6 check for fd==0 as in mmap_posix 2010-03-15 16:26:12 -04:00
Mathias Stearn
1fe29d5b7f Async flush uasserts on windows SERVER-735 2010-03-15 16:26:12 -04:00
Aaron
c457973dc6 SERVER-695 expose boost object to work better with older boost versions 2010-03-15 09:56:10 -07:00
Aaron
c971842a55 Revert "Revert "SERVER-695 don't destroy static global mutexes""
This reverts commit eb7cde3e75.

Conflicts:

	db/instance.h
2010-03-15 09:42:01 -07:00
Eliot Horowitz
31330598f5 don't replicate mr temp tables SERVER-746 2010-03-15 12:29:14 -04:00
Eliot Horowitz
0d779a3fa8 can get progress of index creation through db.currentOp and web console SERVER-707 2010-03-15 11:18:08 -04:00
Eliot Horowitz
be63c9ca50 add time to mongostat 2010-03-12 15:49:21 -05:00
Eliot Horowitz
0797f88800 use BSONObj for params so order is preserved 2010-03-12 15:00:01 -05:00
Eliot Horowitz
77c164408b move alphabet to .h 2010-03-11 12:24:05 -05:00
Aaron
eb7cde3e75 Revert "SERVER-695 don't destroy static global mutexes"
This reverts commit 714ec2fdc8.
2010-03-10 00:39:26 -08:00
Aaron
26b6ffe30a Revert "SERVER-695 older boost too"
This reverts commit d9b3fbe120.
2010-03-10 00:39:12 -08:00
Aaron
d9b3fbe120 SERVER-695 older boost too 2010-03-10 00:18:42 -08:00
Aaron
65fa7f9e16 Merge branch 'master' of github.com:mongodb/mongo 2010-03-09 23:59:26 -08:00
Aaron
714ec2fdc8 SERVER-695 don't destroy static global mutexes 2010-03-09 23:59:10 -08:00
Mathias Stearn
ae02e61015 fsync shouldn't be a noop on windows SERVER-728 2010-03-09 21:49:12 -05:00
Aaron
53235fdc36 Merge branch 'master' of github.com:mongodb/mongo 2010-03-08 13:09:10 -08:00
Aaron
cfe99b6363 SERVER-705 check for negative effects of large clock skews, seed last optime using oplog 2010-03-08 12:55:18 -08:00
Dwight
5ddd713d43 keepalive event logged by masters for replication
so that repl status is never too stale even when idle
logged every 10 seconds
2010-03-08 15:03:00 -05:00
Eliot Horowitz
fdb5d475f7 OpTime needs to handle clock skew SERVER-703 2010-03-04 23:14:03 -05:00
Mathias Stearn
6c05aebf19 URL decoding for the HTTP/REST server SERVER-625 2010-03-03 22:06:03 -05:00
Mathias Stearn
59de6c4b38 move hex::val to util/hex.h and rename to fromHex 2010-03-03 21:49:50 -05:00
Eliot Horowitz
0a82362581 fix mm option 2010-03-03 17:23:37 -05:00
Aaron
246109cc18 SERVER-652 simplify field name upper limit check, guard against setting string fields in arrays 2010-03-02 13:16:20 -08:00
Aaron
bbbe0aaf31 SERVER-652 process array elements in correct order 2010-03-02 12:29:54 -08:00
Eliot Horowitz
3e36fa8fd4 defensive MINOR 2010-02-26 14:42:11 -05:00
Eliot Horowitz
c3f07f3be0 some missing operators 2010-02-26 12:07:46 -05:00
Eliot Horowitz
066b8376cf thread safe string 2010-02-26 11:33:20 -05:00
Dwight
32c065676e Merge branch 'master' of git@github.com:mongodb/mongo 2010-02-23 11:06:53 -05:00
Dwight
eb75c9529f comments 2010-02-23 11:06:26 -05:00
Eliot Horowitz
221301072d add # of asserts to serverStatus 2010-02-23 07:51:36 -05:00
Eliot Horowitz
267056081f don't waste so much memory for small collections 2010-02-20 17:37:12 -05:00
Eliot Horowitz
5383659f5e use re-usable fast array for sorting in memory
30-70% faster SERVER-651
2010-02-20 16:35:26 -05:00
Eliot Horowitz
9c8858d85a printMemInfo helper, fix darwin virtual size reporting 2010-02-20 16:16:17 -05:00
Mathias Stearn
0bf045c2e1 remove some manual free()s and mixed new/free() 2010-02-12 22:17:31 -05:00
Mathias Stearn
d87a129357 delete unneeded code MINOR 2010-02-12 22:17:30 -05:00
Mike Dirolf
c468109cbe include body in httpclient POSTs 2010-02-12 14:19:57 -05:00
Eliot Horowitz
2f406ce762 test for http interface 2010-02-12 11:33:07 -05:00
Eliot Horowitz
a4e79e80c2 make sure to use flags for all send/recv ops 2010-02-12 11:07:57 -05:00
Mathias Stearn
72f8e1ae73 fix opToString MINOR 2010-02-11 13:50:34 -05:00
Eliot Horowitz
12a8eee52c use table in web console for clarity 2010-02-09 10:35:31 -05:00
Eliot Horowitz
ddd617b35a don't try and accept sockets after socket is closed 2010-02-07 15:41:52 -05:00
Eliot Horowitz
ae5e03de12 fix madvise if 2010-02-04 21:32:38 -05:00
Eliot Horowitz
1916d9347a Merge branch 'master' of git@github.com:mongodb/mongo 2010-02-04 17:24:33 -05:00
Eliot Horowitz
caadcee6f9 ifdef madvise 2010-02-04 17:24:22 -05:00
Dwight
87d7f0a48f compile win 2010-02-04 17:17:09 -05:00
Eliot Horowitz
424e7d9585 sequential option for mmap SERVER-607 2010-02-04 17:12:14 -05:00
Dwight
1aad70190a Merge branch 'master' of git@github.com:mongodb/mongo 2010-02-04 15:46:34 -05:00
Dwight
92e756eabc background index building 2010-02-04 14:25:49 -05:00
Eliot Horowitz
c39b3ddb54 make allocation handle smaller os buffers 2010-02-04 12:07:33 -05:00
Eliot Horowitz
f7901fdc2c better errno reporting 2010-02-04 10:59:13 -05:00
Eliot Horowitz
62f47cc910 cleaning up security - moving to centralized location 2010-02-04 10:49:19 -05:00
Mathias Stearn
18404274b5 Fix bug in StringBuilder::str()
Old code would implicitly convert the first arg to a string before explicitly
calling the 3-arg constructor. The implicit conversion would fail if the buffer
wasn't NUL terminated.
2010-02-02 18:06:47 -05:00
Aaron
7b2d93d070 Merge branch 'master' of github.com:mongodb/mongo 2010-02-02 09:48:59 -08:00
Aaron
0131eaf887 Add debugging support for multiple destructors, and some guards to prevent this condition from arising 2010-02-01 15:41:04 -08:00
Eliot Horowitz
4f8d71b475 move util/top to db/stats/top 2010-02-01 10:47:28 -05:00
Mathias Stearn
cf92a4b67b only launch gdbserver if compiled with --gdbserver 2010-01-29 14:24:26 -05:00
Mathias Stearn
58e7807a9b size_t <-> int changes to fix win64 warnings 2010-01-28 17:33:33 -05:00
Eliot Horowitz
a65e789e1a final darwing fix MINOR 2010-01-28 15:16:22 -05:00
Eliot Horowitz
51a99bbce0 dawrin MINOR 2010-01-28 15:06:02 -05:00
Eliot Horowitz
4008f94cfc darwin compile MINOR 2010-01-28 14:58:23 -05:00
Eliot Horowitz
62ab3d3261 win compile MINOR 2010-01-28 14:20:18 -05:00
Eliot Horowitz
efe264364e add checking to see if a page is in memory to ProcessInfo 2010-01-28 14:14:33 -05:00
Aaron
1666a6507e disable backtrace scan on freebsd 2010-01-26 10:22:25 -08:00
Dwight
60c2a79e9c don't use asio for mongos with win vcproj yet 2010-01-26 12:19:14 -05:00
Mathias Stearn
8a31ed49aa Fix AtomicUInt for old GCC 2010-01-25 22:03:14 -05:00
Mathias Stearn
70b7968668 Pulling atomic functionality from WrappingInt to AtomicUInt. More atomic functions. 2010-01-25 19:33:10 -05:00
Mathias Stearn
4548ba59c9 mongos async: use StickyThreads. 2010-01-25 16:26:03 -05:00
Mathias Stearn
7eb1d29f1b mongos async: use two IO threads 2010-01-25 16:26:03 -05:00
Mathias Stearn
ab09697687 mongos async: cache remote port 2010-01-25 16:26:03 -05:00
Aaron
16d1616853 SERVER-541 make file allocation start log more precise 2010-01-25 12:11:08 -08:00
Eliot Horowitz
5fa0d5e030 better debugging when can't open streams 2010-01-24 21:05:46 -05:00
dwight
05d80f56d8 don't assert in rawout 2010-01-24 11:05:45 -05:00
Dwight
a5a7815936 inspect NamespaceDetails on load 2010-01-21 13:40:18 -05:00
Eliot Horowitz
693b5980dc fix hashtable so that deleted entries don't prevent finding later chained entries SERVER-553 2010-01-19 10:58:35 -05:00
Eliot Horowitz
b7b8ac1a43 compile fix for windows SERVER-551 2010-01-19 10:09:13 -05:00
Eliot Horowitz
069d9e9c3c catch exceptions in webserver SERVER-551 2010-01-19 10:01:15 -05:00
Mathias Stearn
4ea9dde3fb Provide extra info with db.serverStatus() 2010-01-15 17:55:41 -05:00
Dwight
95ba1b843e elim warning on windows 2010-01-15 17:16:17 -05:00
Mathias Stearn
42ec730af2 Better VirtualMemorySize on windows 2010-01-15 16:59:39 -05:00
Eliot Horowitz
e33f6fc92f Merge branch 'master' of git@github.com:mongodb/mongo 2010-01-15 16:11:08 -05:00
Eliot Horowitz
4539b8e7c5 iterall for HashTable 2010-01-15 16:11:00 -05:00
Dwight
cf91f7211a Merge branch 'master' of git@github.com:mongodb/mongo 2010-01-15 16:05:39 -05:00
Dwight
2628d0213a refactor and clean up some index building code
no longer allow two indexes with same key pattern (with diff names)
2010-01-15 16:05:14 -05:00
Mathias Stearn
32acd37d75 fix uninitialized length for MemoryMapFile on windows. 2010-01-15 15:31:51 -05:00
Dwight
3f6cb1fdcd browser error msg 2010-01-15 12:52:07 -05:00
Eliot Horowitz
d309bc1b09 use boost sleep on sunos SERVER-548 2010-01-15 08:07:33 -05:00
Eliot Horowitz
eab3b5f06e use nanosleep on *nix rather than boost, trying to fix os x issue SERVER-539 2010-01-14 15:35:29 -05:00
Eliot Horowitz
a0b4be402d fix --logappend SERVER-543 2010-01-14 00:08:41 -05:00
Mathias Stearn
8c86bf3456 fix race condition 2010-01-12 13:22:31 -05:00
Mathias Stearn
494d9678b9 Fix race condition. SERVER-532 2010-01-12 13:17:16 -05:00
Aaron
903fb03381 Merge branch 'master' of github.com:mongodb/mongo 2010-01-11 18:20:27 -08:00
Aaron
530c24aa55 MINOR print conflicting port in bind failure log 2010-01-11 18:18:06 -08:00
Mathias Stearn
00b731fa0b finished threads go to front of line (faster) 2010-01-11 20:47:22 -05:00
Aaron
d377e7ad99 SERVER-228 assert rather than exit when run out of disk space 2010-01-11 11:24:20 -08:00
Eliot Horowitz
cfdca85934 try to fix win64 memory take 3 SERVER-528 2010-01-11 06:44:00 -05:00
Eliot Horowitz
e011523b20 try to fix win64 memory take 2 SERVER-528 2010-01-11 06:38:16 -05:00
Eliot Horowitz
721588bd26 try to fix win64 memory SERVER-528 2010-01-11 06:27:52 -05:00
Eliot Horowitz
b490e0a4ab make mem info work on win32 SERVER-528 2010-01-10 20:22:17 -05:00
Eliot Horowitz
ce00f71bd4 log() space MINOR 2010-01-10 02:20:37 +01:00
Eliot Horowitz
2d35a54b16 cleaning up listening thread shutdown 2010-01-09 02:58:12 +01:00
Dwight
63c26a96bd SERVER-521 cursor may be deleted while in getMore 2010-01-06 13:39:57 -05:00
Eliot Horowitz
bf939ef985 help people trying to access http on driver port 2010-01-02 21:41:35 -05:00
Eliot Horowitz
d1b20f280b append char fix 2010-01-02 17:02:45 -05:00
unknown
84d1ca75f7 SERVER-255 lock on fsync for snapshotting
will be doc'd later today
2010-01-02 11:01:47 -05:00
Dwight
b88f54e219 compile windows (vcproj) 2009-12-30 11:59:54 -05:00
Eliot Horowitz
5f36804299 stop using stringstream for logging 2009-12-29 23:30:29 -05:00
Eliot Horowitz
ac84841e63 first checking of simple/fast resettable StringBuilder 2009-12-29 17:32:31 -05:00
Eliot Horowitz
2dcb747bac option to limit # of connections (threads currently) default 20000 SERVER-471 2009-12-29 14:09:53 -05:00
Eliot Horowitz
315995b8c7 better debugging for weird mmap issue 2009-12-28 17:46:41 -05:00
Eliot Horowitz
d5a5401f9a use code in getLastError SERVER-112 2009-12-28 17:12:49 -05:00
Eliot Horowitz
fa8961c3e8 Exception classess need codes too SERVER-112 2009-12-28 17:06:07 -05:00
Eliot Horowitz
0ab8149a8e uassert/massert take error code SERVER-112 2009-12-28 16:43:43 -05:00
Eliot Horowitz
2390b483bc some additions to Timer 2009-12-27 00:41:30 -05:00
Eliot Horowitz
8a53ffb05c more Top cleaning 2009-12-25 23:24:37 -05:00
Eliot Horowitz
57137d6aca some Top refactoring 2009-12-25 22:06:07 -05:00
Mathias Stearn
c7587eac0b Removing unused header 2009-12-23 16:10:58 -05:00
Eliot Horowitz
16b07128f3 fail faster on bad mmap data 2009-12-23 15:55:07 -05:00
Eliot Horowitz
34ce721624 Merge branch 'master' of git@github.com:mongodb/mongo 2009-12-23 15:30:25 -05:00
Eliot Horowitz
503473112d when loading js files, only get read access 2009-12-23 15:28:53 -05:00
Mathias Stearn
8c89428182 ASIO mongos now uses a threadpool for database operations.
Networking is done in a single thread outside of the pool.
2009-12-23 12:12:39 -05:00