Error when updating a logicalPort via MP API: "General error has occurred" followed by the error "An existing transaction is still in progress"
search cancel

Error when updating a logicalPort via MP API: "General error has occurred" followed by the error "An existing transaction is still in progress"

book

Article ID: 376265

calendar_today

Updated On:

Products

VMware NSX VMware NSX-T Data Center

Issue/Introduction

Symptoms:

  • An update is received in one of the logicalPort via MP API:
    PUT /api/v1/logical-ports/<logical-port-id>
  • There's an override (non default) QoS Switching Profile configured on the Segment with VM(s) attached to it.
  • Similar entries can be found in var/log/proton/nsxapi.log:
    INFO http-nio-127.0.0.1-7440-exec-22 NsxBaseRestController 72559 SYSTEM [nsx@6876 audit="true" comp="nsx-manager" level="INFO" subcomp="manager"] UserName:'admin' ModuleName:'common-services' Operation:'PUT@/api/v1/logical-ports/xxx' Operation status: 'failure' Error: General error has occurred.
    ERROR http-nio-127.0.0.1-7440-exec-22 NsxBaseRestController 72559 SYSTEM [nsx@6876 comp="nsx-manager" errorCode="MP100" level="ERROR" subcomp="manager"] An existing transaction is still in progress. TX[9cd6]
    org.corfudb.runtime.exceptions.TransactionAlreadyStartedException: An existing transaction is still in progress. TX[9cd6]
            at org.corfudb.runtime.collections.TxnContext.txBeginInternal(TxnContext.java:90) ~[?:?]
            at org.corfudb.runtime.collections.TxnContext.<init>(TxnContext.java:79) ~[?:?]
            at com.vmware.nsx.persistence.UfoStore.tx(UfoStore.java:202) ~[?:?]
            at com.vmware.nsx.persistence.UfoStore.tx(UfoStore.java:186) ~[?:?]

Environment

This issue is impacting VMware NSX-T Data Center 3.2.x, VMware NSX 4.1.0.x.

Cause

The error "Operation status: 'failure' Error: General error has occurred.", followed by the error "An existing transaction is still in progress. TX[9cd6]" is observed while updating a logicalPort via MP APII call "PUT /api/v1/logical-ports/<logical-port-id>" only if the switching profile is overridden on the segment where the update is attempted to.

This error is observed due to incorrect transaction handling when checking for overridden switching profiles.

Resolution

This issue is fixed on NSX-T Data Center version 3.2.4, NSX 4.0.x, NSX 4.1.1 or above.

If the upgrade is not feasible, the recommendation is to not use an overridden QoS Profile:

  1. Log in to NSX UI with admin privileges.
  2. Navigate to Networking > Segments
  3. Edit the Segment that contains the customized Segment Profile and change it to default-qos-profile or none.