Hyperledger transaction become failed when submit transaction in for loop
up vote
0
down vote
favorite
I am new in hyperledger technologie.I successfully deployed my network file(.bna). Then I started rest api using command composer-rest-server. I submit single transaction using my front end leravel application. When I try using for loop for submiting multiple transaction , I get an error in some time that MVCC_READ_CONFLICT . I decrease my network's bachtimeout. But error is continue. Please answer any one if you have any idea about this issue.
Fabric vertion: 1.1.0
Composer : .19.16
Node :8.12
OS: Ubuntu 16.04
hyperledger-fabric hyperledger hyperledger-composer
add a comment |
up vote
0
down vote
favorite
I am new in hyperledger technologie.I successfully deployed my network file(.bna). Then I started rest api using command composer-rest-server. I submit single transaction using my front end leravel application. When I try using for loop for submiting multiple transaction , I get an error in some time that MVCC_READ_CONFLICT . I decrease my network's bachtimeout. But error is continue. Please answer any one if you have any idea about this issue.
Fabric vertion: 1.1.0
Composer : .19.16
Node :8.12
OS: Ubuntu 16.04
hyperledger-fabric hyperledger hyperledger-composer
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I am new in hyperledger technologie.I successfully deployed my network file(.bna). Then I started rest api using command composer-rest-server. I submit single transaction using my front end leravel application. When I try using for loop for submiting multiple transaction , I get an error in some time that MVCC_READ_CONFLICT . I decrease my network's bachtimeout. But error is continue. Please answer any one if you have any idea about this issue.
Fabric vertion: 1.1.0
Composer : .19.16
Node :8.12
OS: Ubuntu 16.04
hyperledger-fabric hyperledger hyperledger-composer
I am new in hyperledger technologie.I successfully deployed my network file(.bna). Then I started rest api using command composer-rest-server. I submit single transaction using my front end leravel application. When I try using for loop for submiting multiple transaction , I get an error in some time that MVCC_READ_CONFLICT . I decrease my network's bachtimeout. But error is continue. Please answer any one if you have any idea about this issue.
Fabric vertion: 1.1.0
Composer : .19.16
Node :8.12
OS: Ubuntu 16.04
hyperledger-fabric hyperledger hyperledger-composer
hyperledger-fabric hyperledger hyperledger-composer
asked Nov 7 at 12:17
salman faris
106
106
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
2
down vote
Well, MVCC_READ_CONFLICT
means you are doing concurrent modification for some key in two different transactions, hence after transaction being ordered into block, whatever transaction gets in first committed while second one or subsequent transaction which works on same key marked invalid with MVCC_READ_CONFLICT
.
To understand better the reason behind this status it's probably worth noting the transaction flow in fabric:
- Client submit transaction proposal for endorsement sending it to endorsing peers
- Endorsing peers executes simulation of chaincode where execution results are captured into Read-Write Set
- Client collects endorsements and composes transaction, submitting it for ordering
- Ordering service batches transactions into block employing total order of transactions
- Block distributed between peers
- Peer conducts validation to attest conformance with endorsement policy for each transaction
- After that there is multi value concurrency control (MVCC), which checks for concurrent modifications, in fact validating keys version of RWSet and if concurrent modification detected tx invalidated with status
MVCC_READ_CONFLICT
You can find more details in documentation "Transaction Flow".
Thank you for answering. There is any way or any idea available to prevent MVCC_READ_CONFLICT. Please give a suggestion.
– salman faris
Nov 8 at 4:09
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
Well, MVCC_READ_CONFLICT
means you are doing concurrent modification for some key in two different transactions, hence after transaction being ordered into block, whatever transaction gets in first committed while second one or subsequent transaction which works on same key marked invalid with MVCC_READ_CONFLICT
.
To understand better the reason behind this status it's probably worth noting the transaction flow in fabric:
- Client submit transaction proposal for endorsement sending it to endorsing peers
- Endorsing peers executes simulation of chaincode where execution results are captured into Read-Write Set
- Client collects endorsements and composes transaction, submitting it for ordering
- Ordering service batches transactions into block employing total order of transactions
- Block distributed between peers
- Peer conducts validation to attest conformance with endorsement policy for each transaction
- After that there is multi value concurrency control (MVCC), which checks for concurrent modifications, in fact validating keys version of RWSet and if concurrent modification detected tx invalidated with status
MVCC_READ_CONFLICT
You can find more details in documentation "Transaction Flow".
Thank you for answering. There is any way or any idea available to prevent MVCC_READ_CONFLICT. Please give a suggestion.
– salman faris
Nov 8 at 4:09
add a comment |
up vote
2
down vote
Well, MVCC_READ_CONFLICT
means you are doing concurrent modification for some key in two different transactions, hence after transaction being ordered into block, whatever transaction gets in first committed while second one or subsequent transaction which works on same key marked invalid with MVCC_READ_CONFLICT
.
To understand better the reason behind this status it's probably worth noting the transaction flow in fabric:
- Client submit transaction proposal for endorsement sending it to endorsing peers
- Endorsing peers executes simulation of chaincode where execution results are captured into Read-Write Set
- Client collects endorsements and composes transaction, submitting it for ordering
- Ordering service batches transactions into block employing total order of transactions
- Block distributed between peers
- Peer conducts validation to attest conformance with endorsement policy for each transaction
- After that there is multi value concurrency control (MVCC), which checks for concurrent modifications, in fact validating keys version of RWSet and if concurrent modification detected tx invalidated with status
MVCC_READ_CONFLICT
You can find more details in documentation "Transaction Flow".
Thank you for answering. There is any way or any idea available to prevent MVCC_READ_CONFLICT. Please give a suggestion.
– salman faris
Nov 8 at 4:09
add a comment |
up vote
2
down vote
up vote
2
down vote
Well, MVCC_READ_CONFLICT
means you are doing concurrent modification for some key in two different transactions, hence after transaction being ordered into block, whatever transaction gets in first committed while second one or subsequent transaction which works on same key marked invalid with MVCC_READ_CONFLICT
.
To understand better the reason behind this status it's probably worth noting the transaction flow in fabric:
- Client submit transaction proposal for endorsement sending it to endorsing peers
- Endorsing peers executes simulation of chaincode where execution results are captured into Read-Write Set
- Client collects endorsements and composes transaction, submitting it for ordering
- Ordering service batches transactions into block employing total order of transactions
- Block distributed between peers
- Peer conducts validation to attest conformance with endorsement policy for each transaction
- After that there is multi value concurrency control (MVCC), which checks for concurrent modifications, in fact validating keys version of RWSet and if concurrent modification detected tx invalidated with status
MVCC_READ_CONFLICT
You can find more details in documentation "Transaction Flow".
Well, MVCC_READ_CONFLICT
means you are doing concurrent modification for some key in two different transactions, hence after transaction being ordered into block, whatever transaction gets in first committed while second one or subsequent transaction which works on same key marked invalid with MVCC_READ_CONFLICT
.
To understand better the reason behind this status it's probably worth noting the transaction flow in fabric:
- Client submit transaction proposal for endorsement sending it to endorsing peers
- Endorsing peers executes simulation of chaincode where execution results are captured into Read-Write Set
- Client collects endorsements and composes transaction, submitting it for ordering
- Ordering service batches transactions into block employing total order of transactions
- Block distributed between peers
- Peer conducts validation to attest conformance with endorsement policy for each transaction
- After that there is multi value concurrency control (MVCC), which checks for concurrent modifications, in fact validating keys version of RWSet and if concurrent modification detected tx invalidated with status
MVCC_READ_CONFLICT
You can find more details in documentation "Transaction Flow".
answered Nov 7 at 13:28
Artem Barger
30.4k94471
30.4k94471
Thank you for answering. There is any way or any idea available to prevent MVCC_READ_CONFLICT. Please give a suggestion.
– salman faris
Nov 8 at 4:09
add a comment |
Thank you for answering. There is any way or any idea available to prevent MVCC_READ_CONFLICT. Please give a suggestion.
– salman faris
Nov 8 at 4:09
Thank you for answering. There is any way or any idea available to prevent MVCC_READ_CONFLICT. Please give a suggestion.
– salman faris
Nov 8 at 4:09
Thank you for answering. There is any way or any idea available to prevent MVCC_READ_CONFLICT. Please give a suggestion.
– salman faris
Nov 8 at 4:09
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53189313%2fhyperledger-transaction-become-failed-when-submit-transaction-in-for-loop%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown