Skip to content

Instantly share code, notes, and snippets.

Error: Failed to send transaction successfully to the orderer status:SERVICE_UNAVAILABLE

Cause:

 if you are getting SERVICE_UNAVAILABLE error after endorsing the transaction,
in raft orderering service if there is no leader elected.
check any of the active orderering node logs it would be like below:
 2019-11-20 10:08:07.345 UTC [orderer.consensus.etcdraft] serveRequest -> WARN 18d No leader is present, cluster size is 2 channel=chheader node=2
Error: Failed to send transaction successfully to the orderer status:SERVICE_UNAVAILABLE.
@rahulEth
rahulEth / MVCC_READ_CONFLICT.asciidoc
Last active February 14, 2020 09:02
Hyperledger Fabric

diffrent scenario where you could get the MVCC_READ_CONFLICT error

1stcase : try to update same key multiple time simultenously in same block.

Result :
endorsement :Successfully sent Proposal and received ProposalResponse: Status - 200, message - ""
commitment : [ { status: 'SUCCESS', info: '' },
              { event_status: 'MVCC_READ_CONFLICT',
               tx_id: 'b00927a980d3be17721beea9a3f0a7adc40530ad0ed235f4cb79fab27dfc5c7d' } ]

ERRO 7863 Failed to send StepRequest to 5, because: send queue overflown

Solution:

 in the orderer cluster config there is secret parameter SendBufferSize.
 SendBufferSize is the maximum number of messages in the egress buffer.
 Consensus messages are dropped if the buffer is full, and transaction
messages are waiting for space to be freed.
 increases it to 100.
ORDERER_GENERAL_CLUSTER_SENDBUFFERSIZE=100

Error: 8 RESOURCE_EXHAUSTED: grpc: received message larger than max (119203497 vs. 104857600)

cause :

fabric-client node sdk gprc can hanndle upto 100mb data per request.

resolution :

in bulk transaction , transaction data should not exceed the 100mb limit.

Error: Failed to send transaction successfully to the orderer status:BAD_REQUEST

Cause :

 if transaction data size is more than max_blocksize(AbsoluteMaxBytes)
limit defined in configtx.yaml file.
BatchSize:
    # Absolute Max Bytes: The absolute maximum number of bytes allowed for
    # the serialized messages in a batch.
    AbsoluteMaxBytes: 99 MB
@rahulEth
rahulEth / Error: Endorsement has failed.asciidoc
Last active February 14, 2020 09:02
Hyperledger Fabric

Error : Failed to submit transaction: Error: Endorsement has failed

possible cause :

  1. if somehow peer got down before completion of endorsment phase.

  2. your peer is not insync with other peer.

  3. chaincode is taking more time than predefined execution_time_out to execute the transaction.

possible solution :

  1. make sure peer is running throughout the transaction and fully sync with other peers of the defined channel.

  2. increases the chaincode execution time from default 30s

Error: Failed to send transaction successfully to the orderer status:SERVICE_UNAVAILABLE

cause :

if there is no leader orderer available(in case of crash fault) or your orderering service is down in those cases we   receive SERVICE_UNAVAILABLE at client end.

solution :

make sure your orderering service is running and there are enough orderer node to maintain the quorum.

if there are n number of faulty orderering node:

Error:[ { status: 'SUCCESS', info: '' }, { event_status: 'TIMEOUT' } ]

possible cause :

in case of raft or kafka, some time while electing a new Orderer Leader or if there is no leader available, orderering service don't respond or response come too late 300 sec or more.

possible solution :

1.make sure your all orderer's are up to date and part of the quorum.
2.there is always leader Orderer present.

suggestions :

Error:Failed to connect before the deadline URL:grpcs:localhost:11054

Cause :

if your peer or orderer node is down or not reachable.

Possible Solution :

make sure your nodes are running and reachable.

Error: 2019-12-05 06:38:39.585 UTC [orderer.common.broadcast] ProcessMessage → WARN 9539f2 [channel: qchannel] Rejecting broadcast of normal message from 10.10.46.20:50396 with SERVICE_UNAVAILABLE: rejected by Order: aborted

Description:

 Orderer : raft
 Version : 1.4.2
 Created a Fabric Network with 7 Orderer, 7 Org, 2 peer per org. one channel.
 using 7 nodejs instance, each targeting one orderer in the fashion of roundrobin.
Each instance sendind 150 transaction.

Result: