aliyun / aliyun-odps-java-sdk

ODPS SDK for Java Developers
Other
89 stars 50 forks source link

连接池报错 #37

Closed hunanxinhua closed 3 years ago

hunanxinhua commented 3 years ago
 SQLExecutorPoolBuilder builder = SQLExecutorPoolBuilder.builder();
        builder.odps(odps)
                .initPoolSize(1) // init pool executor number
                .maxPoolSize(5)  // max executors in pool
                .executeMode(ExecuteMode.INTERACTIVE); // run in interactive mode

上面这个是没问题的配置

SQLExecutorPoolBuilder builder = SQLExecutorPoolBuilder.builder();
        builder.odps(odps)
                .initPoolSize(2) // init pool executor number
                .maxPoolSize(3)  // max executors in pool
                .executeMode(ExecuteMode.INTERACTIVE); // run in interactive mode

下面这个配置会报错Connections in project:datatestzhnx is up to (5).

dongxiao1198 commented 3 years ago

这个跟客户端配置没关系,你是预付费的项目吧,预付费项目现在限制总共5个连接试用,是服务端报的连接超出了限制。 你用第二个配置测的时候可能之前的连接池或者有连接没有完全关闭导致的

hunanxinhua commented 3 years ago

我刚才debug测试了一下,initPoolSize配置1是可以的,initPoolSize配置为2的话,第一个连接是能创建成功的,第二个连接是创建失败的。5个连接试用是不能调整的是不?要扩大的话,要怎么操作,最多能到多少。主要使我们这边有通过jdbc查询的需求,5个有点少了

dongxiao1198 commented 3 years ago

我刚才debug测试了一下,initPoolSize配置1是可以的,initPoolSize配置为2的话,第一个连接是能创建成功的,第二个连接是创建失败的。5个连接试用是不能调整的是不?要扩大的话,要怎么操作,最多能到多少。主要使我们这边有通过jdbc查询的需求,5个有点少了

目前这边是后付费项目是可以随意使用,但是预付费项目目前只能参与免费体验,具体的说明在这里[官方文档]。至于你说的initPoolSize配置为2的时候第二个无法创建,估计就是你残留在前面的连接刚好有4个,测试的时候用完连接或者池子需要关闭。 如果是限制的连接,15min不提交query是会自动释放。

hunanxinhua commented 3 years ago

好滴,感谢