You are on page 1of 5

Indexer tasks: Update and Updall

The Update and Updall tasks keep view indexes and full-text indexes up-to-date.

Update
Update is loaded at server startup by default and runs continually, checking its work queue for views and
folders that require updating. The indexer uses modest system resources by waiting five seconds between
each database update operation that is performs.
The Update task performs three different updating tasks:

Updates views in the IBM Lotus Domino Directory.


Updates views in all other databases. When a request is made to update a view, the view is only
updated if there are at least 20 note changes since the last update and if the view has been
accessed in the last 7 days. The view update service increases the speed of the view access time
when a view is opened in the IBM Lotus Notes client. If views are not updated often, the only
effect on users or applications is a slow view open time because views are automatically updated
when opened.
Updates full-text indexes. Full-text indexing provides the ability to search for notes that have been
recently added. If a note is added after the most recent full-text indexing, that note will not be found
by a full text search.

In Domino 7 and more recent, the Update task uses a separate thread for full-text indexing which makes
view updates more timely than in releases.
Update maintains two queues of work -- an immediate queue and a deferrred queue. Other server
components, such as the router and replicator, post requests to the updater when changes are made to
databases. Some requests are posted as deferred and some as immediate.
This table lists how full-text index updates are performed according the update frequency:

Update frequency

Description

Daily

Performed by the nightly Updall task. If this


nightly task is not run, the daily updating is not
performed.

Scheduled

Performed by a Program document which runs


Updall. You need to set the frequency to
Scheduled and create the proper Program
document. You can also use this method to
update different databases at different times.

Hourly

Triggered by the chronos task and performed by


the update task if the update task is running. If
the update task is not running, chronos performs
the update. If the chronos task is not running,

the update is not performed.

Immediate

Performed by the Update task. If Update is not


running, the update is not performed. All
immediate requests are processed as they are
received.

Deferred

Deferred requests are held for 15 minutes before


they are processed. Requests to update the same
database that occur in that time are ignored as
duplicate requests.

When a view or folder change is recorded in the queue, Update waits approximately 15 minutes before
updating all view indexes in the database so that the update can include any other database changes made
during the 15-minute period. After updating view indexes in a database, it then updates all databases that
have full-text search indexes set for immediate or hourly updates.
When Update encounters a corrupted view index or full-text index, it rebuilds the view index or full-text
index in an attempt to correct the problem. Update deletes the view index or full-text index and rebuilds it.
Note The Update task spawns a directory indexer thread. The directory indexer runs at one-minute intervals
and is dedicated to keeping IBM Lotus Domino Directory view indexes up-to-date so that any changes to
the directory are usable as soon as possible. The directory indexer runs against any local or remote Domino
Directory or Extended Directory Catalog that a server uses for directory services. The task of updating the
Domino Directory view indexes does not lock the views, and you should be able to create new server
sessions while this task is running.
To improve view-indexing performance, and if your server has adequate CPU power, you can run multiple
Update tasks.

Managing the update task and its use of system resources


The indexer is able to keep up with the update rate in the server's default configuration if the server has a
low update rate, that is, if few changes are made to databases on the server. If a server has a high update
rate due to heavy application database use, a large number of mail users, or a large volume of mail, the
default resource usage configuration can cause the updater queues to become large. To determine whether
the updater queues are large, examine the queue length statistics that are available in Lotus Domino 7 and
more recent. If you determine that the update queues are too large, determine a methodology for
performing updates on that server. Long queues typically indicate that views and full-text indexes are not
up-to-date.
Here are some sample scenarios and practices that you may want to use as well as the steps to implement
them.

Scenario one -- The queues are usually short, unless a full-text index starts for a large update
volume database. When this occurs, the view updating requests wait for the full-text index. This
causes the queues to increase until the full-text indexing is complete. To use slightly more system
resources to keep the queues short, perform view updates and full-text index updates in separate
threads. To do so, enter this variable, UPDATE_FULLTEXT_THREAD=1, in your server's
NOTES.INI file.
Scenario two -- The queues grow slowly over time and become too long because the Updater task
is not getting sufficient system resources to keep the queues short. To use additional resources to
keep the queues short, set a delay between each Update operation. To set the delay, enter these

