[Xapian-tickets] [Xapian] #145: remote connection should pass 'writable' flag

Xapian nobody at xapian.org
Mon Mar 2 13:00:04 GMT 2009


#145: remote connection should pass 'writable' flag
----------------------------+-----------------------------------------------
 Reporter:  mhammond        |        Owner:  olly     
     Type:  enhancement     |       Status:  assigned 
 Priority:  normal          |    Milestone:  1.1.0    
Component:  Backend-Remote  |      Version:  SVN trunk
 Severity:  minor           |   Resolution:           
 Keywords:                  |    Blockedby:           
 Platform:  All             |     Blocking:           
----------------------------+-----------------------------------------------
Description changed by olly:

Old description:

> When a client application uses (say) xapian.remote_open() to connect to a
> server
> running in 'writable' mode, the server still opens the database for the
> connection in 'writable' mode, even though this was not requested by the
> caller.
>  This limitation means that an application might need to use 2 servers -
> one for
> writable and one for read-only - as usage of the writable server will
> lock out
> all other read-only requests, which would be unacceptable in some
> environments.
>
> The fix is not trivial as the protocol doesn't provide a way of providing
> connection-specific options.  A solution would be to have the client send
> a
> MSG_KNOCK (?) message at connection with options (just this flag in the
> first
> instance) and the server could respond with its REPLY_GREETING if all is
> well.
> I understand this isn't going to make 1.0 though (well, unless you are
> really
> keen and would accept a patch if I could make one :)

New description:

 When a client application uses (say) xapian.remote_open() to connect to a
 server
 running in 'writable' mode, the server still opens the database for the
 connection in 'writable' mode, even though this was not requested by the
 caller.

 This limitation means that an application might need to use 2 servers -
 one for
 writable and one for read-only - as usage of the writable server will lock
 out
 all other read-only requests, which would be unacceptable in some
 environments.

 The fix is not trivial as the protocol doesn't provide a way of providing
 connection-specific options.  A solution would be to have the client send
 a
 MSG_KNOCK (?) message at connection with options (just this flag in the
 first
 instance) and the server could respond with its REPLY_GREETING if all is
 well.
 I understand this isn't going to make 1.0 though (well, unless you are
 really
 keen and would accept a patch if I could make one :)

--

-- 
Ticket URL: <http://trac.xapian.org/ticket/145#comment:9>
Xapian <http://xapian.org/>
Xapian



More information about the Xapian-tickets mailing list