MMBase

Serialization can corrupt MMBase database

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Critical Critical
  • Resolution: Cannot Reproduce
  • Affects Version/s: 1.8.3
  • Fix Version/s: 1.8.6
  • Component/s: Core
  • Description:
    Hide
    When MMBase serializes the bridge cloud when closing an application server, there is a risk that it restarts MMBase while doing so. For some raeson, the restarted MMAbse does not recognize buidlers already present in the typedef builder, and starst making new records, assigning new objecttypes.
    This corrupts the database (specifically the typedef, versions, and daymerks tables) with false data.
    After restart MMBase may use the wrong otypes, and can then not properly access data.
    On some environments this happens after every server restart - the cause is unclear.

    For the moment, I turned off serialization by making Cloud unserializable. This at least prevents the corruption, though ofcourse serialization no longer works.
    Show
    When MMBase serializes the bridge cloud when closing an application server, there is a risk that it restarts MMBase while doing so. For some raeson, the restarted MMAbse does not recognize buidlers already present in the typedef builder, and starst making new records, assigning new objecttypes. This corrupts the database (specifically the typedef, versions, and daymerks tables) with false data. After restart MMBase may use the wrong otypes, and can then not properly access data. On some environments this happens after every server restart - the cause is unclear. For the moment, I turned off serialization by making Cloud unserializable. This at least prevents the corruption, though ofcourse serialization no longer works.
  • Environment:
    Tomcat 5

Issue Links

Activity

People

Dates

  • Created:
    2007-03-01 09:51
    Updated:
    2008-07-16 22:13
    Resolved:
    2008-07-16 22:12