Skip to content
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

[BUG] - Incorrect check for query era compatiblity when submitting query to the node #391

Closed
carbolymer opened this issue Nov 30, 2023 · 3 comments
Assignees
Labels

Comments

@carbolymer
Copy link
Contributor

carbolymer commented Nov 30, 2023

Internal/External
Internal

Area
Other

Summary
This issue is visible when querying the node in the current era using query from an experimental era. We should expect a version mismatch error, but instead we are getting an unsupported query version error from an encoder. This is manifests as error like: IntersectMBO/cardano-cli#480

Steps to reproduce
Steps to reproduce the behavior:

  1. Start node in Babbage (e.g. using mkfiles.sh)
  2. Check supported node-to-client versions using:
    cardano-cli ping --query-versions -u ./socket-path
    Result:
    Queried versions [NodeToClientVersionV16 42,NodeToClientVersionV15 42,NodeToClientVersionV14 42,NodeToClientVersionV13 42,NodeToClientVersionV12 42,NodeToClientVersionV11 42,NodeToClientVersionV10 42,NodeToClientVersionV9 42]
    
  3. Use this version of cardano-cli IntersectMBO/cardano-cli@c50683f
  4. Run query available in Conway era:
    cardano-cli query stake-address-info --address stake_test1ur5607eh5mc4cljnked9vrlpuer7dqhkaju8sh8pqv755esy0dlft --testnet-magic 42
  5. command results in an error thrown from ouroboros-consensus code:
    cardano-cli: ShelleyEncoderUnsupportedQuery (SomeSecond (GetFilteredVoteDelegatees (fromList [KeyHashObj (KeyHash "e9a7fb37a6f15c7e53b65a560fe1e647e682f6ecb8785ce1033d4a66")]))) ShelleyNodeToClientVersion7
    

Additional context
The defect was patched in the latest CLI version and the query is skipped now.

Analysis
The latest supported node-to-client protocol version v16 used in the query seem to support Conway query, but somehow ledger state (the node) uses earlier ShelleyNodeToClientVersion7, which results in the encoder error and prevents API code to catch the discrepancy.

Discussion on IOG slack: https://input-output-rnd.slack.com/archives/CDA6LUXAQ/p1701105474072019

Copy link

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 120 days.

Copy link

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 120 days.

@github-actions github-actions bot added the Stale label Feb 15, 2024
@carbolymer
Copy link
Contributor Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant