Salesforce

Configuring PAS through OEE / OEM before first starting the PAS will cause corruption to openedge.properties

« Go Back

Information

 
TitleConfiguring PAS through OEE / OEM before first starting the PAS will cause corruption to openedge.properties
URL NameAttempting-to-configure-PAS-through-OOE-OEM-before-first-starting-the-PAS-will-cause-corruption-to-openedge-properties
Article Number000188276
EnvironmentProduct: OpenEdge
Version: 11.5, 11.6.x
OS: All supported platforms
Other: OEM, OEE
Question/Problem Description
Configuring PAS through OOE / OEM before first starting the PAS will cause corruption to openedge.properties
properties corruption is not on specific fields, it depends on what PAS property is being configured and this changes the location within the file.
Steps to Reproduce(add same long property, save, clear all the fields, save)

1. Edit the abl properties
2. Copy the same string into every property on the startup parameters page
3. Save
4. Ensure the openedge.properties has the same string in each field
5. Clear each field from the UI and Save again.
6. Review the openedge.properties, sometimes the properties will be saved and sometimes only some of them will be saved
Clarifying Information
openedge.properties corruption is not particular to any platform and doesn't require using a remote adminserver, 
openedge.properties corruption does not always occur when editing properties through the OE Console page
openedge.properties corruption is more likely on remote adminservers or if file writes are slow on one platform vs another
Error MessageAn error will be posted on the screen of OEE pointing at a problem reading line X.
Line X will be a partial line that has corrupted the file.
Defect NumberDefect PSC00351490 / ADAS-3486
Enhancement Number
Cause
Multiple threads are simultaneously trying to update the openedge.properties file:

1. The corruption happens when the saved line off sets don't match up exactly between the overlaps.  
Usually this is more reliable on first save because the file order gets changed, and on subsequent saves, the major ordering of sections and property names doesn't change much so it takes "larger" edits to the file to scramble the individual lines of the file.

This is why when only one property is changed you're less likely to encounter openedge.properties corruption but when several properties or enter or remove a large string from a property you're more likely to see the corruption. 

2. When fields are edited really fast (like tab + delete + tab + delete + tab +delete) extjs is missing some of the change events due to the way the library polls to monitor for changes every 100ms
Resolution
Upgrade to OpenEdge 11.6.4, 11.7 or later where code to block improper thread handling of the properties file updates has been implemented:
  1. Better synchronization to reads and writes of openedge.properties file to prevent separate threads performing overlapping changes that could result in a corrupted file
  2. The timing issue on first page that could result in changes not being saved if multiple very fast edits are made to several fields
  3. The page is converted from extjs to kendo
Workaround
1.  Backup the openedge.properties file before making changes through the OE Console
2.  Make property changes one-at-at-time and verify these changes in the openedge.properties file

As an alternative, use oeprop command line to configure openedge.properties.
Notes
Keyword Phrase
Last Modified Date1/2/2024 8:22 PM

Powered by