Parser Concurrency and Locking Improvements

In order to overcome the following limitations posed by the Exclusive Configuration Change Access feature, the Parser Concurrency and Locking Improvements feature was introduced in Cisco IOS Release 12.2(33)SRE:

  • The Exclusive Configuration Change Access feature locks the configuration to other users. The lock is automatically released when the lock holder exits from the configuration mode. Any other user in the configuration mode will be returned to the EXEC mode when the lock is acquired. Also, any user can execute the clearconfigurationlock command and forcibly remove the lock and allow normal access to all users.

  • The router can reload when multiple write processes belonging to the same client simultaneously access the Cisco IOS configurations in a shared mode.

  • The router can reload when EXEC commands concurrently access the data structure.

Effective from Cisco IOS Release 12.2(33)SRE, the Concurrency and Locking Improvements feature is the primary locking mechanism used to prevent concurrent configuration of Cisco IOS software by multiple users.

The Parser Concurrency and Locking Improvements feature provides a common interface that ensures that exclusive access is granted to the requested process and prevents others from concurrently accessing the Cisco IOS configuration. It allows access only to the user holding the lock and prevents other clients from accessing the configuration.

Effective from Cisco IOS Release 12.2(33)SRE, the configurationmodeexclusive {auto | manual} command will not be available to enable single-user access functionality for the Cisco IOS CLI. Use the parsercommandserializer command to enable configuration access only to the users holding the lock and prevent other clients from accessing the configuration.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

Enabling Parser Concurrency and Locking Improvements

Perform this task to enable configuration access only to the users holding a configuration lock and to prevent other clients from accessing the running configuration.


Note


The Parser Cconcurrency and Locking Improvements feature does not allow two or more processes to exist simultaneously within the critical section of Cisco IOS configurations.

This feature flags a command to prevent its serialization if an excessive amount of time is required to generate its output or if its use produces more than 10 kilobytes of output. Examples of commands that would not be serialized are the showterminal and showrunning-config commands.


SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    parser command serializer

    4.    exit


DETAILED STEPS
     Command or ActionPurpose
    Step 1 enable


    Example:
    Router> enable
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.

     
    Step 2 configure terminal


    Example:
    Router# configure terminal
     

    Enters global configuration mode.

     
    Step 3 parser command serializer


    Example:
    Router(config)# parser command serializer
     

    Introduces an exclusive lock to serialize access to Cisco IOS configurations.

     
    Step 4 exit


    Example:
    Router(config)# exit
     

    (Optional) Exits global configuration mode.

     

    Configuring Parser Concurrency and Locking Improvements Example

    The following example shows how to enable the Parser Concurrency and Locking Improvements feature by using the parsercommandserializer command:

    Router# configure terminal
    Router(config)# parser command serializer
    Router(config)# exit