Hi Nanda,

It seems the server is taking the default value for
phoenix.query.maxServerCacheBytes

https://phoenix.apache.org/tuning.html

phoenix.query.maxServerCacheBytes

   - Maximum size (in bytes) of the raw results of a relation before being
   compressed and sent over to the region servers.
   - Attempting to serializing the raw results of a relation with a size
   bigger than this setting will result in a
   MaxServerCacheSizeExceededException.
   - *Default: 104,857,600*

Regards,

rafa


On Wed, Feb 10, 2016 at 1:37 PM, Nanda <tnkish...@gmail.com> wrote:

> Hi ,
>
> I am using HDP 2.3.0 with Phoneix 4.4 and i quiet often get the below
> exception,
>
> Caused by: java.sql.SQLException: Encountered exception in sub plan [0]
> execution.
>         at
> org.apache.phoenix.execute.HashJoinPlan.iterator(HashJoinPlan.java:156)
> ~[phoenix-core-4.4.0-HBase-1.1.jar:4.4.0-HBase-1.1]
>         at
> org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:251)
> ~[phoenix-core-4.4.0-HBase-1.1.jar:4.4.0-HBase-1.1]
>         at
> org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:241)
> ~[phoenix-core-4.4.0-HBase-1.1.jar:4.4.0-HBase-1.1]
>         at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
> ~[phoenix-core-4.4.0-HBase-1.1.jar:4.4.0-HBase-1.1]
>         at
> org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:240)
> ~[phoenix-core-4.4.0-HBase-1.1.jar:4.4.0-HBase-1.1]
>         at
> org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:1223)
> ~[phoenix-core-4.4.0-HBase-1.1.jar:4.4.0-HBase-1.1]
>         at
> com.brocade.nva.dataaccess.AbstractDAO.getResultSet(AbstractDAO.java:388)
> ~[nvp-data-access-1.0-SNAPSHOT.jar:na]
>         at
> com.brocade.nva.dataaccess.HistoryDAO.getSummaryTOP10ReportDetails(HistoryDAO.java:306)
> ~[nvp-data-access-1.0-SNAPSHOT.jar:na]
>         ... 75 common frames omitted
> Caused by: org.apache.phoenix.join.MaxServerCacheSizeExceededException:
> Size of hash cache (104857651 bytes) exceeds the maximum allowed size
> (104857600 bytes)
>         at
> org.apache.phoenix.join.HashCacheClient.serialize(HashCacheClient.java:109)
> ~[phoenix-core-4.4.0-HBase-1.1.jar:4.4.0-HBase-1.1]
>         at
> org.apache.phoenix.join.HashCacheClient.addHashCache(HashCacheClient.java:82)
> ~[phoenix-core-4.4.0-HBase-1.1.jar:4.4.0-HBase-1.1]
>         at
> org.apache.phoenix.execute.HashJoinPlan$HashSubPlan.execute(HashJoinPlan.java:338)
> ~[phoenix-core-4.4.0-HBase-1.1.jar:4.4.0-HBase-1.1]
>         at
> org.apache.phoenix.execute.HashJoinPlan$1.call(HashJoinPlan.java:135)
> ~[phoenix-core-4.4.0-HBase-1.1.jar:4.4.0-HBase-1.1]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> ~[na:1.8.0_40]
>         at
> org.apache.phoenix.job.JobManager$InstrumentedJobFutureTask.run(JobManager.java:172)
> ~[phoenix-core-4.4.0-HBase-1.1.jar:4.4.0-HBase-1.1]
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> [na:1.8.0_40]
>
>
> Below are params i am using,
>
> server side properties:
> phoenix.coprocessor.maxServerCacheTimeToLiveMs=180000
> phoenix.groupby.maxCacheSize=1572864000
> phoenix.query.maxGlobalMemoryPercentage=60
> phoenix.query.maxGlobalMemorySize=4096000000
> phoenix.stats.guidepost.width=524288000
>
>
> client side properties are:
> hbase.client.scanner.timeout.period=180000
> phoenix.query.spoolThresholdBytes=1048576000
> phoenix.query.timeoutMs=180000
> phoenix.query.threadPoolSize=240
> phoenix.query.maxGlobalMemoryPercentage=60
> phoenix.query.maxServerCacheBytes=1048576810
>
>
> and my hbase heap is set to 4GB
>
> Is there som property i need to set explicitly for this.
>
> Thanks,
> Nanda
>
>

Reply via email to