You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "Istvan Toth (Jira)" <ji...@apache.org> on 2021/01/04 06:39:00 UTC

[jira] [Commented] (PHOENIX-6050) Set properties is invalid in client

    [ https://issues.apache.org/jira/browse/PHOENIX-6050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17258009#comment-17258009 ] 

Istvan Toth commented on PHOENIX-6050:
--------------------------------------

The problem is that the threadpool and queue size parameters are also used by the coprocessors, where the client settings will have no effect.
With this patch, you can have one pool/queue size used by the client, and another one used by the coprocessors, which will  be a nightmare to debug.
I think that updating the documentation the documentation to indicate that the pool and queue size are server-side parameters that cannot be changed by the client config would be a better solution.

> Set properties is invalid in client
> -----------------------------------
>
>                 Key: PHOENIX-6050
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6050
>             Project: Phoenix
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 4.13.1, 5.0.0
>         Environment: phoenix 4.13.1
> hbase 1.3.1
>            Reporter: Chao Wang
>            Assignee: Chao Wang
>            Priority: Major
>             Fix For: 5.1.0
>
>         Attachments: PHOENIX-6050-4.13-HBase-1.3.patch, PHOENIX-6050.master.001.patch
>
>
> I set properties in client, which are "phoenix.query.threadPoolSize", but this is invalid.  ThreadPool always use default value (128). 
> code is:
> Properties properties = new Properties();
>  properties.setProperty("phoenix.query.threadPoolSize","300");
>  PropertiesResolve phoenixpr = new PropertiesResolve();
>  String phoenixdriver = phoenixpr.readMapByKey("com/main/SyncData.properties", "phoenix_driver");
>  String phoenixjdbc = phoenixpr.readMapByKey("com/main/SyncData.properties", "phoenix_jdbc");
>  Class.forName(phoenixdriver);
>  return DriverManager.getConnection(phoenixjdbc,properties);
> throw is:
> Error: Task org.apache.phoenix.job.JobManager$InstrumentedJobFutureTask@6e91893 rejected from org.apache.phoenix.job.JobManager$1@26ae880a[Running, pool size = 128, active threads = 128, queued tasks = 5000, completed tasks = 36647] (state=08000,code=101)
> org.apache.phoenix.exception.PhoenixIOException: Task org.apache.phoenix.job.JobManager$InstrumentedJobFutureTask@6e91893 rejected from org.apache.phoenix.job.JobManager$1@26ae880a[Running, pool size = 128, active threads = 128, queued tasks = 5000, completed tasks = 36647]
> at org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:120)
> at org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:1024)
> at org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:916)
> ^Reason:^
> I find PhoenixDriver create threadpool before init config from properties. when create threadpool ,  config is always default value .



--
This message was sent by Atlassian Jira
(v8.3.4#803005)