我们dump文件 这个driver是由ParentFirstClassloader加载的,存在DriverManager的registeredDrivers里,存在对ParentFirstClassloader的强引用。我们初始化mysql的代码如下,难道需要手动卸载下driver,然后各位有知道怎样手动卸载么或者有使用HikariDataSource没问题的么,而且我们用的是批处理,每10分钟执行次?
this.config = new HikariConfig(); this.config.setDriverClassName("com.mysql.jdbc.Driver"); this.config.setJdbcUrl(config.getConnectString()); this.config.setUsername(config.getUsername()); this.config.setPassword(config.getPassword());
this.config.setMinimumIdle(config.getCpMinimumIdle()); this.config.setMaximumPoolSize(config.getCpMaximumPoolSize()); this.config.setIdleTimeout(config.getCpIdleTimeout()); this.config.setMaxLifetime(config.getCpMaxLifetime());
this.config.setAutoCommit(false); this.source = new HikariDataSource(this.config);
return true; *来自志愿者整理的flink邮件归档
按你的描述,应该是存在类加载泄露的问题。也就是说,由于某些原因,导致之前作业加载的类,没能被释放掉,致使类元数据积累越来越多,metaspace 空间不足。 具体泄露的原因还是需要根据 dump 分析,通常是作业用到的第三方依赖导致的,这种情况 flink 是没法强行清除加载类的。*来自志愿者整理的flink
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。