You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-dev@hadoop.apache.org by "Devaraj K (Created) (JIRA)" <ji...@apache.org> on 2011/09/30 12:53:46 UTC

[jira] [Created] (MAPREDUCE-3129) JsonFactory can be created only once and used for every next request to create JsonGenerator inside JMXJsonServlet

JsonFactory can be created only once and used for every next request to create JsonGenerator inside JMXJsonServlet 
-------------------------------------------------------------------------------------------------------------------

                 Key: MAPREDUCE-3129
                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-3129
             Project: Hadoop Map/Reduce
          Issue Type: Bug
          Components: mrv2
    Affects Versions: 0.24.0
            Reporter: Devaraj K
            Assignee: Devaraj K
            Priority: Minor


1. Currently JMXJsonServlet creates JsonFactory for every http request.
Its not efficient. 
JsonFactory can be created only once and used for every next request to create JsonGenerator.

2. Also following null check is not required.
{code}
 if (mBeanServer == null) {
        jg.writeStringField("result", "ERROR");
        jg.writeStringField("message", "No MBeanServer could be found");
        jg.close();
        LOG.error("No MBeanServer could be found.");
        response.setStatus(HttpServletResponse.SC_NOT_FOUND);
        return;
 }
{code}

Because ManagementFactory.getPlatformMBeanServer(); will not return null.

3. Move the following code to finally so that any exception should not cause skipping of close method on JsonGenerator

{code}
jg.close();
{code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira