Fixup/Compact should automatically mark clustered databases as Out Of Service 
Use this IdeaSpace to post ideas about Domino Server.

: 30
: 30
: 0
: Domino Server / Data Storage and Management
: fixup, compact, domino server, cluster, clustering
: Philip Storry1467 10 Feb 2010
: / Email
When a server that is a member of a cluster performs consistency checks on a database, or compacts a database, it should automatically mark the database as Out of Service in the Cluster Database Directory for the duration of the operation.
(In the case of compact, it will only happen during copy-style compacts.)
This will allow users opening the database to fail over to another cluster member.  It also means that compact won't be terminated by users opening the database halfway through the operation.
Ideally this behaviour would be automatic, but could be overridden with a command line option on fixup/compact if needed.
If a database is already marked as Out of Service, then fixup/compact should not mark it as available at the end of the operation.
It may also be a good idea to control this behaviour with an INI  variable - MarkOutOfServiceDuringMaintenance={On|Off} - in case an Administrator wants to override this behaviour.

1) Craig Wiseman24988 (10 Feb 2010)
[ASIDE: I tried posting to your blog, btw, but it's erroring out....]

I thought about various approaches to address this before posting my idea, and the alternate solution does not fully address things.

The point of email is that the <client can access it>. That sounds silly, eh?

There are situations where the mailfile on the server is too slow to respond due to performance or network issues that --> the server doesn't know about <--, and therefore can't actually address.

Suppose you have a cluster pair, one in New Orleans, one in Dallas.

The user typically uses the one in New Orleans, but for whatever reason, the link to NOLA is too slow and times-out. (what with all the partying last night)

In this scenario, the client should NOT display an error about "not responding", it should either automatically or prompt the user to fail over to Dallas.

The New Orleans server really can't be expected to know that the client is having trouble in this scenario.

BUT, unlike stupid web-browsers, we have SMART client that can figure things out, if we design it such.

{ Link }
2) Craig Wiseman24988 (10 Feb 2010)
I really should say that I agree with this idea and have promoted it.

There are just certain other situations that it doesn't fully address.
3) Philip Storry1467 (11 Feb 2010)

I'm not saying that this is the whole solution.

But it's probably easier to put a shared library in which checks if the server is a cluster, and if it is then marks the DB as Out of Service before working on it. They can then just call that library before fixup/compact works.

This is the kind of small improvement that could be put into an incremental release (albeit turned off by default).

Re-writing the client failover code would be more of a next-big-release job, I'd have thought. It needs a lot of testing, and probably requires more hassle.

I see your point about widely distributed clusters over a WAN, but 95% of these failover issues are likely caused by compact/fixup. Why not fix those the obvious, easy way? Then the last 5% can be dealt with by your suggestion (which I voted for, by the way).

A smart client would be great. I'd like the server to be smart too, though. I can't help that - I'm an Administrator, after all! ;-)
4) Bill Malchisky12192 (01 Mar 2010)
Why not just use the -o or -z (depending upon your needs) with Fixup to take the DBs offline? That should solve half of this problem.

For compact, that's different, and I could see Lotus expanding the capability to add an offline option for that feature. Know that as @2 mentioned, there are some circumstances where one wants the DB to remain on-line--even in a cluster. Particularly if the time to switch over is longer than the time the Domino server would be touching the file.


Welcome to IdeaJam

You can run IdeaJam™ in your company. It's easy to install, setup and customize. Your employees, partners and customers will immediately see results.

Use IdeaJam to:

  • Collect ideas from employees
  • Solicit feedback and suggestions from employees and customers
  • Run innovation contests and competitions
  • Validate concepts
  • Use the power of "crowd-sourcing" to rank ideas and allow the best ideas to rise to the top

IdeaJam™ works with:

  • IBM Connections
  • IBM Lotus Quickr
  • Blogs and Wikis
  • Websphere Portal
  • Microsoft Sharepoint
  • and other applications.

IdeaJam has an extensive set of widgets and API's that allow you to extend and integrate IdeaJam™ with other applications.

Learn more about IdeaJam >>

IdeaJam developed by

Elguji Software Logo