variables, UPDATE_IDLE_TIME (and FTUPDATE_IDLE_TIME if two threads are used) in the


server's NOTES.INI file. By default, the delay is 5 seconds. To allow the Update task to use
additional system resources, set the delay to less than 5 seconds. Finer precision may be required
on a large server. In that case, you can set the delay in milliseconds (Domino 7 and more recent
only) by adding these variables, UPDATE_IDLE_TIME_MS (and FTUPDATE_IDLE_TIME_MS if
two threads are used), to the server's NOTES.INI file.
Scenario -- Servers that have high update rates often require too many system resources to keep
the queues small. In this case, you can decide not to perform view updates at all, and just allow
view opens to perform the updates automatically. Disable the view updates by adding this variable,
UPDATE_DISABLE_VIEWS=1, to the server's NOTES.INI file. Another option is to limit the number
of immediate updates for full-text databases. You change the update frequency for databases to
hourly, daily, or to a specific schedule. You can also delete extraneous full-text indexes.
To allow frequent full-text indexing on only a small number of databases, and to prevent other
databases from being full-text indexed, disable full -text indexing in the Updater and then add
Program documents to schedule Updall to run, for example, every half hour (30 minutes). To
disable full-text indexing in the Updater, enter this variable, UPDATE_DISABLE_FULLTEXT=1, in
the server's NOTES.INI file.
You can prevent performing any updates at all, and just allow view opens to perform the view
updates automatically. To prevent updates, edit the NOTES.INI variable by removing the update
string.
If a system has adequate system resources to perform updates, you can run multiple Update tasks.
To do so, edit the variable, ServerTasks, in the NOTES.INI file and add a second Update task.
You can adjust the controls that determine whether a modified view is actually updated or not. The
database and view must still be opened, but if these thresholds are not reached, the view is not
updated.

For more information, see UPDATE_ACCESS_FREQUENCY and UPDATE_NOTE_MINIMUM as well as


other NOTES.INI settings.

Updall
Updall is similar to Update, but it doesn't run continually or work from a queue; instead you run Updall as
needed. You can specify options when you run Updall, but without them Updall updates any view indexes or
full-text search indexes on the server that need updating. To save disk space, Updall also purges deletion
stubs from databases and discards view indexes for views that have been unused for 45 days, unless the
database designer has specified different criteria for discarding view indexes. Use the NOTES.INI setting
Default_Index_Lifetime_Days to change when Updall discards unused view indexes.
Like Update, Updall rebuilds all corrupted view indexes and full-text search indexes that it encounters.
By default Updall is included in the NOTES.INI setting ServerTasksAt2, so it runs daily at 2 AM. Running
Updall daily helps save disk space by purging deletion stubs and discarding unused view indexes. It also
ensures that all full-text search indexes that are set for daily updates are updated.
Note When views are being rebuilt - either through the Designer or Updall tasks - all new server sessions
that are attempted once the rebuild process has started are locked out. Therefore, it is recommended that
changes to master templates, as well as complete view rebuilds, be scheduled for late at night, when users
are far less likely to require access to the server.
The following table compares the characteristics of Update and Updall. For Updall, the table describes
default characteristics. You can also modify some of these characteristics with Updall options.

Characteristic

Update

Updall

When it runs

Continually after server


startup

2 AM and when you run it

Runs on all
databases?

No. Runs only on databases


that have changed.

Yes

Refreshes views
indexes?

Yes

Yes

Updates full-text
indexes?

Yes. Updates full-text indexes


set for immediate and hourly
updates.

Yes. Updates all full-text


indexes.

Detects and attempts


to rebuild corrupted
view indexes?

Yes

Yes

Detects and attempts


to rebuild corrupted
full-text indexes?

Yes

Yes

Purges deletion stubs?

No

Yes

Discards unused view


indexes?

Yes (after a view is unused for


45 days or according to a view
discard option specified by a
designer)

Yes (after a view is unused for


45 days or according to a view
discard option specified by a
designer)

Ignores "Refresh
index" view property?

Yes

Yes

Can customize with


options?

No

Yes

Related topics
Updall options
Updating database indexes and views

Running the Updall task


Running multiple Update tasks
Changing the temporary folder used for view rebuilds

You might also like