Bug #57405 NDBAPI Dictionary::invalidate[Table|Index]() methods should be made public
Submitted: 12 Oct 2010 13:53 Modified: 30 Dec 2010 13:14
Reporter: Hartmut Holzgraefe Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Cluster: NDB API Severity:S3 (Non-critical)
Version:any OS:Any
Assigned to: CPU Architecture:Any
Triage: Triaged: D4 (Minor) / R2 (Low) / E3 (Medium)

[12 Oct 2010 13:53] Hartmut Holzgraefe
Description:
To recover from a "241 Wrong Schema Version" error one needs to make the Dictionary class refetch its cached schema information about tables or indexes changed by another client.

The manual currently only document the Dictionary methods removeCachedTable() and removeCachedIndex(), these don't seem to be performing the required tasks to solve a 241 situation.

The invalidateTable() or invalidateIndex() methods need to be used instead, and a new Table or Index object needs to be retrieved from the Dictionary for use in further transaction operations. Previous Table or Index objects for invalidated tables or indexes become invalid and must not be used any further.

The invalidate methods are currently marked as DOXYGEN_SKIP_INTERNALS but should be made public and documented instead.

How to repeat:
...

Suggested fix:
Make methods public and document them
[30 Dec 2010 13:14] Sveta Smirnova
Thank you for the report.

Looks like proper status for this is "Verified". We also have such example in tests.