Troubleshoot Quorum Blockchain Service
Deployment failures
Insufficient vCPU quota
If your deployment fails because of a QuotaExceeded
error indicating that you have exceeded your vCPU core quota, create a support request with Azure to increase it.
To request increasing the vCPU limit:
Access and log in to the Azure support website.
In the Overview tab, select Create a support request.
In the Problem description tab:
- Select the Service and subscription limits (quota) issue type.
- Select your subscription.
- Select the Compute-VM (cores-vCPUs) subscription limit increases quota type.
- Select Next.
In the Additional details tab, enter your request details:
- Enter the number of required of required vCPUs in New vCPU Limit.
importantWe recommend 6 vCPUs per environment.
- In the Quotas dropdown, select the required VM.
importantWe recommend DAV4 Series for Enterprise and Business tiers, and BS Series for Development tiers.
- Complete the required details, and select Next.
Review and create the support request.
Missing subscription registrations
If your deployment fails because of a MissingSubscriptionRegistration
error indicating that you haven't registered a namespace (also known as a resource provider), you can view the registration status and register the resource provider with your subscription through the Azure portal.
To deploy QBS, register the following resource providers:
Microsoft.Compute
Microsoft.Network
Microsoft.Insights
Microsoft.ManagedIdentity
Microsoft.Storage
Microsoft.KeyVault
Microsoft.Solutions
Failure to access management API
If you attempt to retrieve details for a deployed consortium member installed in one tenant (QBS Deployed Tenant) which is owned by a user with another tenant (User Tenant), you might see an error when trying to interact with the management API.
You can resolve this error by creating a new user or retrieving a bearer token.
Create a new admin API user in the QBS Deployed Tenant
Create a new user in the QBS Deployed Tenant (for example, named "QBS API User"). This login can now be used to interact with the management API page.
With this approach, when authorizing access on the management API, you don't need to provide a bearer token.
Retrieve a bearer token to use with the currently non-working user credentials
You can use the Azure CLI to retrieve a bearer token to use with the management API.
Go the Azure portal.
Select your username in the upper right corner.
Select Switch directory. This takes you to the Directories + subscriptions page, which lists your account's directory names, domains, and IDs.
Identify the domains for your User Tenant and QBS Deployed Tenant.
noteIf you're unsure which organization your user belongs to, select your username in the upper right corner of the page, then select View account. In the list of options on the left side of the page, select Organizations. Your home organization is displayed at the top of the page.
Copy the directory IDs next to those domains.
On the command line, run the following command, filling in the QBS Deployed Tenant directory ID from the previous step.
az login --scope 8c989307-2439-402b-86eb-5900c6132dee/.default --tenant <QBS Deployed Tenant directory ID>
Go to the URL displayed, provide the code specified, and specify the user ID to log in with (for example,
john.smith@mycompany.com
).On the command line, run the following command, filling in the QBS Deployed Tenant directory ID from step 6.
az account get-access-token --resource 8c989307-2439-402b-86eb-5900c6132dee --tenant <QBS Deployed Tenant directory ID> --query accessToken -otsv
This returns a bearer token that can be used with the management API:
- Go to the management API website.
- Select Authorize in the upper right corner.
- Set the bearer value to your bearer token.
- Select Authorize, then Close. You can now execute API calls on the page.
tipYou can decode your bearer token by pasting it onto jwt.ms. In the output, the
tid
value includes your User Tenant directory ID.
Unable to access RPC endpoint
If you are unable to access your RPC endpoint (DNS hostname) of your QBS member, check the following before raising a support ticket.
If you have recently created your QBS Member, check to ensure that your member provisioned successfully, and that your transaction node is available.
Check your firewall rules to ensure your client IP address has access to the QBS member.
If you have deployed a Development Tier QBS member and selected the Azure Spot Instance option, your VM might have been evicted due to lack of Azure compute capacity. In this case, the QBS service continually retries re-allocating your VM until capacity becomes availabile. Learn more about the Azure Spot eviction policy here.
Transaction processing failure
If you have transactions that fail to be mined and don't generate receipts, this might be because of incorrect nonce values. Transactions submitted from one account must use consecutive nonce values. Transactions submitted with non-consecutive nonces are queued in the transaction pool and fail to process.
If you submit a transaction with a non-consecutive nonce that's too low, you get a Nonce too low
error.
Nonce issues may also occur without error messages if you submit a transaction with a non-consecutive nonce larger than the nonces from all your prior transactions. For example, if you submit transactions with nonces 1, 2, and 4, the third transaction with the non-consecutive nonce fails to be mined or generate a receipt, but it might not produce an error. If you continue to submit transactions with nonces 5, 6, 7, etc., those transactions also fail to be mined and don't generate receipts.
You can view your queued transactions using the txpool
JSON-RPC API methods. If you have queued transactions with non-consecutive nonces, you can fix this issue in one of the following ways:
- Submit transactions that fill the gap in nonce values.
- Contact support to clear the transaction pool. Clearing the transaction pool removes all queued and pending transactions, so all nodes and applications must be briefly stopped. You must re-submit any cleared transaction with the proper nonce value.