Salesforce

Error 1422 after backing out of online IDXACTIVATE

« Go Back

Information

 
TitleError 1422 after backing out of online IDXACTIVATE
URL NameP129256
Article Number000128695
EnvironmentProduct: OpenEdge
Version: 10.0x, 10.1A, 10.1B
OS: All supported platforms
Other: IDXACTIVATE
Question/Problem Description
Error 1422 after online IDXACTIVATE is backed out.

IDXACTIVATE is backed out when the online process finds existing connections to the related table:
Activating Index <indexname> at Database timestamp <timestamp>. (12811)
Connections with timestamps older than <dbtimestamp> exist. (13246)
Do you wish to continue waiting..... Type y to continue (y/n). (13247)

Backed out IDXACTIVATE by selecting "N" to the 13247 IDXACTIVATE prompt in order to rerun activation after manually disconnecting current self-service users.

Accessing the table after "n" is selected to the 13247 prompt results in error 1422
Accessing the table after IDXACTIVATE is cancelled results in index corruption error 1422

Data Dictionary still shows the index as inactive
Steps to Reproduce
Clarifying Information
Error MessageSYSTEM ERROR: Index in for recid could not be deleted. (1422)
Defect NumberDefect PSC00184924 / OE00149138
Enhancement Number
Cause
When (n) is selected to backout the IDXACTIVATE from the prompt, the active flag on the index remains set.
Subsequent access to the table results in error 1422 as the index has been marked active but the index keys themselves have not been built.
Resolution
Upgrade to OpenEdge 10.1C where the active flag is no longer set.

While the IDXACTIVATE feature was introduced in OpenEdge 10.1A, OpenEdge 10.2B08, 11.2.1, 11.3.0 or later is recommended. Previously there were issues where interrupting an IDXACTIVATE during the key build phase, leaves the index as active (but it's not built) and another that left admin locks behind when interrupted. Otherwise please refer to the Articles referenced below for additional considerations.
Workaround
Workaround 0:   Run IDXBUILD offline instead of IDXACTIVATE.

Workaround 1: Run IDXACTIVATE online again
  • Delete the index
  • Create index again inactive
  • Ensure no clients are connected
  • Start IDXACTIVATE
  • Allow clients to connect again while IDXACTIVATE is running. They will be able to execute CUD activity against this table once the IDXACTIVATE session completes.
Workaround 2: Actively disconnect or wait for current client session timestamps to refresh at the 13247 IDXACTIVATE prompt
  • Delete the index
  • Create index again inactive
  • Start IDXACTIVATE​
  • Select (y), to continue waiting when prompted:
Do you wish to continue waiting..... Type y to continue (y/n). (13247)
  • As soon as all the listed clients have refreshed the timestamps of their current sessions, IDXACTIVATE proceeds;
Index Activate: Index <indexname> No. <indexnum> - <keycount>keys added. (13244)
Index Activate: Index <indexname> No. <indexnum> - <keycount>keys processed. (13245)
  • Client sessions will be able to execute CUD activity against this table again once the IDXACTIVATE session completes.
Notes
Keyword Phrase
Last Modified Date11/20/2020 7:29 AM

Powered by