iManager quota management throws 'An internal error has occurred' message.

  • 7014037
  • 04-Nov-2013
  • 04-Nov-2013

Environment

NetIQ iManager
Novell Open Enterprise Server 11 (OES 11) Linux Support Pack 1

Situation

With iManager v2.7.6 and File Manager Plugin there is a problem where managing quota's may spawn the following error:
"Failed to update the database, an internal error has occurred"

This is seen when going into :
iManager : 'Files and Folders'  >  'Volume'  > 'Properties'

The quota values may be specified using either : KB/MB/GB/TB.

The problem will be observed when specifying for example a value of with decimals as the quota limitation. When entering the quota value as for example '55 GB' everything is fine, when specifying the same value as '55.00 GB' the error will be observed.

In addition, when a wrong value has been specified, for example '1000 KB' instead of '1000 MB', only using the drop down selection  and replacing the 'KB' value with 'MB' value will also display the same error.

Resolution

This has been resolved with an update to the iManager File & Folder plugin.

Cause

This was a problem within the iManager File & Folder plugin.

Additional Information

When verifying the iManager debug log output for this reported problem, the following will show in /var/opt/novell/tomcat6/webapps/nps/WEB-INF/logs/debug.html :

<snip/>
java.lang.NumberFormatException: For input string: "55.00"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:59)
    at java.lang.Integer.parseInt(Integer.java:469)
    at java.lang.Integer.parseInt(Integer.java:510)
    at com.novell.plugins.FileManagerAttrPage.commit(FileManagerAttrPage.java:122)
    at com.novell.emframe.dev.PropertyBook.writeDataAndApplyPages(PropertyBook.java:1170)
    at com.novell.emframe.dev.PropertyBook.doApply(PropertyBook.java:1050)
    at com.novell.emframe.dev.PropertyBook.execute(PropertyBook.java:159)
    at com.novell.emframe.dev.Task.execute(Task.java:505)
    at com.novell.nps.gadgetManager.BaseGadgetInstance.processRequest(BaseGadgetInstance.java:858)
    at com.novell.nps.gadgetManager.BaseGadgetInstance.handleAction(BaseGadgetInstance.java:2384)
    at com.novell.nps.gadgetManager.GadgetManager.processInstanceRequest(GadgetManager.java:1606)
    at com.novell.nps.gadgetManager.GadgetManager.processServiceRequest(GadgetManager.java:1062)
    at com.novell.nps.PortalServlet.handleFrameService(PortalServlet.java:509)
    at com.novell.nps.PortalServlet.processRequest(PortalServlet.java:373)
    at com.novell.nps.PortalServlet.doPost(PortalServlet.java:279)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at com.novell.emframe.fw.servlet.AuthenticatorServlet.service(AuthenticatorServlet.java:332)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.novell.emframe.fw.filter.CrossScriptingFilter.doFilter(CrossScriptingFilter.java:25)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:530)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja

</snip>