I'm occasionally getting errors like these while using the vSphere Web Client. I can pretty much always reproduce the error when viewing advanced performance charts of VMs or hosts, but only with the CPU or System performance charts. This affects Realtime and historical CPU/System charts.
All other chart types like Memory and Disk display fine. Also, all charts including those work fine in the Fat C# Client.
I confirmed this issue with IE8 and Firefox10esr, so I doubt it's browser related.
This is a deployment with WebClient and SSO on one Windows server and vCenter/Inventory service on a separate one.
The vsphere_client_virgo.log logs messages like this when the errors occur:
[2012-12-18 12:40:44.214] WARN [WARN ] http-bio-443-exec-193 com.vmware.vise.data.query.impl.ServicePropertyProviderAdapter A PropertyProviderBean method's execution took too long: 9079 milliseconds. The method failed with an exception: null (Provider instance: com.vmware.opsmgmt.client.advperfcharts.impl.PerformanceStatsPropertyProvider@10cf8ea3, method: public com.vmware.opsmgmt.client.advperfcharts.PerformanceCounterStats[] com.vmware.opsmgmt.client.advperfcharts.impl.PerformanceStatsPropertyProvider.getQueriedPerformanceStats(com.vmware.vim.binding.vmodl.ManagedObjectReference,com.vmware.opsmgmt.client.advperfcharts.PerformanceInfoQuerySpec) throws java.lang.Exception, property: ref: ManagedObjectReference: type = HostSystem, value = host-23848, serverGuid = 0A5DF670-E4EB-40B1-A1CE-13079CDFF7ED, method args: [ManagedObjectReference: type = HostSystem, value = host-23848, serverGuid = 0A5DF670-E4EB-40B1-A1CE-13079CDFF7ED, com.vmware.opsmgmt.client.advperfcharts.PerformanceInfoQuerySpec@51ebe371])
[2012-12-18 12:40:44.229] ERROR [ERROR] http-bio-443-exec-193 com.vmware.vise.data.query.impl.ServicePropertyProviderAdapter Error when fetching property {queriedPerformanceStats} from property provider {class com.vmware.opsmgmt.client.advperfcharts.impl.PerformanceStatsPropertyProvider} java.lang.NumberFormatException: For input string: "12,07"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
at java.lang.Float.parseFloat(Float.java:422)
at com.vmware.opsmgmt.client.advperfcharts.util.BasePerformanceStats.formatMetricValue(BasePerformanceStats.java:357)
at com.vmware.opsmgmt.client.advperfcharts.util.BasePerformanceStats.createPerfMetricStatsValues(BasePerformanceStats.java:322)
at com.vmware.opsmgmt.client.advperfcharts.util.PerformanceStats.executeQuery(PerformanceStats.java:119)
at com.vmware.opsmgmt.client.advperfcharts.util.BasePerformanceStats.getStats(BasePerformanceStats.java:131)
at com.vmware.opsmgmt.client.advperfcharts.util.PerformanceStatsCollector.getStats(PerformanceStatsCollector.java:99)
at com.vmware.opsmgmt.client.advperfcharts.impl.PerformanceStatsPropertyProvider.getQueriedPerformanceStats(PerformanceStatsPropertyProvider.java:59)
at sun.reflect.GeneratedMethodAccessor3462.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.vmware.vise.data.query.impl.ServicePropertyProviderAdapter.invokeMethod(ServicePropertyProviderAdapter.java:284)
at com.vmware.vise.data.query.impl.ServicePropertyProviderAdapter.getProperties(ServicePropertyProviderAdapter.java:126)
at com.vmware.vise.data.query.impl.DataManager.getDataFromPropertyProvider(DataManager.java:589)
at com.vmware.vise.data.query.impl.DataManager.getResultFromPropertyProvider(DataManager.java:561)
at com.vmware.vise.data.query.impl.DataManager.access$000(DataManager.java:49)
at com.vmware.vise.data.query.impl.DataManager$1.run(DataManager.java:248)
at com.vmware.vise.util.concurrent.ExecutorUtil$1.run(ExecutorUtil.java:185)
at com.vmware.vise.util.concurrent.ExecutorUtil.executeTasks(ExecutorUtil.java:223)
at com.vmware.vise.util.concurrent.ExecutorUtil.executeTasks(ExecutorUtil.java:84)
at com.vmware.vise.data.query.impl.ProfiledTaskExecutor.executeTasks(ProfiledTaskExecutor.java:37)
at com.vmware.vise.data.query.impl.DataManager.invokePropertyProviders(DataManager.java:268)
at com.vmware.vise.data.query.impl.DataManager.getResultsFromPropertyProviders(DataManager.java:171)
at com.vmware.vise.data.query.impl.DataServiceImpl.getResults(DataServiceImpl.java:129)
at com.vmware.vise.data.query.impl.DataServiceImpl.getData(DataServiceImpl.java:49)
at sun.reflect.GeneratedMethodAccessor204.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy343.getData(Unknown Source)
at sun.reflect.GeneratedMethodAccessor265.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:418)
at com.vmware.vise.messaging.remoting.JavaAdapterEx.invoke(JavaAdapterEx.java:38)
at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)
at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1400)
at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:1011)
at flex.messaging.endpoints.AbstractEndpoint$$FastClassByCGLIB$$1a3ef066.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.flex.core.MessageInterceptionAdvice.invoke(MessageInterceptionAdvice.java:66)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor.invoke(ThrowsAdviceInterceptor.java:124)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$FixedChainStaticTargetInterceptor.intercept(Cglib2AopProxy.java:572)
at com.vmware.vise.messaging.endpoints.SecureAMFEndpoint$$EnhancerByCGLIB$$9791398d.serviceMessage(<generated>)
at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:103)
at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)
at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)
at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:166)
at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:291)
at com.vmware.vise.messaging.endpoints.SecureAMFEndpoint$$EnhancerByCGLIB$$9791398d.service(<generated>)
at org.springframework.flex.servlet.MessageBrokerHandlerAdapter.handle(MessageBrokerHandlerAdapter.java:101)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.vmware.vise.security.SessionManagementFilter.doFilterInternal(SessionManagementFilter.java:30)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.eclipse.virgo.web.tomcat.support.ApplicationNameTrackingValve.invoke(ApplicationNameTrackingValve.java:33)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
[2012-12-18 12:40:44.229] WARN [WARN ] http-bio-443-exec-193 com.vmware.vise.data.query.profiling.ProfilingUtil The Data Service detected slow execution:
The query batch execution took too long: 9109 milliseconds.
A PropertyProviderAdapter execution took too long: 9094 milliseconds. (com.vmware.vise.data.query.impl.ServicePropertyProviderAdapter@28fbf95f(com.vmware.opsmgmt.client.advperfcharts.impl.PerformanceStatsPropertyProvider)). The properties were: [[type: HostSystem, relation: null, propertyNames: [queriedPerformanceStats], parameters: [propertyName: queriedPerformanceStats, parameter: com.vmware.opsmgmt.client.advperfcharts.PerformanceInfoQuerySpec@51ebe371]]]
The queries in the batch sent to the Data Service are:
Query[0]:
QuerySpec
QueryName: dam-auto-generated: AdvPerfChartsMainViewMediator:dr-1541
ResourceSpec
Constraint: ObjectIdentityConstraint
TargetType: HostSystem
Target: ManagedObjectReference: type = HostSystem, value = host-23848, serverGuid = 0A5DF670-E4EB-40B1-A1CE-13079CDFF7ED
PropertySpec[1]
ProviderType: HostSystem
Relationship:
Properties[1]
PropertyName: queriedPerformanceStats
ResultSpec:
Offset: 0
MaxResultCount: -1
OrderingCriteria
OrderPropertySpec[1]
ProviderType: Object
Relationship: null
SortType: ASCENDING
OrderingProperties[1]
PropertyName: id
[2012-12-18 12:40:44.229] ERROR [ERROR] http-bio-443-exec-193 com.vmware.vise.data.query.impl.DataServiceImpl Error occurred while executing query:
QuerySpec
QueryName: dam-auto-generated: AdvPerfChartsMainViewMediator:dr-1541
ResourceSpec
Constraint: ObjectIdentityConstraint
TargetType: HostSystem
Target: ManagedObjectReference: type = HostSystem, value = host-23848, serverGuid = 0A5DF670-E4EB-40B1-A1CE-13079CDFF7ED
PropertySpec[1]
ProviderType: HostSystem
Relationship:
Properties[1]
PropertyName: queriedPerformanceStats
ResultSpec:
Offset: 0
MaxResultCount: -1
OrderingCriteria
OrderPropertySpec[1]
ProviderType: Object
Relationship: null
SortType: ASCENDING
OrderingProperties[1]
PropertyName: id
com.vmware.vise.data.query.DataException: For input string: "12,07"
at com.vmware.vise.data.query.DataException.newInstance(DataException.java:46)
at com.vmware.vise.data.query.DataException.newInstance(DataException.java:36)
at com.vmware.vise.data.query.impl.ServicePropertyProviderAdapter.getProperties(ServicePropertyProviderAdapter.java:149)
at com.vmware.vise.data.query.impl.DataManager.getDataFromPropertyProvider(DataManager.java:589)
at com.vmware.vise.data.query.impl.DataManager.getResultFromPropertyProvider(DataManager.java:561)
at com.vmware.vise.data.query.impl.DataManager.access$000(DataManager.java:49)
at com.vmware.vise.data.query.impl.DataManager$1.run(DataManager.java:248)
at com.vmware.vise.util.concurrent.ExecutorUtil$1.run(ExecutorUtil.java:185)
at com.vmware.vise.util.concurrent.ExecutorUtil.executeTasks(ExecutorUtil.java:223)
at com.vmware.vise.util.concurrent.ExecutorUtil.executeTasks(ExecutorUtil.java:84)
at com.vmware.vise.data.query.impl.ProfiledTaskExecutor.executeTasks(ProfiledTaskExecutor.java:37)
at com.vmware.vise.data.query.impl.DataManager.invokePropertyProviders(DataManager.java:268)
at com.vmware.vise.data.query.impl.DataManager.getResultsFromPropertyProviders(DataManager.java:171)
at com.vmware.vise.data.query.impl.DataServiceImpl.getResults(DataServiceImpl.java:129)
at com.vmware.vise.data.query.impl.DataServiceImpl.getData(DataServiceImpl.java:49)
at sun.reflect.GeneratedMethodAccessor204.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy343.getData(Unknown Source)
at sun.reflect.GeneratedMethodAccessor265.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:418)
at com.vmware.vise.messaging.remoting.JavaAdapterEx.invoke(JavaAdapterEx.java:38)
at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)
at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1400)
at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:1011)
at flex.messaging.endpoints.AbstractEndpoint$$FastClassByCGLIB$$1a3ef066.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.flex.core.MessageInterceptionAdvice.invoke(MessageInterceptionAdvice.java:66)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor.invoke(ThrowsAdviceInterceptor.java:124)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$FixedChainStaticTargetInterceptor.intercept(Cglib2AopProxy.java:572)
at com.vmware.vise.messaging.endpoints.SecureAMFEndpoint$$EnhancerByCGLIB$$9791398d.serviceMessage(<generated>)
at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:103)
at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)
at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)
at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:166)
at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:291)
at com.vmware.vise.messaging.endpoints.SecureAMFEndpoint$$EnhancerByCGLIB$$9791398d.service(<generated>)
at org.springframework.flex.servlet.MessageBrokerHandlerAdapter.handle(MessageBrokerHandlerAdapter.java:101)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.vmware.vise.security.SessionManagementFilter.doFilterInternal(SessionManagementFilter.java:30)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.eclipse.virgo.web.tomcat.support.ApplicationNameTrackingValve.invoke(ApplicationNameTrackingValve.java:33)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)[2012-12-18 12:43:33.498] WARN [WARN ] http-bio-443-exec-193 com.vmware.vise.data.query.impl.ServicePropertyProviderAdapter A PropertyProviderBean method's execution took too long: 6125 milliseconds. The method failed with an exception: null (Provider instance: com.vmware.opsmgmt.client.advperfcharts.impl.PerformanceStatsPropertyProvider@10cf8ea3, method: public com.vmware.opsmgmt.client.advperfcharts.PerformanceCounterStats[] com.vmware.opsmgmt.client.advperfcharts.impl.PerformanceStatsPropertyProvider.getQueriedPerformanceStats(com.vmware.vim.binding.vmodl.ManagedObjectReference,com.vmware.opsmgmt.client.advperfcharts.PerformanceInfoQuerySpec) throws java.lang.Exception, property: ref: ManagedObjectReference: type = VirtualMachine, value = vm-575, serverGuid = 0A5DF670-E4EB-40B1-A1CE-13079CDFF7ED, method args: [ManagedObjectReference: type = VirtualMachine, value = vm-575, serverGuid = 0A5DF670-E4EB-40B1-A1CE-13079CDFF7ED, com.vmware.opsmgmt.client.advperfcharts.PerformanceInfoQuerySpec@7521ad0d])
[2012-12-18 12:43:33.514] ERROR [ERROR] http-bio-443-exec-193 com.vmware.vise.data.query.impl.ServicePropertyProviderAdapter Error when fetching property {queriedPerformanceStats} from property provider {class com.vmware.opsmgmt.client.advperfcharts.impl.PerformanceStatsPropertyProvider} java.lang.NumberFormatException: For input string: "3,36"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
at java.lang.Float.parseFloat(Float.java:422)
at com.vmware.opsmgmt.client.advperfcharts.util.BasePerformanceStats.formatMetricValue(BasePerformanceStats.java:357)
at com.vmware.opsmgmt.client.advperfcharts.util.BasePerformanceStats.createPerfMetricStatsValues(BasePerformanceStats.java:322)
at com.vmware.opsmgmt.client.advperfcharts.util.PerformanceStats.executeQuery(PerformanceStats.java:119)
at com.vmware.opsmgmt.client.advperfcharts.util.BasePerformanceStats.getStats(BasePerformanceStats.java:131)
at com.vmware.opsmgmt.client.advperfcharts.util.PerformanceStatsCollector.getStats(PerformanceStatsCollector.java:99)
at com.vmware.opsmgmt.client.advperfcharts.impl.PerformanceStatsPropertyProvider.getQueriedPerformanceStats(PerformanceStatsPropertyProvider.java:59)
at sun.reflect.GeneratedMethodAccessor3462.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.vmware.vise.data.query.impl.ServicePropertyProviderAdapter.invokeMethod(ServicePropertyProviderAdapter.java:284)
at com.vmware.vise.data.query.impl.ServicePropertyProviderAdapter.getProperties(ServicePropertyProviderAdapter.java:126)
at com.vmware.vise.data.query.impl.DataManager.getDataFromPropertyProvider(DataManager.java:589)
at com.vmware.vise.data.query.impl.DataManager.getResultFromPropertyProvider(DataManager.java:561)
at com.vmware.vise.data.query.impl.DataManager.access$000(DataManager.java:49)
at com.vmware.vise.data.query.impl.DataManager$1.run(DataManager.java:248)
at com.vmware.vise.util.concurrent.ExecutorUtil$1.run(ExecutorUtil.java:185)
at com.vmware.vise.util.concurrent.ExecutorUtil.executeTasks(ExecutorUtil.java:223)
at com.vmware.vise.util.concurrent.ExecutorUtil.executeTasks(ExecutorUtil.java:84)
at com.vmware.vise.data.query.impl.ProfiledTaskExecutor.executeTasks(ProfiledTaskExecutor.java:37)
at com.vmware.vise.data.query.impl.DataManager.invokePropertyProviders(DataManager.java:268)
at com.vmware.vise.data.query.impl.DataManager.getResultsFromPropertyProviders(DataManager.java:171)
at com.vmware.vise.data.query.impl.DataServiceImpl.getResults(DataServiceImpl.java:129)
at com.vmware.vise.data.query.impl.DataServiceImpl.getData(DataServiceImpl.java:49)
at sun.reflect.GeneratedMethodAccessor204.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy343.getData(Unknown Source)
at sun.reflect.GeneratedMethodAccessor265.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:418)
at com.vmware.vise.messaging.remoting.JavaAdapterEx.invoke(JavaAdapterEx.java:38)
at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)
at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1400)
at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:1011)
at flex.messaging.endpoints.AbstractEndpoint$$FastClassByCGLIB$$1a3ef066.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.flex.core.MessageInterceptionAdvice.invoke(MessageInterceptionAdvice.java:66)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor.invoke(ThrowsAdviceInterceptor.java:124)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$FixedChainStaticTargetInterceptor.intercept(Cglib2AopProxy.java:572)
at com.vmware.vise.messaging.endpoints.SecureAMFEndpoint$$EnhancerByCGLIB$$9791398d.serviceMessage(<generated>)
at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:103)
at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)
at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)
at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:166)
at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:291)
at com.vmware.vise.messaging.endpoints.SecureAMFEndpoint$$EnhancerByCGLIB$$9791398d.service(<generated>)
at org.springframework.flex.servlet.MessageBrokerHandlerAdapter.handle(MessageBrokerHandlerAdapter.java:101)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.vmware.vise.security.SessionManagementFilter.doFilterInternal(SessionManagementFilter.java:30)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.eclipse.virgo.web.tomcat.support.ApplicationNameTrackingValve.invoke(ApplicationNameTrackingValve.java:33)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)[2012-12-18 12:43:33.514] WARN [WARN ] http-bio-443-exec-193 com.vmware.vise.data.query.profiling.ProfilingUtil The Data Service detected slow execution:
The query batch execution took too long: 6157 milliseconds.A PropertyProviderAdapter execution took too long: 6141 milliseconds. (com.vmware.vise.data.query.impl.ServicePropertyProviderAdapter@28fbf95f(com.vmware.opsmgmt.client.advperfcharts.impl.PerformanceStatsPropertyProvider)). The properties were: [[type: VirtualMachine, relation: null, propertyNames: [queriedPerformanceStats], parameters: [propertyName: queriedPerformanceStats, parameter: com.vmware.opsmgmt.client.advperfcharts.PerformanceInfoQuerySpec@7521ad0d]]]
The queries in the batch sent to the Data Service are:
Query[0]:QuerySpec
QueryName: dam-auto-generated: AdvPerfChartsMainViewMediator:dr-1763
ResourceSpec
Constraint: ObjectIdentityConstraint
TargetType: VirtualMachine
Target: ManagedObjectReference: type = VirtualMachine, value = vm-575, serverGuid = 0A5DF670-E4EB-40B1-A1CE-13079CDFF7ED
PropertySpec[1]
ProviderType: VirtualMachine
Relationship:
Properties[1]
PropertyName: queriedPerformanceStats
ResultSpec:
Offset: 0
MaxResultCount: -1
OrderingCriteria
OrderPropertySpec[1]
ProviderType: Object
Relationship: null
SortType: ASCENDING
OrderingProperties[1]
PropertyName: id
[2012-12-18 12:43:33.514] ERROR [ERROR] http-bio-443-exec-193 com.vmware.vise.data.query.impl.DataServiceImpl Error occurred while executing query:
QuerySpec
QueryName: dam-auto-generated: AdvPerfChartsMainViewMediator:dr-1763
ResourceSpec
Constraint: ObjectIdentityConstraint
TargetType: VirtualMachine
Target: ManagedObjectReference: type = VirtualMachine, value = vm-575, serverGuid = 0A5DF670-E4EB-40B1-A1CE-13079CDFF7ED
PropertySpec[1]
ProviderType: VirtualMachine
Relationship:
Properties[1]
PropertyName: queriedPerformanceStats
ResultSpec:
Offset: 0
MaxResultCount: -1
OrderingCriteria
OrderPropertySpec[1]
ProviderType: Object
Relationship: null
SortType: ASCENDING
OrderingProperties[1]
PropertyName: id
com.vmware.vise.data.query.DataException: For input string: "3,36"
at com.vmware.vise.data.query.DataException.newInstance(DataException.java:46)
at com.vmware.vise.data.query.DataException.newInstance(DataException.java:36)
at com.vmware.vise.data.query.impl.ServicePropertyProviderAdapter.getProperties(ServicePropertyProviderAdapter.java:149)
at com.vmware.vise.data.query.impl.DataManager.getDataFromPropertyProvider(DataManager.java:589)
at com.vmware.vise.data.query.impl.DataManager.getResultFromPropertyProvider(DataManager.java:561)
at com.vmware.vise.data.query.impl.DataManager.access$000(DataManager.java:49)
at com.vmware.vise.data.query.impl.DataManager$1.run(DataManager.java:248)
at com.vmware.vise.util.concurrent.ExecutorUtil$1.run(ExecutorUtil.java:185)
at com.vmware.vise.util.concurrent.ExecutorUtil.executeTasks(ExecutorUtil.java:223)
at com.vmware.vise.util.concurrent.ExecutorUtil.executeTasks(ExecutorUtil.java:84)
at com.vmware.vise.data.query.impl.ProfiledTaskExecutor.executeTasks(ProfiledTaskExecutor.java:37)
at com.vmware.vise.data.query.impl.DataManager.invokePropertyProviders(DataManager.java:268)
at com.vmware.vise.data.query.impl.DataManager.getResultsFromPropertyProviders(DataManager.java:171)
at com.vmware.vise.data.query.impl.DataServiceImpl.getResults(DataServiceImpl.java:129)
at com.vmware.vise.data.query.impl.DataServiceImpl.getData(DataServiceImpl.java:49)
at sun.reflect.GeneratedMethodAccessor204.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy343.getData(Unknown Source)
at sun.reflect.GeneratedMethodAccessor265.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdapter.java:418)
at com.vmware.vise.messaging.remoting.JavaAdapterEx.invoke(JavaAdapterEx.java:38)
at flex.messaging.services.RemotingService.serviceMessage(RemotingService.java:183)
at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:1400)
at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoint.java:1011)
at flex.messaging.endpoints.AbstractEndpoint$$FastClassByCGLIB$$1a3ef066.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.flex.core.MessageInterceptionAdvice.invoke(MessageInterceptionAdvice.java:66)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.adapter.ThrowsAdviceInterceptor.invoke(ThrowsAdviceInterceptor.java:124)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$FixedChainStaticTargetInterceptor.intercept(Cglib2AopProxy.java:572)
at com.vmware.vise.messaging.endpoints.SecureAMFEndpoint$$EnhancerByCGLIB$$9791398d.serviceMessage(<generated>)
at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBrokerFilter.java:103)
at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:158)
at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:44)
at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFilter.java:67)
at flex.messaging.endpoints.amf.SerializationFilter.invoke(SerializationFilter.java:166)
at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:291)
at com.vmware.vise.messaging.endpoints.SecureAMFEndpoint$$EnhancerByCGLIB$$9791398d.service(<generated>)
at org.springframework.flex.servlet.MessageBrokerHandlerAdapter.handle(MessageBrokerHandlerAdapter.java:101)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.vmware.vise.security.SessionManagementFilter.doFilterInternal(SessionManagementFilter.java:30)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.eclipse.virgo.web.tomcat.support.ApplicationNameTrackingValve.invoke(ApplicationNameTrackingValve.java:33)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Anyone else having this issue too or got any idea what's going wrong or how to fix this?
we have exactly the same problem with advanced cpu performance data (realtime is ok) in web client with the "for input string" error message. in vsphere fat client all performance data are available
Did you open a Service Request ?
Bumping.
No, I haven't opened a service request for this.
Bumping too.
No one else with this problem?
This is what ist's looked like
I have the same problem.
I have the same problem. I haven't create SR yet, anyone who has?
Stumbled upon this error also. Seems to be a known issue (KB Article) with vSphere 5.1 + Web Client.
Best regards,
Bjoern
I hope this has been resolved the vCenter 5.1 Update 1, which was just released:
https://www.vmware.com/support/vsphere5/doc/vsphere-vcenter-server-51u1-release-notes.html
The release notes only mention:
vSphere 5.1 Web Client advanced performance charts are slow to display
In the vCenter 5.1 web client, the advanced performance charts takes several minutes to load.
I just installed U1 on a test system and no input string errors seem to pop up... Don't really know if this error was there to begin with, though.
The blank page which I had when trying to edit the vCenter Advanced settings are fixed... Weee...
/Rubeck
Unfortunately, this error still present even after installing 5.1 U1 in our case.
Seems like this is supposed to be resolved with the recent release of vCenter 5.1 U1b:
https://www.vmware.com/support/vsphere5/doc/vsphere-vcenter-server-51u1b-release-notes.html
vSphere Web Client might fail to display the advanced performance charts
When you use a German locale vSphere Web Client to view advanced performance charts, an error message similar to the following might be displayed:
Performance data is not currently available for this entry
In addition, a notification message similar to the following might also be displayed:
For input string <x>.<x>
This issue is resolved in this release.
I haven't testet this myself yet, can anyone confirm this resolves it?
I'm on a German client but and I've set my browser to send English Accept-Language headers, so I'm actually browsing the English version Web Client already though.