Q1. How to force OOPS never go'DIRECT'? A1. There are 2 ways: 1) to use parent directive (not the one mentioned in the icp-peer description, but that one which is 'parent xxx.yyy.zzz 3128') In this case a) ALL requests (except for ones occurring in local-domain or local-networks) will be satisfied through parent. b) no icp-requests are sent c) if there is no use of local-networks directive in oops.cfg, then no attempts to resolve names will be made. d) Requests to hosts occurring in local-domain or local-networks are satisfied directly. 2) to use icp-peer parent description. In this case on getting the request from a client, icp-request is sent to all icp-peer (both parent and sibling). On receiving a 'HIT' reply from anywhere - we go there. Only if we get 'MISS' we go to the parent, being the quickest of all to have sent 'MISS' reply. And only if there isn't any reply from parents we go directly. If we assume the latter variant is rather seldom, then oops can be considered to go always through the fastest parent. Q2. I compiled it successfully, ran it and I saw the following in oops.log: > ------------------------------------------------------- > >>>>[0x400]db_open: Invalid argument > [0x400]oops 1.2d Started > [0x400]DB engine by Sleepycat Software: DB 2.4.14: (6/2/98) At this time nothing is being written in the disk cashe. Why is it so? What have I got to do? A2. The problem lies in the fact that OOPS was compiled with the old version of DB library. You've got to install the new version, run configure and make. You can download the fresh version from www.sleepycat.com. Q3. I formatted storages which in their sum should occupy 1Gb, but the free space volume on the disk was hardly changed, however. And should it be like that? A3. Yes, it should. At formatting the following operations take place: 1) a storage file is created, if it wasn't made before 2) 'super-block' and bitmap are created and get stored in the beginning of the file 3) seek on the last file byte of the storage is made and one byte is being recorded That is - the storage formatted this way represents a "hole" in file system, which will be filled in according to documents' saving. If you don't like such behavior, it is possible to create storages in advance with the help of the following command: dd if=/dev/null of=storage ... In this case you'll reserve the necessary space at once. After such dd don't forget, please, to run oops -z for this storage, you know, dd doesn't create any bitmap and superblock... Q4. How to find: which group given connection will fall in. A4. In description of each group you can see directives: 'networks' and 'networks_acl'. networks_acl are searched first, in order they appear in config file. If request match any of networks_acl - we will use group, which contain this networks_acl. If request dont match nay networks_acl, then we use 'networks' Comparisons ordered so, that most specific networks are checked first. For example networks 0/0 192.168.0.0/24 192.168.0.0/25 will be checked in next order: 192.168.0.0/25 192.168.0.0/24 0/0 And host 192.168.0.1 will fall in group, containing network 192.168.0.0/25, regardless of order of appearence of this networks in config file. Q5. Which platform is best for OOPS? A5. I develop and use OOPS under Solaris, and think this is best platform (both intel and sparc). Next and very close go FreeBSD (may-be it is even better on some parameters). Alas, as for today, you can use OOPS under Linux for limited number of simultaneous connections. This is because Linux use model 'one thread-one process', and OOPS use model one 'connection-one thread'