#37 - Critical fix for databases upgraded to 2018

Technical and operational updates for all users of JADE, including Jade Source Bulletins
User avatar
Jade Support
Posts: 103
Joined: Mon Aug 17, 2009 10:27 am
Location: Jade Software Corporation, Christchurch

#37 - Critical fix for databases upgraded to 2018

Postby Jade Support » Wed Jun 19, 2019 4:32 pm

In existing JADE systems that have been upgraded to JADE 2018 and that contain string large objects (slobs) or binary large objects (blobs) that meet some very specific boundary conditions, and have then been deleted, free space corruption may eventuate. This may lead to data corruption.

To ensure that this does not occur, please:

1 Install JADE 2018 hot fix #32 as soon as possible.

2 Run a physical certify on any systems already upgraded to JADE 2018 and if there are any errors, please create a Contact in PARSYS and attach the certify log.

3 If there are no errors from the certify run a compact on the files. This will remove any latent free space corruption.
Note: Do not run the compact before the certify.

This applies only to systems upgraded to JADE 2018.

If you have downloaded JADE 2018 but haven’t started using it, please delete it and download it again.

If you have any questions, please contact JADE Support.
Jade Support
Jade Software Corporation Ltd

Email: jadesupport@jadeworld.com
Web: http://www.jadeworld.com

Jade Software – complex business problems solved beautifully.

allistar
Posts: 156
Joined: Fri Aug 14, 2009 11:02 am
Location: Mount Maunganui, Tauranga

Re: #37 - Critical fix for databases upgraded to 2018

Postby allistar » Fri Jun 21, 2019 4:13 pm

Can you please confirm two things:

- that after the certify is clean we can run the compact online,

- that we only need to compact files that are (kind = DbFile.Kind_User_Data)

Thanks,
Allistar.

Ty
Posts: 6
Joined: Fri Nov 10, 2017 12:13 pm

Re: #37 - Critical fix for databases upgraded to 2018

Postby Ty » Mon Jun 24, 2019 10:02 am

1. The compact *must* be non-updating to clear the freespace corruption. Let me clarify, there two modes of the compact operation, updating and non-updating. An offline compact is always non-updating. An online compact may be updating or non-updating.

- A compact with the jdbutil.exe or jdbutilb.exe applications is always offline, that is, non-updating.
- A compact run with jdbadmin.exe or the JadeDatabaseAdmin class can be updating or non-updating. That is, with jdbadmin.exe, the you must include "updatesAllowed=false" on the command line, and using the JadeDatabaseAdmin.compactDbFiles() method, the "updatesAllowed" parameter must be "false".

2. The files you must certify and compact are all of the files that you have updated. I.e, Kind_User_Schema and Kind_User_Data, and if you update the Monitor Knowledge Base, Kind_Utility.

3. Something that wasn't said is that the compaction of the file may fail. Treat this case as if the certify had picked up errors.

4. The certify should be performed with this ini option set: [TrapControl]TrapDbInvalidBlockTypeInCertify=false. This will prevent a potentially large number of unhelpful process dumps being generated during the certification process.

5. It is quite common for certify to generate errors or warnings that have nothing to do with this issue. Still, please raise a ticket with JADE Support and we will advise you further.

Regards,
Ty Baen-Price
JADE Plant


Return to “Jade Support Bulletins”

Who is online

Users browsing this forum: No registered users and 1 guest

cron