-
Notifications
You must be signed in to change notification settings - Fork 285
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test(test-tooling): fix FabricTestLedger INVALID_ENDORSER_TRANSACTION when issuing transaction #3009
Comments
I am adding additional log files, where different executions result in different results. cc: @petermetz |
@AndreAugusto11 Thank you for these!! It will help the investigation for sure! |
* reverts changes of commit 3371772, which seems to be breaking the Fabric Test Ledger closes hyperledger-cacti#3009 Signed-off-by: André Augusto <[email protected]>
@petermetz I remember that in November/December everything was working fine. So I tried reverting the last commits that changed the Fabric Test Ledger file (here). The error does not appear anymore after reverting commit 3371772c582389f6ee0c6fb66af875dd93cc94c6. I've run this about 5 times in a row. I've opened PR #3031 with the changes. |
* reverts changes of commit 3371772, which seems to be breaking the Fabric Test Ledger Results of further investigation into the root cause done by Peter: 1. The URLs we specify have the `grpcs://` protocol specified meaning that TLS is used for securing the connection. 2. Certificates that are generated by the Fabric-provided boostrap scripts when setting up crypto materials for the ledger are generated with `localhost` as the hostname instead of the IP address of localhost. 3. The C++ gRPC implementation does not support mixing IP addresses and hostnames when it comes to connections that are using TLS, e.g. if the certificate we are using was made out for `localhost` then it won't work for `127.0.0.1` even though technically from our perspective they meaning the same thing (do note however that technically localhost could be set up to resolve to something other than 127.0.0.1 in a DNS server so the difference is meaningful). Source: grpc/grpc#2691 closes hyperledger-cacti#3009 Co-authored-by: Peter Somogyvari <[email protected]> Signed-off-by: André Augusto <[email protected]> Signed-off-by: Peter Somogyvari <[email protected]>
* reverts changes of commit 3371772, which seems to be breaking the Fabric Test Ledger Results of further investigation into the root cause done by Peter: 1. The URLs we specify have the `grpcs://` protocol specified meaning that TLS is used for securing the connection. 2. Certificates that are generated by the Fabric-provided boostrap scripts when setting up crypto materials for the ledger are generated with `localhost` as the hostname instead of the IP address of localhost. 3. The C++ gRPC implementation does not support mixing IP addresses and hostnames when it comes to connections that are using TLS, e.g. if the certificate we are using was made out for `localhost` then it won't work for `127.0.0.1` even though technically from our perspective they meaning the same thing (do note however that technically localhost could be set up to resolve to something other than 127.0.0.1 in a DNS server so the difference is meaningful). Source: grpc/grpc#2691 closes hyperledger-cacti#3009 Co-authored-by: Peter Somogyvari <[email protected]> Signed-off-by: André Augusto <[email protected]> Signed-off-by: Peter Somogyvari <[email protected]>
@AndreAugusto11 Thank you very much for going the extra mile with the fix! I've done some research into the root cause (e.g. why your fix is actually a fix) and am now pretty confident that we fully understand the issue at hand and also that the fix won't have any unintended consequences, so happy days! I updated the PR title and the commit message accordingly: test(test-tooling): fix FabricTestLedger INVALID_ENDORSER_TRANSACTION
* reverts changes of commit 3371772c582389f6ee0c6fb66af875dd93cc94c6,
which seems to be breaking the Fabric Test Ledger
Results of further investigation into the root cause done by Peter:
1. The URLs we specify have the `grpcs://` protocol specified meaning that
TLS is used for securing the connection.
2. Certificates that are generated by the Fabric-provided boostrap scripts
when setting up crypto materials for the ledger are generated with `localhost`
as the hostname instead of the IP address of localhost.
3. The C++ gRPC implementation does not support mixing IP addresses and
hostnames when it comes to connections that are using TLS, e.g. if the
certificate we are using was made out for `localhost` then it won't work
for `127.0.0.1` even though technically from our perspective they meaning
the same thing (do note however that technically localhost could be set
up to resolve to something other than 127.0.0.1 in a DNS server so the
difference is meaningful).
Source: https://github.com/grpc/grpc/issues/2691
|
* reverts changes of commit 3371772, which seems to be breaking the Fabric Test Ledger Results of further investigation into the root cause done by Peter: 1. The URLs we specify have the `grpcs://` protocol specified meaning that TLS is used for securing the connection. 2. Certificates that are generated by the Fabric-provided boostrap scripts when setting up crypto materials for the ledger are generated with `localhost` as the hostname instead of the IP address of localhost. 3. The C++ gRPC implementation does not support mixing IP addresses and hostnames when it comes to connections that are using TLS, e.g. if the certificate we are using was made out for `localhost` then it won't work for `127.0.0.1` even though technically from our perspective they meaning the same thing (do note however that technically localhost could be set up to resolve to something other than 127.0.0.1 in a DNS server so the difference is meaningful). Source: grpc/grpc#2691 closes #3009 Co-authored-by: Peter Somogyvari <[email protected]> Signed-off-by: André Augusto <[email protected]> Signed-off-by: Peter Somogyvari <[email protected]>
Describe the bug
I have been constantly having a problem when using the Fabric connector in my working branch. There is sometimes an error, related to one of the peers that throws
INVALID_ENDORSER_TRANSACTION
.I have tried multiple times, and the error is thrown in different test cases. Steps followed:
After these steps, the error is still thrown.
More details:
To Reproduce
Running the test file
packages/cactus-plugin-ledger-connector-fabric/src/test/typescript/integration/fabric-v2-2-x/deploy-lock-asset.test.ts
fails in 1 test case. The full log is here fabric-error.log. Note that the number of tests passed varies each time I run the file.Expected behavior
19 out of 19 tests pass.
Cloud provider or hardware configuration:
Are you running the software on a dev machine or somewhere in the cloud?
Operating system name, version, build:
Hyperledger Cactus release version or commit (git rev-parse --short HEAD):
Latest commit: 73ff59317
Hyperledger Cactus Plugins/Connectors Used
Fabric connector
Additional context
I am facing the same issue in test files of other packages that rely on the Fabric connector (odap package and CBDC example)
The text was updated successfully, but these errors were encountered: