1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Increase the WAL-mode SQLITE_PROTOCOL timeout to 10 seconds.

FossilOrigin-Name: 2aeacf81df92b4fe5d1825c1dc1cd176b8af8bd9
This commit is contained in:
drh
2014-06-12 17:10:18 +00:00
parent 696964d0e5
commit 5b6e3b9781
3 changed files with 10 additions and 10 deletions

View File

@@ -1,5 +1,5 @@
C Simplify\sthe\sestLog()\sroutine. C Increase\sthe\sWAL-mode\sSQLITE_PROTOCOL\stimeout\sto\s10\sseconds.
D 2014-06-12T15:46:46.043 D 2014-06-12T17:10:18.787
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in dd2b1aba364ff9b05de41086f74407f285c57670 F Makefile.in dd2b1aba364ff9b05de41086f74407f285c57670
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -291,7 +291,7 @@ F src/vdbemem.c 6fc77594c60f6155404f3f8d71bf36d1fdeb4447
F src/vdbesort.c 44441d73b08b3a638dcdb725afffb87c6574ad27 F src/vdbesort.c 44441d73b08b3a638dcdb725afffb87c6574ad27
F src/vdbetrace.c 6f52bc0c51e144b7efdcfb2a8f771167a8816767 F src/vdbetrace.c 6f52bc0c51e144b7efdcfb2a8f771167a8816767
F src/vtab.c 21b932841e51ebd7d075e2d0ad1415dce8d2d5fd F src/vtab.c 21b932841e51ebd7d075e2d0ad1415dce8d2d5fd
F src/wal.c 76e7fc6de229bea8b30bb2539110f03a494dc3a8 F src/wal.c 264df50a1b33124130b23180ded2e2c5663c652a
F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4 F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
F src/walker.c 11edb74d587bc87b33ca96a5173e3ec1b8389e45 F src/walker.c 11edb74d587bc87b33ca96a5173e3ec1b8389e45
F src/where.c 778943263d3d6de375f9e983998d61d61810e9d5 F src/where.c 778943263d3d6de375f9e983998d61d61810e9d5
@@ -1174,7 +1174,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
P 6484fb5a25c2a0e5d26694285a4908a22c67ba17 P 6c68d758bce3752f044752404a76bf3ba3eec48f
R 34527842724eabaf8c54b06a4f0df0d3 R 2f07fa98b6e908bc6502590dbe40f41c
U drh U drh
Z d9811e61b520e89dd1ac8e506eeb59a8 Z 7ca1de307211ad47daac93b8be7d2faa

View File

@@ -1 +1 @@
6c68d758bce3752f044752404a76bf3ba3eec48f 2aeacf81df92b4fe5d1825c1dc1cd176b8af8bd9

View File

@@ -2096,8 +2096,8 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int cnt){
** calls to sqlite3OsSleep() have a delay of 1 microsecond. Really this ** calls to sqlite3OsSleep() have a delay of 1 microsecond. Really this
** is more of a scheduler yield than an actual delay. But on the 10th ** is more of a scheduler yield than an actual delay. But on the 10th
** an subsequent retries, the delays start becoming longer and longer, ** an subsequent retries, the delays start becoming longer and longer,
** so that on the 100th (and last) RETRY we delay for 21 milliseconds. ** so that on the 100th (and last) RETRY we delay for 323 milliseconds.
** The total delay time before giving up is less than 1 second. ** The total delay time before giving up is less than 10 seconds.
*/ */
if( cnt>5 ){ if( cnt>5 ){
int nDelay = 1; /* Pause time in microseconds */ int nDelay = 1; /* Pause time in microseconds */
@@ -2105,7 +2105,7 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int cnt){
VVA_ONLY( pWal->lockError = 1; ) VVA_ONLY( pWal->lockError = 1; )
return SQLITE_PROTOCOL; return SQLITE_PROTOCOL;
} }
if( cnt>=10 ) nDelay = (cnt-9)*238; /* Max delay 21ms. Total delay 996ms */ if( cnt>=10 ) nDelay = (cnt-9)*(cnt-9)*39;
sqlite3OsSleep(pWal->pVfs, nDelay); sqlite3OsSleep(pWal->pVfs, nDelay);
} }