caivega / ipfslib

Other
2 stars 1 forks source link

S2 - jt_sendTransaction,压力测试时连续发送上千个交易,有时会出现temINVALID错误,但实际交易成功。 #95

Open foreso-GitHub opened 4 years ago

foreso-GitHub commented 4 years ago

jt_sendTransaction进行压力测试,连续发送上千个交易,绝大部分都能发送成功,但偶然会出现temINVALID错误,但实际交易参数完全正确,而且这个交易的hash查询,发现发送也是成功的。

  1. 交易请求

    {"jsonrpc":"2.0","id":375,"method":"jt_sendTransaction","params":[{"from":"jPdevNK8NeYSkg3TrWZa8eT6BrSp2oteUh","secret":"ssSLJReyitmAELQ3E3zYpZti1YuRe","to":"jGRY1qHuVtSbpjqHLQsKPBQ9L4Hng38iyJ","value":"15","fee":"10","memos":["autotest"],"sequence":36811}]}
  2. 绝大多数情况下交易返回成功信息

    { id: 374,
    jsonrpc: '2.0',
    result:
    [ '221AA3FF3D99C997EA1B1A170E02990CA6371D57C08400B0407CBCC48666F8FB' ],
    status: 'success' }
  3. 偶尔,正确的交易请求会返回错误信息

    { id: 375,
    jsonrpc: '2.0',
    result:
    'failed to submit transaction by jPdevNK8NeYSkg3TrWZa8eT6BrSp2oteUh, 6C1247FF18B5DA9B4959BF00BB2F638E104307960AC97CEEDAE0B6135ED88416: temINVALID The transaction is ill-formed.',
    status: 'error' }
  4. 但实际查询这个交易,比如上面出错的交易6C1247FF18B5DA9B4959BF00BB2F638E104307960AC97CEEDAE0B6135ED88416,发现交易其实是成功的

    {
    "id": 1,
    "jsonrpc": "2.0",
    "result": {
        "TransactionType": "Payment",
        "Flags": 2147483648,
        "Account": "jPdevNK8NeYSkg3TrWZa8eT6BrSp2oteUh",
        "Sequence": 36811,
        "Fee": "10",
        "SigningPubKey": "03ED6C4EBEFEF51D6B5770A17C91C5D12B498FD7F99C727DFC202979824FDDA8AE",
        "TxnSignature": "304402205142E794AB53D9F722FE50493F34CD2E0011D3211947B82F4AFFB72997119905022033EED44A86FD886B5631A62024E38CA3DE170C555D736061DFBB802B633A8A4D",
        "Memos": [
            {
                "Memo": {
                    "MemoType": "",
                    "MemoData": "6175746F74657374",
                    "MemoFormat": ""
                }
            }
        ],
        "hash": "6C1247FF18B5DA9B4959BF00BB2F638E104307960AC97CEEDAE0B6135ED88416",
        "Destination": "jGRY1qHuVtSbpjqHLQsKPBQ9L4Hng38iyJ",
        "Amount": "15",
        "date": 637391315,
        "inLedger": 1434711,
        "ledger_index": 1434711,
        "meta": {
            "AffectedNodes": [
                {
                    "ModifiedNode": {
                        "FinalFields": {
                            "Hash": "0000000000000000000000000000000000000000000000000000000000000000",
                            "Account": "jhCVwTcg5aYWMMdfDmwqYxBr5NMA1PDfyg",
                            "Sequence": 0,
                            "Balance": "837126"
                        },
                        "LedgerEntryType": "AccountRoot",
                        "PreviousFields": {
                            "Hash": "0000000000000000000000000000000000000000000000000000000000000000",
                            "Account": "jhCVwTcg5aYWMMdfDmwqYxBr5NMA1PDfyg",
                            "Sequence": 0,
                            "Balance": "837116"
                        }
                    }
                },
                {
                    "ModifiedNode": {
                        "FinalFields": {
                            "Hash": "0000000000000000000000000000000000000000000000000000000000000000",
                            "Account": "jPdevNK8NeYSkg3TrWZa8eT6BrSp2oteUh",
                            "Sequence": 36811,
                            "Balance": "1798498351647"
                        },
                        "LedgerEntryType": "AccountRoot",
                        "PreviousFields": {
                            "Hash": "0000000000000000000000000000000000000000000000000000000000000000",
                            "Account": "jPdevNK8NeYSkg3TrWZa8eT6BrSp2oteUh",
                            "Sequence": 36810,
                            "Balance": "1798498351672"
                        }
                    }
                },
                {
                    "ModifiedNode": {
                        "FinalFields": {
                            "Hash": "0000000000000000000000000000000000000000000000000000000000000000",
                            "Account": "jGRY1qHuVtSbpjqHLQsKPBQ9L4Hng38iyJ",
                            "Sequence": 9,
                            "Balance": "10056425581"
                        },
                        "LedgerEntryType": "AccountRoot",
                        "PreviousFields": {
                            "Hash": "0000000000000000000000000000000000000000000000000000000000000000",
                            "Account": "jGRY1qHuVtSbpjqHLQsKPBQ9L4Hng38iyJ",
                            "Sequence": 9,
                            "Balance": "10056425566"
                        }
                    }
                }
            ],
            "TransactionIndex": 57,
            "TransactionResult": "tesSUCCESS"
        }
    },
    "status": "success"
    }
  5. 2000条交易中大约会有2到3个这样的错误发生。

caivega commented 4 years ago

处理返回交易结果的地方估计有问题,我看看

caivega commented 4 years ago

最近压测,确实有这个问题,正在修复,应该是到当前节点的处理上限了,正在修复