Bug #90874 | ClusterJ exception "The method is not valid in current blob state" | ||
---|---|---|---|
Submitted: | 15 May 2018 17:01 | Modified: | 7 Sep 2018 22:41 |
Reporter: | Andrew Tikhonov | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Cluster: Cluster/J | Severity: | S2 (Serious) |
Version: | 7.4.13 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | clusterJ BLOB TEXT exception |
[15 May 2018 17:01]
Andrew Tikhonov
[16 May 2018 8:17]
Andrew Tikhonov
suggested, verified fix: public void loadBlobValues() { if (getStatus() == 0) { for (NdbRecordBlobImpl ndbRecordBlobImpl: activeBlobs) { ndbRecordBlobImpl.readData(); } } }
[18 May 2018 8:28]
Andrew Tikhonov
Dear Bogdan, if you need more info as to how to reproduce the issue or details about the fix - please you're welcome to ask. Regards, Andrew
[19 May 2018 16:14]
MySQL Verification Team
Hi Andrew, Verified as described. Thanks for the submission kind regards Bogdan
[21 May 2018 8:29]
Andrew Tikhonov
Thank you Bogdan! Did you verify the fix as well ? Regards, Andrew
[21 May 2018 9:20]
MySQL Verification Team
Hi Andrew, no, I leave this for the dev team :) since you did not sign the OCA so I don't think they can use the code as is. all best Bogdan
[21 May 2018 9:42]
MySQL Verification Team
If you are interested, in order to submit contributions you must first sign the Oracle Contribution Agreement (OCA). For additional information please check http://www.oracle.com/technetwork/community/oca-486395.html. If you have any questions, please contact the MySQL community team (https://dev.mysql.com/community/). thanks Bogdan
[21 May 2018 10:37]
Andrew Tikhonov
Thanks Bogdan, that's fine. As long as they are aware of the solution, it's okay. How long do you think it will take to create a patch or release a fixed version of clusterJ ? Regards, Andrew
[21 May 2018 16:11]
MySQL Verification Team
Hi Andrew, I cannot make prediction when the dev team will work on this, should be soon since the issue is verified and solution is fairly simple but I can't give you a date. all best Bogdan
[24 May 2018 9:28]
Andrew Tikhonov
Dear Bogdan, Is there any news ? Can you maybe ask someone in design team if they're gonna be looking at the problem any time soon ? And if so whether they understand and agree with the proposed fix ? I can help to explain and furnish more details to the solution if needed. We're still interested in solution. Thanks a lot in advance. Regards, Andrew
[26 Jul 2018 12:18]
Lakshmi Narayanan Sreethar
Posted by developer: The bug is in the NdbApi. Create the following table and run the attached ndbapi_blob.cpp test. Fetching an existing row is not an issue. But fetching a row that doesn't exist turn out to be a problem. (This is also obvious from the test case attached in 'How To Repeat').
[26 Jul 2018 17:52]
Lakshmi Narayanan Sreethar
I was wrong. This is indeed a ClusterJ Bug. It should not go reading the blob values when the key fetch returned 0 rows. The c++ ndbapi application uploaded here has a simialr issue. I'll fix up the ClusterJ code.
[7 Sep 2018 22:41]
Daniel So
Posted by developer: Added the following entry to the NDB 8.0.13, 7.6.8, 7.5.12, and 7.4.22 changelogs: "When a table containing a BLOB or a TEXT field was being queried with ClusterJ for a record that did not exist, an exception (The method is not valid in current blob state) was thrown."