Skip to content

java.lang.InternalError: Memory Pool not found #4014

@henrypoter

Description

@henrypoter

environment

  • canal version 1.1.5
  • jdk version jdk1.8.0_151

Issue Description

When I startup canal, it throws below exception:

2022-01-12 10:58:23.289 [main] INFO  com.alibaba.otter.canal.deployer.CanalLauncher - ## load canal configurations
2022-01-12 10:58:23.567 [main] INFO  c.a.o.c.c.rocketmq.producer.CanalRocketMQProducer - ##Start RocketMQ producer##
2022-01-12 10:58:23.853 [main] INFO  com.alibaba.otter.canal.deployer.CanalStarter - ## start the canal server.
2022-01-12 10:58:23.967 [main] INFO  com.alibaba.otter.canal.deployer.CanalController - ## start the canal server[192.168.11.181(192.168.11.181):11111]
2022-01-12 10:58:24.080 [main] WARN  com.alibaba.otter.canal.prometheus.PrometheusService - Unable to initialize server exports.
java.lang.InternalError: Memory Pool not found
        at sun.management.MemoryPoolImpl.getUsage0(Native Method) ~[na:1.8.0_151]
        at sun.management.MemoryPoolImpl.getUsage(MemoryPoolImpl.java:96) ~[na:1.8.0_151]
        at io.prometheus.client.hotspot.MemoryPoolsExports.addMemoryPoolMetrics(MemoryPoolsExports.java:106) ~[simpleclient_hotspot-0.4.0.jar:na]
        at io.prometheus.client.hotspot.MemoryPoolsExports.collect(MemoryPoolsExports.java:125) ~[simpleclient_hotspot-0.4.0.jar:na]
        at io.prometheus.client.CollectorRegistry.collectorNames(CollectorRegistry.java:100) ~[simpleclient-0.4.0.jar:na]
        at io.prometheus.client.CollectorRegistry.register(CollectorRegistry.java:50) ~[simpleclient-0.4.0.jar:na]
        at io.prometheus.client.Collector.register(Collector.java:139) ~[simpleclient-0.4.0.jar:na]
        at io.prometheus.client.Collector.register(Collector.java:132) ~[simpleclient-0.4.0.jar:na]
        at io.prometheus.client.hotspot.DefaultExports.initialize(DefaultExports.java:24) ~[simpleclient_hotspot-0.4.0.jar:na]
        at com.alibaba.otter.canal.prometheus.PrometheusService.initialize(PrometheusService.java:54) ~[canal.prometheus-1.1.5-SNAPSHOT.jar:na]
        at com.alibaba.otter.canal.server.embedded.CanalServerWithEmbedded.start(CanalServerWithEmbedded.java:81) [canal.server-1.1.5-SNAPSHOT.jar:na]
        at com.alibaba.otter.canal.deployer.CanalController.start(CanalController.java:503) [canal.deployer-1.1.5-SNAPSHOT.jar:na]
        at com.alibaba.otter.canal.deployer.CanalStarter.start(CanalStarter.java:89) [canal.deployer-1.1.5-SNAPSHOT.jar:na]
        at com.alibaba.otter.canal.deployer.CanalLauncher.main(CanalLauncher.java:115) [canal.deployer-1.1.5-SNAPSHOT.jar:na]
2022-01-12 10:58:26.152 [main] INFO  com.alibaba.otter.canal.deployer.CanalStarter - ## the canal server is running now ......

This caused the prometheus monitor metric collector not work, JMX collect metrics failed.

Steps to reproduce

download canal.deployer-1.1.5 , go to bin directory, run

./startup.sh

Expected behaviour

No exception and monitor work well.

Workaround

update JAVA_OPTS in startup.sh

 JAVA_OPTS="-server -Xms128m -Xmx512m -Xmn128m  "

Reference

https://www.yourkit.com/forum/viewtopic.php?t=3603

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions