[fossil-users] Is it possible to increase the sqlite timeout for fossil?

2013-02-21 Thread Matt Welland
We are getting a *lot* of collisions in heavy use repos. Rather than
confusing sync errors I'd like it if fossil just waited longer for the
repo to come available. I think setting a 10 second timeout on sqlite
would make a huge difference here. Can this be done?

Thanks.
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Is it possible to increase the sqlite timeout for fossil?

2013-02-21 Thread Richard Hipp
On Thu, Feb 21, 2013 at 10:24 AM, Matt Welland estifo...@gmail.com wrote:

 We are getting a *lot* of collisions in heavy use repos. Rather than
 confusing sync errors I'd like it if fossil just waited longer for the
 repo to come available. I think setting a 10 second timeout on sqlite
 would make a huge difference here. Can this be done?


Timeout is currently 5 seconds:
http://www.fossil-scm.org/fossil/artifact/35a237cbfde?ln=723

You could change that and recompile.  But before you do, first make sure
you are in WAL mode.  Can you post the /stat page for your repository -
the equivalent of (http://www.fossil-scm.org/fossil/stat)?



 Thanks.
 ___
 fossil-users mailing list
 fossil-users@lists.fossil-scm.org
 http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users




-- 
D. Richard Hipp
d...@sqlite.org
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Is it possible to increase the sqlite timeout for fossil?

2013-02-21 Thread Matt Welland
Interesting that the timeout is already 5 seconds. What happens is
sync fails and then users are confused. Perhaps this is not a timeout?
Note that this is direct file system access. I think suppressing the
sqlite3 error would help and a try again? Y/n prompt.

This is what we see:

New_Version: 5df265af2129cc9d526860abc5897d084aa5ae25
Autosync:  file://.blah.fossil
Bytes  Cards  Artifacts Deltas
Sent:5152 71  0  4
Error: Database error: unable to open database file
INSERT INTO rcvfrom(uid, mtime, nonce, ipaddr)VALUES(1,
julianday('now'), NULL, '127.0.0.1')
Received: 159  1  0  0
Total network traffic: 2854 bytes sent, 348 bytes received
fossil: Autosync failed

Stat output:

Repository Size: 214505472 bytes
Number Of Artifacts: 18929 (stored as 7411 full text and 11518 delta blobs)
Uncompressed Artifact Size: 108372 bytes average, 528150528 bytes max,
2051280245 bytes total
Compression Ratio: 9:1
Number Of Check-ins: 3411
Number Of Files: 14198
Number Of Wiki Pages: 11
Number Of Tickets: 30
Duration Of Project: 743 days or approximately 2.03 years
Project ID: b711128a80477cdb2f9a91b663dd6b2e8083c0b0
Server ID: b7aa6d92b218bd8086de653d1b7b58d7fac84c02
Fossil Version: 1.22 2012-03-19 12:45:47 [5dd5d39e7c] (gcc-4.4.1)
SQLite Version: 2012-03-16 00:28:11 [74eadeec34] (3.7.11)
Database Stats: 209478 pages, 1024 bytes/page, 113 free pages, UTF-8,
delete mode

On Thu, Feb 21, 2013 at 8:36 AM, Richard Hipp d...@sqlite.org wrote:


 On Thu, Feb 21, 2013 at 10:24 AM, Matt Welland estifo...@gmail.com wrote:

 We are getting a *lot* of collisions in heavy use repos. Rather than
 confusing sync errors I'd like it if fossil just waited longer for the
 repo to come available. I think setting a 10 second timeout on sqlite
 would make a huge difference here. Can this be done?


 Timeout is currently 5 seconds:
 http://www.fossil-scm.org/fossil/artifact/35a237cbfde?ln=723

 You could change that and recompile.  But before you do, first make sure you
 are in WAL mode.  Can you post the /stat page for your repository - the
 equivalent of (http://www.fossil-scm.org/fossil/stat)?



 Thanks.
 ___
 fossil-users mailing list
 fossil-users@lists.fossil-scm.org
 http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users




 --
 D. Richard Hipp
 d...@sqlite.org
 ___
 fossil-users mailing list
 fossil-users@lists.fossil-scm.org
 http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Is it possible to increase the sqlite timeout for fossil?

2013-02-21 Thread Richard Hipp
On Thu, Feb 21, 2013 at 11:21 AM, Matt Welland estifo...@gmail.com wrote:

 Database Stats: 209478 pages, 1024 bytes/page, 113 free pages, UTF-8,
 delete mode


That delete mode notation on the end denotes the problem.  You need to
change your repository on the server to WAL mode.  Do this as follows:

sqlite3 $repository 'pragma journal_mode=wal'

Or

fossil rebuild $repository --pagesize 8192 --wal

The second method will take (much) longer, but it also changes the page
size from 1024 bytes to 8192 bytes, which won't make a huge difference but
will help some.

-- 
D. Richard Hipp
d...@sqlite.org
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Is it possible to increase the sqlite timeout for fossil?

2013-02-21 Thread Matt Welland
On Thu, Feb 21, 2013 at 9:25 AM, Richard Hipp d...@sqlite.org wrote:


 On Thu, Feb 21, 2013 at 11:21 AM, Matt Welland estifo...@gmail.com wrote:

 Database Stats: 209478 pages, 1024 bytes/page, 113 free pages, UTF-8,
 delete mode


 That delete mode notation on the end denotes the problem.  You need to
 change your repository on the server to WAL mode.  Do this as follows:

 sqlite3 $repository 'pragma journal_mode=wal'

 Or

 fossil rebuild $repository --pagesize 8192 --wal

 The second method will take (much) longer, but it also changes the page size
 from 1024 bytes to 8192 bytes, which won't make a huge difference but will
 help some.

We can't switch to WAL mode currently as these repos are accessed from
multiple machines via NFS. Now that ssh is working for us we can
convert over to using ssh to a central server and switch to WAL mode
at the same time. Is there any downside to using ssh? How dramatic is
the performance improvement with WAL mode?

Thanks.



 --
 D. Richard Hipp
 d...@sqlite.org

 ___
 fossil-users mailing list
 fossil-users@lists.fossil-scm.org
 http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Is it possible to increase the sqlite timeout for fossil?

2013-02-21 Thread Richard Hipp
On Thu, Feb 21, 2013 at 11:45 AM, Matt Welland estifo...@gmail.com wrote:


 We can't switch to WAL mode currently as these repos are accessed from
 multiple machines via NFS. Now that ssh is working for us we can
 convert over to using ssh to a central server and switch to WAL mode
 at the same time. Is there any downside to using ssh? How dramatic is
 the performance improvement with WAL mode?


The big advantage of WAL mode is that readers won't block writers.  That
can be a huge deal on a busy site.

But the biggest gains you'll see will come from using ext4 instead of nfs
as our filesystem.

My gut instinct is that ssh will probably work better for this.  Let me
know if you encounter problems with it.


-- 
D. Richard Hipp
d...@sqlite.org
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users