rippled
rippled copied to clipboard
tx() responds "'validated': False" when txn is actually validated in the ledger (Version: [2.0.0])
Issue Description
This issue was seen on altnet, where a Payment transaction was validated on the network, but tx() still responds 'validated': False even after 30 seconds
Steps to Reproduce
- My local rippled is connected to altnet
2024-01-22 21:31:52: 'server_state': 'full', & 'complete_ledgers': 'empty',
Question: First of all, should this happen when server_state is full, complete_ledgers be "empty"?
- Assuming, it was ok, after 30 seconds, a
Paymenttransaction was submitted
2024-01-22 21:32:22: Payment transaction was submitted (Hash: CEB1FBCA545CB2E3A607888DBE2B0AC50A77BE1282EF4672E7DA4D7C45299325
- Querying
tx()every 5 seconds, returns'validated': FalseHere istx()response 29 seconds after thePaymenttransaction was submitted
2024-01-22 21:32:51: 'hash': 'CEB1FBCA545CB2E3A607888DBE2B0AC50A77BE1282EF4672E7DA4D7C45299325', 'status': 'success', 'validated': False}
- Verifying the transaction on the explorer, the transaction was actually validated exactly at the time the
Paymenttransaction was submitted.
As seen on the explorer:
This transaction was successful, and validated in ledger 44770635 on January 22, 2024 at 9:32:22 PM UTC
Expected Result
Shouldn't tx() be returning 'status': 'success', 'validated': True
Actual Result
'hash': 'CEB1FBCA545CB2E3A607888DBE2B0AC50A77BE1282EF4672E7DA4D7C45299325', 'status': 'success', 'validated': False}
Environment
Local rippled: 2.0.1-b1
Supporting Files
If completed_ledgers is ~present~ empty, then the server has not found and downloaded a validated ledger yet. In a sense, it is talking to itself. You need to wait until you have a validated_ledger, and complete_ledgers shows something other than empty.
It's a little odd that you're server thought it was in full, but I don't have enough information to speculate why.
The pages listed here may be useful for you. https://xrpl.org/troubleshoot-the-rippled-server.html#troubleshooting
(Edited to fix a typo)
Here is another instance from devnet when server_state is full & complete_ledgers is not empty
2024-02-10 16:04:42 {'info': {'build_version': '2.1.0-rc1', 'complete_ledgers': '4114610-4114615', 'fetch_pack': 1, 'hostid': 'runner-9eueyzwy-project-1346-concurrent-0', 'initial_sync_duration_us': '195177947', 'io_latency_ms': 1, 'jq_trans_overflow': '0', 'last_close': {'converge_time_s': 2, 'proposers': 10}, 'load': {'job_types': [{'in_progress': 1, 'job_type': 'clientRPC'}, {'job_type': 'untrustedValidation', 'per_second': 23}, {'job_type': 'ledgerData', 'peak_time': 3, 'per_second': 1}, {'job_type': 'advanceLedger', 'per_second': 1}, {'job_type': 'trustedValidation', 'per_second': 2}, {'job_type': 'trustedProposal', 'per_second': 3}, {'job_type': 'peerCommand', 'per_second': 57}, {'job_type': 'SyncReadNode', 'peak_time': 1, 'per_second': 73}, {'job_type': 'AsyncReadNode', 'peak_time': 3, 'per_second': 222}, {'job_type': 'WriteNode', 'peak_time': 1, 'per_second': 74}], 'threads': 6}, 'load_factor': 1, 'network_id': 2, 'node_size': 'medium', 'peer_disconnects': '7', 'peer_disconnects_resources': '0', 'peers': 2, 'ports': [{'port': '51234', 'protocol': ['http']}, {'port': '51235', 'protocol': ['peer']}, {'port': '6006', 'protocol': ['ws']}], 'pubkey_node': 'n94HbtjeMG65igSpm5koQpo9rKMyFQ9mQB2cohpYiQeMcssEBhuQ', 'pubkey_validator': 'none', 'published_ledger': 4114615, 'server_state': 'full', 'server_state_duration_us': '13984191', 'state_accounting': {'connected': {'duration_us': '137111898', 'transitions': '3'}, 'disconnected': {'duration_us': '56064692', 'transitions': '3'}, 'full': {'duration_us': '13984191', 'transitions': '1'}, 'syncing': {'duration_us': '2001348', 'transitions': '1'}, 'tracking': {'duration_us': '5', 'transitions': '1'}}, 'time': '2024-Feb-10 16:04:42.848356 UTC', 'uptime': 209, 'validated_ledger': {'age': 1, 'base_fee_xrp': 1e-05, 'hash': '13105CDFCE417C636577E9F5B5611B0A9E9BAEA2D13911C92A0663AC1CCBF06C', 'reserve_base_xrp': 10, 'reserve_inc_xrp': 2, 'seq': 4114637}, 'validation_quorum': 8, 'validator_list': {'count': 1, 'expiration': '2031-Aug-07 19:36:22.000000000 UTC', 'status': 'active'}}, 'status': 'success'}
Payment transaction was submitted at
2024-02-10 16:05:43: 'hash': 'FF8A562D76AB8D950C2F37049F9752FA2FF601B50A6A9B43EC5B3103941C8F5A'
Querying tx() every 5 seconds, returns 'validated': False, even after 29 seconds when the transaction was actually validated well before Here is tx() response 29 seconds after the Payment transaction was submitted 2024-02-10 16:06:12: 'hash': 'FF8A562D76AB8D950C2F37049F9752FA2FF601B50A6A9B43EC5B3103941C8F5A', 'status': 'success', 'validated': False}
Verifying the transaction on the explorer, the transaction was actually validated 7 seconds after the Payment was submitted. As seen on the explorer:
This transaction was successful, and validated in ledger 4114659 on February 10, 2024 at 4:05:50 PM UTC
local rippled.log: https://gist.github.com/sgramkumar/84d80b65805175ff78cee036a25a3fd6
@sgramkumar please work with @mtrippled and @seelabs on this