“Booking Modified By Another User” Error

November 9th, 2009

On a recent implementation of SkySales, I would occasionally run into a strange error from the NewSkies application server: “Booking Modified By Another User”. It seemed to occur only after a booking was initially created, then was modified again. On the second attempt at committing the booking, core (the app server) would occasionally throw this error.

This error is triggered when the application server detects that the last updated date/time of the booking in the database doesn’t match what it has in memory. While this is a valid sanity check to prevent the application server blindly overwriting a booking in the database, we had no idea who or what was modifying the booking in between our commits.

After some digging, we discovered that the last user updating the booking was a process account (ProcessMaster). This can be seen when whatever action it took left a trace in the booking history (viewed in SkySpeed).

As Navitaire doesn’t seem to have a solution for the problem, the best recommendation was to re-retrieve the booking when this error was found and try the commit again. This would refresh the application server with the most recent copy of the booking and reset things on the web server as well.

This unfortunately has a side effect of killing any changes the user has just requested to their booking. It’s less painful if they have to repeat just one screen of changes, but it’s worse if they just finished a change process involving a number of steps.

If you absolutely had to be graceful with the customer – you could write a lot of code to queue up and retry those changes made. Unfortunately, the most common (and cheapest) approach is to throw up your hands with an error and blindly ask the customer to repeat to you what they just did.

The bottom line is this: Don’t assume that once a booking is created, you’re the only one working with it. What I’ve described above is a corner case, but a well-known one at that.


3 Responses to ““Booking Modified By Another User” Error”

  1. Val Putyatina on February 1, 2010 12:46 pm

    interesting.. but we have some errors with session.
    THe first one was Journey Overlap – but we certanly send two different
    journey keys. And what was interesting: we’ve got this error only in TEST
    enviroment. It turned out, that setting of PROD and TEST enviroments
    were different only by one parameter: allowed time interval between flights.
    (on PROD it was about 2 hours and all was alright), but when we set same
    value on TEST – we’ve got this error. But now it seems like it’s OK.
    And we’ve got another error on TEST while commiting a booking: duplicate
    booking (if we test same citypairs some times running). Only cleaning of
    session help to avoid this error.

  2. ANIL R on September 28, 2011 9:48 am

    I have observed that this message can be presented even if the booking is open
    on any other terminal , not necessary that it is bieng modified.

  3. Colt on September 28, 2011 10:26 am

    Anil – in that case something has modified the booking somehow. Merely opening the booking shouldn’t modify it.

Trackback URI | Comments RSS

Leave a Reply

Name (required)

Email (required)

Website

Speak your mind