Lotus Notes ver. 6.5.1 - Need advice/direction on best transaction recovery process.

Posted on 2005-03-23
Medium Priority
Last Modified: 2013-12-18
Hello...Could someone provide a brief explanation or provide a url that offers a possible direction on how to recover from an error on a  "batch' update.  We do not want to rely on restoring from back-ups as this "batch' update is run multiple times each day.  

I have a button on a form that launches lotusscript that reads/updates many detail records (documents)....if for some reason the process errors half way thru the batch, I need a means of fast recovery, to restore the updated documents to their original state.

In a true database environment, one can use commit/rollback.    

I can only see writing a separate piece of code that identifies the documents updated and undo everything the original code put in place.

Is there any other means of "file" restoration.  

Writing perfect code that never allows an error is one solution.....is there any other?

Question by:BeastDan
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
LVL 46

Accepted Solution

Sjef Bosman earned 600 total points
ID: 13613023
There is Transaction logging in Domino, mainly for backup and recovery procedures. There's no commit/rollback in Domino. What is the reason for you to want to have one transaction of multiple updates? The next best think would be to update documents twice. Are there many relations between documents?

LVL 31

Assisted Solution

qwaletee earned 400 total points
ID: 13613454
you can only do "rollbacks" using Archive-style transaction logging, and even then, it has to be done "in cooperation" with backup software that does the point-in-time restores from tha backed-up archive transaction logs.  So, if yuo don't want to do restores, you may be stuck.  You can do the restores from diaks instead of tape, if your backup software supports that, and if it works well with your IT backup strategy.

Otherwise, I suggest taking a copy of each document before updating it, in a run-specific database.  You can then have a simple restore script.  You might wat to have some way of flagging whether a document's last update was via your batch job or a user action, so your restore does not write over subsequent user changes. or, rewrite the job so it can pick up where it left off, instead of starting over (that would bullet-proof most things, no?)

Author Comment

ID: 13613611
There are parent child relationships.......

The user keys in a "Summary" type document, containing fields representing different total amounts, then they key in one to many "Detail" type documents.
When they are finished creating the "Detail" type documents, the user selects a "Balance" button.  The script reads all of the "Detail" type documents, totalling different numeric fields.  These totalled fields are then compared to the "Summary" fields.  If the fields are in agreement, the user is then permitted to then launch code that applies the Detail type document data for updates to other existing documents.

On one test, halfway thru applying the updates, a type mismatch error derailed the process.
To recover manually is a tedious process.

I will write a separate process that identifies what documents were modified, and undo the updates that originally occurred.

I just wanted to make sure there was not a system in place to facilitate the restoration process.


LVL 46

Expert Comment

by:Sjef Bosman
ID: 13613822
Wouldn't it be a lot simpler to verify totals using a view and viewentries? No offence meant...

Okay, assuming that Detail works, as well as Balance, the error occurred in the "Update other documents" code? Why do so many documents need to be updated? Is the database document structure suitable for Notes, didn't you devise a structure that is more of a relational type? If the database already exists and is operational for some time, then we'd have to stick with it, otherwise I'd like to suggest to you to present (some of) the database's ERD here.

It is always good to build in error traps, using
    On Error Goto label

Author Comment

ID: 13613987
The developers never had much say in this, but we always believed Lotus Notes was not the proper tool for this task.  Software that has commit/rollback features would be suitable.  Employees with Notes experience have gone on to greener pastures.  I have had little formal training.

I will flag documents that were updated and then undo the updates that occurred.
Just making sure what the options were.


Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Lack of Storage capacity is a common problem that exists in every field of life. Here we are taking the case of Lotus Notes Emails, as we all know that we are totally depend on e-communication i.e. Emails. This article is fully dedicated to resolvin…
This article covers general Notes 8.5 troubleshooting information including recreating the Notes\Data folder.
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…
Suggested Courses

764 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question