Opsagent UnsupportedOperationException与PersistentHashMap [英] Opsagent UnsupportedOperationException with PersistentHashMap

查看:391
本文介绍了Opsagent UnsupportedOperationException与PersistentHashMap的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在与opscenter代理一起运行Cassandra,并且当Opscenter尝试获取常规和CF指标时,日志中会出现以下错误。

I'm running Cassandra along with opscenter agent, and got the following error in the log when Opscenter tries to get general and CF metrics.

INFO [jmx-metrics-1] 2015-08-02 21:55:20,555 New JMX connection (127.0.0.1:7199)
INFO [jmx-metrics-1] 2015-08-02 21:55:20,558 New JMX connection (127.0.0.1:7199)
ERROR [jmx-metrics-2] 2015-08-02 21:55:25,448 Error getting CF metrics
java.lang.UnsupportedOperationException: nth not supported on this type: PersistentArrayMap
at clojure.lang.RT.nthFrom(RT.java:857)
at clojure.lang.RT.nth(RT.java:807)
at opsagent.rollup$process_metric_map.invoke(rollup.clj:252)
at opsagent.metrics.jmx$cf_metric_helper.invoke(jmx.clj:96)
at opsagent.metrics.jmx$start_pool$fn__15320.invoke(jmx.clj:159)
at clojure.lang.AFn.run(AFn.java:24)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
ERROR [jmx-metrics-4] 2015-08-02 21:56:26,238 Error getting general metrics
java.lang.UnsupportedOperationException: nth not supported on this type: PersistentHashMap
at clojure.lang.RT.nthFrom(RT.java:857)
at clojure.lang.RT.nth(RT.java:807)
at opsagent.rollup$process_metric_map.invoke(rollup.clj:252)
at opsagent.metrics.jmx$generic_metric_helper.invoke(jmx.clj:73)
at opsagent.metrics.jmx$start_pool$fn__15334$fn__15335.invoke(jmx.clj:171)
at opsagent.metrics.jmx$start_pool$fn__15334.invoke(jmx.clj:170)
at clojure.lang.AFn.run(AFn.java:24)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

任何想法 UnsupportedOperationException 是什么?我不熟悉Clojure,但我不知道为什么a)错误发生和b)为什么 nth 不支持 PersistentArrayMap

Any idea what the UnsupportedOperationException is about? I'm not familiar with Clojure, but I don't know why a) the error occurred and b) why nth isn't supported by PersistentArrayMap.

请帮助,谢谢。

推荐答案

这是代理程序在运行时更改代理程序配置后发生的错误(修复但未发布)。您可以尝试重新启动代理程序,因为配置的初始加载为Ok。

This is a bug (fixed but unreleased) in the agent that happens after the agent config was changed at runtime. You can try restarting the agent since the initial loading of the configuration is Ok.

这可能会发生在opscenterd将集群配置推送到代理程序时。要解决这个问题,直到下一个版本,您可以在代理程序local address.yaml中进行任何集群配置更改,并从opscenter服务器上的clustername.conf中删除它。我建议只是试图重新启动代理,因为这可能是一个很多的努力与很多节点。

It is possible that this can occur when opscenterd pushes cluster configs to agent. To work around this until the next release you can make any of those cluster config changes in the agents local address.yaml and remove it from the clustername.conf on opscenter server. I would recommend just trying to restart the agent first though since that may be a bit of effort with a lot nodes.

这篇关于Opsagent UnsupportedOperationException与PersistentHashMap的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