Bug #30873 remapping of network.mysql.com error messages causes confusion
Submitted: 6 Sep 2007 17:44 Modified: 23 Jul 2008 15:55
Reporter: Sloan Childers Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Enterprise Monitor: Web Severity:S3 (Non-critical)
Version:2.0 OS:Any
Assigned to: Mark Matthews CPU Architecture:Any
Tags: mer 121

[6 Sep 2007 17:44] Sloan Childers
Description:
I used test_multiple_expired@mysql.com/testing while testing today that the account was again live and network.mysql.com is returning the following error:

E9000: MySQL Enterprise Customer Center is having difficulties fetching your contract information. Please contact enterprise-feedback@mysql.com for assistance.

Our UI remaps this error to "Unable to connect to verify credentials" which is quite confusing.  

This brought up an interesting point.  Should we be remapping already carefully thought out error messages from network.mysql.com?  If one changes we run the risk of not displaying the correct message.  We can easily pass the user locale with the request so that the messages can be translated at MySQL instead of trying to keep the product in sync with each change.

How to repeat:
Use test_multiple_expired@mysql.com/testing during first time setup OR from the settings page and you get the incorrect error message.

Suggested fix:
Either use network.mysql.com error messages as is OR we must keep a mapping of all of them in the server maintained separately (yuck).
[12 Sep 2007 18:38] Sloan Childers
I (skc) need to make sure Bryan has unique error messages for each network.mysql.com error message to help with translation work.
[12 Sep 2007 21:08] Peter Lavin
Added to "Known Issues".
[26 Nov 2007 21:43] Sloan Childers
<?xml version='1.0'?>
<exceptions>
  <error><![CDATA[The email address / password combination could not be found in the system.]]></error>
  <ERROR_NUMBER>105</ERROR_NUMBER>
</exceptions>

Let me know if you want to tweak this, I decided to just implement it instead of continually discussing it.

The error codes have no logic too them, just sequential. Let me know if you would like to organize them into families.

define('MERLIN_ERROR_API_TECHNICAL_PROBLEM', 100);
define('MERLIN_ERROR_NO_ADVISOR_ACCESS', 101);
define('MERLIN_ERROR_MISSING_PARAMETER_COMMAND', 102);
define('MERLIN_ERROR_MISSING_PARAMETER_EMAIL', 103);
define('MERLIN_ERROR_MISSING_PARAMETER_PASSWORD', 104);
define('MERLIN_ERROR_INVALID_LOGIN', 105);
define('MERLIN_ERROR_NO_ACTIVE_CONTRACT', 106);
define('MERLIN_ERROR_MISSING_PARAMETER_CURRENT_VERSION', 107);
define('MERLIN_ERROR_ADVISORS_UP_TO_DATE', 108);
define('MERLIN_ERROR_UNKNOWN_COMMAND', 109);
[26 Nov 2007 21:47] Sloan Childers
r8295 development-1.2.1

- the user interface no longer blindly remaps enterprise.mysql.com REST API error messages
- the default fall through error to display is now the actual error message returned from the REST API
- the UI can now be "enhanced" to remap these however we see fit for display purposes and BUG#31685 is open for that purpose
[29 Nov 2007 19:01] Bill Weber
verified fixed in 1.3.0.8384 - re-opened for 2.0
[7 May 2008 0:17] Bill Weber
verified we are using the same error message scheme (not remapping) in build 2.0.0.6027 as in 1.3
[23 Jul 2008 15:55] Tony Bedford
An entry was added to the 1.3 and 2.0 changelogs:

The network.mysql.com error messages were remapped thereby causing confusion. For example, the following error message: 

E9000: MySQL Enterprise Customer Center is having difficulties fetching your contract information. Please contact enterprise-feedback@mysql.com for assistance. 

Was remapped to: 

Unable to connect to verify credentials